/* =====================================================================
   gmw-fixes.css · Goin' My Way Maldives landing page · 10 Oct 2026
   Loaded AFTER css/style.css on every page (index.html + includes/header.php).
   Each block is labelled with its ticket (R-x). Remove a block to undo it.
   ===================================================================== */

/* ---------------------------------------------------------------------
   R-7 · Hero readability + GET QUOTE clear of the thumbnails
   --------------------------------------------------------------------- */
#privilegeSection .privilege-slider-shade{
  background:
    linear-gradient(90deg,rgba(2,8,23,.92) 0%,rgba(2,8,23,.82) 30%,rgba(2,8,23,.55) 55%,rgba(2,8,23,.25) 78%,rgba(2,8,23,.35) 100%),
    linear-gradient(180deg,rgba(2,8,23,.25) 0%,rgba(2,8,23,.12) 50%,rgba(2,8,23,.65) 100%);
}

/* 2. Soft shadow under all hero text (invisible on dark areas, rescues bright ones) */
#privilegeSection .privilege-slider-copy{
  text-shadow:0 1px 14px rgba(2,8,23,.55);
}

/* 3. Outline line of the title ("STAYS", "AMINGIRI") was 6% fill / 44% stroke */
#privilegeSection .privilege-title-outline{
  color:rgba(255,255,255,.12);
  -webkit-text-stroke:1.5px rgba(255,255,255,.78);
}

/* 4. Minimum readable sizes and contrast for the small labels */
#privilegeSection .privilege-kicker{font-size:11px}
#privilegeSection .privilege-kicker strong{color:#e6edf8}
#privilegeSection .privilege-slider-detail p{color:rgba(255,255,255,.9)}
#privilegeSection .privilege-fact span{font-size:11px;color:#cdd8ea;letter-spacing:.1em}
#privilegeSection .privilege-fact small{font-size:11px;color:rgba(255,255,255,.8);letter-spacing:.06em}

/* 5. Slide change: hide the old text completely BEFORE the new text is
      written in (main.js swaps the text at 430 ms; the old fade took 620 ms,
      so half-faded old text sat on top of the changing photo). */
#privilegeSection .privilege-slider-copy.is-copy-out>*{
  transition:transform .3s ease,opacity .26s ease !important;
  transition-delay:0s !important;
}

/* 6. Tablet */
@media (max-width:900px){
  #privilegeSection .privilege-slider-shade{
    background:linear-gradient(180deg,rgba(2,8,23,.55) 0%,rgba(2,8,23,.62) 50%,rgba(2,8,23,.86) 100%);
  }
}

/* 7. Phone (was 8 px kicker, 8–9 px labels, 11 px paragraph) */
@media (max-width:600px){
  #privilegeSection .privilege-slider-shade{
    background:linear-gradient(180deg,rgba(2,8,23,.62) 0%,rgba(2,8,23,.70) 50%,rgba(2,8,23,.90) 100%);
  }
  #privilegeSection .privilege-kicker{font-size:11px;letter-spacing:.16em}
  #privilegeSection .privilege-title-outline{-webkit-text-stroke:1.2px rgba(255,255,255,.8)}
  #privilegeSection .privilege-slider-detail p{font-size:13px;line-height:1.5}
  #privilegeSection .privilege-fact strong{font-size:15px}
  #privilegeSection .privilege-fact span,
  #privilegeSection .privilege-fact small{font-size:11px}
}

/* 8. Hero height: keep the GET QUOTE button clear of the resort thumbnails.
      Tested: before this, the button overlapped the thumbnails by ~22 px on
      tablet (768 px) and by ~15 px on small phones (320 px). */
@media (min-width:601px) and (max-width:900px){
  #privilegeSection.privilege-slider{height:790px}
}
@media (max-width:600px){
  #privilegeSection.privilege-slider{height:730px}
}
@media (max-width:360px){
  #privilegeSection.privilege-slider{height:770px}
}

