/* Patra's Law Chatbot 2.0: modern bottom bar, chat window above it, tidier footer.
   The site theme forces white text on p/span/a with !important, so every rule here is under #plcb-root (an id wins) and carries !important. */
.mobile-footer-bar, .mobile-footer-bar2, .plc-chatbot { display: none !important; }   /* the old bar and the old chat */
body { padding-bottom: 92px !important; }

#plcb-root { --plcb-navy: #0f1b33; --plcb-gold: #c9971f; --plcb-ink: #1d2433; --plcb-mute: #5b6475; --plcb-line: #e4e7ee; --plcb-bg: #ffffff; --plcb-soft: #f4f6fa;
	font-family: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; }
#plcb-root * { box-sizing: border-box; }

/* ---------- bottom bar: full width on phones, a floating dock on computers ---------- */
#plcb-root #plcb-bar { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 99990; background: rgba(255,255,255,.96) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	border-top: 1px solid var(--plcb-line); box-shadow: 0 -6px 24px rgba(15,27,51,.10); padding-bottom: env(safe-area-inset-bottom); }
#plcb-root .plcb-stripe { text-align: center !important; font-size: 11px !important; letter-spacing: .02em; color: var(--plcb-mute) !important; padding: 5px 8px 1px !important; line-height: 1.2 !important; border-bottom: 1px solid var(--plcb-line); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#plcb-root .plcb-items { display: grid !important; grid-template-columns: repeat(5, 1fr); align-items: center; height: 62px; }
#plcb-root .plcb-it { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: 100%; text-decoration: none !important;
	color: var(--plcb-ink) !important; background: transparent none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; width: auto !important;
	cursor: pointer; -webkit-tap-highlight-color: transparent; font: inherit; outline: none; }
#plcb-root .plcb-it:hover, #plcb-root .plcb-it:focus { background: transparent none !important; box-shadow: none !important; }
#plcb-root .plcb-it:active { transform: scale(.94); }
#plcb-root .plcb-ic { width: 24px; height: 24px; color: var(--plcb-navy); }
#plcb-root .plcb-wa { color: #1fa855; }
#plcb-root .plcb-lb { font-size: 11.5px !important; font-weight: 600 !important; color: var(--plcb-ink) !important; line-height: 1 !important; }
#plcb-root .plcb-chatbtn { position: relative; }
#plcb-root .plcb-bub { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--plcb-navy) !important;
	box-shadow: 0 4px 12px rgba(15,27,51,.30); }
#plcb-root .plcb-bub .plcb-ic { color: #fff; width: 22px; height: 22px; }
#plcb-root .plcb-chatbtn[aria-expanded="true"] .plcb-bub { background: var(--plcb-gold) !important; }
@media (min-width: 900px) {
	body { padding-bottom: 0 !important; }
	#plcb-root #plcb-bar { left: auto; right: 22px; bottom: 22px; width: 430px; border-radius: 18px; border: 1px solid var(--plcb-line); }
	#plcb-root .plcb-stripe { display: none; }
	#plcb-root .plcb-items { height: 64px; }
}

/* ---------- chat window: a pop-up just above the bar ---------- */
#plcb-root #plcb-panel { position: fixed !important; z-index: 99991; left: 10px; right: 10px; bottom: 96px; max-height: min(72vh, 640px); display: flex; flex-direction: column;
	background: var(--plcb-bg) !important; color: var(--plcb-ink) !important; border-radius: 18px; border: 1px solid var(--plcb-line); box-shadow: 0 18px 48px rgba(15,27,51,.28); overflow: hidden;
	animation: plcbIn .22s ease-out; }
