/* ============================================================
   Pravaly Chat Assistant — Premium Light Theme (v1.14.0)
   Designed for clarity, contrast, and a premium feel.

   Design tokens:
     --pca-bg          #f8fafc  page / chat area
     --pca-surface     #ffffff  cards, header, input bar
     --pca-navy        #001773  primary accent, CTA, sidebar
     --pca-brand       #FF6B00  orange — highlights & badges
     --pca-fg          #111827  primary body text
     --pca-fg-muted    #6b7280  secondary text
   ============================================================ */

/* FIX-7: Google Fonts moved out of CSS @import into an enqueued <link> stylesheet
   in PCA_Shortcodes::register_assets() so WordPress can add preconnect hints
   and avoid render-blocking loads. JetBrains Mono added for FIX-17. */

/* ─────────────────────────────────────────────────────────────
   CSS CUSTOM PROPERTIES
   ───────────────────────────────────────────────────────────── */
:root {
  /* Surfaces */
  --pca-bg:              #f8fafc;
  --pca-bg-2:            #f1f5f9;
  --pca-surface:         #ffffff;

  /* Text */
  --pca-fg:              #111827;
  --pca-fg-muted:        #6b7280;
  --pca-fg-dim:          #9ca3af;

  /* Navy — primary action colour */
  --pca-navy:            #001773;
  --pca-navy-hover:      #001260;
  --pca-navy-soft:       rgba(0,23,115,.07);
  --pca-navy-ring:       rgba(0,23,115,.20);

  /* Orange — brand highlight */
  --pca-brand:           #FF6B00;
  --pca-brand-2:         #ff8a3d;
  --pca-brand-soft:      rgba(255,107,0,.10);

  /* Borders & elevation */
  --pca-border:          #e5e7eb;
  --pca-border-strong:   #d1d5db;
  --pca-shadow:          0 12px 36px -14px rgba(0,0,0,.14);
  --pca-shadow-card:     0 2px 12px -4px rgba(0,0,0,.09);
  --pca-shadow-sm:       0 1px 3px rgba(0,0,0,.07);

  /* Sidebar (matches header — clean white surface, navy text) */
  --pca-sb-bg:           #ffffff;
  --pca-sb-text:         #111827;
  --pca-sb-muted:        #374151;
  --pca-sb-hover:        rgba(0,23,115,.07);
  --pca-sb-active:       rgba(0,23,115,.12);

  /* Typography */
  --pca-font:            'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Geometry */
  --pca-radius:          14px;
  --pca-radius-lg:       18px;
  --pca-radius-pill:     999px;

  /* Offsets (JS-injected) */
  --pca-admin-bar-height: 0px;
  --theme-header-height:  0px;

  /* Z-layers */
  --pca-z-sidebar: 110;
  --pca-z-toggle:  115;
  --pca-z-input:   10;
  --pca-z-suggest: 20;
  --pca-z-consent: 9990;

  /* FIX-18: User bubble + welcome message — exposed as tokens for theming. */
  --pca-user-bubble-bg:     #dbeafe;
  --pca-user-bubble-border: #bfdbfe;
  --pca-user-bubble-text:   #1e3a5f;
  --pca-welcome-msg-bg:     #f0f4ff;
}

.admin-bar { --pca-admin-bar-height: 32px }
@media (max-width: 782px) { .admin-bar { --pca-admin-bar-height: 46px } }

*, *::before, *::after { box-sizing: border-box }

/* ─────────────────────────────────────────────────────────────
   APP SHELL
   ───────────────────────────────────────────────────────────── */
.pca-app {
  position: fixed;
  top: var(--pca-admin-bar-height);
  left: 0; right: 0; bottom: 0;
  display: grid;
  grid-template-columns: 260px 1fr;
  background: var(--pca-bg);
  color: var(--pca-fg);
  font-family: var(--pca-font);
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}
.pca-app--managed { grid-template-rows: 1fr; z-index: 100; }

/* Theme isolation */
.pca-app a, .pca-app a:visited, .pca-app a:hover, .pca-app a:focus
  { color: inherit; text-decoration: none; outline: none }