/* 9. Visitors who turn off animations get an instant, clean swap */
@media (prefers-reduced-motion:reduce){
  #privilegeSection .privilege-slider-copy>*{transition:none !important}
}


/* ---------------------------------------------------------------------
   R-1 · Budget per person + estimated total (enquiry form)
   --------------------------------------------------------------------- */
.pd-field[hidden]{display:none!important}
.pd-budget-note{margin:8px 0 0;color:#4d5a6a;font:400 12px/1.5 var(--sans)}
.pd-budget-note.is-warning{color:#9a5b12}
.pd-total-readonly{background:#eeeff2!important;color:#3d4756!important;cursor:not-allowed;font-weight:600!important}
.pd-total-confirm{display:flex;gap:10px;align-items:flex-start;margin-top:12px;cursor:pointer;color:#24272a;font:500 13px/1.45 var(--sans)}
.pd-total-confirm input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#214b88}
#pdBudgetTotalLabel{margin-bottom:8px}

/* ---------------------------------------------------------------------
   R-6 · Minimum readable text sizes (11 px floor, 12–13 px for body copy)
   --------------------------------------------------------------------- */
.resort-card .location,
.resort-card .tags span,
.resort-card .meal-tags span,
.resort-card .resort-price small,
.resort-card .stars,
.resort-card .quote-button,
.portfolio-head>span,
.filters label em,
.filter-group h4,
.pd-label{font-size:11px!important}
.resort-body>p:not(.location){font-size:13px}
#privilegeSection .privilege-quote-button{font-size:11px!important}
#benefitSection .benefit-item strong,#benefitSection .benefit-item small{font-size:11px}
.portfolio-head p{font-size:12px}
@media (max-width:600px){
  .site-header .header-cta,.site-header .currency-select{font-size:11px!important}
  .footer-legal-links a{font-size:11px!important;display:inline-flex;align-items:center;min-height:40px}
}

@media (max-width:360px){
  .site-header .header-cta{padding:0 10px!important;letter-spacing:.02em!important}
}

/* ---------------------------------------------------------------------
   R-8 · Benefits strip: static grid at every width (no clipped marquee)
   --------------------------------------------------------------------- */
@media (max-width:900px){
  #benefitSection .benefit-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 14px!important;transform:none!important;animation:none!important;width:auto!important;overflow:visible!important}
  #benefitSection .benefit-item{min-width:0!important;width:auto!important;gap:10px!important;align-items:flex-start!important}
  #benefitSection .benefit-item strong{font-size:11px!important;line-height:1.3;white-space:normal!important;overflow-wrap:anywhere}
  #benefitSection .benefit-item small{font-size:11px!important;line-height:1.35;white-space:normal!important;overflow-wrap:anywhere}
  #benefitSection .benefit-icon{flex:0 0 34px!important;width:34px!important;height:34px!important}
}

/* ---------------------------------------------------------------------
   R-9 / R-18 · Filters button under the heading, beside the search box
   --------------------------------------------------------------------- */
.portfolio-tools{display:flex;gap:10px;align-items:stretch;margin:-2px 0 24px}
.portfolio-tools .portfolio-search{flex:1 1 auto;min-width:0;margin:0!important}
.portfolio-tools .portfolio-filter-toggle{flex:0 0 auto;align-self:stretch!important;min-height:46px}
.portfolio-filter-toggle.has-active{border-color:#214b88!important;color:#214b88!important}

/* ---------------------------------------------------------------------
   R-11 · Comfortable tap targets (footer links, socials, filter rows)
   --------------------------------------------------------------------- */
@media (max-width:900px){
  #siteFooter .footer-column>a{display:flex;align-items:center;min-height:40px}
  #siteFooter .socials{display:flex;gap:8px}
  #siteFooter .socials a{width:44px!important;height:44px!important;display:inline-flex;align-items:center;justify-content:center}
  .filters label{min-height:40px;display:flex;align-items:center;gap:8px}
}

/* ---------------------------------------------------------------------
   R-14 · One side gutter per breakpoint
   --------------------------------------------------------------------- */
@media (max-width:600px){
  .header-inner,.privilege-slider-inner{padding-left:16px!important;padding-right:16px!important}
  .page-shell{padding-left:16px!important;padding-right:16px!important}
  .planning-section{margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important}
  .footer-inner{padding-left:16px!important;padding-right:16px!important}
  .privilege-slider-side{left:16px!important}
  .privilege-slider-arrows{right:16px!important}
}
@media (min-width:601px) and (max-width:900px){
  .header-inner,.privilege-slider-inner{padding-left:24px!important;padding-right:24px!important}
  .page-shell{padding-left:24px!important;padding-right:24px!important}
  .planning-section{margin-left:-24px!important;margin-right:-24px!important;padding-left:24px!important;padding-right:24px!important}
  .footer-inner{padding-left:24px!important;padding-right:24px!important}
}
/* ===================== end gmw-fixes ===================== */

/* Public catalogue: never expose outdated CMS resort tiles while Admin feed loads. */
.gmw-catalog-state { grid-column: 1 / -1; width:100%; padding: 2.25rem 1.2rem; text-align:center; line-height:1.65; color:#3f5160; background:#f4f7f7; border:1px solid #dfe8e8; border-radius:12px; }
.portfolio-filter-toggle:disabled { opacity:.48; cursor:not-allowed; }

/* Final Fix 2026-10-11: prevent plan drawer field intrinsic-width overflow on phones. */
@media (max-width:767px){
  #planDrawer,#planDrawer .pd-panel,#planDrawer .pd-scroll,#planDrawer .pd-form,
  #planDrawer .pd-field,#planDrawer .pd-grid-three,#planDrawer .pd-phone-row{box-sizing:border-box;min-width:0;max-width:100%}
  #planDrawer .pd-panel{width:100%;max-width:100vw}
  #planDrawer .pd-scroll{padding-right:16px!important;padding-left:16px!important}
  #planDrawer .pd-form input:not([type=radio]):not([type=checkbox]),
  #planDrawer .pd-form select,#planDrawer .pd-form textarea{box-sizing:border-box;min-width:0;max-width:100%}
  #planDrawer .pd-form .pd-grid-three{grid-template-columns:minmax(0,1fr)}
  #planDrawer .pd-form .pd-phone-row{grid-template-columns:100px minmax(0,1fr)}
  #planDrawer .pd-form label,#planDrawer .pd-form .pd-help,
  #planDrawer .pd-form .pd-children-notice,#planDrawer .pd-form .pd-budget-note{white-space:normal;overflow-wrap:anywhere}
  #planDrawer .pd-party-rule-warning{color:#9d2a20;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
}
#planDrawer .pd-party-rule-warning{color:#9d2a20;font-size:12px;line-height:1.5;margin:8px 0 0}

/* R-18: verified resort-card badges (12 Oct 2026). Shown only where GMW has
   verified the feature for that resort; these replaced sidebar checkboxes that
   sat on one or two resorts each. */
.resort-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.resort-badges .resort-badge{display:inline-flex;align-items:center;
  padding:3px 9px;border:1px solid rgba(138,90,0,.35);border-radius:999px;
  background:rgba(138,90,0,.07);color:#8a5a00;
  font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  line-height:1.5;white-space:nowrap}
@media (max-width:640px){
  .resort-badges{gap:5px}
  .resort-badges .resort-badge{font-size:10px;padding:2px 8px}
}

/* R-19: children's age bands on the Get Quote drawer (ships disabled). */
.pd-child-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pd-child-bands .pd-band{display:flex;flex-direction:column;gap:4px;min-width:0}
.pd-child-bands .pd-band>span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:#5c5953;line-height:1.4}
.pd-child-bands .pd-band>input{width:100%;text-align:center;font-variant-numeric:tabular-nums}
@media (max-width:420px){
  .pd-child-bands{grid-template-columns:1fr;gap:8px}
  .pd-child-bands .pd-band{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
  .pd-child-bands .pd-band>input{width:88px}
}

/* R-20: bot trap. Removed from the layout and from the accessibility tree, and
   never announced, so no real visitor can reach or fill it. Not display:none —
   some bots skip hidden inputs, and this one is meant to be filled. */
.pd-hp{position:absolute!important;left:-9999px!important;top:auto!important;
  width:1px!important;height:1px!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* F-5: Sort by */
.portfolio-tools{flex-wrap:wrap}
.portfolio-tools .portfolio-search{flex:1 1 240px}
.portfolio-sort{flex:0 0 auto;display:flex;margin:0;min-width:0}
.portfolio-sort-select{height:48px;min-height:48px;padding:0 34px 0 14px;border:1px solid #dedbd3;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%231a2b43'/%3E%3C/svg%3E") no-repeat right 13px center;-webkit-appearance:none;appearance:none;color:#1a2b43;font:600 12px/1 var(--sans,sans-serif);letter-spacing:.04em;border-radius:0;cursor:pointer}
.portfolio-sort-select:focus-visible{outline:2px solid #2a4b93;outline-offset:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:900px){
  .portfolio-tools .portfolio-filter-toggle{order:1}
  .portfolio-sort{order:2;flex:1 1 0}
  .portfolio-sort-select{width:100%}
  .portfolio-tools .portfolio-search{order:3;flex:1 1 100%}
}

/* F-3: Editorial Picks empty state */
.editorial-empty{display:grid;justify-items:center;gap:10px;font-size:14px;line-height:1.6;color:#4a4a4a;letter-spacing:0}
.editorial-empty strong{font-size:15px;color:#17233c;letter-spacing:.02em}
.editorial-empty .plan-drawer-trigger{margin-top:6px;min-height:44px}

/* F-2: cookie bar must never cover the filter panel or the quote form. */
.gmw-cookie-notice{z-index:880!important}
body.plan-drawer-open .gmw-cookie-notice{visibility:hidden}

/* R-23: transfer shown on the resort card, from the package's own recorded
   type. Styled like the meal tags so the card reads as one row of facts. */
.transfer-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.transfer-tags span{display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;letter-spacing:.03em;color:#4a4a4a;line-height:1.5}
.transfer-tags i{font-size:11px;color:#8a5a00}


/* 17 Oct: stable quote drawer contrast and visible controls after stylesheet merge.
   Scoped to #planDrawer, no layout or functionality changes. */
#planDrawer .pd-panel,#planDrawer .pd-scroll{background-color:#fbfaf7;color:#1c2934}
#planDrawer .pd-title{color:#162a37}
#planDrawer .pd-label{color:#252e35}
#planDrawer .pd-form .pd-input{background-color:#fff;color:#202d36;border-color:#cfcac2}
#planDrawer .pd-form .pd-input:focus-visible{border-color:#214b88;outline:2px solid rgba(33,75,136,.25);outline-offset:1px}
#planDrawer .pd-tags button{background-color:#fff;color:#344451;border-color:#d3cdc2}
#planDrawer .pd-tags button.is-active{background-color:#2a4b93;color:#fff;border-color:#2a4b93}


/* 17 Oct 2026 · PORTFOLIO GRID / FILTER PANEL CORRECTION
   The invisible backdrop button precedes .filters in .portfolio-layout.
   Without display:none it occupies grid cell 1 and displaces .filters to
   cell 2 and the cards into narrow cell 1 on the next row. Explicit grid
   placement prevents this regression on desktop and mobile. */
#portfolio .portfolio-layout > .gmw-filter-backdrop{display:none;}
#portfolio .portfolio-layout > .filters{
  grid-column:1;
  grid-row:1;
  min-width:0;
  width:100%;
}
#portfolio .portfolio-layout > .portfolio-main{
  grid-column:2;
  grid-row:1;
  min-width:0;
  width:100%;
}
#portfolio .resort-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
#portfolio .resort-card{min-width:0;overflow:hidden;}
#portfolio .resort-card h3{overflow-wrap:break-word;}
/* On desktop the sidebar is already visible: there is no separate sheet to open. */
@media (min-width:901px){
  #portfolio .portfolio-filter-toggle{display:none;}
  #portfolio .filters .gmw-filter-sheet-head,
  #portfolio .filters .gmw-filter-apply{display:none;}
}
@media (min-width:901px) and (max-width:1180px){
  #portfolio .resort-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* Under 901px, keep cards full width and make the filters a proper
   accessible off-canvas sheet opened by the existing JS button. */
@media (max-width:900px){
  #portfolio .portfolio-layout{grid-template-columns:minmax(0,1fr);gap:0;}
  #portfolio .portfolio-layout > .portfolio-main{
    grid-column:1;
    grid-row:1;
  }
  #portfolio .portfolio-layout > .filters{
    display:none;
    position:fixed;
    z-index:111;
    top:0;
    bottom:0;
    left:0;
    right:auto;
    width:min(390px,calc(100vw - 36px));
    max-width:390px;
    max-height:100dvh;
    padding:20px 18px;
    margin:0;
    border:0;
    box-shadow:15px 0 45px rgba(2,8,23,.22);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    grid-template-columns:minmax(0,1fr);
  }
  #portfolio .portfolio-layout > .filters.is-open{display:block;}
  #portfolio .portfolio-layout > .gmw-filter-backdrop.is-open{
    display:block;
    position:fixed;
    inset:0;
    z-index:110;
    width:100%;
    height:100%;
    padding:0;
    background:rgba(2,8,23,.55);
    border:0;
    cursor:pointer;
  }
  body.gmw-filter-open{overflow:hidden;}
  #portfolio .filters .gmw-filter-sheet-head{
    position:sticky;
    top:-20px;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 0;
    margin:-14px 0 15px;
    background:#fff;
    border-bottom:1px solid #e6e2d9;
    color:#214b88;
    font-size:13px;
    letter-spacing:.07em;
  }
  #portfolio .filters .gmw-filter-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0;
    background:#fff;
    border:1px solid #e6e2d9;
    color:#1c2c3a;
    font-size:28px;
    cursor:pointer;
  }
  #portfolio .filters .filter-group{display:block;min-width:0;margin:0 0 14px;padding:0 0 14px;border:0;border-bottom:1px solid #e6e2d9;}
  #portfolio .filters .filter-group label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;margin:0;font-size:13px;}
  #portfolio .filters .filter-group label span{min-width:0;overflow-wrap:break-word;}
  #portfolio .filters .gmw-filter-apply{
    display:block;
    position:sticky;
    bottom:-20px;
    width:calc(100% + 36px);
    margin:14px -18px -20px;
    padding:17px 12px;
    border:0;
    background:#214b88;
    color:#fff;
    font:700 12px/1.3 var(--sans);
    letter-spacing:.06em;
    cursor:pointer;
  }
  #portfolio .resort-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px){
  #portfolio .resort-grid{grid-template-columns:minmax(0,1fr);}
}

/* 17 Oct 2026 · CMS EDITOR LOGIN DIALOG
   main.js appends .gmw-cms-auth directly to <body>. Prior stylesheets
   provided no CSS for this dialog, leaving it unstyled below the footer.
   The rules below are intentionally scoped to the authentication dialog.
   No JS, API, authentication or other website UI is changed. */
.gmw-cms-auth {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(2, 8, 23, .76);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
}
.gmw-cms-auth,
.gmw-cms-auth * { box-sizing: border-box; }
.gmw-cms-auth[hidden] { display: none !important; }
.gmw-cms-auth .gmw-cms-auth-card {
  width: min(100%, 440px);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  margin: auto;
  padding: 34px 34px 30px;
  background: #fff;
  color: #17273b;
  border: 1px solid #e1e5eb;
  border-top: 4px solid #c4a263;
  border-radius: 9px;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .38);
  font-family: var(--sans, Montserrat, Arial, sans-serif);
  text-align: left;
}
.gmw-cms-auth .gmw-cms-auth-card h2 {
  margin: 0 0 10px;
  padding: 0;
  color: #182b48;
  font: 700 22px/1.3 var(--sans, Montserrat, Arial, sans-serif);
  letter-spacing: -.025em;
}
.gmw-cms-auth .gmw-cms-auth-card > p:not(.gmw-cms-auth-error) {
  margin: 0 0 24px;
  color: #546175;
  font-size: 13px;
  line-height: 1.65;
}
.gmw-cms-auth .gmw-cms-auth-card > label {
  display: block;
  margin: 0;
  color: #263a51;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}
.gmw-cms-auth .gmw-cms-auth-card input[type="password"] {
  display: block;
  width: 100%;
  min-width: 0;
  height: 46px;
  margin: 8px 0 0;
  padding: 10px 13px;
  border: 1px solid #c4cfdd;
  border-radius: 5px;
  background: #fff;
  color: #17273b;
  font: 500 14px/1.4 var(--sans, Montserrat, Arial, sans-serif);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.gmw-cms-auth .gmw-cms-auth-card input[type="password"]:focus-visible {
  border-color: #304b91;
  box-shadow: 0 0 0 3px rgba(48,75,145,.15);
}
.gmw-cms-auth .gmw-cms-auth-error {
  margin: 12px 0 0;
  color: #a02c32;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.gmw-cms-auth .gmw-cms-auth-error:empty { display: none; }
.gmw-cms-auth .gmw-cms-auth-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 26px 0 0;
}
.gmw-cms-auth .gmw-cms-auth-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 19px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 4px;
  font: 700 11px/1.2 var(--sans, Montserrat, Arial, sans-serif);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}
.gmw-cms-auth .gmw-cms-auth-cancel {
  background: #fff;
  border-color: #cdd5df !important;
  color: #30415b;
}
.gmw-cms-auth .gmw-cms-auth-cancel:hover { background: #f4f6f9; }
.gmw-cms-auth .gmw-cms-auth-submit {
  background: #304b91;
  color: #fff;
}
.gmw-cms-auth .gmw-cms-auth-submit:hover { background: #243b75; }
.gmw-cms-auth .gmw-cms-auth-actions button:focus-visible {
  outline: 3px solid rgba(48, 75, 145, .32);
  outline-offset: 2px;
}
.gmw-cms-auth .gmw-cms-auth-actions button:disabled {
  opacity: .58;
  cursor: wait;
}
@media (max-width: 520px) {
  .gmw-cms-auth { padding: 16px; }
  .gmw-cms-auth .gmw-cms-auth-card {
    max-height: calc(100dvh - 32px);
    padding: 28px 22px 24px;
  }
  .gmw-cms-auth .gmw-cms-auth-card h2 { font-size: 20px; }
  .gmw-cms-auth .gmw-cms-auth-actions button { flex: 1 1 auto; }
}


/* ---------------------------------------------------------------------
   17 Oct 2026 - Header Plan Your Trip mirrors the INR currency selector.
   Both the HTML button (landing page) and PHP header link use this class.
   Keep the blue header visible through the transparent background; no
   white/default native button fill. No effect on the drawer interaction.
   --------------------------------------------------------------------- */
.site-header .header-actions .header-cta,
.site-header .header-actions .header-cta:hover,
.site-header .header-actions .header-cta:active {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.92) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--sans, Montserrat, Arial, sans-serif);
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  opacity: 1;
  cursor: pointer;
}
.site-header .header-actions .header-cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
