/* FESG V2 private-only replica: one genuine City Plasters-style hero per page.
   Actual hero markup and its full styles are cloned from FESG home preview.
   This file styles only the demo dialog and safe review wrapper. */
.fesg-v2-private-preview .fesg-v2-real-city-hero{position:relative;width:100%}
.fesg-v2-private-preview .fesg-v2-real-city-hero .cp-swfl-hero{width:100%;margin:0}
.fesg-v2-preview-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(4,16,33,.77);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.fesg-v2-preview-modal.is-open{display:flex}
.fesg-v2-preview-modal__dialog{width:min(100%,520px);max-height:calc(100dvh - 32px);overflow-y:auto;position:relative;padding:clamp(22px,4vw,32px);border:1px solid #dce7f4;border-radius:22px;background:#fff;color:#163650;box-shadow:0 22px 70px rgba(0,0,0,.35);font:14px/1.5 system-ui,sans-serif}
.fesg-v2-demo-kicker{margin:0 0 8px!important;font-size:10px!important;color:#1a6abd!important;font-weight:800!important;letter-spacing:.12em!important}
.fesg-v2-preview-modal__dialog h2{font-size:clamp(23px,4vw,30px);line-height:1.12;font-weight:800;margin:0 0 8px}
.fesg-v2-preview-modal__dialog p{color:#59718a;margin:0 0 15px}
.fesg-v2-demo-close{position:absolute;right:14px;top:12px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#edf4fc;color:#18354f;font-size:23px;cursor:pointer}
.fesg-v2-demo-form label{display:block;font-size:12px;font-weight:750;margin:12px 0}
.fesg-v2-demo-form input,.fesg-v2-demo-form select{display:block;width:100%;min-height:44px;padding:10px 12px;margin-top:5px;border:1px solid #cad9e9;border-radius:9px;background:#fff;color:#173450;font:16px system-ui,sans-serif}
.fesg-v2-demo-actions{display:flex;gap:12px;justify-content:flex-end;margin:20px 0 12px}
.fesg-v2-demo-actions button,.fesg-v2-preview-modal__dialog [data-demo-done]{border:1px solid #d0ddeb;border-radius:10px;background:#f3f7fa;color:#18354f;min-height:44px;padding:9px 16px;font-weight:800;cursor:pointer}
.fesg-v2-demo-actions button[type=submit]{background:#1164d1;color:#fff;border-color:#1164d1}
.fesg-v2-demo-form small{font-size:10px;color:#667e95}
.fesg-v2-preview-warning{position:fixed;z-index:100001;bottom:16px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:13px 17px;border-radius:12px;background:#092840;color:#fff;box-shadow:0 8px 26px #0003;font:700 12px/1.45 system-ui,sans-serif}
.fesg-v2-preview-modal button:focus-visible,.fesg-v2-preview-modal input:focus-visible,.fesg-v2-preview-modal select:focus-visible{outline:3px solid #9dc8f8;outline-offset:3px}
@media(max-width:767px){.fesg-v2-private-preview .fesg-v2-real-city-hero{padding:0 8px 15px!important}.fesg-v2-preview-modal__dialog{padding:26px 19px}}

/* Shared video: clean high-contrast Ladona caption, never a black box. */
.fesg-swfl-hero.cp-swfl-hero--video .cp-swfl-mobile-project-label{
  border:0!important;
  border-left:2px solid rgba(255,255,255,.95)!important;
  border-radius:0!important;
  padding:1px 0 2px 12px!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
  text-align:left!important;
  text-shadow:0 2px 8px rgba(0,0,0,.85),0 4px 19px rgba(0,0,0,.62)!important;
}
.fesg-swfl-hero.cp-swfl-hero--video .cp-swfl-mobile-project-kicker,
.fesg-swfl-hero.cp-swfl-hero--video .cp-swfl-mobile-project-name{
  color:#fff!important;text-shadow:inherit!important;
}
@media(max-width:767px){
 .fesg-swfl-hero.cp-swfl-hero--video .cp-swfl-mobile-project-label{
   top:114px!important;
   right:16px!important;
   width:min(145px,38vw)!important;
   padding:0 0 0 9px!important;
 }
 .fesg-swfl-hero.cp-swfl-hero--video .cp-swfl-mobile-project-kicker{font-size:8px!important;letter-spacing:.12em!important}
 .fesg-swfl-hero.cp-swfl-hero--video .cp-swfl-mobile-project-name{font-size:13px!important;line-height:1.17!important;letter-spacing:-.02em!important;text-transform:none!important}
}

/* Old React islands occasionally retain a second nav after the preview swaps
   their hero. Keep only the nav belonging to the copied City-style hero. */
@media(min-width:768px){
 body.fesg-v2-private-preview:has([data-fesg-v2-cloned-hero]) .cp-v6-nav{display:none!important}
 body.fesg-v2-private-preview [data-fesg-v2-cloned-hero] .cp-v6-nav{display:flex!important}
 body.fesg-v2-private-preview:has([data-fesg-v2-cloned-hero]) .fesg-menu{display:none!important}
}
@media(max-width:767px){
 body.fesg-v2-private-preview:has([data-fesg-v2-cloned-hero]) .cp-v6-nav{display:none!important}
 body.fesg-v2-private-preview:has([data-fesg-v2-cloned-hero]) .cp-swfl-mobile-wordmark{display:none!important}
 body.fesg-v2-private-preview [data-fesg-v2-cloned-hero] .cp-swfl-mobile-wordmark{display:inline-flex!important}
}

/* Hide old city-template navigation outside the one replacement hero. */
body.fesg-v2-private-preview:has([data-fesg-v2-cloned-hero]) nav[aria-label$="page navigation"]:not([data-fesg-v2-cloned-hero] nav){display:none!important}
