/* =========================================================
   /assets/css/site.css  (FULL REWRITE)

   Changes since last version:
     - Header mega menu uses Option C (even split via grid-auto-flow)
     - MOBILE block added at the end (<= 820px)
         * hamburger left, logo right
         * social + phone hidden
         * menu collapses into vertical panel
         * mega dropdowns hidden on mobile
   ========================================================= */

/* --- TEMP DIAGNOSTIC (commented out, keep for testing) ---
body::before{
  content: "MOBILE-NOT-ACTIVE";
  display: block;
  background: red;
  color: white;
  padding: 6px;
  text-align: center;
}
@media (max-width: 820px){
  body::before{
    content: "MOBILE-ACTIVE @ " attr(data-w);
    background: lime;
    color: black;
  }
}
--- END TEMP DIAGNOSTIC --- */

@font-face{
  font-family: "FuturaBT";
  src: url("/core/Futura_Medium_BT.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root{
  --font-main: "FuturaBT", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  --font-narrow: "Arial Narrow", Arial, Helvetica, sans-serif;

  /* Injected via header.asp */
  --site-bg: #ffffff;
  --bg-a1: #000000;
  --bg-a2: #222222;

  --fg-b1: #ffffff;
  --fg-b2: #ffffff;

  --max: 1120px;

  /* Hero arrow gutters */
  --hero-arrow-gap: 60px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family: var(--font-main);
  background: var(--site-bg);
  color:#111;
}

a{ color: inherit; text-decoration: none; }

.container{
  width: min(var(--max), calc(100% - 32px));
  margin: 0 auto;
}

.pagewrap{
  padding: 18px 0 28px;
}

/* =========================
   HEADER
   ========================= */

.hdr-top{
  height:10px;
  background:var(--bg-a1);
}

.hdr-mid{
  height:80px;
  background:var(--bg-a2);
  color:var(--fg-b2);
}

.hdr-mid-inner{
  height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

/* Logo */
.hdr-logo{
  display:flex;
  align-items:center;
}

.hdr-logo img{
  height:64px;
  max-width:420px;
  object-fit:contain;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));
}

.hdr-logo-text{
  font-size:22px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--fg-b2);
}

/* Right area */
.hdr-right{
  display:flex;
  align-items:center;
  gap:50px;
}

.hdr-social{
  display:flex;
  gap:14px;
}

/* Social icons (default white=-w hover black=-b) */
.socTile{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
}

.socIcon{
  position:relative;
  width:44px;
  height:44px;
}

.socImg{
  position:absolute;
  inset:0;
  width:44px;
  height:44px;
  transition: opacity .18s ease;
}

.socHover{ opacity: 1; } /* -w */
.socBase{ opacity: 0; }  /* -b */
.socTile:hover .socHover{ opacity: 0; }
.socTile:hover .socBase{ opacity: 1; }

/* Phone */
.hdr-phone{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:1.1;
}

.hdr-phone-label{
  font-size:13px;
  font-weight:400;
  color:var(--fg-b2);
  opacity:.85;
  margin-bottom:4px;
}

.hdr-phone-num{
  font-size:32px;
  font-weight:600;
  color:var(--fg-b2);
  line-height:1;
}

/* MOBILE: hamburger button — hidden on desktop, shown <= 820px */
.nav-toggle{ display:none; }

/* =========================
   HEADER BLOCK 3
   ========================= */

