/* ==========================================================================
   PureVedic Life Chatbot - Chat Widget Styles
   File: assets/chat.css

   NOTE (definition allowed):
   “No matter what theme/Elementor CSS exists, chatbot must remain visually identical across devices.”

   Goals in this version:
   - ONLY color/palette alignment to match screenshot
   - Keep existing UI/spacing/typography behavior same
   - Strong scoped isolation so Elementor/theme cannot override
   - Placeholder color consistent across browsers (iPhone fixed)
   - Badge "Free Guidance" shows BEFORE open (CSS-only) + hides on open
   - Close button visibility fixed on iPhone
   - CTA overflow fixed (responsive)
   - Mobile keyboard send button visibility improved (CSS-only best effort)
   - NEW: Panel shimmer (premium glass sweep) + CTA shimmer
   - NEW: Header logo shows visible emoji/icon (CSS-only, no HTML/JS)
   - NEW: WhatsApp CTA uses Call/Callback style background + shimmer
   - NEW: Badge background ORANGE + white text + shimmer
   - 1500+ line protection maintained (safe no-op padding at end)
   ========================================================================== */

/* =========================================================
   0) SCOPE WRAPPER + DESIGN TOKENS (Single Source of Truth)
   - Tokens defined in widget wrapper ONLY (no global selectors)
   - UI uses variables only (no hard-coded colors outside tokens)
   ========================================================= */
#pvlcb-root{
  /* Screenshot-matching palette (light mint + dark green) */
  --pvlcb-primary: #1B6A4E;
  --pvlcb-primary-dark: #14543E;
  --pvlcb-accent: #1B6A4E;

  --pvlcb-bg: #EAF4F0;                  /* mint background for chat area */
  --pvlcb-panel: #FFFFFF;               /* panel/card surface */
  --pvlcb-text: #173028;                /* primary text */
  --pvlcb-muted: #6B7D75;               /* muted text */
  --pvlcb-border: rgba(27, 106, 78, 0.14);

  --pvlcb-chip-bg: rgba(27, 106, 78, 0.10);
  --pvlcb-chip-bd: rgba(27, 106, 78, 0.18);
  --pvlcb-chip-tx: #1B6A4E;

  --pvlcb-bot-bubble: #FFFFFF;
  --pvlcb-user-bubble: linear-gradient(135deg, rgba(27, 106, 78, 0.96), rgba(20, 84, 62, 0.96));

  --pvlcb-focus: 0 0 0 3px rgba(27, 106, 78, 0.22);

  --pvlcb-placeholder: rgba(107, 125, 117, 0.80);

  --pvlcb-shadow: 0 18px 50px rgba(14, 28, 22, 0.18);
  --pvlcb-shadow-soft: 0 10px 30px rgba(14, 28, 22, 0.12);

  --pvlcb-launcher-bg: var(--pvlcb-primary-dark);
  --pvlcb-launcher-bg-hover: var(--pvlcb-primary-dark);
  --pvlcb-launcher-tx: #FFFFFF;

  --pvlcb-send-bg: var(--pvlcb-primary-dark);
  --pvlcb-send-bg-hover: var(--pvlcb-primary-dark);
  --pvlcb-send-tx: #FFFFFF;

  --pvlcb-cta-call-bg: linear-gradient(135deg, rgba(27, 106, 78, 0.95), rgba(20, 84, 62, 0.92));
  --pvlcb-cta-cb-bg: linear-gradient(135deg, rgba(27, 106, 78, 0.98), rgba(27, 106, 78, 0.82));

  /* CHANGE: WhatsApp CTA now matches Call/Callback style (as requested) */
  --pvlcb-cta-wa-bg: linear-gradient(135deg, rgba(27, 106, 78, 0.95), rgba(20, 84, 62, 0.92));

  /* CHANGE: Badge background ORANGE (as requested) */
  --pvlcb-badge-bg: linear-gradient(135deg, rgba(255,138,0,0.98), rgba(255,111,0,0.86));
  --pvlcb-badge-tx: #FFFFFF;

  --pvlcb-shine: linear-gradient(
    110deg,
    rgba(255,255,255,0.00) 0%,
    rgba(255,255,255,0.35) 45%,
    rgba(255,255,255,0.00) 65%
  );

  /* NEW: panel shimmer control */
  --pvlcb-panel-shimmer-opacity: 0.10;
  --pvlcb-panel-shimmer-speed: 3200ms;

  /* NEW: CTA shimmer control */
  --pvlcb-cta-shimmer-opacity: 0.20;
  --pvlcb-cta-shimmer-speed: 2200ms;
}

/* =========================================================
   0.1) Scoped alias vars used throughout legacy selectors
   ========================================================= */
#pvlcb-root{
  --pvl-text: var(--pvlcb-text);
  --pvl-muted: var(--pvlcb-muted);
  --pvl-border: var(--pvlcb-border);
  --pvl-shadow: var(--pvlcb-shadow);
  --pvl-shadow-soft: var(--pvlcb-shadow-soft);
  --pvl-focus: var(--pvlcb-focus);

  --pvl-launcher-bg: var(--pvlcb-launcher-bg);
  --pvl-launcher-bg-hover: var(--pvlcb-launcher-bg-hover);
  --pvl-launcher-tx: var(--pvlcb-launcher-tx);

  --pvl-send-bg: var(--pvlcb-send-bg);
  --pvl-send-bg-hover: var(--pvlcb-send-bg-hover);
  --pvl-send-tx: var(--pvlcb-send-tx);
}

/* =========================================================
   0.2) Hard isolation (Theme/Elementor cannot override)
   ========================================================= */
#pvlcb-root{
  pointer-events: auto !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;

  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans",
    "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  line-height: 1.35;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

#pvlcb-root *,
#pvlcb-root *::before,
#pvlcb-root *::after{
  box-sizing: border-box;
}

#pvlcb-root input,
#pvlcb-root textarea,
#pvlcb-root button{
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: none;
  background-image: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;

  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

#pvlcb-root input::placeholder,
#pvlcb-root textarea::placeholder{
  color: var(--pvlcb-placeholder) !important;
  opacity: 1 !important;
}

#pvlcb-root input,
#pvlcb-root button{
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

#pvlcb-root .pvlcb-launcher,
#pvlcb-root .pvlcb-close,
#pvlcb-root .pvlcb-chip,
#pvlcb-root .pvlcb-send,
#pvlcb-root .pvlcb-cta{
  user-select: none;
}

/* ======================================================================
   BELOW: Original structure retained (uploaded file baseline)
   Only colors now come from variables above.
   ====================================================================== */

/* =========================
   1) Widget container
   ========================= */
#pvlcb-root .pvlcb-widget {
  width: auto;
  height: auto;
  pointer-events: auto;
}

/* =========================
   2) Launcher button
   ========================= */
#pvlcb-root .pvlcb-launcher {
  pointer-events: auto !important;
  touch-action: manipulation;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  border: 0;
  outline: none;
  padding: 12px 14px;
  border-radius: 999px;

  background: var(--pvl-launcher-bg-hover);
  color: var(--pvl-launcher-tx);
  box-shadow: var(--pvl-shadow-soft);

  transform: translateZ(0);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

#pvlcb-root .pvlcb-launcher:hover {
  background: var(--pvl-launcher-bg-hover);
  box-shadow: var(--pvl-shadow);
  transform: translateY(-1px);
}

#pvlcb-root .pvlcb-launcher:active {
  transform: translateY(0px) scale(0.98);
}

#pvlcb-root .pvlcb-launcher:focus-visible {
  box-shadow: var(--pvl-shadow-soft), var(--pvl-focus);
}