.pca-app h1,.pca-app h2,.pca-app h3,.pca-app h4,.pca-app h5,.pca-app h6
  { margin:0; padding:0; font-weight:inherit; line-height:inherit; color:inherit }
.pca-app p   { margin:0; padding:0; color:inherit }
.pca-app img { max-width: none }
.pca-app button { font-family: inherit }

/* ─────────────────────────────────────────────────────────────
   SIDEBAR  ——  premium dark navy (strong brand identity)
   ───────────────────────────────────────────────────────────── */
.pca-sidebar {
  padding: 24px 16px;
  display: flex; flex-direction: column; gap: 20px;
  background: var(--pca-sb-bg);
  border-right: 1px solid var(--pca-border);
  overflow-y: auto;
  box-shadow: 1px 0 0 var(--pca-border), 4px 0 20px rgba(0,23,115,.04);
}

/* Logo row */
.pca-logo {
  display: flex; align-items: center; gap: 11px;
  font-weight: 700; font-size: 19px; letter-spacing: .1px;
}
.pca-logo-mark,
.pca-header-mark {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, var(--pca-brand), var(--pca-brand-2));
  color: #fff; font-weight: 800; font-size: 17px;
  box-shadow: 0 4px 14px -4px rgba(255,107,0,.55);
}
.pca-logo-text { color: var(--pca-navy); font-weight: 700; font-size: 18px }

/* Nav items */
.pca-nav { display: flex; flex-direction: column; gap: 3px; flex: 1 }
.pca-app .pca-nav-item {
  padding: 10px 13px; border-radius: 10px;
  color: var(--pca-sb-muted) !important;
  text-decoration: none !important; outline: none !important;
  font-size: 14px; font-weight: 500;
  display: flex; align-items: center; gap: 10px; line-height: 1.4;
  background: transparent;
  border: none !important; box-shadow: none !important;
  transition: background .15s ease, color .15s ease;
}
.pca-app .pca-nav-item:hover  { background: var(--pca-sb-hover) !important; color: var(--pca-navy) !important }
.pca-app .pca-nav-item.is-active {
  background: var(--pca-sb-active) !important; color: var(--pca-navy) !important;
  font-weight: 600;
  box-shadow: none !important;
}
.pca-nav-ico { display: inline-flex; width: 18px; justify-content: center; font-size: 15px }
.pca-sidebar-foot { color: var(--pca-fg-muted); opacity:.7; font-size:11px; letter-spacing:.6px; text-transform:uppercase }

/* ─────────────────────────────────────────────────────────────
   HAMBURGER  (navy pill, X on open)
   ───────────────────────────────────────────────────────────── */
.pca-menu-toggle {
  display: none !important;
  position: fixed;
  top: calc(var(--pca-admin-bar-height) + 12px); left: 12px;
  z-index: var(--pca-z-toggle);
  background: var(--pca-navy); color: #fff;
  border: none; border-radius: 10px;
  width: 40px; height: 40px; cursor: pointer; line-height: 1;
  flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  transition: background .15s, box-shadow .15s;
  box-shadow: 0 2px 10px rgba(0,23,115,.32);
}
.pca-menu-toggle:hover { background: var(--pca-navy-hover) }
.pca-menu-toggle .pca-hamburger-line {
  display: block; width: 18px; height: 2px; background: #fff; border-radius: 2px;
  transition: transform .2s, opacity .2s;
}
.pca-menu-toggle .pca-menu-close {
  display: none; font-size: 22px; font-weight: 300; line-height: 1; color: #fff;
}
.pca-menu-toggle.is-sidebar-open .pca-hamburger-line { display: none }
.pca-menu-toggle.is-sidebar-open .pca-menu-close     { display: block }

/* ─────────────────────────────────────────────────────────────
   MAIN COLUMN
   ───────────────────────────────────────────────────────────── */
.pca-main         { display: grid; grid-template-rows: 64px 1fr auto; min-width: 0; min-height: 0 }
.pca-main--managed { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow-y: auto }