.hdr-bot{
  height:80px;
  background:var(--bg-a1);
  color:var(--fg-b1);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.hdr-bot-inner{
  width:100%;
  padding: 0 24px;
}

.hdr-desc-title{
  font-size:30px;
  font-weight:900;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hdr-desc-sub{
  font-family: var(--font-narrow);
  font-size:16px;
  line-height:1.45;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0 auto;
}

/* =========================
   HEADER MEGA MENU (NON-HOME)
   ========================= */

/* Change #2 (Option C): constrain to site width, split evenly */
.hdr-bot--menu .hdr-bot-inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 14px 16px;
  width: 100%;
  box-sizing: border-box;
}

.nav-grid{
  height:80px;
  display:grid;
  grid-auto-flow: column;              /* Option C: one row */
  grid-auto-columns: 1fr;              /* even split */
  gap:14px;
  align-items:center;
}

.nav-item{
  position:static;
}

.nav-link{
  display:flex;
  align-items:center;
  justify-content:center;
  height:80px;
  font-size:36px;
  line-height:1;
  color:var(--fg-b1);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nav-link-bold{
  display:flex;
  align-items:center;
  justify-content:center;
  height:80px;
  font-size:36px;
  line-height:1;
  color:var(--fg-b1);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:900;
}

.nav-normal{ font-weight:400; }
.nav-bold{ font-weight:900; }

.mega{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:80px;
  background:var(--bg-a1);
  padding: 14px 0 18px;
  z-index:50;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.nav-item:hover .mega,
.nav-item:focus-within .mega{
  display:block;
}

.mega-inner{ padding: 0 24px; }

.mega-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
}

/* “Flag” item (same size/format) + background image support */
.flag-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.10);
  color:#ffffff;
  user-select:none;
  overflow:hidden;
}

.flag-item::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--flag-bg-png), var(--flag-bg-jpg);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  z-index:0;
}

.flag-item::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.28);
  z-index:1;
}

.flag-item:hover::after{
  background: rgba(0,0,0,.20);
}

.flag-item:hover{
  background: rgba(255,255,255,.16);
}

.flag-icon,
.flag-text{
  position:relative;
  z-index:2;
}

.flag-icon{
  width:44px;
  height:28px;
  border-radius:8px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  flex: 0 0 auto;
  box-shadow: 0 6px 14px rgba(0,0,0,.25);
}

.flag-icon--cat{
  height:28px;
  width:44px;
  border-radius:8px;

  background-color:#ffffff;
  padding:3px;

  background-image: var(--cat-icon-png), var(--cat-icon-jpg);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
}

.flag-item--cat::before{
  background-image:none;
}

.flag-text{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

.flag-name{
  font-size:14px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 100%;
}

.flag-date{
  font-size:12px;
  font-weight:400;
  opacity:.90;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 100%;
}

/* Intermediate desktop-ish breakpoints still apply to the mega tiles */
@media (max-width: 820px){
  .mega-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .mega-grid{ grid-template-columns: 1fr; }
}

/* =========================
   HOME HERO SLIDESHOW
   ========================= */

.home-hero{
  padding:16px 0 8px;
}

.hero-inner{
  width: min(var(--max), calc(100% - 32px));
  margin: 0 auto;
}

.hero-slider{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  background:#111;
}

.hero-track{
  display:flex;
  width:100%;
  transform: translateX(0%);
  transition:transform .45s ease;
}

.hero-slide{
  position:relative;
  min-width:100%;
  height:250px;
  display:block;
  color:#fff;
}

.hero-bg{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  filter:saturate(1.05) contrast(1.05);
  z-index:1;
}

.hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.40) 45%,
      rgba(0,0,0,.18) 70%,
      rgba(0,0,0,.06) 88%,
      rgba(0,0,0,0) 100%);
  z-index:3;
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:4;
}

.hero-overlay-left{
  position:absolute;
  left: calc(var(--hero-arrow-gap) + 12px);
  top:50%;
  transform:translateY(-50%);
  max-width: calc(100% - (var(--hero-arrow-gap) * 2) - 220px);
}