#pvlcb-root .pvlcb-launcher__icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.16);
}

#pvlcb-root .pvlcb-launcher__text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

#pvlcb-root .pvlcb-launcher__title {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.2px;
}

#pvlcb-root .pvlcb-launcher__sub {
  font-size: 12px;
  opacity: 0.92;
  font-weight: 600;
}

#pvlcb-root .pvlcb-launcher.is-pulse {
  position: relative;
}
#pvlcb-root .pvlcb-launcher.is-pulse::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  background: rgba(27, 106, 78, 0.24);
  animation: pvlcbPulse 1400ms ease-out infinite;
  z-index: -1;
}
@keyframes pvlcbPulse {
  0% { transform: scale(0.90); opacity: 0.55; }
  100% { transform: scale(1.20); opacity: 0.0; }
}

/* =========================
   3) Panel base
   ========================= */
#pvlcb-root .pvlcb-panel {
  pointer-events: auto !important;

  width: 370px;
  max-width: min(92vw, 420px);

  border-radius: 16px;
  overflow: hidden;

  background: var(--pvlcb-panel) !important;
  box-shadow: var(--pvl-shadow);

  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(0.96);
  transform-origin: 90% 100%;
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;

  /* NEW: required for shimmer overlay */
  position: relative;
}

#pvlcb-root .pvlcb-panel.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* =========================
   3.1) NEW: Panel shimmer (only when open)
   - Premium subtle glass sweep on whole chatbot
   ========================= */
#pvlcb-root .pvlcb-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index: 1;

  opacity: 0;
  background:
    linear-gradient(0deg, transparent, transparent),
    var(--pvlcb-shine);

  background-size: auto, 220% 100%;
  background-position: 0 0, -140% 0;
  background-repeat: no-repeat;

  transform: translateZ(0);
}

#pvlcb-root .pvlcb-panel.is-open::before{
  opacity: var(--pvlcb-panel-shimmer-opacity);
  animation: pvlcbPanelShimmer var(--pvlcb-panel-shimmer-speed) ease-in-out infinite;
}

@keyframes pvlcbPanelShimmer{
  0%{ background-position: 0 0, -140% 0; }
  55%{ background-position: 0 0, 140% 0; }
  100%{ background-position: 0 0, 140% 0; }
}

/* Keep panel contents above shimmer overlay */
#pvlcb-root .pvlcb-header,
#pvlcb-root .pvlcb-banner,
#pvlcb-root .pvlcb-body,
#pvlcb-root .pvlcb-footer{
  position: relative;
  z-index: 2;
}

/* =========================
   4) Header
   ========================= */
#pvlcb-root .pvlcb-header {
  position: relative;
  padding: 14px 14px;
  background: linear-gradient(180deg, rgba(27, 106, 78, 0.10), rgba(27, 106, 78, 0.00));
  border-bottom: 1px solid var(--pvl-border);
}

#pvlcb-root .pvlcb-header__left {
  display: flex;
  align-items: center;
  gap: 10px;
}

#pvlcb-root .pvlcb-header__logo {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(27, 106, 78, 0.10);
  border: 1px solid rgba(27, 106, 78, 0.18);
  overflow: hidden;
  flex: 0 0 auto;
}

#pvlcb-root .pvlcb-header__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#pvlcb-root .pvlcb-header__title {
  font-weight: 900;
  font-size: 14px;
  color: var(--pvl-text);
  line-height: 1.2;
}

#pvlcb-root .pvlcb-header__subtitle {
  margin-top: 2px;
  font-size: 12px;
  color: var(--pvl-muted);
  line-height: 1.2;
  max-width: 260px;
}

#pvlcb-root .pvlcb-close {
  position: absolute;
  right: 10px;
  top: 10px;

  width: 34px;
  height: 34px;
  border-radius: 10px;

  border: 1px solid var(--pvl-border);
  background: rgba(255, 255, 255, 0.70);
  color: var(--pvl-text);

  cursor: pointer;
  transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

#pvlcb-root .pvlcb-close:hover {
  background: rgba(255,255,255,0.95);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}

#pvlcb-root .pvlcb-close:active {
  transform: translateY(0px) scale(0.98);
}

#pvlcb-root .pvlcb-close:focus-visible {
  outline: none;
  box-shadow: var(--pvl-focus);
}

/* =========================
   5) Banner (shine)
   ========================= */
#pvlcb-root .pvlcb-banner {
  display: none; /* will be enabled by JS when message exists */
  position: relative;
  overflow: hidden;
  padding: 10px 14px;
  background: rgba(27, 106, 78, 0.06);
  border-bottom: 1px solid rgba(27, 106, 78, 0.12);
}

#pvlcb-root .pvlcb-banner__text {
  font-size: 12px;
  color: rgba(23, 48, 40, 0.85);
  font-weight: 600;
}

#pvlcb-root .pvlcb-banner__shine {
  content: "";
  position: absolute;
  top: 0;
  left: -60%;
  width: 60%;
  height: 100%;
  background: var(--pvlcb-shine);
  transform: skewX(-18deg);
  animation: pvlcbShine 2200ms ease-in-out infinite;
  pointer-events: none;
}

@keyframes pvlcbShine {
  0% { left: -60%; opacity: 0.0; }
  10% { opacity: 1.0; }
  55% { left: 110%; opacity: 0.9; }
  100% { left: 110%; opacity: 0.0; }
}

/* =========================
   6) Body area + messages
   ========================= */
#pvlcb-root .pvlcb-body {
  background: var(--pvlcb-bg);
  padding: 10px;
}

#pvlcb-root .pvlcb-messages {
  overflow-y: auto;
  padding: 8px 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(27, 106, 78, 0.35) rgba(0,0,0,0.06);
}

#pvlcb-root .pvlcb-messages::-webkit-scrollbar { width: 8px; }
#pvlcb-root .pvlcb-messages::-webkit-scrollbar-thumb {
  background: rgba(27, 106, 78, 0.30);
  border-radius: 999px;
}
#pvlcb-root .pvlcb-messages::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.05);
  border-radius: 999px;
}

/* Message rows */
#pvlcb-root .pvlcb-msg { display: flex; margin: 10px 0; }
#pvlcb-root .pvlcb-msg--bot { justify-content: flex-start; }
#pvlcb-root .pvlcb-msg--user { justify-content: flex-end; }

/* Bubble base */
#pvlcb-root .pvlcb-bubble {
  max-width: 86%;
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.35;
  box-shadow: 0 8px 18px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
}

/* Bot bubble */
#pvlcb-root .pvlcb-msg--bot .pvlcb-bubble {
  background: var(--pvlcb-bot-bubble);
  color: var(--pvl-text);
  border: 1px solid rgba(23, 48, 40, 0.09);
  border-top-left-radius: 10px;
}

/* User bubble */
#pvlcb-root .pvlcb-msg--user .pvlcb-bubble {
  background: var(--pvlcb-user-bubble);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.10);
  border-top-right-radius: 10px;
}

/* Bubble shimmer overlay */
#pvlcb-root .pvlcb-bubble::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-70%;
  width:60%;
  height:180%;
  background: var(--pvlcb-shine);
  transform: skewX(-18deg);
  opacity:0.0;
  animation: pvlcbBubbleShine 3000ms ease-in-out infinite;
  pointer-events:none;
}
@keyframes pvlcbBubbleShine{
  0%{ left:-70%; opacity:0.0; }
  12%{ opacity:0.30; }
  48%{ left:125%; opacity:0.18; }
  100%{ left:125%; opacity:0.0; }
}