#plcb-root #plcb-panel[hidden] { display: none !important; }
@keyframes plcbIn { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (min-width: 900px) { #plcb-root #plcb-panel { left: auto; right: 22px; bottom: 100px; width: 400px; } }
#plcb-root .plcb-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px !important; background: var(--plcb-navy) !important; }
#plcb-root .plcb-hn { color: #fff !important; font-weight: 700 !important; font-size: 15.5px !important; font-family: "Noto Serif", Georgia, serif !important; }
#plcb-root .plcb-hs { color: #c9d1e3 !important; font-size: 11.5px !important; margin-top: 2px; }
#plcb-root .plcb-x { background: rgba(255,255,255,.12) !important; color: #fff !important; border: 0 !important; width: 32px; height: 32px; border-radius: 50%; font-size: 20px !important; line-height: 1 !important; cursor: pointer; padding: 0 !important; }
#plcb-root .plcb-msgs { flex: 1; overflow-y: auto; padding: 12px !important; background: var(--plcb-soft) !important; display: flex; flex-direction: column; gap: 8px; min-height: 140px; }
#plcb-root .plcb-m { max-width: 86%; padding: 9px 12px !important; border-radius: 14px; font-size: 14px !important; line-height: 1.45 !important; white-space: pre-wrap; text-align: left !important; }
#plcb-root .plcb-m.bot { align-self: flex-start; background: #fff !important; color: var(--plcb-ink) !important; border: 1px solid var(--plcb-line); border-bottom-left-radius: 4px; }
#plcb-root .plcb-m.me { align-self: flex-end; background: var(--plcb-navy) !important; color: #fff !important; border-bottom-right-radius: 4px; }
#plcb-root .plcb-m.typing { color: var(--plcb-mute) !important; font-style: italic; }
#plcb-root .plcb-links { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
#plcb-root .plcb-links a { color: #1d4fa3 !important; text-decoration: underline !important; font-size: 13.5px !important; font-weight: 600 !important; }
#plcb-root .plcb-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#plcb-root .plcb-chips { flex: none; display: flex; gap: 6px; overflow-x: auto; padding: 8px 10px 2px !important; background: #fff !important; scrollbar-width: none; min-height: 40px; }
#plcb-root .plcb-head, #plcb-root .plcb-form { flex: none; }
#plcb-root .plcb-chip, #plcb-root .plcb-act { flex: none; border: 1px solid var(--plcb-line) !important; background: #fff !important; color: var(--plcb-navy) !important; border-radius: 999px; padding: 6px 11px !important;
	font-size: 12.5px !important; font-weight: 600 !important; cursor: pointer; text-decoration: none !important; line-height: 1.2 !important; }
#plcb-root .plcb-act.pri { background: var(--plcb-navy) !important; color: #fff !important; border-color: var(--plcb-navy) !important; }
#plcb-root .plcb-form { display: flex; gap: 8px; padding: 10px !important; background: #fff !important; border-top: 1px solid var(--plcb-line); margin: 0 !important; }
#plcb-root #plcb-q { flex: 1; min-width: 0; border: 1px solid var(--plcb-line) !important; border-radius: 12px; padding: 10px 12px !important; font-size: 15px !important; color: var(--plcb-ink) !important; background: var(--plcb-soft) !important; outline: none; }
#plcb-root #plcb-q:focus { border-color: var(--plcb-navy) !important; background: #fff !important; }
#plcb-root .plcb-send { width: 44px; border: 0 !important; border-radius: 12px; background: var(--plcb-navy) !important; color: #fff !important; font-size: 17px !important; cursor: pointer; padding: 0 !important; }
#plcb-root .plcb-cb { padding: 12px !important; background: #fff !important; border-top: 1px solid var(--plcb-line); display: grid; gap: 7px; }
#plcb-root .plcb-cb[hidden] { display: none !important; }
#plcb-root .plcb-cbt { font-weight: 700 !important; color: var(--plcb-ink) !important; font-size: 14px !important; }
#plcb-root .plcb-cb input, #plcb-root .plcb-cb textarea { width: 100%; border: 1px solid var(--plcb-line) !important; border-radius: 10px; padding: 9px 11px !important; font-size: 14.5px !important; color: var(--plcb-ink) !important; background: var(--plcb-soft) !important; font-family: inherit !important; }
#plcb-root .plcb-cba { display: flex; gap: 8px; }
#plcb-root .plcb-btn { border: 1px solid var(--plcb-line) !important; background: #fff !important; color: var(--plcb-ink) !important; border-radius: 10px; padding: 9px 16px !important; font-weight: 600 !important; cursor: pointer; font-size: 14px !important; }
#plcb-root .plcb-btn.plcb-pri { background: var(--plcb-navy) !important; color: #fff !important; border-color: var(--plcb-navy) !important; }
#plcb-root .plcb-note { font-size: 11.5px !important; color: var(--plcb-mute) !important; }

/* ---------- footer (theme template 34): one tidy style, two columns of links on phones ---------- */
.elementor-34 .elementor-icon-list-text { font-weight: 500 !important; font-size: 15px !important; }
.elementor-34 .elementor-heading-title { font-size: 18px !important; letter-spacing: .01em; }
.elementor-34 .elementor-widget-text-editor, .elementor-34 .elementor-widget-text-editor * { font-family: "Noto Sans", system-ui, sans-serif !important; }
@media (max-width: 767px) {
	.elementor-34 .elementor-element-b5b9d5c, .elementor-34 .elementor-element-fad053a, .elementor-34 .elementor-element-42a3799, .elementor-34 .elementor-element-be2328d { display: none !important; }   /* empty columns */
	.elementor-34 .elementor-element-13b4361 > .elementor-container { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 16px; row-gap: 6px; }
	.elementor-34 .elementor-element-9949da4 { grid-column: 1 / -1; }
	.elementor-34 .elementor-element-13b4361 .elementor-column { width: 100% !important; }
	.elementor-34 .elementor-element-13b4361 .elementor-widget-wrap { padding: 8px 4px !important; }
	.elementor-34 .elementor-heading-title { text-align: left !important; font-size: 16px !important; margin-bottom: 4px; }
	.elementor-34 .elementor-element-f4d0f21 { grid-column: 1 / -1; }
	.elementor-34 .elementor-element-a293eb5 .elementor-icon-list-items { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 16px; }
	.elementor-34 .elementor-icon-list-text { font-size: 14px !important; text-align: left !important; text-align-last: left !important; }
	.elementor-34 .elementor-icon-list-item, .elementor-34 .elementor-icon-list-item > a { justify-content: flex-start !important; text-align: left !important; }
	.elementor-34 .elementor-icon-list-item { padding-bottom: 2px !important; }
	.elementor-34 .elementor-widget-text-editor { font-size: 14px !important; line-height: 1.55 !important; }
	.elementor-34 .elementor-widget-text-editor p { margin-bottom: 8px !important; }
}
