/* =========================================================================
   Prime Billboard — MEDIA-TECH BOLD (v4.0 / plugin 1.7.0)
   Industry-standard OOH look (OUTFRONT / Lamar / Blip): white + ice-blue
   bands, deep navy text, ONE electric-blue accent, pill CTAs, bold Heebo,
   dusk-glow hero, navy dark chapters. Overrides prime-billboard.css.
   ========================================================================= */

.pbc{
  --background: 0 0% 100%;
  --band: 219 70% 97%;
  --foreground: 222 42% 16%;         /* #182543 navy ink */
  --card: 0 0% 100%;
  --secondary: 219 50% 95%;
  --muted: 219 50% 95%;
  --muted-foreground: 221 18% 46%;
  --primary: 222 100% 59%;           /* #2F6BFF electric blue */
  --primary-strong: 224 76% 48%;
  --primary-foreground: 0 0% 100%;
  --accent: 222 100% 59%;
  --accent-foreground: 0 0% 100%;
  --navy: 224 45% 12%;               /* #111A33 */
  --navy-2: 223 40% 18%;
  --border: 219 40% 90%;
  --input: 219 40% 88%;
  --ring: 222 100% 59%;
  --radius: 1rem;
  --sh-sm: 0 2px 8px -2px rgba(24,37,67,.08);
  --sh: 0 12px 30px -12px rgba(24,37,67,.16);
  --sh-lg: 0 28px 60px -24px rgba(24,37,67,.28);
  color: hsl(var(--foreground));
  background: hsl(var(--background));
}
.pbc::before{ display:none; }
body{ background:#fff !important; }

/* ---------- Rhythm ---------- */
.pbc-section{ padding: 4.5rem 1.5rem; }
@media (min-width:768px){ .pbc-section{ padding: 6.5rem 1.5rem; } }
.pbc-section__head{ margin-bottom: 3rem; text-align: center; }
.pbc-section__head .pbc-lead{ margin: 0 auto; }
.pbc-container{ max-width: 74rem; }
.pbc-container--lg{ max-width: 74rem; }
.pbc-section--alt{ background: hsl(var(--band)); }
.pbc-section--grad{ background: hsl(var(--band)); }

/* ---------- Typography ---------- */
.pbc-h2, .pbc-section__head .pbc-h2{ font-family:'Heebo',sans-serif; font-weight:800; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height:1.12; letter-spacing:-.02em; color: hsl(var(--foreground)); -webkit-text-fill-color: currentColor; background:none; margin-bottom:.9rem; }
.pbc-lead{ color: hsl(var(--muted-foreground)); font-weight:400; font-size:1.12rem; line-height:1.7; max-width:44rem; }
.pbc-text-primary{ color: hsl(var(--primary)); -webkit-text-fill-color: currentColor; background:none; }
.pbc-mono{ font-family:'Heebo',sans-serif; color: hsl(var(--muted-foreground)); letter-spacing:.08em; font-weight:600; font-size:.72rem; }
.pbc-eyebrow{ color: hsl(var(--primary-strong)); letter-spacing:.08em; }

/* ---------- Badge: solid blue chip (industry step-pill) ---------- */
.pbc-badge{ display:inline-flex; align-items:center; gap:.45rem; background: hsl(var(--primary)); color:#fff; border:none; box-shadow: 0 6px 16px -8px hsl(var(--primary) / .7); padding:.4rem 1rem; margin-bottom:1.1rem; font-weight:700; font-size:.78rem; letter-spacing:.02em; border-radius:999px; }
.pbc-badge::before{ content:none; }
.pbc-dot{ width:.55rem; height:.55rem; border-radius:50%; background: hsl(var(--primary)); box-shadow:none; display:inline-block; }
.pbc-pill{ background: hsl(var(--primary) / .1); color: hsl(var(--primary-strong)); box-shadow:none; font-size:.72rem; font-weight:700; padding:.35rem .8rem; border-radius:999px; letter-spacing:0; }
.pbc-pill--primary{ background: hsl(var(--primary)); color:#fff; }
.pbc-pill--accent{ background: hsl(var(--navy)); color:#fff; }

/* ---------- Buttons: pills, ONE vivid accent ---------- */
.pbc-btn{ border-radius:999px !important; transition: background .2s, color .2s, border-color .2s, transform .15s, box-shadow .2s; font-weight:700; }
.pbc .pbc-btn--primary, .pbc button.pbc-btn--primary{ background: hsl(var(--primary)); color:#fff; box-shadow: 0 14px 30px -12px hsl(var(--primary) / .65); }
.pbc-btn--primary::after{ display:none; }
.pbc .pbc-btn--primary:hover{ background: hsl(var(--primary-strong)); color:#fff; transform: translateY(-1px); box-shadow: 0 18px 34px -14px hsl(var(--primary) / .7); }
.pbc .pbc-btn--ghost{ background:#fff; color: hsl(var(--foreground)); border:1px solid hsl(var(--border)); box-shadow: var(--sh-sm); }
.pbc .pbc-btn--ghost:hover{ border-color: hsl(var(--primary)); color: hsl(var(--primary-strong)); transform: translateY(-1px); }
.pbc .pbc-btn--outline{ background:transparent; border:2px solid hsl(var(--primary)); color: hsl(var(--primary-strong)); }
.pbc .pbc-btn--outline:hover{ background: hsl(var(--primary)); color:#fff; }
.pbc .pbc-btn--soft{ background: hsl(var(--primary) / .09); color: hsl(var(--primary-strong)); border:none; border-radius:999px; }
.pbc .pbc-btn--soft:hover{ background: hsl(var(--primary)); color:#fff; }
.pbc-btn--lg{ padding: 1rem 2.3rem; font-size:1.05rem; }
.pbc-btn:active{ transform: scale(.99); }

/* ---------- Cards: rounded, soft shadow ---------- */
.pbc-card, .pbc-feature, .pbc-pkg-card, .pbc-zone-card, .pbc-faq-item, .pbc-loc-stat{ background:#fff; border:1px solid hsl(var(--border)); box-shadow: var(--sh-sm); border-radius: 1rem; transition: transform .22s ease, border-color .22s, box-shadow .22s; }
.pbc-campaign-card{ background: hsl(var(--navy)); border:none; box-shadow: var(--sh-sm); }
.pbc-feature:hover, .pbc-loc-stat:hover, .pbc-pkg-card:hover{ transform: translateY(-4px); border-color: hsl(var(--primary) / .45); box-shadow: var(--sh); }
.pbc-card__title, .pbc-feature h3, .pbc-pkg-card__top h4{ color: hsl(var(--foreground)); }
.pbc-level-head h3{ color: hsl(var(--muted-foreground)); font-size:.85rem; letter-spacing:.06em; font-weight:700; }
.pbc-level-num{ background: hsl(var(--primary) / .1); border:none; color: hsl(var(--primary-strong)); border-radius:999px; font-weight:800; }

/* ---------- Header: solid white bar ---------- */
body.admin-bar .pbc-header{ top:32px; }
@media (max-width:782px){ body.admin-bar .pbc-header{ top:46px; } }
.pbc-header{ background:#fff; border-bottom:1px solid hsl(var(--border)); color: hsl(var(--foreground)); }
.pbc-header__inner{ height:4.5rem; max-width:74rem; }
.pbc-header__logo{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:.14rem; line-height:1; color: hsl(var(--foreground)); }
.pbc-logo__main{ font-weight:900; font-size:1.1rem; letter-spacing:.1em; }
.pbc-logo__sub{ font-size:.58rem; font-weight:600; letter-spacing:.26em; color: hsl(var(--primary-strong)); }
.pbc-header .pbc-header__logo{ color: hsl(var(--foreground)); }
.pbc-header .pbc-logo__sub{ color: hsl(var(--primary-strong)); }
.pbc-header__nav a{ color: hsl(var(--foreground) / .75); font-weight:600; font-size:.95rem; }
.pbc-header__nav a:hover{ color: hsl(var(--primary-strong)); }
.pbc-header__phone{ font-weight:700; font-size:.95rem; color: hsl(var(--foreground)); margin-inline-start:1.25rem; }
.pbc-header__cta{ background: hsl(var(--primary)); color:#fff !important; border-radius:999px; box-shadow: 0 10px 22px -10px hsl(var(--primary) / .7); padding:.6rem 1.35rem; margin-inline-start:1rem; }
.pbc-header__cta:hover{ background: hsl(var(--primary-strong)); }
.pbc-header.is-scrolled{ background:#fff; backdrop-filter:none; border-bottom:1px solid hsl(var(--border)); box-shadow: var(--sh-sm); color: hsl(var(--foreground)); }
.pbc-header.is-scrolled .pbc-header__logo{ color: hsl(var(--foreground)); }
.pbc-header.is-scrolled .pbc-header__nav a{ color: hsl(var(--foreground) / .75); }
.pbc-header.is-scrolled .pbc-header__nav a:hover{ color: hsl(var(--primary-strong)); }
.pbc-header.is-scrolled .pbc-header__cta{ background: hsl(var(--primary)); color:#fff !important; }
.pbc .pbc-burger{ display:none; border:1px solid hsl(var(--border)); color: hsl(var(--foreground)); background:#fff; border-radius:12px; }

/* ---------- HERO: dusk glow, bold white type ---------- */
.pbc-hero{ position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden; grid-template-columns:none; max-width:none; margin:0; padding:0 1.5rem; background: hsl(var(--navy)); }
.pbc-hero__bg{ position:absolute; inset:0; order:0; border:none; border-radius:0; box-shadow:none; aspect-ratio:auto; overflow:hidden; }
.pbc-hero__bg::after{ content:none; }
.pbc-hero__bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.08) contrast(1.04); }
.pbc-hero__overlay{ display:block; position:absolute; inset:0; background:
  linear-gradient(250deg, rgba(17,26,51,.18), rgba(17,26,51,.62) 48%, rgba(13,20,40,.9) 82%),
  linear-gradient(0deg, rgba(13,20,40,.85), rgba(13,20,40,.15) 40%, rgba(13,20,40,.25)); }
.pbc-hero__content{ position:relative; z-index:1; width:100%; max-width:74rem; margin:0 auto; text-align:right; padding: 8rem 0 5.5rem; }
.pbc-hero__kicker{ display:inline-flex; align-items:center; gap:.5rem; background: rgba(255,255,255,.12); backdrop-filter: blur(6px); border:1px solid rgba(255,255,255,.2); color:#fff; font-weight:600; font-size:.82rem; padding:.45rem 1.05rem; border-radius:999px; margin-bottom:1.6rem; }
.pbc-hero__kicker::before{ content:""; width:.55rem; height:.55rem; border-radius:50%; background: hsl(var(--primary)); box-shadow: 0 0 10px hsl(var(--primary)); }
.pbc .pbc-hero__title{ font-family:'Heebo',sans-serif; font-size: clamp(2.7rem, 5.6vw, 4.6rem); font-weight:900; letter-spacing:-.02em; line-height:1.08; color:#fff; text-shadow: 0 2px 30px rgba(13,20,40,.45); margin-bottom:1.4rem; max-width:20ch; }
.pbc .pbc-hero__title .pbc-text-primary{ color:#8FB3FF; }
.pbc-hero__sub{ background:none; backdrop-filter:none; padding:0; margin:0 0 2.2rem; font-weight:400; font-size:1.18rem; line-height:1.7; max-width:46ch; color: rgba(255,255,255,.85); }
.pbc-hero__sub strong{ color:#fff; }
.pbc-hero__actions{ display:flex; gap:.9rem; flex-wrap:wrap; }
.pbc-hero .pbc-btn--ghost{ background:#fff; color: hsl(var(--foreground)); border:none; }
.pbc-hero .pbc-btn--ghost:hover{ background: hsl(var(--band)); color: hsl(var(--primary-strong)); }
/* stat strip */
.pbc-hero__stats{ display:flex; justify-content:flex-start; gap:0; margin:3.2rem 0 0; padding-top:1.8rem; border-top:1px solid rgba(255,255,255,.22); }
.pbc-hero .pbc-stat{ background:none; border:none; border-radius:0; padding:0 0 0 2.6rem; margin-inline-end:2.6rem; box-shadow:none; flex-direction:row; position:static; }
.pbc-hero .pbc-stat::before{ content:none; }
.pbc-hero .pbc-stat:not(:last-child){ border-inline-end:1px solid rgba(255,255,255,.22); padding-inline-end:2.6rem; }
.pbc-hero .pbc-stat__icon{ display:none; }
.pbc-stat__val{ direction:ltr; unicode-bidi:isolate; font-family:'Heebo',sans-serif; font-style:normal; font-weight:900; font-size:1.9rem; color:#fff; line-height:1.1; }
.pbc-stat__label{ color: rgba(255,255,255,.7); font-size:.82rem; }

/* ---------- Simulator ---------- */
[data-pbc-simulator] .pbc-container{ max-width:74rem; }
.pbc-steps{ justify-content:center; margin-bottom:2rem; }
.pbc-step{ background:#fff; border:1px solid hsl(var(--border)); color: hsl(var(--muted-foreground)); padding:.45rem 1rem; font-size:.8rem; font-weight:700; border-radius:999px; }
.pbc-step__num{ width:auto; height:auto; margin-inline-end:.15rem; font-weight:800; }
.pbc-step.is-active{ background: hsl(var(--primary)); color:#fff; border-color:transparent; box-shadow: 0 8px 18px -8px hsl(var(--primary) / .6); }
.pbc-step.is-done{ background: hsl(var(--primary) / .12); color: hsl(var(--primary-strong)); border-color:transparent; }
.pbc-step + .pbc-step::before{ content:none; }
.pbc-sim__scene-wrap{ border:1px solid hsl(var(--border)); border-radius:1.1rem; background:#fff; box-shadow: var(--sh-lg); overflow:visible !important; }
.pbc-sim__scene{ aspect-ratio:2.25/1; background: hsl(var(--secondary)); overflow:hidden; border-bottom-left-radius:1.1rem; border-bottom-right-radius:1.1rem; }
.pbc-sim__scene-head{ background:#fff; border-bottom:1px solid hsl(var(--border)); border-top-left-radius:1.1rem; border-top-right-radius:1.1rem; padding:0 !important; display:block !important; position:relative; z-index:3; }
.pbc-sim__scene polygon{ stroke:#2F6BFF !important; stroke-width:5; stroke-dasharray:none !important; fill:rgba(47,107,255,.22) !important; animation:none; }
.pbc-dropzone{ background: hsl(var(--band)); border:2px dashed hsl(var(--border)); border-radius:.9rem; }
.pbc-dropzone:hover, .pbc-dropzone.is-drag{ border-color: hsl(var(--primary)); background: hsl(var(--primary) / .06); }
.pbc-note-box{ background: hsl(var(--band)); border-radius:.9rem; }
.pbc-note-box__title{ color: hsl(var(--foreground)); }

/* zone cards */
[data-step-panel="1"]:not([hidden]){ display:block !important; }
[data-step-panel="1"] > .pbc-sim__scene-wrap{ position:relative !important; top:auto !important; }
.pbc .pbc-zone-card, .pbc .pbc-zone-card:hover{ background:#fff; border:1px solid hsl(var(--border)); }
.pbc-zone-card{ position:relative; overflow:hidden; border-radius:.8rem; }
.pbc-zone-card::before{ content:""; position:absolute; inset-block:0; inset-inline-start:0; width:3px; background: hsl(var(--primary)); opacity:.4; transition:.2s; }
.pbc-zone-card.is-selected{ background: hsl(var(--primary) / .06); border-color: hsl(var(--primary)); box-shadow: 0 0 0 1px hsl(var(--primary)); }
.pbc-zone-card.is-selected::before{ opacity:1; }
.pbc-zone-size{ color: hsl(var(--muted-foreground)) !important; }

/* selector trigger */
.pbc-sim__vtrigger{ display:flex !important; width:100% !important; box-sizing:border-box; align-items:center; justify-content:space-between; gap:1rem; background:#fff !important; border:none !important; border-radius:1.1rem 1.1rem 0 0 !important; padding:1rem 1.3rem !important; cursor:pointer; text-align:right; transition:background .2s; }
.pbc-sim__vtrigger:hover, .pbc-sim__vtrigger:focus-visible{ background: hsl(var(--band)) !important; outline:none; }
.pbc-sim__vcurrent{ display:flex; flex-direction:column; gap:.14rem; min-width:0; align-items:flex-start; }
.pbc-sim__vkicker{ font-size:.74rem; color: hsl(var(--muted-foreground)); font-weight:600; }
.pbc-sim__vval{ display:flex; align-items:center; gap:.5rem; font-size:1.12rem; font-weight:800; color: hsl(var(--foreground)); }
.pbc-sim__vval .pbc-dot{ width:.65rem; height:.65rem; box-shadow:none; }
.pbc-sim__vcta{ display:inline-flex; align-items:center; gap:.5rem; background: hsl(var(--primary)); color:#fff; font-weight:700; font-size:.9rem; padding:.55rem .6rem .55rem 1.15rem; border-radius:999px; box-shadow: 0 10px 22px -10px hsl(var(--primary) / .7); white-space:nowrap; line-height:1; flex:0 0 auto; }
.pbc-sim__vtrigger:hover .pbc-sim__vcta{ background: hsl(var(--primary-strong)); }
.pbc-sim__vchev{ display:inline-flex; align-items:center; justify-content:center; width:1.4rem; height:1.4rem; border-radius:50%; background: rgba(255,255,255,.22); transition:transform .25s; flex:0 0 auto; font-size:0; }
.pbc-sim__vchev svg{ width:14px; height:14px; display:block; }
.pbc-sim__vtrigger[aria-expanded="true"] .pbc-sim__vchev{ transform:rotate(180deg); }

/* dropdown */
.pbc-sim__variants{ position:absolute; top:calc(100% + .4rem) !important; left:.6rem !important; right:.6rem !important; width:auto !important; z-index:30; background:#fff; border:1px solid hsl(var(--border)); border-radius:1rem; box-shadow: var(--sh-lg); padding:.9rem !important; max-height:min(72vh, 30rem) !important; overflow:auto; }
.pbc-sim__variants .pbc-sim__level{ margin:0 !important; }
.pbc-sim__variants .pbc-sim__level + .pbc-sim__level{ margin-top:.5rem !important; }
.pbc-sim__variants .pbc-level-head{ margin:.55rem .5rem .4rem; gap:.5rem; }
.pbc-sim__variants .pbc-level-head .pbc-rule{ display:none; }
.pbc-sim__variants .pbc-level-num{ width:1.3rem; height:1.3rem; font-size:.68rem; }
.pbc-sim__variants .pbc-level-head h3{ font-size:.74rem; }
.pbc-sim__variants .pbc-sim__zones{ display:grid !important; grid-template-columns:1fr 1fr; gap:.45rem; }
.pbc-sim__variants .pbc-sim__zones.pbc-cols-1 > *{ grid-column:1 / -1; }
.pbc-sim__variants .pbc-zone-card{ display:flex; width:100%; align-items:center; gap:.65rem; padding:.65rem .8rem !important; margin-bottom:0 !important; border:1px solid hsl(var(--border)) !important; border-radius:.7rem; text-align:right; box-shadow:none; min-height:0; }
.pbc-sim__variants .pbc-zone-card::before{ position:static; inset:auto; width:.65rem; height:.65rem; border-radius:50%; opacity:1; flex:0 0 auto; background: hsl(var(--primary)); }
.pbc-sim__variants .pbc-zone-card .pbc-mono{ display:none; }
.pbc-sim__variants .pbc-zone-card h4{ font-size:.92rem !important; margin:0; font-weight:700; }
.pbc-sim__variants .pbc-zone-card .pbc-zone-size{ font-size:.78rem; margin-inline-start:auto; font-weight:600; }
.pbc-sim__variants .pbc-zone-card .pbc-pill{ display:none; }
.pbc-sim__variants .pbc-zone-card:hover{ transform:none; background: hsl(var(--band)); border-color: hsl(var(--primary) / .45) !important; }
.pbc-sim__legend{ display:none; }
@media (max-width:600px){
  .pbc-sim__scene{ aspect-ratio:2.25 / 1 !important; }
  .pbc-sim__vtrigger{ flex-direction:column; align-items:stretch !important; gap:.7rem; }
  .pbc-sim__vcta{ width:100%; justify-content:center; padding:.8rem 1rem; }
  .pbc-sim__variants .pbc-sim__zones{ grid-template-columns:1fr; }
}

/* ---------- Inputs ---------- */
.pbc-field > span{ font-size:.82rem; font-weight:600; color: hsl(var(--foreground) / .8); }
.pbc-field input, .pbc-field select, .pbc-field textarea, .pbc-sim input, .pbc-sim textarea, .pbc-stepper input, .pbc-days-custom input{ background:#fff; border:1.5px solid hsl(var(--input)); color: hsl(var(--foreground)); border-radius:.7rem; }
.pbc-field input:focus, .pbc-field select:focus, .pbc-field textarea:focus, .pbc-sim input:focus, .pbc-sim textarea:focus{ border-color: hsl(var(--primary)); box-shadow:0 0 0 3px hsl(var(--primary) / .18); outline:none; }
.pbc-field select option{ background:#fff; color:#1c1c1c; }

/* ---------- Pricing ---------- */
.pbc-pricing-head h3{ font-weight:800; }
.pbc .pbc-preset, .pbc .pbc-day-pill{ background:#fff; border:1.5px solid hsl(var(--border)); border-radius:.9rem; color: hsl(var(--muted-foreground)); }
.pbc-preset__num{ font-weight:900; color: hsl(var(--foreground)); }
.pbc .pbc-preset.is-active{ border-color: hsl(var(--primary)); background: hsl(var(--primary) / .07); }
.pbc-preset.is-active .pbc-preset__num{ color: hsl(var(--primary-strong)); }
.pbc .pbc-day-pill{ border-radius:999px; }
.pbc .pbc-day-pill.is-active{ background: hsl(var(--primary)); color:#fff; border-color: hsl(var(--primary)); }
.pbc-pricing-custom{ background:#fff; border:2px dashed hsl(var(--border)); border-radius:.9rem; }
.pbc-pricing-result{ background: hsl(var(--primary) / .06); border:1px solid hsl(var(--primary) / .25); border-radius:1rem; padding:1.4rem; }
.pbc-pricing-result__line{ font-weight:800; font-size:1.2rem; }
.pbc .pbc-stepper button{ background: hsl(var(--secondary)); color: hsl(var(--foreground)); border-radius:.6rem; }

/* ---------- Packages ---------- */
.pbc-pkg-grid.pbc-cols-3{ grid-template-columns:1fr; }
@media (min-width:900px){ .pbc-pkg-grid.pbc-cols-3{ grid-template-columns:1fr 1fr 1fr; } }
@media (min-width:768px) and (max-width:899px){ .pbc-pkg-grid.pbc-cols-3{ grid-template-columns:1fr 1fr; } }
.pbc-pkg-card{ border:1.5px solid hsl(var(--border)); border-radius:1.1rem; padding:1.8rem; }
.pbc-pkg-card.is-highlight{ border-color: hsl(var(--primary) / .5); box-shadow: 0 0 0 1px hsl(var(--primary) / .35), var(--sh); }
.pbc-pkg-card.is-selected{ border-color: hsl(var(--primary)); background: hsl(var(--primary) / .05); box-shadow: 0 0 0 1.5px hsl(var(--primary)); }
.pbc-pkg-card__top h4{ font-weight:900; }
.pbc-pkg-size{ direction:ltr; unicode-bidi:isolate; font-weight:800; color: hsl(var(--primary-strong)); font-style:normal; font-family:'Heebo',sans-serif; }
.pbc-pkg-card__status{ background: hsl(var(--secondary)); color: hsl(var(--muted-foreground)); border-radius:999px; }
.pbc-pkg-note{ margin-top:1.4rem; font-size:.84rem; color: hsl(var(--muted-foreground)); text-align:center; }
.pbc-pkg-cta{ background: hsl(var(--primary) / .06); border:1px solid hsl(var(--primary) / .25); border-radius:1rem; margin-top:2rem; padding:1.4rem; }
.pbc-wallmap{ padding:1.5rem; }
.pbc-wallmap__frame{ background: hsl(var(--band)); border:1px solid hsl(var(--border)); border-radius:.8rem; }
.pbc-wallmap__zone{ border:1px dashed hsl(var(--primary) / .4); background: hsl(var(--primary) / .05); color: hsl(var(--foreground)); font-weight:700; }
.pbc-wallmap__zone[data-wm="FULL_WALL"]{ background: hsl(var(--primary) / .08); border:none; }
.pbc-wallmap__legend{ display:none; }
.pbc-wallmap .pbc-mono{ direction:ltr; unicode-bidi:isolate; }

/* ---------- Gallery: navy chapter ---------- */
.pbc-section--muted{ background: hsl(var(--navy)); }
.pbc-section--muted .pbc-h2{ color:#fff; }
.pbc-section--muted .pbc-lead{ color: rgba(255,255,255,.7); }
.pbc-gallery-grid{ gap:1.25rem; }
.pbc-gallery-item{ border-radius:1rem; }
.pbc-gallery-item img{ filter:none; transition: transform .5s; }
.pbc-gallery-item:hover img{ transform: scale(1.04); }
.pbc-gallery-item figcaption{ background: linear-gradient(to top, rgba(13,20,40,.85), transparent 60%); color:#fff; font-weight:600; font-size:.85rem; }
.pbc-lightbox{ background: rgba(13,20,40,.94); backdrop-filter: blur(8px); }
.pbc-lightbox__inner p{ color:#fff; }
.pbc .pbc-lightbox__close, .pbc .pbc-lightbox__nav{ background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); color:#fff; border-radius:999px; }

/* ---------- Features ---------- */
.pbc-features-grid{ gap:1.25rem; }
.pbc-feature{ position:relative; overflow:hidden; padding:2rem 1.8rem; border-radius:1.1rem; }
.pbc-feature::before{ content:none; }
.pbc-feature__icon{ width:3.4rem; height:3.4rem; display:flex; align-items:center; justify-content:center; margin-bottom:1.15rem; background: hsl(var(--primary) / .1); box-shadow:none; border-radius:.9rem; font-size:0; }
.pbc-feature__icon svg{ width:1.9rem; height:1.9rem; display:block; }
.pbc-feature:hover .pbc-feature__icon{ transform:none; }
.pbc-feature h3{ font-size:1.15rem; font-weight:800; margin-bottom:.45rem; }
.pbc-feature p{ color: hsl(var(--muted-foreground)); font-size:.93rem; line-height:1.7; }
.pbc-features-grid.pbc-bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:1.25rem; align-items:stretch; }
.pbc-bento .pbc-feature{ margin:0; }
.pbc-bento .pbc-feature--wide{ grid-column:span 3; }
.pbc-bento .pbc-feature--sm{ grid-column:span 2; }
.pbc-bento .pbc-feature--spot{ grid-column:span 3; grid-row:span 2; display:flex; flex-direction:column; justify-content:space-between; gap:1.4rem; color:#fff; background: linear-gradient(155deg, hsl(224 50% 16%), hsl(var(--navy)) 60%); border:none; min-height:15rem; }
.pbc-bento .pbc-feature--spot::after{ content:""; position:absolute; left:-50px; top:-50px; width:200px; height:200px; border-radius:50%; background: hsl(var(--primary) / .25); filter: blur(40px); pointer-events:none; }
.pbc-bento .pbc-feature--spot:hover{ transform: translateY(-4px); box-shadow: var(--sh-lg); }
.pbc-feature--spot .pbc-feature__icon{ background: rgba(255,255,255,.12); }
.pbc-feature--spot h3{ color:#fff; font-size:1.35rem; margin:.8rem 0 .45rem; font-weight:800; }
.pbc-feature--spot p{ color: rgba(255,255,255,.75); font-size:.95rem; }
.pbc-feature__stat{ font-family:'Heebo',sans-serif; font-style:normal; font-size:4rem; font-weight:900; line-height:1; color:#fff; background:none; -webkit-text-fill-color:currentColor; }
.pbc-feature__stat span{ font-size:1.1rem; font-weight:700; margin-inline-start:.35rem; color:#8FB3FF; }
.pbc-feature__wrow{ display:flex; align-items:flex-start; gap:1.05rem; }
.pbc-feature__wrow .pbc-feature__icon{ flex:0 0 auto; margin:0; }
.pbc-feature__chip{ display:inline-block; font-size:1.3rem; font-weight:900; color: hsl(var(--primary-strong)); margin-bottom:.2rem; font-style:normal; }
@media (max-width:880px){
  .pbc-features-grid.pbc-bento{ grid-template-columns:1fr; }
  .pbc-bento .pbc-feature--spot,.pbc-bento .pbc-feature--wide,.pbc-bento .pbc-feature--sm{ grid-column:auto; grid-row:auto; }
  .pbc-bento .pbc-feature--spot{ min-height:auto; }
}

/* ---------- Location: ice band ---------- */
.pbc-section--grad .pbc-h2{ color: hsl(var(--foreground)); }
.pbc-section--grad .pbc-lead{ color: hsl(var(--muted-foreground)); }
.pbc-section--grad .pbc-card{ background:#fff; border-color: hsl(var(--border)); box-shadow: var(--sh-sm); }
.pbc-location-map iframe{ filter:none; border-radius:.8rem; }
.pbc-location-addr{ color: hsl(var(--muted-foreground)); }
.pbc-loc-stat{ background:#fff; border:1px solid hsl(var(--border)); border-radius:1rem; padding:1rem; }
.pbc-loc-stat__icon{ display:flex; background: hsl(var(--primary) / .1); color: hsl(var(--primary-strong)); border-radius:.7rem; font-size:0; }
.pbc-loc-stat__icon svg{ width:1.25rem; height:1.25rem; }
.pbc-loc-stat__val{ font-weight:900; color: hsl(var(--foreground)); font-size:1.25rem; font-style:normal; font-family:'Heebo',sans-serif; }
.pbc-traffic{ background:#fff; border:1px solid hsl(var(--border)); }
.pbc-traffic h3{ color: hsl(var(--foreground)); font-weight:800; }
.pbc-traffic .pbc-muted-sm{ color: hsl(var(--primary-strong)); font-weight:700; }
.pbc-traffic-grid ul{ color: hsl(var(--foreground) / .85); }
.pbc-traffic-grid ul li{ position:relative; padding-inline-start:1.1rem; }
.pbc-traffic-grid ul li::before{ content:""; position:absolute; inset-inline-start:0; top:.55em; width:.42rem; height:.42rem; border-radius:50%; background: hsl(var(--primary)); }

/* ---------- Campaigns ---------- */
.pbc-campaign-card{ border-radius:1.1rem; overflow:hidden; }
.pbc-campaign-card:hover{ transform: translateY(-4px); border:none; box-shadow: var(--sh); }
.pbc-campaign-card img{ filter:none; }
.pbc-campaign-card:hover img{ transform:scale(1.04); }
.pbc-campaign-card__body{ background: linear-gradient(0deg, rgba(13,20,40,.92), rgba(13,20,40,.4) 55%, transparent); }
.pbc-campaign-card__body h3{ color:#fff; font-weight:800; }
.pbc-campaign-card__body .pbc-muted-sm{ color:#8FB3FF; font-weight:700; font-size:.72rem; letter-spacing:.05em; }
.pbc-clamp{ color: rgba(255,255,255,.78); }
.pbc-campaign-more{ color:#8FB3FF; }
.pbc-modal{ background: rgba(13,20,40,.92); backdrop-filter: blur(8px); }
.pbc-modal__box{ background:#fff; border:none; box-shadow: var(--sh-lg); border-radius:1.1rem; }
.pbc .pbc-modal__close{ background: hsl(var(--secondary)); color: hsl(var(--foreground)); border-radius:999px; }
.pbc-modal__nav{ background: hsl(var(--band)); border-color: hsl(var(--border)); }
.pbc .pbc-modal__nav button{ background:#fff; border:1px solid hsl(var(--border)); color: hsl(var(--foreground)); border-radius:999px; }
.pbc-modal__days{ background: hsl(var(--primary) / .08); border-color: hsl(var(--primary) / .25); border-radius:.8rem; }
.pbc-modal__content h2{ font-weight:900; }

/* ---------- FAQ: soft cards ---------- */
.pbc-faq-list{ gap:.8rem; max-width:52rem; margin:0 auto; }
.pbc-faq-item{ background:#fff; border:1px solid hsl(var(--border)); border-radius:1rem; box-shadow: var(--sh-sm); overflow:hidden; }
.pbc-faq-item:last-child{ border-bottom:1px solid hsl(var(--border)); }
.pbc-faq-item:hover{ transform:none; border-color: hsl(var(--primary) / .4); }
.pbc-faq-q{ padding:1.15rem 1.3rem; }
.pbc-faq-q:hover{ background: hsl(var(--band)); }
.pbc-faq-q__ico{ display:flex; background: hsl(var(--primary) / .1); color: hsl(var(--primary-strong)); border-radius:.7rem; font-size:0; }
.pbc-faq-q__ico svg{ width:1.15rem; height:1.15rem; }
.pbc-faq-q__text{ font-weight:700; font-size:1.02rem; font-family:'Heebo',sans-serif; }
.pbc-faq-q__chev{ color: hsl(var(--muted-foreground)); font-size:0; transition:transform .25s, color .2s; }
.pbc-faq-q__chev svg{ width:16px; height:16px; }
.pbc-faq-item.is-open .pbc-faq-q__chev{ color: hsl(var(--primary-strong)); }
.pbc-faq-a p{ border-top:none; padding:0 4.35rem 1.3rem 1.3rem; max-width:none; font-size:.95rem; color: hsl(var(--muted-foreground)); }

/* ---------- Contact: navy chapter, split ---------- */
#contact.pbc-section{ background: linear-gradient(165deg, hsl(224 50% 16%), hsl(var(--navy)) 70%); border-radius:0; max-width:none; margin:0; padding:6.5rem 1.5rem; }
#contact .pbc-badge{ background: rgba(255,255,255,.12); color:#fff; box-shadow:none; border:1px solid rgba(255,255,255,.18); }
.pbc-contact-grid{ display:grid; grid-template-columns:1fr; gap:3rem; align-items:start; }
@media (min-width:900px){ .pbc-contact-grid{ grid-template-columns:.85fr 1.15fr; gap:4.5rem; } }
.pbc-contact-pitch .pbc-h2{ color:#fff; }
.pbc-contact-pitch .pbc-lead{ color: rgba(255,255,255,.72); margin-bottom:2rem; }
.pbc-contact-lines{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.pbc-contact-lines li{ display:flex; flex-direction:column-reverse; gap:.15rem; padding:.95rem 0; border-top:1px solid rgba(255,255,255,.14); }
.pbc-contact-lines li:last-child{ border-bottom:1px solid rgba(255,255,255,.14); }
.pbc-contact-lines a, .pbc-contact-addr{ color:#fff; font-weight:700; font-size:1.05rem; }
.pbc-contact-lines a:hover{ color:#8FB3FF; }
.pbc-contact-lines li > span:last-child{ color:#8FB3FF; font-size:.72rem; font-weight:700; letter-spacing:.06em; }
.pbc-contact-lines li > span.pbc-contact-addr{ color:#fff; font-size:1.05rem; letter-spacing:0; }
#contact .pbc-contact-form{ background:#fff; border:none; box-shadow: 0 40px 80px -30px rgba(0,0,0,.5); border-radius:1.25rem; padding:2.5rem; }
#contact .pbc-contact-form .pbc-btn--primary{ width:100%; }

/* ---------- Footer: navy ---------- */
.pbc-footer{ background: hsl(var(--navy)); border-top:none; color:#fff; padding:4rem 1.5rem 0; }
.pbc-footer__grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; padding-bottom:2.5rem; text-align:right; }
@media (min-width:768px){ .pbc-footer__grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.pbc-footer__logo{ color:#fff; display:inline-flex; flex-direction:column; align-items:flex-start; gap:.2rem; }
.pbc-footer__logo .pbc-logo__sub{ color:#8FB3FF; }
.pbc-footer__tag{ margin-top:.9rem; color: rgba(255,255,255,.6); font-size:.92rem; }
.pbc-footer__head{ font-size:.74rem; font-weight:800; letter-spacing:.12em; color:#8FB3FF; margin-bottom:.9rem; }
.pbc-footer__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; font-size:.95rem; color: rgba(255,255,255,.8); }
.pbc-footer__list a{ color: rgba(255,255,255,.8); }
.pbc-footer__list a:hover{ color:#8FB3FF; }
.pbc-footer__strip{ border-top:1px solid rgba(255,255,255,.12); padding:1.3rem 0; font-size:.8rem; color: rgba(255,255,255,.5); }

/* ---------- Reveal / progress / sticky / mobile menu ---------- */
.pbc-reveal-ready [data-reveal]{ opacity:0; transform: translateY(22px); transition: opacity .65s cubic-bezier(.16,.84,.44,1), transform .65s cubic-bezier(.16,.84,.44,1); }
.pbc-reveal-ready [data-reveal].is-visible{ opacity:1; transform:none; }
.pbc-progress{ position:fixed; inset:0 0 auto 0; height:3px; z-index:60; pointer-events:none; }
body.admin-bar .pbc-progress{ top:32px; }
.pbc-progress__bar{ height:100%; width:0; background: hsl(var(--primary)); }
.pbc-sticky-cta{ position:fixed; inset-inline:0; bottom:0; z-index:58; display:none; gap:.5rem; padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.95); backdrop-filter: blur(12px); border-top:1px solid hsl(var(--border)); box-shadow: 0 -12px 30px -18px rgba(24,37,67,.3); transform: translateY(110%); transition: transform .3s cubic-bezier(.4,0,.2,1); }
.pbc-sticky-cta.is-visible{ transform:none; }
.pbc-sticky-cta .pbc-btn{ flex:1; min-height:50px; }
.pbc-mobile-menu{ position:fixed; inset:0; z-index:55; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.4rem; background: rgba(255,255,255,.98); opacity:0; pointer-events:none; transition:opacity .3s; }
.pbc-mobile-menu.is-open{ opacity:1; pointer-events:auto; }
.pbc-mobile-menu a{ font-size:1.4rem; font-weight:800; color: hsl(var(--foreground)); }
.pbc-mobile-menu a.cta{ margin-top:.8rem; padding:.9rem 2.4rem; border-radius:999px; background: hsl(var(--primary)); color:#fff; font-size:1.1rem; }
.pbc-mobile-close{ position:absolute; top:1.1rem; left:1.1rem; width:44px; height:44px; border-radius:999px; background: hsl(var(--secondary)); border:1px solid hsl(var(--border)); color: hsl(var(--foreground)); }

/* ---------- Success ---------- */
.pbc-success__icon{ border-radius:999px; background: rgba(34,197,94,.1); border:2px solid rgba(34,197,94,.35); color:#16a34a; }
.pbc-form-success h3, .pbc-success h3{ font-weight:800; }

/* ---------- Mobile ---------- */
@media (max-width:980px){
  .pbc-hero__content{ text-align:right; padding:7rem 0 4.5rem; }
  .pbc-hero__stats{ flex-wrap:wrap; gap:1.2rem 0; }
}
@media (max-width:767px){
  .pbc-section{ padding: 3.25rem 1.1rem; }
  .pbc-section__head{ margin-bottom:2.2rem; }
  .pbc-header__nav{ display:none !important; }
  .pbc-header__phone{ display:none; }
  .pbc .pbc-burger{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; }
  .pbc-sticky-cta{ display:flex; }
  .pbc-h2{ font-size: clamp(1.65rem,7vw,2.1rem); }
  .pbc-btn, .pbc-day-pill, .pbc-preset, .pbc-faq-q, .pbc-pkg-select{ min-height:48px; }
  .pbc-stepper button{ width:48px; height:48px; }
  .pbc-hero{ min-height:84vh; }
  .pbc-hero__title{ font-size: clamp(2.2rem,10vw,3rem); }
  .pbc-hero .pbc-stat{ padding:0 0 0 1.4rem; margin-inline-end:1.4rem; }
  .pbc-hero .pbc-stat:not(:last-child){ padding-inline-end:1.4rem; }
  .pbc-stat__val{ font-size:1.45rem; }
  .pbc-faq-a p{ padding: 0 1.3rem 1.3rem; }
  #contact.pbc-section{ padding:4rem 1.1rem; }
}
@media (max-width:640px){
  .pbc-sim__zones, .pbc-sim__zones.pbc-cols-3{ grid-template-columns:1fr; }
}

/* ---------- a11y / motion ---------- */
.pbc a:focus-visible, .pbc button:focus-visible, .pbc input:focus-visible, .pbc select:focus-visible, .pbc textarea:focus-visible{ outline:2px solid hsl(var(--primary)); outline-offset:2px; border-radius:8px; }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} .pbc-reveal-ready [data-reveal]{opacity:1!important;transform:none!important;} }

/* =========================================================================
   MOBILE FIXES v1.7.2 — audited live @390px (RTL Hebrew)
   Surgical, additive only. Overrides base + existing mobile rules.
   ========================================================================= */
@media (max-width:767px){
  .pbc-field input, .pbc-field select, .pbc-field textarea,
  .pbc-contact-form input, .pbc-contact-form select, .pbc-contact-form textarea,
  .pbc-sim input, .pbc-sim textarea, .pbc-stepper input, .pbc-days-custom input{
    font-size:16px;
  }
  .pbc-field input, .pbc-field select,
  .pbc-contact-form input, .pbc-contact-form select{
    min-height:44px;
  }
  .pbc-mobile-menu a{ padding:.4rem 1.1rem; }
  .pbc-footer__list a{ display:inline-block; padding:.2rem 0; }
}

/* PKG LOCK v1.7.2 */
.pbc-wallmap__zone.is-active{
  background: hsl(222 100% 59% / .25);
  border-color: hsl(222 100% 59%);
}

/* =========================================================================
   SIMULATOR V2 (1.8.0) — interactive hotspots, connected progress,
   two-column step 2 with sticky live preview, summary grid, animated success.
   ========================================================================= */

/* ---- Step 3: connected RTL progress indicator ---- */
.pbc-steps--progress{ display:flex; align-items:flex-start; justify-content:center; gap:0; max-width:34rem; margin:0 auto 2.6rem; padding:0; }
.pbc-steps--progress .pbc-step{ flex:1 1 0; display:flex; flex-direction:column; align-items:center; gap:.55rem; position:relative; background:none !important; border:none !important; padding:0 !important; box-shadow:none !important; min-height:0; color: hsl(var(--muted-foreground)); }
.pbc-steps--progress .pbc-step__num{ width:2.4rem; height:2.4rem; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; border:2px solid hsl(var(--border)); color: hsl(var(--muted-foreground)); font-weight:800; font-size:.95rem; position:relative; z-index:2; margin:0; transition: background .25s, border-color .25s, color .25s, box-shadow .25s; }
.pbc-steps--progress .pbc-step__label{ font-size:.82rem; font-weight:700; color: hsl(var(--muted-foreground)); text-align:center; line-height:1.25; }
.pbc-steps--progress .pbc-step:not(:first-child)::before{ content:""; position:absolute; top:1.13rem; left:50%; width:100%; height:3px; background: hsl(var(--border)); border-radius:3px; z-index:1; transition: background .3s; }
.pbc-steps--progress .pbc-step.is-active::before,
.pbc-steps--progress .pbc-step.is-done::before{ background: hsl(var(--primary)); }
.pbc-steps--progress .pbc-step.is-active .pbc-step__num{ background: hsl(var(--primary)); border-color: hsl(var(--primary)); color:#fff; box-shadow: 0 8px 18px -8px hsl(var(--primary) / .7); }
.pbc-steps--progress .pbc-step.is-active .pbc-step__label{ color: hsl(var(--foreground)); }
.pbc-steps--progress .pbc-step.is-done .pbc-step__num{ background: hsl(var(--primary)); border-color: hsl(var(--primary)); color:transparent; font-size:0; }
.pbc-steps--progress .pbc-step.is-done .pbc-step__num::after{ content:"✓"; font-size:1.05rem; line-height:1; color:#fff; font-weight:900; }
.pbc-steps--progress .pbc-step.is-done .pbc-step__label{ color: hsl(var(--foreground)); }

/* ---- Interactive hotspots on the Step 1 photo ---- */
.pbc-sim__scene{ position:relative; }
.pbc-sim__scene [data-sim-poly]{ display:none; }
.pbc-sim__scene polygon.pbc-hotspot{ fill:transparent !important; stroke: hsl(var(--primary) / .32) !important; stroke-width:2 !important; stroke-dasharray:none !important; cursor:pointer; outline:none; transition: fill .18s ease, stroke .18s ease, stroke-width .18s ease; }
.pbc-sim__scene polygon.pbc-hotspot:hover,
.pbc-sim__scene polygon.pbc-hotspot:focus,
.pbc-sim__scene polygon.pbc-hotspot:focus-visible{ fill: hsl(var(--primary) / .14) !important; stroke:#2F6BFF !important; stroke-width:5 !important; }
.pbc-sim__scene polygon.pbc-hotspot.is-selected{ fill: hsl(var(--primary) / .22) !important; stroke:#2F6BFF !important; stroke-width:6 !important; animation: pbc-hot-pulse 1.9s ease-in-out infinite; }
.pbc-sim__scene polygon.pbc-hotspot--full{ pointer-events:stroke; stroke: hsl(var(--primary) / .22) !important; stroke-width:9 !important; }
.pbc-sim__scene polygon.pbc-hotspot--full:hover,
.pbc-sim__scene polygon.pbc-hotspot--full:focus,
.pbc-sim__scene polygon.pbc-hotspot--full:focus-visible{ fill:transparent !important; stroke:#2F6BFF !important; stroke-width:12 !important; }
.pbc-sim__scene polygon.pbc-hotspot--full.is-selected{ fill: hsl(var(--primary) / .16) !important; stroke-width:8 !important; }
@keyframes pbc-hot-pulse{ 0%,100%{ stroke-opacity:1; stroke-width:6; } 50%{ stroke-opacity:.5; stroke-width:11; } }

/* floating hotspot label */
.pbc-hotspot-tip{ position:absolute; z-index:20; transform: translate(-50%, calc(-100% - 8px)); background: hsl(var(--foreground)); color:#fff; font-weight:700; font-size:.82rem; padding:.4rem .7rem; border-radius:.6rem; box-shadow: var(--sh); pointer-events:none; white-space:nowrap; display:flex; align-items:center; gap:.45rem; opacity:0; transition: opacity .15s ease; }
.pbc-hotspot-tip.is-visible{ opacity:1; }
.pbc-hotspot-tip.is-below{ transform: translate(-50%, 8px); }
.pbc-hotspot-tip span{ color:#8FB3FF; font-weight:600; }
.pbc-hotspot-tip::after{ content:""; position:absolute; left:50%; bottom:-5px; transform: translateX(-50%); border:5px solid transparent; border-top-color: hsl(var(--foreground)); }
.pbc-hotspot-tip.is-below::after{ bottom:auto; top:-5px; border-top-color:transparent; border-bottom-color: hsl(var(--foreground)); }

/* ---- Zone info bar under the photo ---- */
.pbc-sim__zonebar{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin:.9rem 0 1.6rem; padding:.7rem 1.15rem; background:#fff; border:1px solid hsl(var(--border)); border-radius:999px; box-shadow: var(--sh-sm); }
.pbc-sim__zonebar-dot{ width:.7rem; height:.7rem; border-radius:50%; background: hsl(var(--primary)); flex:0 0 auto; }
.pbc-sim__zonebar-name{ font-weight:800; color: hsl(var(--foreground)); }
.pbc-sim__zonebar-size{ font-weight:600; color: hsl(var(--primary-strong)); }
.pbc-sim__zonebar-hint{ margin-inline-start:auto; font-size:.8rem; color: hsl(var(--muted-foreground)); }

/* ---- Step 2: two-column with sticky live preview ---- */
.pbc-sim__two{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:900px){ .pbc-sim__two{ grid-template-columns: 1.55fr .9fr; align-items:start; } }
.pbc-sim__col-main{ display:flex; flex-direction:column; gap:1.25rem; min-width:0; }
.pbc-sim__col-main > .pbc-card{ margin:0; }
.pbc-sim__col-side{ min-width:0; }
@media (min-width:900px){ .pbc-sim__col-side{ position:sticky; top:5.5rem; } }
.pbc-sim__mini{ padding:1rem; }
.pbc-sim__mini-kicker{ margin:0 0 .6rem; }
.pbc-sim__mini-scene{ aspect-ratio:2.25 / 1; background: hsl(var(--secondary)); border-radius:.7rem; overflow:hidden; }
.pbc-sim__mini-scene svg{ width:100%; height:100%; display:block; }
.pbc-sim__mini-scene polygon{ stroke-width:6; stroke-dasharray:none; }
.pbc-sim__mini-info{ padding:.85rem .2rem 0; }
.pbc-sim__mini-info h4{ font-weight:800; font-size:1.05rem; margin:0 0 .12rem; color: hsl(var(--foreground)); }
.pbc-sim__mini-size{ color: hsl(var(--primary-strong)); font-weight:600; margin:0 0 .5rem; }
.pbc-sim__mini-days{ color: hsl(var(--muted-foreground)); font-size:.9rem; margin:0; }
.pbc-sim__mini-days b{ color: hsl(var(--foreground)); font-weight:800; }

/* ---- Step 2: nicer dropzone ---- */
.pbc-dropzone{ padding:1.9rem 1rem; text-align:center; cursor:pointer; transition: border-color .2s, background .2s; }
.pbc-dropzone__icon{ width:3rem; height:3rem; margin:0 auto .65rem; display:flex; align-items:center; justify-content:center; background: hsl(var(--primary) / .1); color: hsl(var(--primary-strong)); border-radius:50%; font-size:0; transition: transform .2s, background .2s; }
.pbc-dropzone__icon svg{ width:1.5rem; height:1.5rem; display:block; }
.pbc-dropzone__title{ font-weight:700; color: hsl(var(--foreground)); margin:.1rem 0 .25rem; }
.pbc-dropzone.is-drag{ border-color: hsl(var(--primary)); background: hsl(var(--primary) / .08); }
.pbc-dropzone.is-drag .pbc-dropzone__icon{ background: hsl(var(--primary) / .18); transform: translateY(-3px); }

/* ---- Step 3: definition-grid summary + prominent submit ---- */
.pbc-summary{ display:flex; flex-direction:column; gap:0; }
.pbc-summary__row{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.72rem .15rem; border-bottom:1px solid hsl(var(--border)); }
.pbc-summary__row:last-child{ border-bottom:none; }
.pbc-summary__k{ color: hsl(var(--muted-foreground)); font-size:.85rem; font-weight:600; flex:0 0 auto; }
.pbc-summary__v{ color: hsl(var(--foreground)); font-weight:700; text-align:left; min-width:0; word-break:break-word; }
[data-sim-submit]{ width:100%; font-size:1.05rem; padding:1.05rem 2rem; }

/* ---- Success: animated check (no SVG filters) ---- */
.pbc-success{ text-align:center; }
.pbc-success__icon{ width:4.5rem; height:4.5rem; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:2rem; font-weight:900; position:relative; animation: pbc-pop .5s cubic-bezier(.2,.9,.3,1.3) both; }
.pbc-success__icon::after{ content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(34,197,94,.45); animation: pbc-ring .85s ease-out both; }
@keyframes pbc-pop{ 0%{ transform:scale(.4); opacity:0; } 60%{ transform:scale(1.08); } 100%{ transform:scale(1); opacity:1; } }
@keyframes pbc-ring{ 0%{ transform:scale(.6); opacity:.85; } 100%{ transform:scale(1.3); opacity:0; } }

/* ---- Mobile: compact indicator, dropdown stays primary ---- */
@media (max-width:767px){
  .pbc-steps--progress{ margin-bottom:2rem; }
  .pbc-steps--progress .pbc-step__num{ width:2rem; height:2rem; font-size:.85rem; }
  .pbc-steps--progress .pbc-step:not(:first-child)::before{ top:.94rem; }
  .pbc-steps--progress .pbc-step__label{ font-size:.72rem; }
  .pbc-sim__zonebar{ padding:.65rem .9rem; }
  .pbc-sim__zonebar-hint{ flex-basis:100%; margin-inline-start:0; }
  .pbc-hotspot-tip{ font-size:.76rem; }
  .pbc-summary__k{ font-size:.8rem; }
}

@media (prefers-reduced-motion: reduce){
  .pbc-sim__scene polygon.pbc-hotspot.is-selected{ animation:none; }
  .pbc-success__icon, .pbc-success__icon::after{ animation:none; }
}