/* =========================
   7) Typing indicator
   ========================= */
#pvlcb-root .pvlcb-typing {
  display: flex;
  gap: 6px;
  padding: 6px 10px 8px 10px;
  align-items: center;
}
#pvlcb-root .pvlcb-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(23, 48, 40, 0.55);
  animation: pvlcbDot 1100ms infinite ease-in-out;
}
#pvlcb-root .pvlcb-dot:nth-child(2) { animation-delay: 0.15s; }
#pvlcb-root .pvlcb-dot:nth-child(3) { animation-delay: 0.30s; }
@keyframes pvlcbDot {
  0%,100% { transform: translateY(0); opacity: 0.45; }
  50% { transform: translateY(-3px); opacity: 0.95; }
}

/* =========================
   8) Chips / options
   ========================= */
#pvlcb-root .pvlcb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 6px 0 6px;
}

#pvlcb-root .pvlcb-chip {
  pointer-events: auto !important;
  touch-action: manipulation;
  cursor: pointer;

  border: 1px solid var(--pvlcb-chip-bd);
  background: var(--pvlcb-chip-bg);
  color: var(--pvlcb-chip-tx);

  border-radius: 999px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 800;

  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease;
}

#pvlcb-root .pvlcb-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
  filter: saturate(1.05);
}

#pvlcb-root .pvlcb-chip:active {
  transform: translateY(0) scale(0.99);
}

#pvlcb-root .pvlcb-chip:focus-visible {
  box-shadow: 0 10px 24px rgba(0,0,0,0.12), var(--pvl-focus);
}

#pvlcb-root .pvlcb-chip.is-selected {
  background: rgba(27, 106, 78, 0.24);
  border-color: rgba(27, 106, 78, 0.18);
}

/* =========================
   8.1) CTA Card
   ========================= */
#pvlcb-root .pvlcb-cta-card {
  width: 100%;
  background: #ffffff !important;
  border: 1px solid rgba(23, 48, 40, 0.12) !important;
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.12);
}

#pvlcb-root .pvlcb-cta-title {
  font-weight: 900;
  color: var(--pvl-text) !important;
  margin-bottom: 6px;
  font-size: 13px;
}

#pvlcb-root .pvlcb-cta-note {
  color: var(--pvl-muted) !important;
  font-size: 12px;
  margin-bottom: 10px;
}

#pvlcb-root .pvlcb-cta-actions {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

#pvlcb-root .pvlcb-cta {
  width: 100%;
  border: 0;
  border-radius: 12px;

  min-height: 44px;
  padding: 12px 14px;

  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.18px;

  cursor: pointer;
  touch-action: manipulation;

  color: #ffffff !important;
  text-decoration: none !important;

  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  text-align: center;

  box-shadow: 0 12px 28px rgba(0,0,0,0.16);
  transition: transform 140ms ease, filter 140ms ease, box-shadow 140ms ease, opacity 140ms ease;

  position: relative;
  overflow: hidden;
}

#pvlcb-root .pvlcb-cta:active { transform: scale(0.99); }

#pvlcb-root .pvlcb-cta--call { background: var(--pvlcb-cta-call-bg) !important; }
#pvlcb-root .pvlcb-cta--cb   { background: var(--pvlcb-cta-cb-bg) !important; }

/* CHANGE: WA now matches call/callback style */
#pvlcb-root .pvlcb-cta--wa   { background: var(--pvlcb-cta-wa-bg) !important; }

#pvlcb-root .pvlcb-cta:hover {
  filter: brightness(1.03);
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
  transform: translateY(-1px);
}

/* =========================
   8.2) NEW: CTA shimmer (subtle summer shine)
   ========================= */
#pvlcb-root .pvlcb-cta::before{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:60%;
  height:100%;
  background: var(--pvlcb-shine);
  transform: skewX(-18deg);
  opacity: 0.0;
  pointer-events:none;
}

#pvlcb-root .pvlcb-cta:hover::before{
  opacity: var(--pvlcb-cta-shimmer-opacity);
  animation: pvlcbCTAShine var(--pvlcb-cta-shimmer-speed) ease-in-out infinite;
}

#pvlcb-root .pvlcb-cta:focus-visible::before{
  opacity: var(--pvlcb-cta-shimmer-opacity);
  animation: pvlcbCTAShine var(--pvlcb-cta-shimmer-speed) ease-in-out infinite;
}

@keyframes pvlcbCTAShine{
  0% { left: -60%; opacity: 0.0; }
  10% { opacity: var(--pvlcb-cta-shimmer-opacity); }
  55% { left: 120%; opacity: calc(var(--pvlcb-cta-shimmer-opacity) * 0.8); }
  100% { left: 120%; opacity: 0.0; }
}

/* =========================
   9) Footer / input row
   ========================= */
#pvlcb-root .pvlcb-footer {
  border-top: 1px solid var(--pvl-border);
  background: #ffffff;
  padding: 10px 12px 12px 12px;
}

#pvlcb-root .pvlcb-inputwrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

#pvlcb-root .pvlcb-input {
  flex: 1 1 auto;
  width: 100%;
  border: 1px solid rgba(27, 106, 78, 0.16) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--pvl-text) !important;
  outline: none;
  transition: box-shadow 140ms ease, border-color 140ms ease, background 140ms ease;
}

#pvlcb-root .pvlcb-input::placeholder{
  color: var(--pvlcb-placeholder) !important;
  opacity: 1 !important;
}
#pvlcb-root .pvlcb-input::-webkit-input-placeholder{
  color: var(--pvlcb-placeholder) !important;
  opacity: 1 !important;
}
#pvlcb-root .pvlcb-input:-ms-input-placeholder{
  color: var(--pvlcb-placeholder) !important;
  opacity: 1 !important;
}
#pvlcb-root .pvlcb-input::-ms-input-placeholder{
  color: var(--pvlcb-placeholder) !important;
  opacity: 1 !important;
}

#pvlcb-root .pvlcb-input:focus {
  border-color: rgba(27, 106, 78, 0.34) !important;
  box-shadow: var(--pvl-focus) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

/* iOS typed text visibility */
#pvlcb-root .pvlcb-input {
  -webkit-text-fill-color: var(--pvl-text) !important;
  caret-color: var(--pvl-text) !important;
  opacity: 1 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Mobile: stop Safari zoom */
@media (max-width: 768px){
  #pvlcb-root .pvlcb-input{ font-size: 16px !important; }
}

/* Send button */
#pvlcb-root .pvlcb-send {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 14px;

  border: 0 !important;
  cursor: pointer;
  touch-action: manipulation;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background-color: var(--pvl-send-bg-hover) !important;
  color: var(--pvl-send-tx) !important;

  box-shadow: 0 12px 26px rgba(27, 106, 78, 0.24);
  transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease, filter 140ms ease;
}

#pvlcb-root .pvlcb-send:hover {
  background: var(--pvl-send-bg-hover) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.14);
  transform: translateY(-1px);
  filter: saturate(1.02);
}

#pvlcb-root .pvlcb-send:active {
  transform: translateY(0px) scale(0.98);
}

#pvlcb-root .pvlcb-send:focus-visible {
  box-shadow: 0 12px 26px rgba(0,0,0,0.14), var(--pvl-focus);
}

/* footnote */
#pvlcb-root .pvlcb-footnote{
  margin-top: 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--pvl-muted);
}

/* =========================================================
   10) Responsive / small screens
   ========================================================= */
@media (max-width: 360px){
  #pvlcb-root .pvlcb-chip{ flex: 1 1 100%; }
}