.hero-title{
  font-size:36px;
  font-weight:600;
  line-height:1.05;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hero-date{
  font-size:16px;
  opacity:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hero-loc{
  font-size:24px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:1;
  line-height:1.2;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hero-cta{
  position:absolute;
  right: calc(var(--hero-arrow-gap) + 12px);
  top:50%;
  transform:translateY(-50%);
  z-index:5;
}

.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
  font-weight:900;
  white-space:nowrap;
}

.hero-slide:hover .hero-btn{
  background:rgba(255,255,255,.26);
  border-color:rgba(255,255,255,.55);
}

.hero-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:20px;
  cursor:pointer;
  z-index:6;
}

.hero-prev{ left:10px; }
.hero-next{ right:10px; }

.hero-nav:hover{
  background:rgba(0,0,0,.50);
  border-color:rgba(255,255,255,.40);
}

.hero-dots{
  position:absolute;
  bottom:8px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  gap:8px;
  z-index:6;
}

.hero-dot{
  width:8px;
  height:8px;
  border-radius:99px;
  background:rgba(255,255,255,.35);
  border:1px solid rgba(255,255,255,.25);
  cursor:pointer;
}

.hero-dot.is-active{
  background:#fff;
}

@media (max-width: 820px){
  :root{ --hero-arrow-gap: 52px; }
  .hero-title{ font-size:24px; }
  .hero-slide{ height:230px; }
}

@media (max-width: 520px){
  .hero-slide{ height:210px; }
  .hero-nav{ display:none; }
  .hero-overlay-left{
    left:16px;
    max-width: calc(100% - 16px - 16px - 160px);
  }
  .hero-cta{ right:16px; }
}

/* =========================
   HOME SEARCH BAR
   ========================= */

.home-search{
  padding: 10px 0 8px;
}

.searchbar{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  border-radius:999px;
  padding:10px;
  background:rgba(0,0,0,.05);
}

.searchbar-input{
  flex:1;
  border:0;
  outline:none;
  background:transparent;
  font-family: var(--font-main);
  font-size:18px;
  padding:10px 14px;
  border-radius:999px;
}

.searchbar-btn{
  border:0;
  cursor:pointer;
  border-radius:999px;
  padding:10px 18px;
  font-family: var(--font-main);
  font-size:18px;
  font-weight:900;
  background: var(--bg-a1);
  color: var(--fg-b1);
}

.searchbar-btn:hover{
  opacity:.92;
}

@media (max-width: 520px){
  .searchbar{ padding:8px; }
  .searchbar-input{ font-size:16px; }
  .searchbar-btn{ font-size:16px; padding:10px 14px; }
}

/* =========================
   HOME CATEGORY BOXES
   ========================= */

.home-cats{
  padding: 10px 0 18px;
}

.cat-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cat-card{
  position:relative;
  height:120px;
  border-radius:14px;
  overflow:hidden;
  background:#111;
  background-position:center;
  background-size:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  user-select:none;
}

.cat-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  height:70%;
  background-image: var(--cat-overlay);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  z-index:1;
}

.cat-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: transparent;
  z-index:2;
}

.cat-card-inner{
  position:relative;
  z-index:3;
  width:100%;
  padding: 0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}