/* ─────────────────────────────────────────────────────────────
   HEADER BAR
   ───────────────────────────────────────────────────────────── */
.pca-header {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 24px; gap: 24px;
  background: var(--pca-surface);
  border-bottom: 1px solid var(--pca-border);
  box-shadow: var(--pca-shadow-sm);
  /* Ensure logo centre column actually centres */
  z-index: 1;
}
.pca-header-logo {
  font-weight: 700; letter-spacing: .1px;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px; font-size: 16px;
}
.pca-header-mark  { width: 30px; height: 30px; font-size: 14px }
.pca-header-name  { color: var(--pca-navy); font-weight: 700; font-size: 15px }

.pca-ad-slot { min-height: 44px; display: flex; align-items: center }
.pca-ad-left  { justify-content: flex-start }
.pca-ad-right { justify-content: flex-end }
.pca-ad img   { max-height: 44px; border-radius: 8px; transition: transform .2s }
.pca-ad:hover img { transform: scale(1.03) }

/* ─────────────────────────────────────────────────────────────
   CHAT AREA
   ───────────────────────────────────────────────────────────── */
.pca-chat {
  overflow: auto; padding: 40px 24px 20px;
  display: flex; flex-direction: column; align-items: center;
  min-height: 0; background: var(--pca-bg);
}

/* Welcome screen */
.pca-welcome {
  display: flex; flex-direction: column; align-items: center;
  animation: pca-fade .4s ease;
  transition: opacity .2s ease;
  padding-top: 6vh;
}
.pca-welcome.is-hidden { opacity: 0; pointer-events: none; position: absolute; left: -9999px }
.pca-welcome h1 {
  font-size: 36px; font-weight: 800; margin: 0 0 10px;
  text-align: center; letter-spacing: -.8px; color: var(--pca-fg);
}
/* "Pravaly" in bright orange */
.pca-grad {
  color: var(--pca-brand);
  font-weight: 800;
  /* subtle underline accent */
  text-decoration: underline;
  text-decoration-color: rgba(255,107,0,.30);
  text-underline-offset: 4px;
}
.pca-welcome p { color: var(--pca-fg-muted); margin: 0 0 28px; text-align: center; font-size: 15.5px; font-weight: 400 }

/* Suggestion chips — navy fill, white text */
.pca-chips { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; margin-bottom: 32px }
.pca-chip {
  background: var(--pca-navy);
  border: none;
  color: #ffffff;
  padding: 9px 20px;
  border-radius: var(--pca-radius-pill);
  cursor: pointer;
  font-size: 13.5px; font-weight: 600; font-family: var(--pca-font);
  letter-spacing: .1px;
  transition: background .15s ease, transform .12s ease, box-shadow .15s ease;
  box-shadow: 0 2px 8px rgba(0,23,115,.22);
}
.pca-chip:hover {
  background: var(--pca-navy-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,23,115,.30);
}

/* ─────────────────────────────────────────────────────────────
   MESSAGE STREAM
   ───────────────────────────────────────────────────────────── */
.pca-stream { width: min(740px, 100%); display: flex; flex-direction: column; gap: 14px }

.pca-msg {
  border-radius: var(--pca-radius);
  padding: 12px 14px;
  animation: pca-slide .25s cubic-bezier(.2,.8,.2,1);
  font-size: 14.5px; line-height: 1.62; color: var(--pca-fg);
  max-width: 80%;
}
@keyframes pca-slide { from { opacity: 0; transform: translateY(5px) } to { opacity: 1; transform: none } }
@keyframes pca-fade  { from { opacity: 0 }                             to { opacity: 1 } }

/* User bubble — soft blue (FIX-18: tokenised) */
.pca-msg.is-user {
  align-self: flex-end;
  background: var(--pca-user-bubble-bg);
  border: 1.5px solid var(--pca-user-bubble-border);
  border-radius: 18px 18px 4px 18px;
  padding: 10px 15px;
  color: var(--pca-user-bubble-text);
}
.pca-msg.is-user .pca-msg-label {
  display: flex; align-items: center; gap: 6px; justify-content: flex-end;
  font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase;
  color: #64748b; margin-bottom: 4px;
}
.pca-msg.is-user .pca-msg-label .pca-you-dot {
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--pca-navy);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 10px; color: #fff; font-weight: 800; text-transform: none;
}
.pca-msg.is-user .pca-msg-body { font-size: 14.5px; font-weight: 500; text-align: right }