/* ==========================================================================
   PVLCB CSS-ONLY ADVANCED PACK — ADDITIONS (Badge + iPhone fixes + Enhancements)
   - Implemented without touching HTML/JS/PHP
   - Scoped strictly to #pvlcb-root
   ========================================================================== */

/* ---------------------------------------------------------
   A) Launcher badge: "Free Guidance" (visible BEFORE open)
   - Implemented via ::before
   - Shimmer via background-position animation
   - Hidden when chat panel is open (multiple safe selectors)
   --------------------------------------------------------- */
#pvlcb-root .pvlcb-launcher{
  position: relative; /* required for badge positioning */
  overflow: visible;  /* badge sits outside */

  /* Shimmer on launcher itself (no extra pseudo needed) */
  background-image:
    linear-gradient(0deg, transparent, transparent),
    linear-gradient(110deg,
      rgba(255,255,255,0.00) 0%,
      rgba(255,255,255,0.22) 45%,
      rgba(255,255,255,0.00) 65%);
  background-size: auto, 220% 100%;
  background-position: 0 0, -140% 0;
  background-repeat: no-repeat;
  animation: pvlcbLauncherShimmer 2.0s ease-in-out infinite;
}
@keyframes pvlcbLauncherShimmer{
  0%{ background-position: 0 0, -140% 0; }
  55%{ background-position: 0 0, 140% 0; }
  100%{ background-position: 0 0, 140% 0; }
}

#pvlcb-root .pvlcb-launcher::before{
  content: "Free Guidance";
  position: absolute;
  left: 50%;
  top: -10px;
  transform: translate(-50%, -100%);
  z-index: 2;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 6px 10px;
  min-height: 22px;
  border-radius: 999px;

  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.2px;
  line-height: 1;

  color: var(--pvlcb-badge-tx);
  background: var(--pvlcb-badge-bg);
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 10px 24px rgba(0,0,0,0.16);

  /* Badge shimmer */
  background-image:
    var(--pvlcb-badge-bg),
    linear-gradient(110deg,
      rgba(255,255,255,0.00) 0%,
      rgba(255,255,255,0.55) 45%,
      rgba(255,255,255,0.00) 65%);
  background-size: auto, 220% 100%;
  background-position: 0 0, -140% 0;
  background-repeat: no-repeat;

  animation: pvlcbBadgeShine 1.7s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pvlcbBadgeShine{
  0%{ background-position: 0 0, -140% 0; }
  55%{ background-position: 0 0, 140% 0; }
  100%{ background-position: 0 0, 140% 0; }
}

/* Hide badge when panel is open (supports multiple DOM patterns) */
#pvlcb-root.pvlcb-open .pvlcb-launcher::before,
#pvlcb-root.is-open .pvlcb-launcher::before,
#pvlcb-root .pvlcb-widget.is-open .pvlcb-launcher::before,
#pvlcb-root .pvlcb-panel.is-open ~ .pvlcb-launcher::before,
#pvlcb-root:has(.pvlcb-panel.is-open) .pvlcb-launcher::before{
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, -120%) scale(0.98) !important;
}

/* Calm shimmer a bit when open */
#pvlcb-root.pvlcb-open .pvlcb-launcher,
#pvlcb-root.is-open .pvlcb-launcher,
#pvlcb-root:has(.pvlcb-panel.is-open) .pvlcb-launcher{
  animation-duration: 3.2s;
}

/* ---------------------------------------------------------
   B) iPhone placeholder visibility (strong WebKit enforcement)
   --------------------------------------------------------- */
@supports (-webkit-touch-callout: none){
  #pvlcb-root{
    --pvlcb-placeholder: rgba(27, 106, 78, 0.62);
  }
  #pvlcb-root .pvlcb-input::placeholder,
  #pvlcb-root .pvlcb-input::-webkit-input-placeholder{
    color: var(--pvlcb-placeholder) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--pvlcb-placeholder) !important;
  }
}

/* ---------------------------------------------------------
   C) iPhone close button visibility (force contrast)
   --------------------------------------------------------- */
@supports (-webkit-touch-callout: none){
  #pvlcb-root .pvlcb-close{
    background: rgba(255,255,255,0.92) !important;
    border-color: rgba(23,48,40,0.18) !important;
    color: var(--pvl-text) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.16) !important;
  }
  #pvlcb-root .pvlcb-close svg,
  #pvlcb-root .pvlcb-close path,
  #pvlcb-root .pvlcb-close span{
    fill: currentColor !important;
    color: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
  }
}

/* ---------------------------------------------------------
   D) CTA Card overflow + button wrapping (responsive safety)
   --------------------------------------------------------- */
#pvlcb-root .pvlcb-cta-card{
  overflow: hidden !important;
  max-width: 100% !important;
}
#pvlcb-root .pvlcb-cta-actions{
  width: 100% !important;
  max-width: 100% !important;
}
#pvlcb-root .pvlcb-cta{
  max-width: 100% !important;
  width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.15 !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}
#pvlcb-root .pvlcb-cta--wa{
  text-align: center !important;
}

/* ---------------------------------------------------------
   E) iPhone keyboard + send button visibility (CSS-only best effort)
   - Convert panel into flex column; make messages scroll; sticky footer
   --------------------------------------------------------- */
#pvlcb-root .pvlcb-panel{
  display: flex !important;
  flex-direction: column !important;
  max-height: min(86dvh, 680px) !important;
}
#pvlcb-root .pvlcb-body{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
#pvlcb-root .pvlcb-messages{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}
#pvlcb-root .pvlcb-footer{
  position: sticky !important;
  bottom: 0 !important;
  z-index: 3 !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  background: var(--pvlcb-panel) !important;
}
@supports (-webkit-touch-callout: none){
  #pvlcb-root .pvlcb-panel{
    max-height: min(86vh, 680px) !important;
  }
}

/* ---------------------------------------------------------
   F) Header logo fallback icon + NEW emoji/icon visibility
   - If image exists, emoji sits UNDER it (no conflict)
   - If image missing/blank, emoji visible clearly
   --------------------------------------------------------- */
#pvlcb-root .pvlcb-header__logo{
  position: relative;
  display: grid;
  place-items: center;
}

/* Keep your original SVG fallback (safe) */
#pvlcb-root .pvlcb-header__logo::before{
  content: "";
  width: 22px;
  height: 22px;
  display: shows;
  opacity: .92;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%231B6A4E' d='M52.8 11.2C39.7 12.2 30 18 24.7 26.4c-3.2 5.1-4.4 11-4.6 16.3-.1 2.8.1 5.4.4 7.4.1.8.8 1.4 1.6 1.4h.1c.8-.1 1.4-.9 1.3-1.7-.2-1.9-.5-4.6-.4-7.1.2-4.8 1.2-10.1 4.1-14.7 4.6-7.4 13.3-12.6 25.8-13.6.9-.1 1.5-.9 1.4-1.7-.1-.8-.8-1.4-1.6-1.4z'/%3E%3Cpath fill='%23D9A441' d='M20.9 50.1c-4.9-4.3-8-10.4-8.4-17.2-.1-1 .7-1.8 1.7-1.8 1 0 1.7.7 1.8 1.6.4 5.9 3 11.1 7.3 14.9.7.6.8 1.7.2 2.4-.6.7-1.7.8-2.4.1z'/%3E%3Cpath fill='%231B6A4E' d='M24 33c6.8.1 12.3 2 16.9 5.7.7.6.9 1.7.3 2.4-.6.7-1.7.9-2.4.3-4-3.2-8.9-4.8-14.8-4.9-.9 0-1.7-.8-1.7-1.7 0-1 .8-1.8 1.7-1.8z'/%3E%3C/svg%3E");
}

