/* Load after hero-campaign.css. Native date input is unchanged without JS/popover. */
.hero-search-row .gut-calendar-enhanced #departure-date[hidden],
.hero-search-row .gut-calendar-enhanced .search-date-placeholder { display:none!important; }
.hero-search-row .gut-calendar-trigger { appearance:none; display:block; flex:1; min-width:0; width:100%; min-height:48px; padding:6px 10px; border:0; border-radius:8px; background:transparent; color:var(--petrol-dark,#183c40); font:500 1rem/1.4 var(--sans, sans-serif); text-align:left; cursor:pointer; }
.gut-calendar { box-sizing:border-box; position:fixed; inset:auto; width:min(320px,calc(100vw - 16px)); max-width:none; max-height:min(420px,calc(100dvh - 16px)); margin:0; padding:10px; overflow:auto; overscroll-behavior:contain; border:1px solid #b9a57b; border-radius:15px; background:#fbf7ee; color:#183c40; box-shadow:0 10px 30px #102c3833; font-family:var(--sans, sans-serif); }
.gut-calendar::backdrop { background:transparent; pointer-events:none; }
.gut-calendar button { box-sizing:border-box; appearance:none; min-height:40px; min-width:40px; padding:0; border:0; border-radius:50%; color:inherit; background:transparent; font:500 .92rem/1 var(--sans,sans-serif); cursor:pointer; touch-action:manipulation; }
.gut-calendar button:disabled { color:#827e73; cursor:default; }
.gut-calendar button:not(:disabled):hover { background:#e8e3d6; }
.gut-calendar button:focus-visible,.hero-search-row .gut-calendar-trigger:focus-visible { outline:3px solid #8e3444; outline-offset:2px; }
.gut-calendar-top { display:flex; align-items:center; gap:8px; justify-content:space-between; }
.gut-calendar h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.gut-calendar .gut-calendar-close { position:absolute; right:7px; top:10px; font-size:1.45rem; }
.gut-calendar-nav { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; margin:0 34px 2px 0; }
.gut-calendar h3 { margin:0; text-align:center; color:#183c40; font:600 .92rem/1.2 var(--sans,sans-serif); }
.gut-calendar-nav button { font-size:1.8rem; }
.gut-calendar table { width:100%; table-layout:fixed; border-collapse:collapse; border:0; margin:0; }
.gut-calendar th { padding:5px 0; border:0; color:#526267; font-size:.75rem; font-weight:600; text-align:center; }
.gut-calendar td { padding:0; height:40px; border:0; text-align:center; }
.gut-calendar td button { width:100%; max-width:40px; }
.gut-calendar td button[aria-current="date"] { box-shadow:inset 0 0 0 1.5px #8e3444; }
.gut-calendar td[aria-selected="true"] button,.gut-calendar td[aria-selected="true"] button:not(:disabled):hover { background:#183c40; color:#fffaf0; }
.gut-calendar-footer { display:flex; justify-content:space-between; gap:12px; border-top:1px solid #d8cdb9; margin-top:5px; padding-top:3px; }
.gut-calendar-footer button { padding:0 12px; border-radius:9px; color:#823443; font-size:.83rem; }
.gut-calendar #gut-calendar-help { margin:4px 0 0; color:#526267; font:.70rem/1.35 var(--sans,sans-serif); }
.gut-calendar-keys { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:360px) { .gut-calendar { width:min(300px,calc(100vw - 16px)); padding:8px; border-radius:14px; } }
@media(prefers-reduced-motion:reduce) { .gut-calendar,.gut-calendar * { scroll-behavior:auto; } }

.gut-calendar h3::first-letter { text-transform:uppercase; }