.cat-card-title{
  font-size:36px;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

a.cat-card{
  color:#ffffff;
}

.cat-card--disabled{
  cursor:default;
  color:#cfcfcf;
}

.cat-title-normal{
  font-weight:400;
}

.cat-title-bold{
  font-weight:900;
}

a.cat-card:hover{
  transform: translateY(-1px);
  transition: transform .12s ease;
}

@media (max-width: 820px){
  .cat-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px){
  .cat-grid{ grid-template-columns: 1fr; }
  .cat-card-title{ font-size:32px; }
}

/* =========================
   HOME PER-CATEGORY BLOCKS
   ========================= */

.home-catblock{
  display:block;
  text-decoration:none;
}

.home-catblock-inner{
  justify-content:flex-start;
}

.home-catblock-title{
  font-size:36px;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color: var(--fg-b2);
}

.home-catblock-normal{ font-weight:400; }
.home-catblock-bold{ font-weight:600; }

.home-cathead{
  width: min(var(--max), calc(100% - 32px));
  margin: 10px auto 0;
  border-radius:14px;
  overflow:hidden;
}

.home-cathead-top{
  height:10px;
  background: var(--bg-a1);
}

.home-cathead-mid{
  display:block;
  height:80px;
  background: var(--bg-a2);
  color: var(--fg-b2);
}

.home-cathead-mid-inner{
  height:80px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding: 0 24px;
}

.home-cathead-mid:hover{
  opacity:.96;
}

/* =========================
   HOME EVENTS (Option D)
   ========================= */

.cat-events{
  padding: 12px 0 18px;
}

.events-pages{
  width:100%;
}

.events-page{
  display:none;
}

.events-page.is-active{
  display:block;
}

.event-title{
  font-size:18px;
  font-weight:600;
  line-height:1.1;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.event-sub{
  font-size:14px;
  font-weight:400;
  opacity:.95;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.events-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding-top:10px;
}

.events-dots{
  display:flex;
  gap:8px;
  align-items:center;
}

.events-dot{
  width:8px;
  height:8px;
  border-radius:99px;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(0,0,0,.20);
  cursor:pointer;
}

.events-dot.is-active{
  background:rgba(0,0,0,.75);
}

.events-mini{
  width:22px;
  height:22px;
  border-radius:99px;
  border:1px solid rgba(0,0,0,.25);
  background:rgba(0,0,0,.05);
  color:#111;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}

.events-mini:hover{
  background:rgba(0,0,0,.10);
}

/* =========================
   PRODUCT LIST (DIV ROWS)
   ========================= */

.prodRows{
  width: min(var(--max), calc(100% - 32px));
  margin: 0 auto;
  padding: 10px 0 6px;
}

.prodRow{
  display:flex;
  align-items:flex-start;
  gap:0;
  margin: 20px 0;
}

.prodRow .sp25{
  width:25px;
  flex: 0 0 25px;
}

.prodLeftStack{
  width:200px;
  flex: 0 0 200px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.prodGap20{
  height:20px;
  flex: 0 0 20px;
}

.prodLocImg{
  width:200px;
  height:auto;
  display:block;
}

.prodLeftTile{
  width:200px;
  height:120px;
  position:relative;
  background-size:cover;
  background-position:center;
  flex:none;
  align-self:flex-start;
}

.prodRightTile{
  width: calc(100% - 350px);
  height:120px;
  flex: 1 1 auto;
  min-width:0;
  position:relative;
  background-size:cover;
  background-position:center;
}

.prodCatIcon{
  width:100px;
  height:100px;
  flex: 0 0 100px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.prodCatIcon img{
  height:100px;
  display:block;
}

.prodCorner{
  position:absolute;
  width:10px;
  height:10px;
  background-size:cover;
  background-position:center;
  z-index:5;
}

.prodTL{ left:0; top:0; background-image:url('/images/s-corner-top-left.png'); }
.prodTR{ right:0; top:0; background-image:url('/images/s-corner-top-right.png'); }
.prodBL{ left:0; bottom:0; background-image:url('/images/s-corner-bottom-left.png'); }
.prodBR{ right:0; bottom:0; background-image:url('/images/s-corner-bottom-right.png'); }

.prodLeftLabel{
  position:absolute;
  left:0;
  right:0;
  top:30px;
  height:60px;
  background-image:url('/images/GPT/s-GPT-transparent-orig.png');
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.prodLeftLabel,
.prodLeftLabel w36{
  font-size:36px;
  line-height:1;
}

.prodRightLabel{
  position:absolute;
  left:0;
  right:0;
  top:10px;
  bottom:10px;
  background-image:url('/images/GPT/s-GPT-transparent.png');
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
}

.prodRightPad{
  padding: 0 10px;
  width:100%;
}

.prodRightPad a{
  text-decoration:none;
}

@media (max-width: 1100px){
  .prodRightTile{ width:100%; flex: 1 1 auto; }
  .prodRows{ width: min(var(--max), calc(100% - 20px)); }
}

@media (max-width: 820px){
  .prodRow{
    flex-wrap:wrap;
    gap:10px;
    align-items:stretch;
  }

  .prodRow .sp25{ display:none; }

  /* Hide flag tile + category icon on mobile */
  .prodRow .prodLeftTile,
  .prodRow .prPCat,
  .prodRow .prGap20{
    display:none;
  }

  .prodLeftStack{
    width:100%;
    flex: 1 1 100%;
  }

  .prodLocImg{ width:100%; }

  .prodRightTile{
    width:100%;
    flex: 1 1 100%;
  }
}

@media (max-width: 520px){
  .prodLeftTile{ width:100%; }
  .prodCatIcon{
    width:100%;
    flex: 1 1 100%;
    justify-content:flex-start;
  }
}

.prod-title{
  font-size:30px;
  font-weight:500;
  line-height:1.05;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.prod-date{
  font-size:16px;
  opacity:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.prod-loc{
  font-size:20px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:1;
  line-height:1.2;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.prodSearchForm{
  display:flex;
  gap:8px;
  width:100%;
  align-items:center;
}
.prodSearchInput{
  flex:1;
  height:34px;
  padding:6px 12px;
  font-size:14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.20);
}
.prodSearchBtn{
  height:34px;
  padding:0 16px;
  font-size:14px;
  border-radius:999px;
  border:0;
  background:var(--bg-a1);
  color:var(--fg-b1);
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.prodSearchAlign{
  margin-left:350px;
  width: calc(100% - 350px);
  max-width:100%;
}

.prodYearRow{
  display:grid;
  grid-template-columns:200px 25px 100px 25px 1fr;
  align-items:center;
}

.prodYearLabel{
  grid-column:1 / span 4;
  font-size:15px;
  font-weight:600;
  color:#000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.prodYearSearch{
  grid-column:5;
  width:100%;
  max-width:100%;
}

@media (max-width: 820px){
  .prodSearchAlign{ margin-left:0; width:100%; }
  .prodYearRow{
    grid-template-columns:1fr;
    gap:10px;
  }
  .prodYearLabel{ grid-column:1; }
  .prodYearSearch{ grid-column:1; width:100%; }
}

/* =========================
   FOOTER
   ========================= */

.ftr-top{
  height:10px;
  background:var(--bg-a1);
}

.ftr-bot{
  height:80px;
  background:var(--bg-a1);
}

/* =========================
   Page-scoped (product.asp only)
   ========================= */
  .prPGrid{display:grid;grid-template-columns:200px 25px 100px 25px 1fr;align-items:start;}

  .prPLeftStack{grid-column:1;grid-row:1 / span 3;display:flex;flex-direction:column;align-items:stretch;}
  .prPLeftStack .prodLeftTile{flex:0 0 120px;}
  .prGap20{height:20px;flex:0 0 20px;}
  .prLocImg{width:200px;height:auto;display:block;}

  .prPCat{grid-column:3;grid-row:1;display:flex;justify-content:center;align-items:center;height:120px;}
  .prPRight{grid-column:5;grid-row:1;}

  .prPGrid .prodRightTile{width:100%;flex:1 1 auto;max-width:none;}
  .prSearchFull{margin-left:350px;width:calc(100% - 350px);max-width:none;}

  .prPaxBlock{grid-column:3 / span 3;grid-row:2;margin-top:20px;border-radius:14px;overflow:hidden;}
  .prPaxStrip{height:8px;background:var(--bg-a1);}
  .prPaxBarInner{background:#000;padding:16px 18px;}
  .prPaxBarGrid{display:grid;grid-template-columns:100px 25px 1fr auto;align-items:center;}
  .prPaxIconWrap{grid-column:1;display:flex;justify-content:center;align-items:center;}
  .prPaxIcon{width:44px;height:44px;object-fit:contain;}
  .prPaxQWrap{grid-column:3;color:#fff;min-width:0;}
  .prPaxQ{font-size:22px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .prReq{color:#ff2b2b;font-weight:900;padding-left:6px;}
  .prPaxSelectWrap{grid-column:4;background:#fff;border-radius:10px;padding:10px 12px;margin-left:16px;}
  .prPaxSelect{border:0;outline:none;background:transparent;font-size:18px;font-family:var(--font-main);min-width:120px;}

  .prBody{grid-column:5;grid-row:3;padding-top:27px;}
  .prFormRow{display:flex;align-items:center;gap:18px;margin:16px 0;}
  .prLbl{width:90px;text-align:right;font-size:22px;font-weight:600;color:#000;}
  .prInp{width:420px;max-width:calc(100% - 120px);height:38px;border-radius:6px;border:1px solid rgba(0,0,0,.35);padding:0 14px;font-size:14px;font-family:var(--font-main);}
  .prStar{color:#ff2b2b;font-weight:900;}
  .prReqNote{margin-left:auto;color:#ff2b2b;font-weight:700;white-space:nowrap;}

  .prErr{background:#ffecec;border:1px solid #ffb5b5;color:#a80000;border-radius:10px;padding:12px 14px;margin:0 0 14px 0;font-size:14px;}

  .prCenterUnder{width:528px;max-width:100%;margin:26px 0 10px 0;text-align:center;}
  .prCenterLine{margin:0;font-size:16px;color:#000;}

  .prBotTitle{text-align:center;margin:61px 0 12px;font-size:14px;color:#000;}
  .prBotRow{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:10px 0;}
  .prTsInline{display:flex;align-items:center;justify-content:flex-end;}
  .prTsInline .cf-turnstile{transform:scale(.86);transform-origin:right center;}
  .prNextBtn{background:#000;color:#fff;border:0;border-radius:10px;padding:16px 26px;font-size:28px;font-weight:700;cursor:pointer;min-width:150px;}

  .prodSearchForm{display:flex;gap:8px;width:100%;align-items:center;}
  .prodSearchInput{flex:1;height:34px;padding:6px 12px;font-size:14px;border-radius:999px;border:1px solid rgba(0,0,0,.20);}
  .prodSearchBtn{height:34px;padding:0 16px;font-size:14px;border-radius:999px;border:0;background:var(--bg-a1);color:var(--fg-b1);font-weight:900;cursor:pointer;white-space:nowrap;}

@media (max-width: 820px){
  .prSearchFull{margin-left:0;width:100%;}
  .prPGrid{grid-template-columns:1fr;gap:10px;}
  .prPLeftStack,.prPCat,.prPRight,.prPaxBlock,.prBody{grid-column:1;grid-row:auto;}

  /* Hide flag stack + category icon on mobile — keep hero only */
  .prPLeftStack,
  .prPCat{
    display:none;
  }

  .prLocImg{width:100%;}
  .prPCat{height:auto;justify-content:flex-start;}
  .prPaxBarGrid{grid-template-columns:60px 12px 1fr auto;}
  .prLbl{text-align:left;width:auto;}
  .prInp{width:100%;max-width:100%;}
  .prReqNote{margin-left:0;}
  .prCenterUnder{width:100%;}
  .prBotRow{justify-content:center;flex-wrap:wrap;}
  .prTsInline .cf-turnstile{transform:none;}
}
.confirm-status.failed {
    background: #f8d7da;
    color: #721c24;
}

.confirm-status.refunded {
    background: #e2e3e5;
    color: #383d41;
}

/* =========================================================
   MOBILE HEADER  (<= 820px)
   ---------------------------------------------------------
   - Row 2 becomes:  [☰]  ........  [Logo]
   - Social + phone hidden
   - Menu collapses; hamburger toggles .nav-grid.is-open
   - Mega dropdowns are hidden (category tap navigates)
   ========================================================= */
@media (max-width: 820px){

  /* Row 2 */
  .hdr-mid{ height:auto; }
  .hdr-mid-inner{
    height:auto;
    min-height:60px;
    padding:10px 0;
    flex-direction:row;           /* DOM order: ☰ on left, logo on right */
    justify-content:space-between;
    align-items:center;
    gap:12px;
  }
  .hdr-logo img{ height:44px; max-width:200px; }
  .hdr-logo-text{ font-size:18px; }

  /* Hide right cluster entirely */
  .hdr-right{ display:none; }

  /* Hamburger — visible only on mobile */
  .nav-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:0;
    border-radius:10px;
    background:rgba(255,255,255,.12);
    color:var(--fg-b2);
    font-size:22px;
    line-height:1;
    cursor:pointer;
    flex:0 0 auto;
  }
  .nav-toggle:hover{ background:rgba(255,255,255,.20); }

  /* Menu bar resets */
  .hdr-bot--menu{
    height:auto;
    display:block;
    padding:0;
  }
  .hdr-bot--menu .hdr-bot-inner{
    max-width:none;
    padding:0 16px 10px;
  }

  /* Collapsed by default */
  .nav-grid{
    display:none;
    grid-auto-flow:row;
    grid-auto-columns:auto;
    grid-template-columns:1fr;
    gap:0;
    height:auto;
    padding:0;
    width:100%;
  }
  .nav-grid.is-open{
    display:grid;
    margin-top:8px;
  }

  .nav-item{ width:100%; }

  .nav-link,
  .nav-link-bold{
    height:52px;
    font-size:22px;
    justify-content:flex-start;
    padding-left:6px;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  /* No hover dropdowns on mobile */
  .mega{ display:none !important; }
}