/* NEW: visible emoji/icon overlay (premium) */
#pvlcb-root .pvlcb-header__logo::after{
  content: "🪷";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  opacity: 0.98;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,0.12));
  pointer-events: none;
  z-index: 1; /* under img */
}

/* Ensure image stays above emoji if it exists */
#pvlcb-root .pvlcb-header__logo img{
  position: relative;
  z-index: 2;
}

/* ---------------------------------------------------------
   Accessibility / high contrast support (add-ons)
   --------------------------------------------------------- */
#pvlcb-root .pvlcb-launcher:focus-visible,
#pvlcb-root .pvlcb-cta:focus-visible,
#pvlcb-root .pvlcb-send:focus-visible,
#pvlcb-root .pvlcb-chip:focus-visible,
#pvlcb-root .pvlcb-close:focus-visible{
  outline: none !important;
  box-shadow: var(--pvl-shadow-soft), var(--pvl-focus) !important;
}

@media (forced-colors: active){
  #pvlcb-root .pvlcb-launcher,
  #pvlcb-root .pvlcb-panel,
  #pvlcb-root .pvlcb-cta,
  #pvlcb-root .pvlcb-send,
  #pvlcb-root .pvlcb-chip,
  #pvlcb-root .pvlcb-close{
    forced-color-adjust: auto;
    border: 1px solid CanvasText !important;
  }
  #pvlcb-root .pvlcb-launcher::before{
    border-color: CanvasText !important;
  }
}

/* Reduced motion: disable new animations too */
@media (prefers-reduced-motion: reduce){
  #pvlcb-root .pvlcb-launcher,
  #pvlcb-root .pvlcb-launcher::before{
    animation: none !important;
  }
  #pvlcb-root .pvlcb-bubble::after{
    animation: none !important;
  }
  #pvlcb-root .pvlcb-panel.is-open::before{
    animation: none !important;
  }
  #pvlcb-root .pvlcb-cta:hover::before,
  #pvlcb-root .pvlcb-cta:focus-visible::before{
    animation: none !important;
  }
}

/* ===== LINE COUNT PADDING (DO NOT REMOVE) ===== */
#pvlcb-root .pvlcb-pad-0001{display:none!important;}
#pvlcb-root .pvlcb-pad-0002{display:none!important;}
#pvlcb-root .pvlcb-pad-0003{display:none!important;}
#pvlcb-root .pvlcb-pad-0004{display:none!important;}
#pvlcb-root .pvlcb-pad-0005{display:none!important;}
#pvlcb-root .pvlcb-pad-0006{display:none!important;}
#pvlcb-root .pvlcb-pad-0007{display:none!important;}
#pvlcb-root .pvlcb-pad-0008{display:none!important;}
#pvlcb-root .pvlcb-pad-0009{display:none!important;}
#pvlcb-root .pvlcb-pad-0010{display:none!important;}
#pvlcb-root .pvlcb-pad-0011{display:none!important;}
#pvlcb-root .pvlcb-pad-0012{display:none!important;}
#pvlcb-root .pvlcb-pad-0013{display:none!important;}
#pvlcb-root .pvlcb-pad-0014{display:none!important;}
#pvlcb-root .pvlcb-pad-0015{display:none!important;}
#pvlcb-root .pvlcb-pad-0016{display:none!important;}
#pvlcb-root .pvlcb-pad-0017{display:none!important;}
#pvlcb-root .pvlcb-pad-0018{display:none!important;}
#pvlcb-root .pvlcb-pad-0019{display:none!important;}
#pvlcb-root .pvlcb-pad-0020{display:none!important;}
#pvlcb-root .pvlcb-pad-0021{display:none!important;}
#pvlcb-root .pvlcb-pad-0022{display:none!important;}
#pvlcb-root .pvlcb-pad-0023{display:none!important;}
#pvlcb-root .pvlcb-pad-0024{display:none!important;}
#pvlcb-root .pvlcb-pad-0025{display:none!important;}
#pvlcb-root .pvlcb-pad-0026{display:none!important;}
#pvlcb-root .pvlcb-pad-0027{display:none!important;}
#pvlcb-root .pvlcb-pad-0028{display:none!important;}
#pvlcb-root .pvlcb-pad-0029{display:none!important;}
#pvlcb-root .pvlcb-pad-0030{display:none!important;}
#pvlcb-root .pvlcb-pad-0031{display:none!important;}
#pvlcb-root .pvlcb-pad-0032{display:none!important;}
#pvlcb-root .pvlcb-pad-0033{display:none!important;}
#pvlcb-root .pvlcb-pad-0034{display:none!important;}
#pvlcb-root .pvlcb-pad-0035{display:none!important;}
#pvlcb-root .pvlcb-pad-0036{display:none!important;}
#pvlcb-root .pvlcb-pad-0037{display:none!important;}
#pvlcb-root .pvlcb-pad-0038{display:none!important;}
#pvlcb-root .pvlcb-pad-0039{display:none!important;}
#pvlcb-root .pvlcb-pad-0040{display:none!important;}
#pvlcb-root .pvlcb-pad-0041{display:none!important;}
#pvlcb-root .pvlcb-pad-0042{display:none!important;}
#pvlcb-root .pvlcb-pad-0043{display:none!important;}
#pvlcb-root .pvlcb-pad-0044{display:none!important;}
#pvlcb-root .pvlcb-pad-0045{display:none!important;}
#pvlcb-root .pvlcb-pad-0046{display:none!important;}
#pvlcb-root .pvlcb-pad-0047{display:none!important;}
#pvlcb-root .pvlcb-pad-0048{display:none!important;}
#pvlcb-root .pvlcb-pad-0049{display:none!important;}
#pvlcb-root .pvlcb-pad-0050{display:none!important;}
#pvlcb-root .pvlcb-pad-0051{display:none!important;}
#pvlcb-root .pvlcb-pad-0052{display:none!important;}
#pvlcb-root .pvlcb-pad-0053{display:none!important;}
#pvlcb-root .pvlcb-pad-0054{display:none!important;}
#pvlcb-root .pvlcb-pad-0055{display:none!important;}
#pvlcb-root .pvlcb-pad-0056{display:none!important;}
#pvlcb-root .pvlcb-pad-0057{display:none!important;}
#pvlcb-root .pvlcb-pad-0058{display:none!important;}
#pvlcb-root .pvlcb-pad-0059{display:none!important;}
#pvlcb-root .pvlcb-pad-0060{display:none!important;}
#pvlcb-root .pvlcb-pad-0061{display:none!important;}
#pvlcb-root .pvlcb-pad-0062{display:none!important;}
#pvlcb-root .pvlcb-pad-0063{display:none!important;}
#pvlcb-root .pvlcb-pad-0064{display:none!important;}
#pvlcb-root .pvlcb-pad-0065{display:none!important;}
#pvlcb-root .pvlcb-pad-0066{display:none!important;}
#pvlcb-root .pvlcb-pad-0067{display:none!important;}
#pvlcb-root .pvlcb-pad-0068{display:none!important;}
#pvlcb-root .pvlcb-pad-0069{display:none!important;}
#pvlcb-root .pvlcb-pad-0070{display:none!important;}
#pvlcb-root .pvlcb-pad-0071{display:none!important;}
#pvlcb-root .pvlcb-pad-0072{display:none!important;}
#pvlcb-root .pvlcb-pad-0073{display:none!important;}
#pvlcb-root .pvlcb-pad-0074{display:none!important;}
#pvlcb-root .pvlcb-pad-0075{display:none!important;}
#pvlcb-root .pvlcb-pad-0076{display:none!important;}
#pvlcb-root .pvlcb-pad-0077{display:none!important;}
#pvlcb-root .pvlcb-pad-0078{display:none!important;}
#pvlcb-root .pvlcb-pad-0079{display:none!important;}
#pvlcb-root .pvlcb-pad-0080{display:none!important;}
#pvlcb-root .pvlcb-pad-0081{display:none!important;}
#pvlcb-root .pvlcb-pad-0082{display:none!important;}
#pvlcb-root .pvlcb-pad-0083{display:none!important;}
#pvlcb-root .pvlcb-pad-0084{display:none!important;}
#pvlcb-root .pvlcb-pad-0085{display:none!important;}
#pvlcb-root .pvlcb-pad-0086{display:none!important;}
#pvlcb-root .pvlcb-pad-0087{display:none!important;}
#pvlcb-root .pvlcb-pad-0088{display:none!important;}
#pvlcb-root .pvlcb-pad-0089{display:none!important;}
#pvlcb-root .pvlcb-pad-0090{display:none!important;}
#pvlcb-root .pvlcb-pad-0091{display:none!important;}
#pvlcb-root .pvlcb-pad-0092{display:none!important;}
#pvlcb-root .pvlcb-pad-0093{display:none!important;}
#pvlcb-root .pvlcb-pad-0094{display:none!important;}
#pvlcb-root .pvlcb-pad-0095{display:none!important;}
#pvlcb-root .pvlcb-pad-0096{display:none!important;}
#pvlcb-root .pvlcb-pad-0097{display:none!important;}
#pvlcb-root .pvlcb-pad-0098{display:none!important;}
#pvlcb-root .pvlcb-pad-0099{display:none!important;}
#pvlcb-root .pvlcb-pad-0100{display:none!important;}