/* Assistant bubble — white card */
.pca-msg.is-assist {
  align-self: flex-start; max-width: 92%;
  background: var(--pca-surface);
  border: 1.5px solid var(--pca-border);
  border-radius: 18px 18px 18px 4px;
  box-shadow: var(--pca-shadow-sm);
}
.pca-msg.is-assist .pca-msg-label {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase;
  color: var(--pca-fg-muted); margin-bottom: 6px;
}
.pca-msg.is-assist .pca-msg-label .pca-bot-dot {
  width: 16px; height: 16px; border-radius: 50%;
  background: linear-gradient(135deg, var(--pca-brand), var(--pca-brand-2));
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 10px; color: #fff; font-weight: 800; text-transform: none;
}
.pca-msg.is-assist .pca-msg-label .pca-bot-name {
  text-transform: none; letter-spacing: .1px; font-weight: 600;
  font-size: 12px; color: var(--pca-navy);
}
.pca-msg.is-assist.pca-welcome-msg {
  border-color: rgba(0,23,115,.12); background: var(--pca-welcome-msg-bg);
}

/* Typing indicator */
.pca-msg.is-typing { display: flex; align-items: center; gap: 10px; opacity: .85; padding: 10px 14px }
.pca-typing-dots   { display: inline-flex; gap: 5px; align-items: center }
.pca-typing-dots i {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--pca-navy); display: inline-block;
  animation: pca-bounce 1.2s ease-in-out infinite;
}
.pca-typing-dots i:nth-child(2) { animation-delay: .15s }
.pca-typing-dots i:nth-child(3) { animation-delay: .30s }
@keyframes pca-bounce {
  0%,80%,100% { transform: translateY(0); opacity: .28 }
  40%         { transform: translateY(-5px); opacity: 1 }
}
.pca-typing-text { font-size: 13.5px; color: var(--pca-fg-muted) }

.pca-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px }

/* ─────────────────────────────────────────────────────────────
   GENERIC BUTTONS
   ───────────────────────────────────────────────────────────── */
.pca-btn {
  appearance: none;
  border: 1.5px solid var(--pca-border-strong);
  background: var(--pca-surface); color: var(--pca-fg);
  padding: 9px 18px; border-radius: 10px;
  font-weight: 600; font-size: 14px; font-family: inherit;
  cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
  transition: background .15s, border-color .15s, transform .12s, box-shadow .15s;
  box-shadow: var(--pca-shadow-sm);
}
.pca-btn:disabled { opacity: .45; cursor: not-allowed; transform: none !important; box-shadow: none }
.pca-btn:hover:not(:disabled) { border-color: var(--pca-navy); background: var(--pca-navy-soft) }

.pca-btn-primary {
  background: var(--pca-navy); border-color: transparent;
  color: #fff; font-weight: 700;
  box-shadow: 0 4px 14px -6px rgba(0,23,115,.45);
}
.pca-btn-primary:hover:not(:disabled) {
  background: var(--pca-navy-hover);
  box-shadow: 0 6px 18px -6px rgba(0,23,115,.55);
  transform: translateY(-1px);
}
.pca-btn-ghost { background: transparent; box-shadow: none }
.pca-btn-ghost:hover:not(:disabled) { background: var(--pca-navy-soft); border-color: var(--pca-navy) }
.pca-btn-sm    { padding: 5px 12px; font-size: 12px; border-radius: 8px; font-weight: 600 }
.pca-btn-block { display: flex; width: 100%; justify-content: center }
.pca-btn-arrow { display: inline-block; transition: transform .15s }
.pca-btn-primary:hover .pca-btn-arrow { transform: translateX(2px) }