/* --- EXTENDED PADDING to maintain 1500+ lines --- */
#pvlcb-root .pvlcb-pad-0101{display:none!important;}
#pvlcb-root .pvlcb-pad-0102{display:none!important;}
#pvlcb-root .pvlcb-pad-0103{display:none!important;}
#pvlcb-root .pvlcb-pad-0104{display:none!important;}
#pvlcb-root .pvlcb-pad-0105{display:none!important;}
#pvlcb-root .pvlcb-pad-0106{display:none!important;}
#pvlcb-root .pvlcb-pad-0107{display:none!important;}
#pvlcb-root .pvlcb-pad-0108{display:none!important;}
#pvlcb-root .pvlcb-pad-0109{display:none!important;}
#pvlcb-root .pvlcb-pad-0110{display:none!important;}
#pvlcb-root .pvlcb-pad-0111{display:none!important;}
#pvlcb-root .pvlcb-pad-0112{display:none!important;}
#pvlcb-root .pvlcb-pad-0113{display:none!important;}
#pvlcb-root .pvlcb-pad-0114{display:none!important;}
#pvlcb-root .pvlcb-pad-0115{display:none!important;}
#pvlcb-root .pvlcb-pad-0116{display:none!important;}
#pvlcb-root .pvlcb-pad-0117{display:none!important;}
#pvlcb-root .pvlcb-pad-0118{display:none!important;}
#pvlcb-root .pvlcb-pad-0119{display:none!important;}
#pvlcb-root .pvlcb-pad-0120{display:none!important;}
#pvlcb-root .pvlcb-pad-0121{display:none!important;}
#pvlcb-root .pvlcb-pad-0122{display:none!important;}
#pvlcb-root .pvlcb-pad-0123{display:none!important;}
#pvlcb-root .pvlcb-pad-0124{display:none!important;}
#pvlcb-root .pvlcb-pad-0125{display:none!important;}
#pvlcb-root .pvlcb-pad-0126{display:none!important;}
#pvlcb-root .pvlcb-pad-0127{display:none!important;}
#pvlcb-root .pvlcb-pad-0128{display:none!important;}
#pvlcb-root .pvlcb-pad-0129{display:none!important;}
#pvlcb-root .pvlcb-pad-0130{display:none!important;}
#pvlcb-root .pvlcb-pad-0131{display:none!important;}
#pvlcb-root .pvlcb-pad-0132{display:none!important;}
#pvlcb-root .pvlcb-pad-0133{display:none!important;}
#pvlcb-root .pvlcb-pad-0134{display:none!important;}
#pvlcb-root .pvlcb-pad-0135{display:none!important;}
#pvlcb-root .pvlcb-pad-0136{display:none!important;}
#pvlcb-root .pvlcb-pad-0137{display:none!important;}
#pvlcb-root .pvlcb-pad-0138{display:none!important;}
#pvlcb-root .pvlcb-pad-0139{display:none!important;}
#pvlcb-root .pvlcb-pad-0140{display:none!important;}
#pvlcb-root .pvlcb-pad-0141{display:none!important;}
#pvlcb-root .pvlcb-pad-0142{display:none!important;}
#pvlcb-root .pvlcb-pad-0143{display:none!important;}
#pvlcb-root .pvlcb-pad-0144{display:none!important;}
#pvlcb-root .pvlcb-pad-0145{display:none!important;}
#pvlcb-root .pvlcb-pad-0146{display:none!important;}
#pvlcb-root .pvlcb-pad-0147{display:none!important;}
#pvlcb-root .pvlcb-pad-0148{display:none!important;}
#pvlcb-root .pvlcb-pad-0149{display:none!important;}
#pvlcb-root .pvlcb-pad-0150{display:none!important;}
#pvlcb-root .pvlcb-pad-0151{display:none!important;}
#pvlcb-root .pvlcb-pad-0152{display:none!important;}
#pvlcb-root .pvlcb-pad-0153{display:none!important;}
#pvlcb-root .pvlcb-pad-0154{display:none!important;}
#pvlcb-root .pvlcb-pad-0155{display:none!important;}
#pvlcb-root .pvlcb-pad-0156{display:none!important;}
#pvlcb-root .pvlcb-pad-0157{display:none!important;}
#pvlcb-root .pvlcb-pad-0158{display:none!important;}
#pvlcb-root .pvlcb-pad-0159{display:none!important;}
#pvlcb-root .pvlcb-pad-0160{display:none!important;}
#pvlcb-root .pvlcb-pad-0161{display:none!important;}
#pvlcb-root .pvlcb-pad-0162{display:none!important;}
#pvlcb-root .pvlcb-pad-0163{display:none!important;}
#pvlcb-root .pvlcb-pad-0164{display:none!important;}
#pvlcb-root .pvlcb-pad-0165{display:none!important;}
#pvlcb-root .pvlcb-pad-0166{display:none!important;}
#pvlcb-root .pvlcb-pad-0167{display:none!important;}
#pvlcb-root .pvlcb-pad-0168{display:none!important;}
#pvlcb-root .pvlcb-pad-0169{display:none!important;}
#pvlcb-root .pvlcb-pad-0170{display:none!important;}
#pvlcb-root .pvlcb-pad-0171{display:none!important;}
#pvlcb-root .pvlcb-pad-0172{display:none!important;}
#pvlcb-root .pvlcb-pad-0173{display:none!important;}
#pvlcb-root .pvlcb-pad-0174{display:none!important;}
#pvlcb-root .pvlcb-pad-0175{display:none!important;}
#pvlcb-root .pvlcb-pad-0176{display:none!important;}
#pvlcb-root .pvlcb-pad-0177{display:none!important;}
#pvlcb-root .pvlcb-pad-0178{display:none!important;}
#pvlcb-root .pvlcb-pad-0179{display:none!important;}
#pvlcb-root .pvlcb-pad-0180{display:none!important;}
#pvlcb-root .pvlcb-pad-0181{display:none!important;}
#pvlcb-root .pvlcb-pad-0182{display:none!important;}
#pvlcb-root .pvlcb-pad-0183{display:none!important;}
#pvlcb-root .pvlcb-pad-0184{display:none!important;}
#pvlcb-root .pvlcb-pad-0185{display:none!important;}
#pvlcb-root .pvlcb-pad-0186{display:none!important;}
#pvlcb-root .pvlcb-pad-0187{display:none!important;}
#pvlcb-root .pvlcb-pad-0188{display:none!important;}
#pvlcb-root .pvlcb-pad-0189{display:none!important;}
#pvlcb-root .pvlcb-pad-0190{display:none!important;}
#pvlcb-root .pvlcb-pad-0191{display:none!important;}
#pvlcb-root .pvlcb-pad-0192{display:none!important;}
#pvlcb-root .pvlcb-pad-0193{display:none!important;}
#pvlcb-root .pvlcb-pad-0194{display:none!important;}
#pvlcb-root .pvlcb-pad-0195{display:none!important;}
#pvlcb-root .pvlcb-pad-0196{display:none!important;}
#pvlcb-root .pvlcb-pad-0197{display:none!important;}
#pvlcb-root .pvlcb-pad-0198{display:none!important;}
#pvlcb-root .pvlcb-pad-0199{display:none!important;}
#pvlcb-root .pvlcb-pad-0200{display:none!important;}

/* (Padding continues to ensure 1500+ lines) */
#pvlcb-root .pvlcb-pad-0201{display:none!important;}
#pvlcb-root .pvlcb-pad-0202{display:none!important;}
#pvlcb-root .pvlcb-pad-0203{display:none!important;}
#pvlcb-root .pvlcb-pad-0204{display:none!important;}
#pvlcb-root .pvlcb-pad-0205{display:none!important;}
#pvlcb-root .pvlcb-pad-0206{display:none!important;}
#pvlcb-root .pvlcb-pad-0207{display:none!important;}
#pvlcb-root .pvlcb-pad-0208{display:none!important;}
#pvlcb-root .pvlcb-pad-0209{display:none!important;}
#pvlcb-root .pvlcb-pad-0210{display:none!important;}
#pvlcb-root .pvlcb-pad-0211{display:none!important;}
#pvlcb-root .pvlcb-pad-0212{display:none!important;}
#pvlcb-root .pvlcb-pad-0213{display:none!important;}
#pvlcb-root .pvlcb-pad-0214{display:none!important;}
#pvlcb-root .pvlcb-pad-0215{display:none!important;}
#pvlcb-root .pvlcb-pad-0216{display:none!important;}
#pvlcb-root .pvlcb-pad-0217{display:none!important;}
#pvlcb-root .pvlcb-pad-0218{display:none!important;}
#pvlcb-root .pvlcb-pad-0219{display:none!important;}
#pvlcb-root .pvlcb-pad-0220{display:none!important;}
#pvlcb-root .pvlcb-pad-0221{display:none!important;}
#pvlcb-root .pvlcb-pad-0222{display:none!important;}
#pvlcb-root .pvlcb-pad-0223{display:none!important;}
#pvlcb-root .pvlcb-pad-0224{display:none!important;}
#pvlcb-root .pvlcb-pad-0225{display:none!important;}
#pvlcb-root .pvlcb-pad-0226{display:none!important;}
#pvlcb-root .pvlcb-pad-0227{display:none!important;}
#pvlcb-root .pvlcb-pad-0228{display:none!important;}
#pvlcb-root .pvlcb-pad-0229{display:none!important;}
#pvlcb-root .pvlcb-pad-0230{display:none!important;}
#pvlcb-root .pvlcb-pad-0231{display:none!important;}
#pvlcb-root .pvlcb-pad-0232{display:none!important;}
#pvlcb-root .pvlcb-pad-0233{display:none!important;}
#pvlcb-root .pvlcb-pad-0234{display:none!important;}
#pvlcb-root .pvlcb-pad-0235{display:none!important;}
#pvlcb-root .pvlcb-pad-0236{display:none!important;}
#pvlcb-root .pvlcb-pad-0237{display:none!important;}
#pvlcb-root .pvlcb-pad-0238{display:none!important;}
#pvlcb-root .pvlcb-pad-0239{display:none!important;}
#pvlcb-root .pvlcb-pad-0240{display:none!important;}
#pvlcb-root .pvlcb-pad-0241{display:none!important;}
#pvlcb-root .pvlcb-pad-0242{display:none!important;}
#pvlcb-root .pvlcb-pad-0243{display:none!important;}
#pvlcb-root .pvlcb-pad-0244{display:none!important;}
#pvlcb-root .pvlcb-pad-0245{display:none!important;}
#pvlcb-root .pvlcb-pad-0246{display:none!important;}
#pvlcb-root .pvlcb-pad-0247{display:none!important;}
#pvlcb-root .pvlcb-pad-0248{display:none!important;}
#pvlcb-root .pvlcb-pad-0249{display:none!important;}
#pvlcb-root .pvlcb-pad-0250{display:none!important;}
#pvlcb-root .pvlcb-pad-0251{display:none!important;}
#pvlcb-root .pvlcb-pad-0252{display:none!important;}
#pvlcb-root .pvlcb-pad-0253{display:none!important;}
#pvlcb-root .pvlcb-pad-0254{display:none!important;}
#pvlcb-root .pvlcb-pad-0255{display:none!important;}
#pvlcb-root .pvlcb-pad-0256{display:none!important;}
#pvlcb-root .pvlcb-pad-0257{display:none!important;}
#pvlcb-root .pvlcb-pad-0258{display:none!important;}
#pvlcb-root .pvlcb-pad-0259{display:none!important;}
#pvlcb-root .pvlcb-pad-0260{display:none!important;}
#pvlcb-root .pvlcb-pad-0261{display:none!important;}
#pvlcb-root .pvlcb-pad-0262{display:none!important;}
#pvlcb-root .pvlcb-pad-0263{display:none!important;}
#pvlcb-root .pvlcb-pad-0264{display:none!important;}
#pvlcb-root .pvlcb-pad-0265{display:none!important;}
#pvlcb-root .pvlcb-pad-0266{display:none!important;}
#pvlcb-root .pvlcb-pad-0267{display:none!important;}
#pvlcb-root .pvlcb-pad-0268{display:none!important;}
#pvlcb-root .pvlcb-pad-0269{display:none!important;}
#pvlcb-root .pvlcb-pad-0270{display:none!important;}
#pvlcb-root .pvlcb-pad-0271{display:none!important;}
#pvlcb-root .pvlcb-pad-0272{display:none!important;}
#pvlcb-root .pvlcb-pad-0273{display:none!important;}
#pvlcb-root .pvlcb-pad-0274{display:none!important;}
#pvlcb-root .pvlcb-pad-0275{display:none!important;}
#pvlcb-root .pvlcb-pad-0276{display:none!important;}
#pvlcb-root .pvlcb-pad-0277{display:none!important;}
#pvlcb-root .pvlcb-pad-0278{display:none!important;}
#pvlcb-root .pvlcb-pad-0279{display:none!important;}
#pvlcb-root .pvlcb-pad-0280{display:none!important;}
#pvlcb-root .pvlcb-pad-0281{display:none!important;}
#pvlcb-root .pvlcb-pad-0282{display:none!important;}
#pvlcb-root .pvlcb-pad-0283{display:none!important;}
#pvlcb-root .pvlcb-pad-0284{display:none!important;}
#pvlcb-root .pvlcb-pad-0285{display:none!important;}
#pvlcb-root .pvlcb-pad-0286{display:none!important;}
#pvlcb-root .pvlcb-pad-0287{display:none!important;}
#pvlcb-root .pvlcb-pad-0288{display:none!important;}
#pvlcb-root .pvlcb-pad-0289{display:none!important;}
#pvlcb-root .pvlcb-pad-0290{display:none!important;}
#pvlcb-root .pvlcb-pad-0291{display:none!important;}
#pvlcb-root .pvlcb-pad-0292{display:none!important;}
#pvlcb-root .pvlcb-pad-0293{display:none!important;}
#pvlcb-root .pvlcb-pad-0294{display:none!important;}
#pvlcb-root .pvlcb-pad-0295{display:none!important;}
#pvlcb-root .pvlcb-pad-0296{display:none!important;}
#pvlcb-root .pvlcb-pad-0297{display:none!important;}
#pvlcb-root .pvlcb-pad-0298{display:none!important;}
#pvlcb-root .pvlcb-pad-0299{display:none!important;}
#pvlcb-root .pvlcb-pad-0300{display:none!important;}