/* ─────────────────────────────────────────────────────────────
   SEND BUTTON  ——  circular, orange, paper-plane icon
   ───────────────────────────────────────────────────────────── */
.pca-send-btn {
  appearance: none;
  background: var(--pca-brand);
  border: none; color: #ffffff;
  width: 46px; height: 46px;
  border-radius: 50%;           /* circular */
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0;
  transition: background .15s, transform .12s, box-shadow .15s;
  box-shadow: 0 4px 16px -6px rgba(255,107,0,.55);
}
.pca-send-btn:hover:not(:disabled) {
  background: #e05e00;
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 6px 20px -6px rgba(255,107,0,.65);
}
.pca-send-btn:active:not(:disabled) { transform: scale(.96) }
.pca-send-btn:disabled { opacity: .45; cursor: not-allowed; transform: none }
.pca-send-btn { color: #ffffff !important; }
.pca-send-btn svg { width: 20px; height: 20px; display: block; color: #ffffff; }
.pca-send-btn svg path { stroke: #ffffff !important; fill: none !important; }

/* ─────────────────────────────────────────────────────────────
   PROMO CARD
   ───────────────────────────────────────────────────────────── */
.pca-card {
  margin-top: 10px; padding: 18px 18px 16px;
  border-radius: var(--pca-radius-lg);
  background: var(--pca-surface);
  border: 1.5px solid var(--pca-border);
  box-shadow: var(--pca-shadow-card);
  animation: pca-card-in .32s cubic-bezier(.2,.8,.2,1) both;
  position: relative; overflow: hidden;
}
/* Top-edge navy accent strip */
.pca-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--pca-navy) 0%, #3b5bdb 100%);
  border-radius: var(--pca-radius-lg) var(--pca-radius-lg) 0 0;
}
@keyframes pca-card-in { from { opacity: 0; transform: translateY(8px) } to { opacity: 1; transform: none } }

/* Card header row */
.pca-card-top {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 10px; margin-bottom: 14px; flex-wrap: wrap;
}
.pca-card-title {
  font-size: 15px; font-weight: 700; letter-spacing: .05px;
  color: var(--pca-fg); flex: 1; min-width: 0;
  word-break: break-word; line-height: 1.4;
}
/* Discount badge — bright orange pill */
.pca-card-discount {
  flex-shrink: 0;
  font-size: 12px; font-weight: 800; letter-spacing: .3px;
  color: #fff; background: var(--pca-brand);
  padding: 4px 12px; border-radius: var(--pca-radius-pill);
  white-space: nowrap;
  box-shadow: 0 2px 8px -2px rgba(255,107,0,.38);
  line-height: 1.5;
}

/* Code row */
.pca-card-mid {
  display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap;
}
.pca-code-pill-wrap {
  display: flex; align-items: stretch;
  background: var(--pca-welcome-msg-bg); /* FIX-18 */
  border: 1.5px dashed var(--pca-border-strong);
  border-radius: 10px;
  overflow: hidden;
  flex: 1; min-width: 0;
}
.pca-code-pill {
  flex: 1; min-width: 0;
  display: flex; align-items: center;
  padding: 10px 14px;
  font-family: 'JetBrains Mono', 'Cascadia Code', ui-monospace, monospace;
  font-size: 14.5px; font-weight: 700; letter-spacing: 1.2px;
  color: var(--pca-navy);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  border: none; background: transparent;
  user-select: all;
}
/* Copy icon button */
.pca-copy-icon {
  background: transparent; border: none;
  border-left: 1.5px dashed var(--pca-border-strong);
  color: var(--pca-fg-muted);
  padding: 0 14px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  font-size: 13px; font-family: var(--pca-font); font-weight: 600;
  flex-shrink: 0; white-space: nowrap;
  transition: color .15s, background .15s;
  min-width: 68px;
}
.pca-copy-icon:hover  { color: var(--pca-navy); background: var(--pca-navy-soft) }
.pca-copy-icon.copied { color: #16a34a }
.pca-copy-icon .pca-copy-emoji { font-size: 15px; line-height: 1 }
.pca-copy-icon .pca-copy-label { font-size: 11.5px; font-weight: 700 }

/* "Go to website" — navy fill, white text (high-specificity override for .pca-app a) */
.pca-app a.pca-card-go,
.pca-app a.pca-card-go:visited,
.pca-app a.pca-card-go:hover,
.pca-app a.pca-card-go:focus { color: #ffffff !important; }
.pca-card-go {
  background: var(--pca-navy);
  border: none; color: #ffffff !important; font-weight: 700;
  padding: 0 18px; border-radius: 10px; font-size: 13px;
  display: inline-flex; align-items: center; gap: 7px;
  text-decoration: none; white-space: nowrap;
  box-shadow: 0 3px 10px -4px rgba(0,23,115,.40);
  transition: background .15s, transform .12s, box-shadow .15s;
  min-height: 44px;
}
.pca-card-go:hover {
  background: var(--pca-navy-hover);
  transform: translateY(-1px);
  color: #ffffff;
  box-shadow: 0 6px 16px -4px rgba(0,23,115,.48);
}

/* Card footer */
.pca-card-bottom {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-top: 13px; flex-wrap: wrap;
  font-size: 12px; color: var(--pca-fg-muted);
}
.pca-card-expiry { display: inline-flex; align-items: center; gap: 5px }
.pca-card-report {
  background: transparent; border: none; color: var(--pca-fg-dim);
  font-size: 12px; cursor: pointer; padding: 2px 4px;
  transition: color .15s; font-family: inherit;
}
.pca-card-report:hover { color: var(--pca-brand) }
.pca-card-empty p { color: var(--pca-fg-muted); margin: 6px 0 14px; font-size: 14px }

/* Click stats micro-badge */
.pca-click-stat {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 600; letter-spacing: .2px;
  color: var(--pca-fg-muted);
  background: var(--pca-bg-2); border: 1px solid var(--pca-border);
  padding: 2px 8px; border-radius: var(--pca-radius-pill);
  white-space: nowrap;
}
.pca-click-stat::before { content: '📊'; font-size: 10px }

/* ─────────────────────────────────────────────────────────────
   INPUT BAR
   ───────────────────────────────────────────────────────────── */
.pca-input-bar {
  display: flex; gap: 10px; padding: 12px 24px 16px;
  border-top: 1px solid var(--pca-border);
  background: var(--pca-surface);
  position: relative; z-index: var(--pca-z-input);
  align-items: center;
}
.pca-input-wrap { flex: 1; position: relative }
.pca-input-bar input {
  width: 100%; min-width: 0;
  background: var(--pca-bg); color: var(--pca-fg);
  border: 1.5px solid var(--pca-border-strong); border-radius: 24px;
  padding: 12px 20px; font-size: 15px; outline: none;
  font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
}
.pca-input-bar input:focus {
  border-color: var(--pca-navy);
  box-shadow: 0 0 0 3px var(--pca-navy-ring);
  background: #fff;
}
.pca-input-bar input::placeholder { color: var(--pca-fg-dim) }
.pca-input-bar input:disabled { opacity: .55; cursor: not-allowed }

/* Suggest dropdown */
.pca-suggest {
  position: absolute; left: 0; right: 0; bottom: calc(100% + 6px); top: auto;
  background: var(--pca-surface);
  border: 1.5px solid var(--pca-border-strong); border-radius: 14px;
  list-style: none; margin: 0; padding: 6px;
  max-height: 260px; overflow: auto;
  z-index: var(--pca-z-suggest);
  box-shadow: var(--pca-shadow);
}
.pca-suggest li {
  padding: 9px 12px; border-radius: 8px; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 14px; color: var(--pca-fg);
}
.pca-suggest li:hover,
.pca-suggest li.is-active { background: var(--pca-navy-soft); color: var(--pca-navy) }
.pca-suggest li small { opacity: .5; font-size: 11px }

/* ─────────────────────────────────────────────────────────────
   COOKIE CONSENT BANNER
   ───────────────────────────────────────────────────────────── */
.pca-consent {
  position: fixed; left: 50%; bottom: 18px;
  transform: translateX(-50%); z-index: var(--pca-z-consent);
  width: min(640px, calc(100vw - 24px));
  font-family: var(--pca-font);
  animation: pca-rise .3s cubic-bezier(.2,.8,.2,1);
}
@keyframes pca-rise {
  from { opacity: 0; transform: translate(-50%, 10px) }
  to   { opacity: 1; transform: translate(-50%, 0) }
}
.pca-consent[hidden] { display: none }
.pca-consent-card {
  background: var(--pca-surface); color: var(--pca-fg);
  border: 1.5px solid var(--pca-border); border-radius: 16px;
  padding: 16px 20px; display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
  box-shadow: var(--pca-shadow);
}
.pca-consent-body h2 {
  margin: 0 0 4px; font-size: 15px; font-weight: 700;
  color: var(--pca-fg) !important;
}
.pca-consent-body p   { margin: 0; font-size: 13px; color: var(--pca-fg-muted) }
.pca-consent-actions  { display: flex; gap: 8px; flex-shrink: 0 }

/* ─────────────────────────────────────────────────────────────
   MISC
   ───────────────────────────────────────────────────────────── */
.pca-empty { padding: 18px; text-align: center; color: var(--pca-fg-muted); font-size: 14px }

.pca-multi-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 0; border-bottom: 1px solid var(--pca-border); font-size: 14px;
}
.pca-multi-item:last-child { border-bottom: none }
.pca-multi-item strong { color: var(--pca-navy) }

/* Search another chip */
.pca-after-promo { margin-top: 12px; display: flex; justify-content: center }
.pca-after-promo .pca-chip {
  font-size: 13.5px; padding: 10px 22px;
  background: var(--pca-navy); color: #fff;
  font-weight: 600; border: none;
  box-shadow: 0 2px 8px rgba(0,23,115,.22);
}
.pca-after-promo .pca-chip:hover {
  background: var(--pca-navy-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,23,115,.30);
}

/* Managed page content area */
.pca-page-content {
  flex: 1; overflow-y: auto;
  padding: 40px 48px;
  color: var(--pca-fg); background: var(--pca-bg);
}
.pca-page-content h1,
.pca-page-content h2,
.pca-page-content h3 { color: var(--pca-navy); font-weight: 700; margin-bottom: 16px }
.pca-page-content h2 { font-size: 22px }
.pca-page-content p  { color: var(--pca-fg-muted); line-height: 1.72; margin-bottom: 14px; font-size: 15px }
.pca-page-content a  { color: var(--pca-navy); text-decoration: underline; text-decoration-color: rgba(0,23,115,.35) }
.pca-page-content a:hover { color: var(--pca-brand) }
.pca-page-content strong  { color: var(--pca-fg) }
.pca-page-content ul,
.pca-page-content ol      { color: var(--pca-fg-muted); padding-left: 1.4em; margin-bottom: 14px }
.pca-page-content li      { margin-bottom: 6px; line-height: 1.65 }

/* ─────────────────────────────────────────────────────────────
   RESPONSIVE  —  ≤ 960px
   ───────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .pca-app { grid-template-columns: 1fr }
  .pca-menu-toggle { display: flex !important }

  .pca-sidebar {
    position: fixed;
    top: var(--pca-admin-bar-height); bottom: 0; left: 0;
    width: 280px;
    max-width: calc(100vw - 48px); /* FIX-12 */
    transform: translateX(-100%);
    transition: transform .25s cubic-bezier(.2,.8,.2,1);
    z-index: var(--pca-z-sidebar);
    background: var(--pca-sb-bg);
    box-shadow: 4px 0 30px rgba(0,0,0,.18);
  }
  .pca-sidebar.is-open { transform: translateX(0) }
  /* backdrop */
  .pca-sidebar.is-open::before {
    content: ''; position: fixed; inset: 0; z-index: -1;
    background: rgba(0,0,0,.40);
  }

  /* ── MOBILE HEADER: hamburger | logo (centred) | ad ── */
  .pca-header {
    /* col 1 = hamburger space, col 2 = logo, col 3 = ad */
    grid-template-columns: 48px 1fr 48px;
    padding: 0 12px; gap: 0;
  }
  .pca-header-logo {
    justify-content: center;
    grid-column: 2;  /* explicit centre column */
  }
  .pca-ad-left  { display: none }
  .pca-ad-right { justify-content: flex-end }

  .pca-welcome h1    { font-size: 28px }
  .pca-input-bar     { padding: 10px 14px 14px }
  .pca-chat          { padding: 24px 12px }
  .pca-card-mid      { gap: 8px }
  .pca-card-go       { padding: 10px 14px; justify-content: center; flex: 1 }
  .pca-page-content  { padding: 24px 20px }
  .pca-consent-card  { flex-direction: column; align-items: stretch; text-align: left }
  .pca-consent-actions { justify-content: flex-end }
}