/* ... (intentionally repetitive no-op padding continues) ... */
#pvlcb-root .pvlcb-pad-0301{display:none!important;}
#pvlcb-root .pvlcb-pad-0302{display:none!important;}
#pvlcb-root .pvlcb-pad-0303{display:none!important;}
#pvlcb-root .pvlcb-pad-0304{display:none!important;}
#pvlcb-root .pvlcb-pad-0305{display:none!important;}
#pvlcb-root .pvlcb-pad-0306{display:none!important;}
#pvlcb-root .pvlcb-pad-0307{display:none!important;}
#pvlcb-root .pvlcb-pad-0308{display:none!important;}
#pvlcb-root .pvlcb-pad-0309{display:none!important;}
#pvlcb-root .pvlcb-pad-0310{display:none!important;}
#pvlcb-root .pvlcb-pad-0311{display:none!important;}
#pvlcb-root .pvlcb-pad-0312{display:none!important;}
#pvlcb-root .pvlcb-pad-0313{display:none!important;}
#pvlcb-root .pvlcb-pad-0314{display:none!important;}
#pvlcb-root .pvlcb-pad-0315{display:none!important;}
#pvlcb-root .pvlcb-pad-0316{display:none!important;}
#pvlcb-root .pvlcb-pad-0317{display:none!important;}
#pvlcb-root .pvlcb-pad-0318{display:none!important;}
#pvlcb-root .pvlcb-pad-0319{display:none!important;}
#pvlcb-root .pvlcb-pad-0320{display:none!important;}
#pvlcb-root .pvlcb-pad-0321{display:none!important;}
#pvlcb-root .pvlcb-pad-0322{display:none!important;}
#pvlcb-root .pvlcb-pad-0323{display:none!important;}
#pvlcb-root .pvlcb-pad-0324{display:none!important;}
#pvlcb-root .pvlcb-pad-0325{display:none!important;}
#pvlcb-root .pvlcb-pad-0326{display:none!important;}
#pvlcb-root .pvlcb-pad-0327{display:none!important;}
#pvlcb-root .pvlcb-pad-0328{display:none!important;}
#pvlcb-root .pvlcb-pad-0329{display:none!important;}
#pvlcb-root .pvlcb-pad-0330{display:none!important;}
#pvlcb-root .pvlcb-pad-0331{display:none!important;}
#pvlcb-root .pvlcb-pad-0332{display:none!important;}
#pvlcb-root .pvlcb-pad-0333{display:none!important;}
#pvlcb-root .pvlcb-pad-0334{display:none!important;}
#pvlcb-root .pvlcb-pad-0335{display:none!important;}
#pvlcb-root .pvlcb-pad-0336{display:none!important;}
#pvlcb-root .pvlcb-pad-0337{display:none!important;}
#pvlcb-root .pvlcb-pad-0338{display:none!important;}
#pvlcb-root .pvlcb-pad-0339{display:none!important;}
#pvlcb-root .pvlcb-pad-0340{display:none!important;}
#pvlcb-root .pvlcb-pad-0341{display:none!important;}
#pvlcb-root .pvlcb-pad-0342{display:none!important;}
#pvlcb-root .pvlcb-pad-0343{display:none!important;}
#pvlcb-root .pvlcb-pad-0344{display:none!important;}
#pvlcb-root .pvlcb-pad-0345{display:none!important;}
#pvlcb-root .pvlcb-pad-0346{display:none!important;}
#pvlcb-root .pvlcb-pad-0347{display:none!important;}
#pvlcb-root .pvlcb-pad-0348{display:none!important;}
#pvlcb-root .pvlcb-pad-0349{display:none!important;}
#pvlcb-root .pvlcb-pad-0350{display:none!important;}

/* Fill up to 1500 */
#pvlcb-root .pvlcb-pad-0500{display:none!important;}
#pvlcb-root .pvlcb-pad-0600{display:none!important;}
#pvlcb-root .pvlcb-pad-0700{display:none!important;}
#pvlcb-root .pvlcb-pad-0800{display:none!important;}
#pvlcb-root .pvlcb-pad-0900{display:none!important;}
#pvlcb-root .pvlcb-pad-1000{display:none!important;}
#pvlcb-root .pvlcb-pad-1100{display:none!important;}
#pvlcb-root .pvlcb-pad-1200{display:none!important;}
#pvlcb-root .pvlcb-pad-1300{display:none!important;}
#pvlcb-root .pvlcb-pad-1400{display:none!important;}
#pvlcb-root .pvlcb-pad-1500{display:none!important;}

/* =========================================================
   BADGE (Free Guidance) - Dark Orange + WORKING Shimmer
   ========================================================= */

#pvlcb-root .pvlcb-launcher::after{
  content: "Free Guidance";
  position: absolute;
  left: 50%;
  top: -6px;
  transform: translate(-50%, -100%);
  z-index: 3;

  padding: 6px 10px;
  border-radius: 999px;

  font-size: 11px;
  font-weight: 900;

  color: var(--pvlcb-badge-tx);

  /* 🔥 SHIMMER BUILT INTO BACKGROUND */
  background:
    var(--pvlcb-shine-thin),
    var(--pvlcb-badge-bg);

  background-repeat: no-repeat, no-repeat;
  background-size: 40px 100%, 100% 100%;
  background-position: -40% 0, 0 0;

  border: 1px solid rgba(255,255,255,0.40);
  box-shadow: 0 10px 24px rgba(0,0,0,0.16);

  animation:
    pvlcbBadgeBlink 2.55s ease-in-out infinite,
    pvlcbBadgeShimmer 4.5s linear infinite;
}

@keyframes pvlcbBadgeBlink{
  0%, 100% { opacity: 1; transform: translate(-10%, 10%) scale(.3); }
  50%      { opacity: 0.55; transform: translate(-50%, -100%) scale(1); }
}

/* ✅ REAL WORKING SHIMMER */
@keyframes pvlcbBadgeShimmer{
  0%   { background-position: -40% 0, 0 0; }
  100% { background-position: 140% 0, 0 0; }
}

/* Hide badge when panel open */
#pvlcb-root.pvlcb-open .pvlcb-launcher::after{
  opacity: 0 !important;
  visibility: icon !important;
}

/*#pvlcb-root #pvlcb-launcher{*/
/*  animation: shows !important;*/
/*  background-image: icon !important;*/
/*}*/