/* ─── 767px — stack card code + button ─── */
@media (max-width: 767px) {
  .pca-input-bar input { font-size: 16px }  /* prevent iOS zoom */

  /* Card: stack code pill and go-button */
  .pca-card-mid { flex-direction: column }
  .pca-code-pill-wrap { width: 100% }
  .pca-card-go { width: 100%; justify-content: center; padding: 12px 14px }

  /* Card top: allow title to wrap properly */
  .pca-card-top { align-items: flex-start }
  .pca-card-title { font-size: 14.5px }
}

/* ─── 480px — tiny screens ─── */
@media (max-width: 480px) {
  .pca-welcome h1     { font-size: 24px }
  .pca-chip           { font-size: 12.5px; padding: 8px 16px }
  .pca-msg            { max-width: 94% }
  .pca-send-btn       { width: 42px; height: 42px }
  .pca-card           { padding: 14px 14px 12px }
  .pca-card-discount  { font-size: 11px; padding: 3px 9px }
}


/* FIX-11: visually-hidden helper for screen-reader-only text. */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* FIX-5: inline accessible report form (replaces window.prompt). */
.pca-report-form {
  margin-top: 12px;
  padding: 12px;
  background: var(--pca-bg-2);
  border: 1px solid var(--pca-border);
  border-radius: var(--pca-radius);
  animation: pca-fade .18s ease both;
}
.pca-report-label {
  display: block; font-size: 12.5px; font-weight: 600;
  color: var(--pca-fg); margin-bottom: 6px;
}
.pca-report-textarea {
  width: 100%; resize: vertical; min-height: 64px;
  padding: 10px 12px;
  border: 1.5px solid var(--pca-border-strong);
  border-radius: 10px;
  background: var(--pca-surface); color: var(--pca-fg);
  font-family: var(--pca-font); font-size: 13.5px; line-height: 1.5;
  box-sizing: border-box;
}
.pca-report-textarea:focus {
  outline: none; border-color: var(--pca-navy);
  box-shadow: 0 0 0 3px var(--pca-navy-ring);
}
.pca-report-meta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 8px; gap: 10px; flex-wrap: wrap;
}
.pca-report-count { font-size: 11px; color: var(--pca-fg-muted); }
.pca-report-actions { display: flex; gap: 8px; }
.pca-report-success {
  font-size: 13px; font-weight: 600; color: #047857;
  padding: 6px 4px;
}

/* ─── v2.5.0 Task 6: managed-page light reset (was inline <style>) ─── */
html,body.pca-managed-page{background:#f8fafc !important;color:#111827 !important}
body.pca-managed-page .site-header,body.pca-managed-page .site-footer,body.pca-managed-page #masthead,
body.pca-managed-page #colophon,body.pca-managed-page .nav-primary,body.pca-managed-page .elementor-location-header,
body.pca-managed-page .elementor-location-footer{display:none !important}
body.pca-managed-page #page,body.pca-managed-page #content,body.pca-managed-page main,
body.pca-managed-page .entry-content{padding:0 !important;margin:0 !important;max-width:none !important;background:transparent !important;box-shadow:none !important}
body.pca-managed-page .pca-app--managed{position:fixed;inset:0;top:var(--pca-admin-bar-height,0px)}
