:root {--ink:#111111;--sun:#ffc800;--paper:#ffffff;--cream:#faf6ee;--muted:#555555;--line:#e8e2d6;--radius:12px;--maxw:1080px;--maxw-bar:1160px;--vbar-overlap:74px;--sun-ink:#8a5f00} * {box-sizing:border-box} html {overflow-x:clip} body {margin:0;font-family:"Inter","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55} h1,h2,h3 {font-weight:800;letter-spacing:-0.02em;line-height:1.15;margin:0 0 0.5rem} h1 {font-size:clamp(1.9rem,4.5vw,3rem)} h2 {font-size:clamp(1.3rem,3vw,1.8rem)} h1,h2 {text-wrap:balance} a {color:inherit;transition:filter 200ms ease,background-color 200ms ease,color 200ms ease} a,button,select,summary {touch-action:manipulation} img {max-width:100%;display:block} .visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0} a:focus-visible,.btn:focus-visible,summary:focus-visible {outline:3px solid var(--sun);outline-offset:2px} .skip-link {position:absolute;left:-9999px;top:0;z-index:1000;background:var(--sun);color:var(--ink);font-weight:700;padding:0.7rem 1.1rem;border-radius:0 0 var(--radius) 0;text-decoration:none} .skip-link:focus {left:0} @media (prefers-reduced-motion:reduce) {* {transition-duration:0.01ms !important}} .site-header {display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);padding:0.9rem clamp(1rem,4vw,2.5rem)} .brand {font-weight:800;text-decoration:none;letter-spacing:0.02em} .brand-dot {color:var(--sun)} .site-nav a {display:inline-block;color:var(--paper);text-decoration:none;margin-left:1.25rem;padding:0.6rem 0;font-size:0.95rem;font-weight:600} .nav-dropdown {position:relative;display:inline-block;margin-left:1.25rem} .nav-dropdown-trigger {display:inline-flex;align-items:center;gap:0.35rem;padding:0.6rem 0;font-size:0.95rem;font-weight:600;cursor:pointer;list-style:none} .nav-dropdown-trigger::-webkit-details-marker {display:none} .nav-dropdown-chevron {transition:transform 0.15s ease} .nav-dropdown[open] .nav-dropdown-chevron {transform:rotate(180deg)} .nav-dropdown-panel {position:absolute;right:0;top:calc(100% + 0.4rem);z-index:50;min-width:21rem;max-width:calc(100vw - 2rem);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px rgba(17,17,17,0.18);padding:0.5rem} .site-nav .nav-dropdown-item {display:flex;align-items:center;gap:0.75rem;margin-left:0;padding:0.55rem 0.65rem;border-radius:8px;color:var(--ink);font-size:0.95rem;font-weight:400} .site-nav .nav-dropdown-item:hover {background:var(--cream)} .nav-dropdown-icon {flex:none;display:inline-flex} .nav-dropdown-icon svg {width:26px;height:26px} .nav-dropdown-text {display:flex;flex-direction:column;line-height:1.3} .nav-dropdown-tagline {font-size:0.8rem;color:var(--muted)} @media (max-width:820px) {.site-header {align-items:flex-start;flex-direction:column;gap:0.2rem} .site-nav {display:flex;flex-wrap:wrap;gap:0 1rem} .site-nav a {margin-left:0;font-size:0.88rem} .nav-dropdown {margin-left:0} .nav-dropdown-trigger {font-size:0.88rem} .nav-dropdown-panel {left:0;right:auto}} .currency-switch {display:none;margin-left:1.25rem} .currency-switch.is-ready {display:inline-block} .currency-dropdown-panel {min-width:9rem;overflow:hidden} .currency-dropdown-scroll {max-height:min(28rem,calc(100vh - 7rem));overflow-y:auto;overscroll-behavior:contain;padding-right:0.25rem;scrollbar-gutter:stable} .site-nav .currency-dropdown-item {width:100%;justify-content:space-between;border:0;background:transparent;cursor:pointer;font-family:inherit;text-align:left} .site-nav .currency-dropdown-item.is-current {background:var(--cream)} .currency-dropdown-code {font-weight:700} .currency-dropdown-check {color:var(--sun-ink);opacity:0} .currency-dropdown-item.is-current .currency-dropdown-check {opacity:1} .currency-dropdown-item:focus-visible {outline:3px solid var(--sun);outline-offset:-2px} @media (max-width:820px) {.currency-switch {margin-left:0} .currency-dropdown-trigger {font-size:0.88rem}} main {max-width:var(--maxw);margin:0 auto;padding:0 1rem 3rem} .band {padding:2.2rem 0 0.5rem} .band:nth-of-type(even) {background:transparent} .breadcrumbs {font-size:0.85rem;color:var(--muted);padding:1.1rem 0 0.4rem} .breadcrumbs a {color:var(--muted);text-decoration:none} .breadcrumbs a:hover {text-decoration:underline} .crumb-sep {margin:0 0.45rem} .crumb-current {color:var(--ink);font-weight:600} .card-grid {display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:1.1rem 0} .photo-card {position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:var(--paper);text-decoration:none;min-height:200px} .photo-card img,.photo-card-placeholder {width:100%;height:200px;object-fit:cover;opacity:0.85} .photo-card img {transition:filter 200ms ease,background-color 200ms ease,color 200ms ease,opacity 200ms ease} .photo-card:hover img {opacity:1} .photo-card-placeholder {background:linear-gradient(160deg,#2a2a2a,#4b4b4b)} .photo-card-text {position:absolute;inset:auto 0 0 0;padding:0.9rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,0.75))} .photo-card h3 {font-size:1.15rem;margin:0} .photo-card p {margin:0.15rem 0 0;font-size:0.8rem;opacity:0.9} @media (max-width:820px) {.category-section .photo-card,.category-section .photo-card img,.category-section .photo-card-placeholder {min-height:320px} .category-section .photo-card img {height:320px}} .road-sign-card {--sign-face:#242424;--sign-face-deep:#111111;--sign-border:#ffffff;--sign-text:#ffffff;--sign-accent:var(--sun);--sign-accent-text:var(--ink);position:relative;isolation:isolate;display:flex;align-items:center;min-height:80px;padding:0.75rem 7.6rem 0.75rem 1.2rem;color:var(--sign-text);text-decoration:none;filter:drop-shadow(0 5px 8px rgba(17,17,17,0.16));transition:filter 200ms ease,transform 200ms ease} .road-sign-card::before,.road-sign-card::after {content:"";position:absolute;clip-path:polygon(0 0,calc(100% - 32px) 0,100% 50%,calc(100% - 32px) 100%,0 100%)} .road-sign-card::before {z-index:-2;inset:0;background:var(--sign-border)} .road-sign-card::after {z-index:-1;inset:4px 5px 4px 4px;background:linear-gradient(120deg,rgba(255,255,255,0.08),transparent 36%),linear-gradient(165deg,var(--sign-face),var(--sign-face-deep))} .road-sign-card:hover {color:var(--sign-text);filter:brightness(1.06) drop-shadow(0 11px 16px rgba(17,17,17,0.22));transform:translateY(-2px)} .road-sign-card-title {position:relative;z-index:1;margin:0;font-size:clamp(1rem,0.35vw + 0.9rem,1.12rem);line-height:1.12;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 1px 2px rgba(0,0,0,0.3)} .road-sign-card-country {position:absolute;z-index:1;right:4.15rem;top:50%;display:grid;place-items:center;width:2rem;height:2.45rem;padding-bottom:0.18rem;transform:translateY(-50%);clip-path:polygon(8% 0,92% 0,100% 58%,82% 82%,50% 100%,18% 82%,0 58%);background:var(--sign-accent);color:var(--sign-accent-text);border:0;font-size:0.58rem;font-weight:900;letter-spacing:0.04em;text-shadow:none} .road-sign-card-chevron {position:absolute;z-index:1;right:0.7rem;top:50%;width:2.8rem;height:2.9rem;transform:translateY(-50%);background:var(--sign-text);clip-path:polygon(0 0,40% 0,100% 50%,40% 100%,0 100%,58% 50%)} .road-sign-card--nz {--sign-face:#00685b;--sign-face-deep:#004f46;--sign-accent:#d52b32;--sign-accent-text:#ffffff} .road-sign-card--au {--sign-face:#146b3a;--sign-face-deep:#07502a;--sign-accent:#f5c400} .road-sign-card--gb {--sign-face:#08783e;--sign-face-deep:#005a30;--sign-accent:#f5c400} .road-sign-card--us {--sign-face:#17623b;--sign-face-deep:#0a472a;--sign-accent:#ffffff;--sign-accent-text:#174c34} .road-sign-card--ca {--sign-face:#08715b;--sign-face-deep:#005340;--sign-accent:#d8292f;--sign-accent-text:#ffffff} .road-sign-card--jp {--sign-face:#0874b9;--sign-face-deep:#00558f;--sign-accent:#ffffff;--sign-accent-text:#b5202e} .road-sign-card--fr {--sign-face:#145ea8;--sign-face-deep:#06437e;--sign-accent:#e12b38;--sign-accent-text:#ffffff} .road-sign-card--de {--sign-face:#176ab0;--sign-face-deep:#08518c;--sign-accent:#f4c430} .road-sign-card--it {--sign-face:#087445;--sign-face-deep:#005631;--sign-accent:#ce2b37;--sign-accent-text:#ffffff} .road-sign-card--es {--sign-face:#155c99;--sign-face-deep:#064474;--sign-accent:#f4c430} .road-sign-card--nl {--sign-face:#1769aa;--sign-face-deep:#084f85;--sign-accent:#f58220} .road-sign-card--be {--sign-face:#1769aa;--sign-face-deep:#084f85;--sign-accent:#f3c300} .road-sign-card--ch {--sign-face:#14764e;--sign-face-deep:#07563a;--sign-accent:#d52b32;--sign-accent-text:#ffffff} .road-sign-card--at {--sign-face:#1769aa;--sign-face-deep:#084f85;--sign-accent:#d52b32;--sign-accent-text:#ffffff} .road-sign-card--br {--sign-face:#087544;--sign-face-deep:#00562f;--sign-accent:#ffcb05} .road-sign-card--in {--sign-face:#176b48;--sign-face-deep:#075037;--sign-accent:#f58220} .road-sign-card--za {--sign-face:#087257;--sign-face-deep:#005440;--sign-accent:#ffb81c} @media (max-width:520px) {.road-sign-card {padding-left:1rem;padding-right:7.2rem} .road-sign-card-country {right:3.9rem} .road-sign-card-chevron {right:0.6rem}} .partner-offer-grid,.guide-grid {display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1rem 0} .partner-offer-card,.guide-card {border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);padding:1.1rem} .partner-offer-card>img {width:calc(100% + 2.2rem);height:150px;object-fit:cover;margin:-1.1rem -1.1rem 1rem} .partner-offer-type {margin:0 0 0.35rem;color:var(--muted);font-size:0.78rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase} .partner-disclosure,[class$="-byline"] {color:var(--muted);font-size:0.82rem} .partner-widget-section {scroll-margin-top:1rem} .partner-widget-list {display:grid;gap:1rem;margin:1rem 0} .partner-widget-card {overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)} .partner-widget-header {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line)} .partner-widget-header h3 {margin-bottom:0.3rem;font-size:1.2rem} .partner-widget-header p {margin:0;color:var(--muted)} .partner-widget-provider {margin-bottom:0.2rem !important;color:var(--ink) !important;font-size:0.76rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase} .partner-widget-badge {flex:0 0 auto;border-radius:999px;background:var(--cream);padding:0.32rem 0.65rem;color:var(--muted);font-size:0.74rem;font-weight:700;white-space:nowrap} .partner-widget-mount {display:grid;min-height:440px;place-items:center;overflow-x:auto;padding:1rem;background:#fbfbfa} .partner-widget-mount--search {min-height:150px} .partner-widget-mount>onetwogo-travelto-widget,.partner-widget-mount>onetwogo-country-widget {width:min(100%,600px);margin:0} .partner-widget-mount>.eg-widget {width:100%} .partner-widget-mount>.eg-widget>.eg-widget-frame {max-width:none} .partner-widget-mount>[data-gyg-widget] {width:100%} .partner-widget-mount>[data-kiwitaxi-search] {width:100%} .partner-widget-fallback {display:grid;gap:0.6rem;justify-items:center;text-align:center} .partner-widget-fallback>a {font-weight:600} .partner-widget-consent {border:1px solid var(--line);background:#fff;border-radius:999px;padding:0.5rem 0.9rem;font-size:0.85rem;cursor:pointer} .partner-widget-consent-note {margin:0;color:var(--muted);font-size:0.78rem} .partner-widget-disclosure {margin:0;padding:0.75rem 1.1rem;border-top:1px solid var(--line);color:var(--muted);font-size:0.78rem} .partner-widget-mount #powered {font-size:0.72rem;text-align:center} @media (max-width:820px) {.partner-widget-header {align-items:stretch;flex-direction:column} .partner-widget-badge {align-self:flex-start} .partner-widget-mount {padding:0.55rem}} .guide-card h2,.guide-card h3 {font-size:1.2rem} .guide-card a {text-decoration-thickness:1px;text-underline-offset:3px} .guide-article {max-width:760px;margin:1.5rem auto} .guide-header {border-bottom:1px solid var(--line);padding-bottom:1.2rem;margin-bottom:1.8rem} .guide-lede {font-size:1.16rem;color:var(--muted)} .guide-hero {margin:0 0 1.4rem} .guide-hero img {width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius);display:block} .guide-hero figcaption {margin-top:0.4rem;color:var(--muted);font-size:0.78rem} .guide-card>img {width:calc(100% + 2.2rem);max-width:none;height:150px;object-fit:cover;margin:-1.1rem -1.1rem 1rem} .guide-section {margin:2rem 0} .guide-partner-block {margin:2rem 0;padding:1rem;background:var(--cream);border-radius:var(--radius)} .guide-table-wrap {overflow-x:auto;margin:1rem 0;-webkit-overflow-scrolling:touch} .guide-table {width:100%;min-width:460px;border-collapse:collapse;font-size:0.95rem} .guide-table th,.guide-table td {text-align:left;padding:0.65rem 0.6rem;border-bottom:1px solid var(--line);vertical-align:top} .guide-table th {font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted)} .guide-faq dt {font-weight:600;margin-top:0.9rem} .guide-faq dd {margin:0.25rem 0 0;color:var(--muted)} .guide-cta {margin:1rem 0} .guide-cta-button {display:inline-block;background:var(--sun);color:var(--ink);font-weight:700;padding:0.7rem 1.3rem;border-radius:999px;text-decoration:none} .btn {display:inline-block;background:var(--sun);color:var(--ink);font-weight:700;padding:0.7rem 1.3rem;border-radius:999px;text-decoration:none;border:none;cursor:pointer;transition:filter 200ms ease,background-color 200ms ease,color 200ms ease} .btn:hover {filter:brightness(0.95)} .offer-table-scroll {overflow-x:auto;margin:1rem 0;-webkit-overflow-scrolling:touch} .offer-table {width:100%;min-width:460px;border-collapse:collapse;font-size:0.95rem} .offer-table th,.offer-table td {text-align:left;padding:0.65rem 0.6rem;border-bottom:1px solid var(--line)} .offer-table th {font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted)} .offer-price {font-weight:800;white-space:nowrap} .offer-fresh {color:var(--muted);font-size:0.8rem} .facts {display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.7rem;margin:1rem 0} .fact {background:var(--cream);border-radius:var(--radius);padding:0.8rem 1rem} .fact b {display:block;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted)} .good-to-know {background:var(--cream);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:1rem 0} .quick-answers details {border-bottom:1px solid var(--line);padding:0.55rem 0} .quick-answers summary {cursor:pointer;font-weight:600} .sticky-offer {position:sticky;bottom:0.8rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:var(--paper);border:2px solid var(--sun);border-radius:var(--radius);padding:0.7rem 1rem;margin-top:2rem;box-shadow:0 6px 24px rgba(0,0,0,0.12)} .sticky-offer .btn {margin-left:auto} .trust-strip {background:var(--cream);border-top:1px solid var(--line);padding:1.6rem 1rem;text-align:center} .trust-line {font-weight:700;margin:0 0 0.4rem} .trust-points {list-style:none;display:flex;gap:1.4rem;justify-content:center;padding:0;margin:0.3rem 0;flex-wrap:wrap;color:var(--muted);font-size:0.9rem} .affiliate-note {color:var(--muted);font-size:0.82rem;max-width:640px;margin:0.6rem auto 0} .site-footer {background:var(--ink);color:var(--paper);padding:clamp(2.6rem,5vw,4rem) clamp(1rem,4vw,2.5rem);border-top:1px solid rgba(255,255,255,0.1)} .footer-brand {display:flex;align-items:center;gap:0.6rem;font-weight:800;letter-spacing:0.02em;margin-bottom:0.65rem} .footer-logo {width:40px;height:40px;flex-shrink:0;border-radius:9px;box-shadow:0 0 0 1px rgba(255,255,255,0.1)} .site-footer p {color:#b8b8b8;font-size:0.9rem;line-height:1.6;max-width:360px;margin:0} .site-footer a {color:#d6d6d6;font-size:0.9rem;text-decoration:none} .site-footer a:hover {color:var(--sun)} .hero {background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:clamp(1.6rem,5vw,3.2rem);margin-top:1.2rem} .hero p {max-width:560px;color:#ddd} .essentials-photo-hero {position:relative;overflow:hidden;isolation:isolate} .essentials-photo-hero-image {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center} .essentials-photo-hero::after {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to right,rgba(17,17,17,.82),rgba(17,17,17,.32))} .geography-hero {margin-top:0.65rem;padding:1rem 0 1.35rem;background:transparent;color:var(--ink);border-radius:0;border-bottom:1px solid var(--line)} .geography-hero h1 {font-size:clamp(1.8rem,3.5vw,2.45rem)} .geography-hero p:not(.destination-guide-links) {max-width:none;margin:0.65rem 0 0;color:#383838;font-size:0.98rem;line-height:1.72} .destination-guide-links {max-width:560px;margin:0.6rem 0 0;color:var(--muted);font-size:0.9rem} .geography-hero p.destination-guide-links {color:var(--muted)} .destination-guide-links a {color:var(--ink);font-weight:600} .destination-guide-links a:hover {text-decoration:underline} .band-surprise {background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:clamp(1.6rem,5vw,3rem);margin:1.6rem 0 0} .band-surprise p {max-width:560px;color:#ddd} .hero-full {position:relative;width:100%;min-height:clamp(420px,62vh,640px);min-height:clamp(420px,62dvh,640px);background:var(--ink);display:flex;align-items:center;color:var(--paper)} .hero-full-picture {position:absolute;inset:0;z-index:0} .hero-full-background {width:100%;height:100%;object-fit:cover;object-position:center} .hero-full::after {content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,rgba(17,17,17,.72),rgba(17,17,17,.15))} .hero-full>.hero-inner {position:relative;z-index:2} .site-header--overlay {position:absolute;top:0;left:0;right:0;z-index:4;background:transparent} .hero-inner {width:100%;max-width:var(--maxw);margin:0 auto;padding:5rem 1rem 2.5rem} .hero-inner h1 {color:var(--paper);max-width:720px;font-size:clamp(2.2rem,6vw,4.5rem)} .hero-inner>p {color:rgba(255,255,255,0.85);max-width:34rem;font-size:clamp(1rem,2vw,1.15rem);margin:0 0 1.5rem} .hero-accent {color:var(--sun)} @media (max-width:560px) {.hero-line-break {display:none}} .vertical-bar {position:relative;z-index:3;width:calc(100% - 2rem);max-width:var(--maxw-bar);margin:calc(-1 * var(--vbar-overlap)) auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,0.16);overflow:hidden} @media (min-width:901px) {.vertical-bar-item:nth-child(5) {border-left:0} .vertical-bar-item:nth-child(n + 5) {border-top:1px solid var(--line)}} .vertical-bar-item {display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.35rem;padding:1.5rem 0.85rem 1.6rem;color:var(--ink);text-decoration:none;border-left:1px solid var(--line);transition:background-color 180ms ease} .vertical-bar-item:first-child {border-left:0} .vertical-bar-item:hover {background:var(--cream)} .vertical-bar-item:focus-visible {outline:3px solid var(--sun);outline-offset:-3px} .vertical-bar-icon {color:var(--ink);line-height:0} .vertical-bar-icon svg {width:34px;height:34px} .vertical-bar-name {font-weight:800;font-size:0.97rem} .vertical-bar-tagline {color:var(--muted);font-size:0.79rem;line-height:1.35;max-width:15ch} .vertical-bar-item--soon {background:var(--cream)} .vertical-bar-item--soon .vertical-bar-icon {color:var(--muted)} .vertical-bar-item--soon:hover {background:#f4eee3} .vertical-bar-soon-tag {display:inline-block;margin-top:0.15rem;padding:0.1rem 0.45rem;border-radius:999px;background:var(--cream);border:1px solid var(--line);color:var(--muted);font-size:0.6rem;font-weight:750;letter-spacing:0.08em;text-transform:uppercase} @media (max-width:900px) {:root {--vbar-overlap:0px} .vertical-bar {grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.3rem} .vertical-bar-item:nth-child(3n + 1) {border-left:0} .vertical-bar-item:nth-child(n + 4) {border-top:1px solid var(--line)}} @media (max-width:560px) {.vertical-bar {grid-template-columns:repeat(2,minmax(0,1fr))} .vertical-bar-item:nth-child(3n + 1) {border-left:1px solid var(--line)} .vertical-bar-item:nth-child(odd) {border-left:0} .vertical-bar-item:nth-child(n + 3) {border-top:1px solid var(--line)}} .hero-search {display:flex;align-items:stretch;width:100%;max-width:none;margin:0;background:transparent;border:0;border-radius:0;overflow:hidden} .hero-search-segment {display:flex;flex-direction:column;justify-content:center;gap:0.15rem;flex:1 1 150px;min-width:0;padding:0.75rem 1rem;cursor:pointer;transition:background-color 200ms ease} .hero-search-segment:hover {background:rgba(255,255,255,0.06)} .hero-search-segment--divider {border-left:1px solid rgba(255,255,255,0.18)} .hero-search-label {font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.75)} .hero-search-segment:is(select,input) {appearance:none;-webkit-appearance:none;-moz-appearance:none;display:block;width:100%;min-width:0;background:transparent;border:none;color:var(--paper);font:inherit;font-size:1rem;padding:0.1rem 1.5rem 0.1rem 0;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:14px;cursor:pointer} .hero-search-segment input {background-image:none;color-scheme:dark} .hero-search-segment input::placeholder {color:rgba(255,255,255,0.65)} .hero-search-segment input[type="date"]::-webkit-calendar-picker-indicator {filter:none;opacity:0.72;cursor:pointer} .hero-search-segment select option {color:var(--paper);background:#1d1d1d} .hero-search-segment select optgroup {color:rgba(255,255,255,0.78);background:#151515;font-weight:700} .hero-search-segment:is(select,input):focus-visible {outline:3px solid var(--sun);outline-offset:-2px} .hero-search .btn {align-self:center;flex:0 0 auto;min-height:52px;margin:0.7rem 0.8rem;padding-inline:1.4rem;white-space:nowrap} @media (max-width:700px) {.hero-search {flex-direction:column;max-width:none} .hero-search-segment {flex:0 0 auto} .hero-search-segment--divider {border-left:none;border-top:1px solid rgba(255,255,255,0.18)} .hero-search .btn {width:calc(100% - 1.6rem);margin:0.8rem;text-align:center}} .hero-direct-search {display:flex;align-items:center;gap:0.9rem;width:100%;max-width:860px;margin:0 0 1rem} .hero-direct-search-label {flex:0 0 auto;margin:0;color:rgba(255,255,255,0.72);font-size:0.75rem;font-weight:750;letter-spacing:0.07em;text-transform:uppercase} .hero-direct-search-form {display:flex;align-items:center;flex:1 1 auto;min-width:0;min-height:48px;overflow:hidden;background:rgba(17,17,17,0.58);border:1px solid rgba(255,255,255,0.24);border-radius:999px;transition:border-color 180ms ease,box-shadow 180ms ease} .hero-direct-search-form:focus-within {border-color:var(--sun);box-shadow:0 0 0 2px rgba(255,200,0,0.16)} .hero-direct-search-icon {flex:0 0 auto;margin-left:1rem;color:rgba(255,255,255,0.68)} .hero-direct-search-form input {appearance:none;flex:1 1 auto;min-width:0;padding:0.7rem 0.8rem;background:transparent;border:0;outline:0;color:var(--paper);font:inherit} .hero-direct-search-form input::placeholder {color:rgba(255,255,255,0.58)} .hero-direct-search-form input::-webkit-search-cancel-button {filter:invert(1)} .hero-direct-search-button {appearance:none;align-self:stretch;display:inline-flex;align-items:center;gap:0.35rem;padding:0 1.1rem;background:transparent;border:0;border-left:1px solid rgba(255,255,255,0.16);color:var(--paper);font:inherit;font-weight:750;cursor:pointer} .hero-direct-search-button:hover {background:rgba(255,255,255,0.08);color:var(--sun)} .hero-direct-search-button:focus-visible {outline:3px solid var(--sun);outline-offset:-3px} .hero-direct-search-button .icon {width:15px;height:15px} @media (max-width:700px) {.hero-direct-search {align-items:stretch;flex-direction:column;gap:0.45rem;max-width:440px} .hero-direct-search-form {width:100%}} .vertical-launcher {display:flex;flex-wrap:wrap;gap:0.65rem;margin:1.25rem 0} .vertical-launcher a {display:inline-flex;align-items:center;gap:0.45rem;min-height:42px;padding:0.65rem 1rem;border-radius:999px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:750} .vertical-launcher-icon {display:inline-flex;flex:0 0 auto} .vertical-launcher-icon svg {width:20px;height:20px} .vertical-launcher a:hover {background:#2b2b2b;color:var(--sun)} .vertical-see-all {margin:-0.4rem 0 2rem;text-align:right} .vertical-coming-soon {max-width:720px;min-height:45vh;display:grid;align-content:center} .essential-grid {display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin:1rem 0} @media (max-width:640px) {.essential-grid {grid-template-columns:1fr}} .essential-card {display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-decoration:none} .essential-card:hover {border-color:var(--ink)} .essential-card-photo {display:flex;align-items:flex-end;height:172px;padding:0.9rem;background-color:var(--cream);background-size:cover;background-position:center} .essential-card-body {display:flex;flex-direction:column;gap:0.55rem;flex:1;padding:1rem 1.25rem 1.25rem} .essential-card h3 {font-size:1.2rem;margin:0} .essential-card-body p {margin:0;color:var(--muted);font-size:0.95rem} .essential-icon {display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius);background:var(--paper);color:var(--ink);border:1px solid var(--line);transition:background-color 200ms ease} .essential-card:hover .essential-icon {background:var(--sun);border-color:var(--sun)} .essential-cta {display:inline-flex;align-items:center;gap:0.4rem;margin-top:auto;padding-top:0.4rem;font-weight:750} .compare-card {border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:1.4rem;margin:1rem 0} .compare-card-header {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0.9rem} .compare-brand {display:flex;align-items:center;gap:0.85rem} .compare-logo-mark {flex:0 0 auto;width:46px;height:46px;border-radius:10px;border:1px solid var(--line);background-color:var(--paper);background-size:34px 34px;background-position:center;background-repeat:no-repeat} .compare-logo-wordmark {display:block;margin-bottom:0.2rem} .compare-logo-wordmark svg {display:block;height:26px;width:auto} .compare-provider-name {margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-0.02em} .compare-provider-tag {margin:0.15rem 0 0;color:var(--muted)} .top-pick-badge,.compare-badge {flex:0 0 auto;border-radius:999px;background:var(--sun);color:var(--ink);padding:0.35rem 0.8rem;font-size:0.74rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap} .compare-badge {background:var(--cream);border:1px solid var(--line);color:var(--muted)} .pros-cons {display:grid;gap:0.5rem 2rem;grid-template-columns:1fr 1fr;margin:1.1rem 0} .pros-cons h3 {margin:0 0 0.3rem;color:var(--muted);font-size:0.78rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase} .pros,.cons {list-style:none;margin:0;padding:0;font-size:0.95rem} .pros li,.cons li {position:relative;margin:0.55rem 0;padding-left:1.9rem} .pros li::before,.cons li::before {position:absolute;left:0;top:0.12rem;width:20px;height:20px;display:grid;place-items:center;border-radius:999px;font-size:0.68rem;font-weight:800} .pros li::before {content:"\2713";background:var(--sun);color:var(--ink)} .cons li::before {content:"\2715";background:var(--cream);border:1px solid var(--line);color:var(--muted)} .plan-grid {display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:1.1rem 0} .plan-card {display:flex;flex-direction:column;background:var(--cream);border-radius:var(--radius);padding:1.1rem} .plan-card h4 {margin:0 0 0.2rem;font-size:1.05rem} .plan-card>p {margin:0 0 0.5rem;color:var(--muted);font-size:0.9rem} .plan-card ul {flex-grow:1;margin:0 0 1rem;padding-left:1.1rem;font-size:0.92rem} .plan-card li {margin:0.3rem 0} .plan-card .btn {align-self:flex-start} .proton-suite {background:var(--cream);border-radius:var(--radius);padding:1.1rem;margin:1.1rem 0} .proton-suite h3 {font-size:1.05rem;margin:0 0 0.3rem} .proton-suite p {margin:0 0 0.5rem;font-size:0.92rem} .suite-list {list-style:none;margin:0;padding:0;display:grid;gap:0.3rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));font-size:0.92rem} .suite-list li {padding:0.3rem 0;border-bottom:1px solid var(--line)} .compare-card>.btn {margin-top:0.3rem} .compare-note {color:var(--muted);font-size:0.92rem;max-width:720px} @media (max-width:640px) {.pros-cons {grid-template-columns:1fr} .compare-card-header {flex-direction:column} .top-pick-badge,.compare-badge {align-self:flex-start}} .utility-place-search form {display:flex;align-items:end;gap:0.65rem;max-width:680px} .utility-place-search label {display:grid;flex:1;gap:0.3rem;color:var(--muted);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em} .utility-place-search input {min-height:48px;padding:0.65rem 0.8rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit} .vertical-search-root {display:grid;gap:0.9rem;border-radius:14px;background:var(--ink);padding:clamp(1rem,3vw,1.6rem);box-shadow:0 8px 24px rgba(0,0,0,0.12)} .vertical-search-root .hero-search {overflow:visible} .vertical-search-root .hero-direct-search {margin:0;max-width:none} .live-activity-search {scroll-margin-top:1rem} .live-activity-search-form {margin:1rem 0 1.25rem} .live-activity-message {padding:1rem;border-radius:10px;background:var(--cream)} .live-fragment-message {padding:1rem;border-radius:10px;background:var(--cream)} .live-activity-summary,.live-activity-disclosure {color:var(--muted);font-size:0.86rem} .live-activity-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem} .live-activity-card {position:relative;display:grid;grid-template-rows:180px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,0.05);transition:box-shadow 180ms ease,transform 180ms ease} .live-activity-card:hover {box-shadow:0 10px 26px rgba(0,0,0,0.12);transform:translateY(-2px)} .live-activity-media {position:relative;overflow:hidden;background:var(--cream)} .live-activity-media img,.live-activity-image-empty {display:block;width:100%;height:100%;object-fit:cover;background:linear-gradient(145deg,var(--cream),#ded7c8)} .live-activity-image-empty--partner {display:grid;place-items:center} .live-activity-media img.live-activity-placeholder-logo {width:72px;height:72px;padding:0.55rem;object-fit:contain;border-radius:14px;background:var(--paper);box-shadow:0 2px 10px rgba(17,17,17,0.1)} .live-activity-carousel {position:absolute;inset:0} .live-activity-carousel-track {display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none} .live-activity-carousel-track::-webkit-scrollbar {display:none} .live-activity-carousel-track img {flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always} .live-activity-carousel-prev,.live-activity-carousel-next {position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,0.92);color:var(--ink);font-size:1.25rem;line-height:1;font-weight:700;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 6px rgba(0,0,0,0.25);opacity:0;transition:opacity 160ms ease} .live-activity-carousel-prev {left:0.55rem} .live-activity-carousel-next {right:0.55rem} .live-activity-card:hover .live-activity-carousel-prev,.live-activity-card:hover .live-activity-carousel-next,.live-activity-carousel-prev:focus-visible,.live-activity-carousel-next:focus-visible {opacity:1} .live-activity-carousel-prev:hover,.live-activity-carousel-next:hover {background:#fff} .live-activity-dots {position:absolute;left:50%;bottom:0.55rem;transform:translateX(-50%);z-index:2;display:flex;gap:0.3rem} .live-activity-dot {width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.55);box-shadow:0 0 3px rgba(0,0,0,0.35);transition:background-color 160ms ease} .live-activity-dot.is-active {background:#fff} .live-activity-body {display:flex;flex-direction:column;min-width:0;padding:1rem} .live-activity-card h3 {margin:0 0 0.65rem;font-size:1.08rem} .live-activity-link {color:inherit;text-decoration:none} .live-activity-link::after {content:"";position:absolute;inset:0;z-index:1} .live-activity-card:hover .live-activity-link {text-decoration:underline} .live-activity-link:focus-visible {outline:none} .live-activity-card:has(.live-activity-link:focus-visible) {outline:3px solid var(--sun);outline-offset:2px} .live-activity-meta {display:flex;flex-wrap:wrap;gap:0.4rem;font-size:0.82rem} .live-activity-meta span {padding:0.25rem 0.45rem;border-radius:999px;background:var(--cream)} .live-activity-footer {margin-top:auto;padding-top:0.9rem;display:flex;align-items:center;justify-content:space-between;gap:0.6rem} .live-activity-partner-logo {display:block;height:40px;width:auto} .live-activity-partner-logo--tile {width:40px;padding:4px;object-fit:contain} .live-activity-price {margin:0;color:var(--muted);font-size:0.88rem} .live-activity-price strong {color:var(--ink);font-size:1.08rem;margin-left:0.15rem} .ferry-indicative-price {color:var(--muted);margin:1rem 0} .ferry-indicative-price strong {color:var(--ink)} .live-activity-sort {position:relative;width:max-content;margin:0.5rem 0 1rem auto;z-index:4} .live-activity-sort-trigger {display:flex;align-items:center;gap:0.55rem;padding:0.35rem 0;color:var(--ink);font-size:0.9rem;line-height:1.4;list-style:none;cursor:pointer} .live-activity-sort-trigger::-webkit-details-marker {display:none} .live-activity-sort-trigger strong {font-weight:700} .live-activity-sort-trigger svg {transition:transform 160ms ease} .live-activity-sort[open] .live-activity-sort-trigger svg {transform:rotate(180deg)} .live-activity-sort-menu {position:absolute;top:calc(100% + 0.3rem);right:0;min-width:12rem;padding:0.35rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 12px 28px rgba(17,17,17,0.14)} .live-activity-sort-option {display:block;padding:0.65rem 0.75rem;border-radius:7px;font-size:0.9rem;text-decoration:none;white-space:nowrap} a.live-activity-sort-option:hover {background:var(--cream)} .live-activity-sort-option[aria-current="true"] {background:var(--cream);font-weight:700} .live-activity-partner-name {color:var(--muted);font-size:0.82rem;font-weight:700} .inventory-card-price {margin:0;color:var(--muted);font-size:0.88rem;text-align:right} .inventory-card-price strong {color:var(--ink);font-size:1.08rem;margin-left:0.15rem} .inventory-price-approx {text-decoration:none} .kayak-hotel-list {list-style:none;margin:0.75rem 0 0;padding:0;display:grid;gap:0.5rem} .kayak-hotel {display:flex;flex-wrap:wrap;align-items:baseline;gap:0.5rem;padding:0.6rem 0.85rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)} .kayak-hotel-name {flex:1 1 12rem;min-width:0;font-weight:600} .kayak-hotel-rating {padding:0.25rem 0.45rem;border-radius:999px;background:var(--cream);font-size:0.82rem} .kayak-hotel-price {margin-left:auto;font-size:1.05rem;font-weight:700} .kayak-disclosure {color:var(--muted);font-size:0.86rem} .kayak-flight-list {list-style:none;margin:0.75rem 0 0;padding:0;display:grid;gap:0.5rem} .kayak-flight {display:flex;flex-wrap:wrap;align-items:baseline;gap:0.5rem;padding:0.6rem 0.85rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)} .kayak-flight-price {font-size:1.05rem;font-weight:700} .kayak-flight-stops,.kayak-flight-airline {padding:0.25rem 0.45rem;border-radius:999px;background:var(--cream);font-size:0.82rem} .kayak-flight-time {color:var(--muted);font-size:0.86rem} .kayak-flight-link {margin-left:auto;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap} .kayak-flight-link:hover,.kayak-flight-link:focus-visible {text-decoration:underline} .kayak-car-list {list-style:none;margin:0.75rem 0 0;padding:0;display:grid;gap:0.5rem} .kayak-car {display:flex;flex-wrap:wrap;align-items:baseline;gap:0.5rem;padding:0.6rem 0.85rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)} .kayak-car-price {font-size:1.05rem;font-weight:700} .kayak-car-class,.kayak-car-agency {padding:0.25rem 0.45rem;border-radius:999px;background:var(--cream);font-size:0.82rem} .kayak-car-link {margin-left:auto;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap} .kayak-car-link:hover,.kayak-car-link:focus-visible {text-decoration:underline} .stay-search {scroll-margin-top:1rem;padding-top:1.5rem} .stay-search>.section-subtitle {margin-top:0.15rem} .stay-bar {position:relative;display:flex;align-items:stretch;margin:1.1rem 0 1.4rem;padding:0.4rem;border:1px solid #dcdcdc;border-radius:999px;background:var(--paper);box-shadow:0 8px 24px rgba(0,0,0,0.09)} .stay-bar-segment {display:flex;align-items:center;gap:0.55rem;min-height:56px;min-width:0;padding:0 1.1rem;cursor:pointer} .stay-bar-segment:focus-within {border-radius:999px;box-shadow:inset 0 0 0 2px var(--sun)} .stay-bar-icon {flex:0 0 auto;color:var(--muted)} .stay-bar-icon {box-sizing:content-box;padding:8px;border-radius:999px;background:var(--cream);color:var(--ink)} .stay-bar-dest-row .stay-bar-icon {padding:0;background:none;color:var(--muted)} .stay-bar-dest-trigger {position:relative;padding-right:1.4rem} .stay-bar-dest-trigger::after {content:"";position:absolute;right:0.35rem;top:50%;width:7px;height:7px;margin-top:-5px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg)} .stay-bar-place {flex:1.3 1 0} .stay-bar-place select {width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;cursor:pointer} .stay-bar-to {border-left:1px solid var(--line)} .stay-bar-dates {flex:1.5 1 0;border-left:1px solid var(--line)} .stay-bar-dates input {min-width:0;flex:1 1 0;border:0;outline:0;padding:0;background:transparent;color:var(--ink);font:inherit;font-weight:700} .stay-bar-dash {color:var(--muted)} .stay-bar-guests {position:relative;display:flex;flex:1 1 0;min-width:0} .stay-bar-guests summary {list-style:none;flex:1 1 auto;border-left:1px solid var(--line)} .stay-bar-guests summary::-webkit-details-marker {display:none} .stay-bar-guests-summary {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700} .stay-bar-popover {position:absolute;z-index:30;top:calc(100% + 0.65rem);right:0;width:310px;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 16px 45px rgba(0,0,0,0.2)} .stay-bar-guest-row {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;border-bottom:1px solid var(--line)} .stay-bar-guest-row>label {display:flex;flex-direction:column} .stay-bar-guest-row small {color:var(--muted);font-size:0.72rem} .stay-bar-stepper {display:flex;align-items:center;gap:0.4rem} .stay-bar-step {width:36px;height:36px;border-radius:999px;border:1px solid #cfcfcf;background:var(--paper);color:var(--ink);font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer} .stay-bar-step:hover {border-color:var(--ink)} .stay-bar-stepper input {width:44px;border:0;text-align:center;background:transparent;color:var(--ink);font:inherit;font-weight:700;appearance:textfield;-moz-appearance:textfield} .stay-bar-stepper input::-webkit-outer-spin-button,.stay-bar-stepper input::-webkit-inner-spin-button {-webkit-appearance:none;margin:0} .stay-bar-done {display:block;margin:0.9rem 0 0 auto} .stay-bar--enhanced .stay-bar-place select,.stay-bar--enhanced .stay-bar-dates input,.stay-bar--enhanced .stay-bar-dash {display:none} .stay-bar-trigger {flex:1 1 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .stay-bar-trigger--empty {color:var(--muted)} .stay-bar-textinput {flex:1 1 auto;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;appearance:none;-webkit-appearance:none} .stay-bar-textinput::placeholder {color:var(--muted);font-weight:400} .stay-bar-textinput::-webkit-search-cancel-button {-webkit-appearance:none} .stay-bar-place,.stay-bar-dates {position:relative} .stay-bar-panel {position:absolute;z-index:30;top:calc(100% + 0.65rem);left:0;padding:0.9rem;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 16px 45px rgba(0,0,0,0.2)} .stay-bar-dest-panel {width:330px;max-height:420px;overflow-y:auto} .stay-bar-panel-filter {width:100%;min-height:44px;margin-bottom:0.6rem;padding:0.5rem 0.75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit} .stay-bar-dest-country {margin:0.6rem 0 0.15rem;color:var(--muted);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em} .stay-bar-dest-row {display:flex;align-items:center;gap:0.6rem;width:100%;padding:0.55rem 0.4rem;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer} .stay-bar-dest-row:hover,.stay-bar-dest-row:focus-visible {background:var(--cream)} .stay-bar-dest-row[hidden],.stay-bar-dest-group[hidden] {display:none} .stay-bar-dest-row span {display:flex;flex-direction:column;min-width:0} .stay-bar-dest-row small {color:var(--muted);font-size:0.72rem} .stay-bar-dest-search {margin-top:0.35rem;color:var(--ink);font-weight:700;text-decoration:none} .stay-bar-dest-empty {margin:0.5rem 0 0;color:var(--muted)} .stay-bar-cal-panel {right:0;left:auto} .stay-bar-cal-header {display:flex;justify-content:space-between;margin-bottom:0.35rem} .stay-bar-cal-nav {width:34px;height:34px;border:1px solid #cfcfcf;border-radius:999px;background:var(--paper);color:var(--ink);font-size:1.05rem;line-height:1;cursor:pointer} .stay-bar-cal-nav:disabled {opacity:0.35;cursor:default} .stay-bar-cal-nav:not(:disabled):hover {border-color:var(--ink)} .stay-bar-cal-months {display:flex;gap:1.4rem} .stay-bar-cal-title {margin:0 0 0.4rem;font-weight:700;text-align:center} .stay-bar-cal-grid {display:grid;grid-template-columns:repeat(7,2.35rem);justify-items:stretch;row-gap:2px} .stay-bar-cal-weekday {color:var(--muted);font-size:0.7rem;font-weight:700;text-align:center;padding-bottom:0.3rem} .stay-bar-cal-day {height:2.35rem;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-weight:600;cursor:pointer} .stay-bar-cal-day:disabled {color:#c4c4c4;cursor:default} .stay-bar-cal-day:not(:disabled):hover {box-shadow:inset 0 0 0 1px var(--ink)} .stay-bar-cal-day.is-start,.stay-bar-cal-day.is-end {background:var(--sun);color:var(--ink);font-weight:700} .stay-bar-cal-day.is-between {background:var(--cream);border-radius:0} .stay-bar-cal-foot {display:flex;justify-content:flex-end;margin-top:0.6rem} .stay-bar-cal-done {border-radius:999px} .stay-bar-submit {flex:0 0 auto;align-self:center;min-height:48px;margin:0 0.15rem 0 0.75rem;padding-inline:1.6rem;white-space:nowrap} .stay-bar-filters {position:relative;display:flex;flex-wrap:wrap;flex:0 0 auto} .stay-bar-filters summary {list-style:none;border-left:1px solid var(--line)} .stay-bar-filters summary::-webkit-details-marker {display:none} .stay-bar-filters-count {min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--sun);color:var(--ink);font-size:0.72rem;font-weight:700;line-height:20px;text-align:center} .stay-bar-filters-popover {width:280px} .stay-bar-filters-title {margin:0 0 0.35rem;font-weight:700} .stay-bar-filter-option {display:flex;align-items:center;gap:0.6rem;padding:0.55rem 0.4rem;border-radius:10px;color:var(--ink);font-weight:600;text-decoration:none} .stay-bar-filter-option:hover,.stay-bar-filter-option:focus-visible {background:var(--cream)} .stay-bar-filter-box {display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;border:2px solid #cfcfcf;border-radius:6px;color:var(--ink)} .stay-bar-filter-option.is-selected .stay-bar-filter-box {background:var(--sun);border-color:var(--sun)} .stay-bar-chips {display:flex;flex-wrap:wrap;gap:0.5rem;margin:-0.6rem 0 1.4rem;padding:0;list-style:none} .stay-bar-chip {display:inline-flex;align-items:center;gap:0.4rem;padding:0.3rem 0.45rem 0.3rem 0.85rem;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink);font-size:0.85rem;font-weight:600} .stay-bar-chip-remove {display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:var(--ink);font-size:1rem;font-weight:700;line-height:1;text-decoration:none} .stay-bar-chip-remove:hover,.stay-bar-chip-remove:focus-visible {background:var(--sun)} @media (max-width:719px) {.stay-bar {flex-direction:column;align-items:stretch;border-radius:22px;padding:0.5rem} .stay-bar-dates,.stay-bar-guests summary,.stay-bar-to,.stay-bar-filters summary {border-left:0;border-top:1px solid var(--line)} .stay-bar-segment {min-height:52px} .stay-bar-place,.stay-bar-dates,.stay-bar-guests,.stay-bar-filters {flex:0 0 auto} .stay-bar-place,.stay-bar-dates {flex-wrap:wrap} .stay-bar-filters {display:block} .stay-bar-popover,.stay-bar-panel {position:static;width:auto;max-height:none;flex-basis:100%;margin-top:0.25rem;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none} .stay-bar-submit {align-self:stretch;margin:0.5rem 0.35rem;text-align:center} .stay-bar-cal-grid {grid-template-columns:repeat(7,minmax(2rem,1fr))} .stay-bar-segment:focus-within {box-shadow:none} .stay-bar-place:is(select,.stay-bar-trigger):focus-visible,.stay-bar-dates:is(input,.stay-bar-trigger):focus-visible,.stay-bar-guests summary:focus-visible,.stay-bar-filters summary:focus-visible {outline:2px solid var(--sun);outline-offset:3px;border-radius:6px}} .vertical-search-fallback {margin:0 0 1.4rem} .vertical-search-fallback .hero-direct-search {margin:0;max-width:none} .vertical-search-fallback .hero-direct-search-label {color:var(--muted)} .vertical-search-fallback .hero-direct-search-form {background:var(--paper);border-color:var(--line)} .vertical-search-fallback .hero-direct-search-icon {color:var(--muted)} .vertical-search-fallback .hero-direct-search-form input {color:var(--ink)} .vertical-search-fallback .hero-direct-search-form input::placeholder {color:var(--muted)} .vertical-search-fallback .hero-direct-search-form input::-webkit-search-cancel-button {filter:none} .vertical-search-fallback .hero-direct-search-button {color:var(--ink)} .vertical-search-fallback .hero-direct-search-button:hover {background:var(--cream);color:var(--ink)} .stay-search-message {padding:1rem;border-radius:10px;background:var(--cream)} .stay-search-summary,.stay-search-disclosure,.stay-card-provider {color:var(--muted);font-size:0.86rem} .stay-search-summary {margin:0.9rem 0 0.8rem;font-weight:700;color:var(--ink)} .stay-compare-buttons {display:flex;flex-wrap:wrap;gap:0.8rem;margin:1.1rem 0 0.35rem} .stay-compare-btn {display:inline-flex;align-items:center;gap:0.55rem;min-height:54px;padding:0.75rem 1.3rem;border:1px solid #dcdcdc;border-radius:12px;background:var(--paper);color:var(--ink);font-weight:700;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,0.05);transition:border-color 200ms ease,box-shadow 200ms ease} .stay-compare-btn:hover {border-color:var(--sun);box-shadow:0 6px 18px rgba(0,0,0,0.12)} .stay-compare-btn-wordmark svg {display:block;height:20px;width:auto} .stay-compare-btn-mark {flex:0 0 auto;width:28px;height:28px;border-radius:7px;background-size:cover;background-position:center} .stay-grid {display:grid;gap:0.8rem;margin:0 0 1rem} .stay-card {display:grid;grid-template-columns:220px minmax(0,1fr) minmax(260px,310px);min-height:210px;overflow:hidden;border:1px solid #dcdcdc;border-radius:12px;background:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,0.05)} .stay-card-media {min-width:0;background:var(--cream)} .stay-card-image {display:block;width:100%;height:100%;min-height:210px;object-fit:cover;background:linear-gradient(145deg,var(--cream),#ded7c8)} .stay-card-body {min-width:0;padding:1rem 1.1rem} .stay-card h3 {margin:0.22rem 0 0.65rem;font-size:1.2rem} .stay-card-type {margin:0;color:var(--muted);font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.05em} .stay-card-stars {color:#ef7d22;letter-spacing:0.02em} .stay-card-rating {display:flex;align-items:center;gap:0.45rem;margin:0.55rem 0;font-size:0.86rem} .stay-rating-score {display:inline-grid;place-items:center;min-width:36px;min-height:30px;padding:0 0.35rem;border-radius:7px;background:#087f4b;color:white;font-weight:800} .stay-card-address,.stay-card-distance {margin:0.45rem 0;color:var(--muted);font-size:0.86rem} .stay-card-distance {color:var(--ink)} .stay-card-deals {min-width:0;border-left:1px solid var(--line);background:var(--paper)} .stay-primary-deal {padding:0.9rem 1rem;background:#f5fbf4} .stay-deal-supplier,.stay-deal-meta,.stay-deal-benefit {margin:0.25rem 0;font-size:0.8rem} .stay-deal-supplier {color:var(--muted)} .stay-deal-benefit {color:#087f4b;font-weight:700} .stay-card-price {display:flex;align-items:baseline;gap:0.3rem;margin:0.45rem 0 0} .stay-card-price strong {font-size:1.45rem;line-height:1} .stay-card-price span,.stay-deal-meta {color:var(--muted)} .stay-card-cta {display:block;margin-top:0.7rem;border-radius:8px;text-align:center} .stay-alt-deals {border-top:1px solid var(--line);background:var(--paper)} .stay-alt-heading {margin:0;padding:0.65rem 0.85rem 0.35rem;color:var(--muted);font-size:0.72rem;font-weight:700} .stay-alt-deal {display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:0.55rem;min-height:40px;padding:0.45rem 0.85rem;border-top:1px solid #f0f0f0;color:var(--ink);text-decoration:none;font-size:0.82rem} .stay-alt-deal:hover {background:var(--cream)} .stay-alt-supplier {overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .stay-filters {display:flex;flex-wrap:wrap;gap:0.5rem;margin:0.9rem 0 0.2rem} .stay-chip {display:inline-flex;align-items:center;min-height:36px;padding:0 0.95rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:0.85rem;font-weight:700;text-decoration:none;white-space:nowrap} a.stay-chip:hover {border-color:var(--ink);background:var(--cream)} .stay-chip.is-active {border-color:var(--ink);background:var(--ink);color:var(--paper)} .stay-sort-row {display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;margin:0.35rem 0 0.8rem} .stay-sort-row .stay-filters {margin:0} .stay-sort-label {color:var(--muted);font-size:0.85rem;font-weight:700} .stay-pagination {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:1.4rem 0 0.4rem} .stay-pages {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;grid-column:2;gap:0.4rem;margin:0;padding:0;list-style:none} .stay-page {display:inline-grid;place-items:center;min-width:40px;min-height:40px;padding:0 0.4rem;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:700;font-variant-numeric:tabular-nums} a.stay-page:hover {background:var(--cream)} .stay-page.is-current {background:var(--ink);color:var(--paper)} .stay-page-next svg {display:block} .stay-page-direction {display:inline-flex;align-items:center;gap:0.35rem;padding:0 0.85rem;white-space:nowrap} .stay-page-direction svg {display:block} .stay-page-direction.is-disabled {color:var(--muted);cursor:not-allowed;opacity:0.45;user-select:none} .stay-page-gap {display:inline-grid;place-items:center;min-width:24px;color:var(--muted)} .stay-top-link {display:inline-grid;place-items:center;grid-column:3;justify-self:end;width:44px;height:44px;border-radius:8px;background:var(--cream);color:var(--ink);text-decoration:none} .stay-top-link:hover {background:var(--line)} @media (max-width:600px) {.stay-pagination {grid-template-columns:1fr auto} .stay-pages {grid-column:1;justify-content:flex-start} .stay-top-link {grid-column:2}} @media (max-width:900px) {.live-activity-grid {grid-template-columns:repeat(2,minmax(0,1fr))} .stay-card {grid-template-columns:185px minmax(0,1fr)} .stay-card-deals {grid-column:1 / -1;border-top:1px solid var(--line);border-left:0} .stay-primary-deal {display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 1rem} .stay-primary-deal .stay-card-cta {grid-column:2;grid-row:1 / span 4;min-width:150px}} @media (max-width:600px) {.utility-place-search form {align-items:stretch;flex-direction:column} .live-activity-grid {grid-template-columns:1fr} .stay-card {grid-template-columns:1fr} .stay-card-image {height:220px;min-height:220px} .stay-card-deals {grid-column:auto} .stay-primary-deal {display:block} .stay-primary-deal .stay-card-cta {min-width:0}} .activity-hero {margin:1rem 0 0} .activity-hero img {width:100%;aspect-ratio:21 / 9;max-height:420px;object-fit:cover;border-radius:var(--radius);display:block} .activity-hero figcaption {text-align:right;font-size:0.78rem;color:var(--muted);margin-top:0.35rem} .activity-hero figcaption a {color:var(--muted)} .dir-columns {columns:3 220px;column-gap:2rem;font-size:0.95rem} .dir-columns a {display:block;color:var(--muted);text-decoration:none;padding:0.35rem 0} .dir-columns .search-result-link {display:flex;align-items:baseline;justify-content:space-between;gap:1rem} .search-result-kind {color:var(--muted);font-size:0.75rem;font-weight:700;text-transform:uppercase} .dir-country {break-inside:avoid;margin-bottom:0.8rem} .dir-country>a:first-child {color:var(--ink);font-weight:700} .dir-country a:not(:first-child) {padding-left:0.8rem;font-size:0.9rem} .pill-row {display:flex;flex-wrap:wrap;gap:0.6rem;margin:1.1rem 0} .pill {display:inline-block;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:0.55rem 1.2rem;text-decoration:none;font-weight:600;font-size:0.9rem;color:var(--ink)} .pill:hover {background:var(--sun);border-color:var(--sun)} .attribution-list {list-style:none;padding:0;margin:1rem 0} .attribution-list li {border-bottom:1px solid var(--line);padding:0.9rem 0} .attribution-list li p {margin:0.2rem 0} .dest-index-list {list-style:none;padding:0;margin:0.4rem 0 1.6rem;color:var(--muted);font-size:0.95rem} .dest-index-list li {border-bottom:1px solid var(--line);padding:0.5rem 0} .dest-index-list a {color:var(--ink);font-weight:600;text-decoration:none} .dest-index-list a:hover {text-decoration:underline} .closest-group {margin:1.2rem 0 2rem} .closest-group h3 {font-size:1.05rem;margin:0} .closest-see-all {display:inline-block;color:var(--ink);font-weight:700;padding:0.35rem 0} .section-subtitle {color:var(--muted);margin:-0.3rem 0 1rem} .section-head {display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap} .section-head-link {display:inline-flex;align-items:center;gap:0.35rem;color:var(--muted);font-weight:700;font-size:0.9rem;text-decoration:none;white-space:nowrap} .section-head-link .icon-arrow {color:var(--sun-ink)} .section-head-link:hover {color:var(--ink)} .dest-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:0.6rem} @media (max-width:900px) {.dest-grid {grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:520px) {.dest-grid {grid-template-columns:1fr}} .spotlight {display:grid;grid-template-columns:1fr 1fr;width:100vw;margin-left:calc(50% - 50vw);background:var(--paper)} .spotlight-media {position:relative;min-height:420px;background-color:#2a2a2a;background-image:linear-gradient(160deg,#2a2a2a,#4b4b4b);background-size:cover;background-position:center;background-repeat:no-repeat} .spotlight-media-img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover} .spotlight-play {position:absolute;left:1.6rem;bottom:1.6rem;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.18);border:1.5px solid rgba(255,255,255,0.75);color:var(--paper);display:grid;place-items:center;cursor:pointer;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease} .spotlight-play:hover {background:var(--sun);color:var(--ink);border-color:var(--sun)} .spotlight-panel {padding:clamp(1.8rem,4vw,3.4rem);display:flex;flex-direction:column;justify-content:center} .spotlight-eyebrow {display:flex;align-items:center;gap:0.35rem;margin:0 0 0.7rem;color:var(--muted);font-size:0.73rem;font-weight:800;letter-spacing:0.09em;text-transform:uppercase} .spotlight-panel h2 {font-size:clamp(1.6rem,3vw,2.3rem);max-width:24ch} .spotlight-body {color:var(--muted);max-width:46ch;margin:0 0 1.3rem} .spotlight-cta {align-self:flex-start;margin-top:0} .spotlight-links {margin:1.7rem 0 0} .spotlight-link {display:flex;align-items:center;gap:0.8rem;padding:0.7rem 0;border-top:1px solid var(--line);color:inherit;text-decoration:none} .spotlight-link:hover {color:var(--sun-ink)} .spotlight-link-thumb {flex:0 0 auto;width:54px;height:38px;border-radius:7px;object-fit:cover;background:linear-gradient(160deg,#2a2a2a,#4b4b4b);display:block} .spotlight-link-text {flex:1;min-width:0} .spotlight-link-text strong {display:block;font-size:0.92rem} .spotlight-link-text span {color:var(--muted);font-size:0.81rem} .spotlight-link .icon-arrow {flex:0 0 auto;color:var(--sun-ink)} .spotlight-video {position:relative;border:0;padding:0;background:transparent;max-width:min(960px,92vw)} .spotlight-video::backdrop {background:rgba(0,0,0,0.82)} .spotlight-video video {width:100%;display:block;border-radius:12px} .spotlight-video-close {position:absolute;top:-2.4rem;right:0;background:none;border:0;color:var(--paper);font-size:1.9rem;line-height:1;cursor:pointer} @media (max-width:900px) {.spotlight {grid-template-columns:1fr} .spotlight-media {min-height:260px}} .trip-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem;margin-top:0.7rem} .trip-card {display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:transform 180ms ease,box-shadow 180ms ease} .trip-card:hover {transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,0.1)} .trip-card-media {display:block;width:100%;height:132px;object-fit:cover;background:linear-gradient(160deg,#2a2a2a,#4b4b4b)} .trip-card-body {padding:0.95rem 1.05rem 1.15rem;display:flex;flex-direction:column;gap:0.25rem;flex:1} .trip-card-body h3 {font-size:1rem;margin:0} .trip-card-desc {color:var(--muted);font-size:0.85rem;margin:0;flex:1} .trip-card-cta {display:inline-flex;align-items:center;gap:0.35rem;margin-top:0.6rem;color:var(--sun-ink);font-weight:750;font-size:0.85rem} @media (max-width:900px) {.trip-grid {grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:520px) {.trip-grid {grid-template-columns:1fr}} .partner-row-wrap {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap} .partner-row-wrap .partner-row {flex:1 1 22rem} .partner-row-wrap .explore-all-link {flex:0 0 auto} .faq-layout {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start} .faq-aside-photo {aspect-ratio:4 / 3;border-radius:14px;background-color:#2a2a2a;background-image:linear-gradient(160deg,#2a2a2a,#4b4b4b);background-size:cover;background-position:center;background-repeat:no-repeat} @media (max-width:900px) {.faq-layout {grid-template-columns:1fr} .faq-aside {order:2}} .mood-grid {grid-template-columns:repeat(3,1fr)} .mood-grid .photo-card,.mood-grid .photo-card img,.mood-grid .photo-card-placeholder {min-height:260px} .mood-grid .photo-card img {height:260px} @media (max-width:720px) {.mood-grid {grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}} .full-bleed-band {width:100vw;margin-left:calc(50% - 50vw);margin-top:1.6rem;padding:2.4rem clamp(1rem,4vw,2.5rem)} .full-bleed-band .band-inner {max-width:var(--maxw);margin:0 auto} .band-gray {background:#f5f4f1} .band-cream-yellow {background:#fbf3dc} .band-ink {background:var(--ink);color:var(--paper)} .band-ink h2 {color:var(--paper)} .listing-card {display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--paper);color:var(--ink);text-decoration:none;border:1px solid var(--line)} .listing-card-media {background:var(--ink)} .listing-card-media img,.listing-card-media .photo-card-placeholder {width:100%;height:170px;object-fit:cover;display:block} .listing-card-body {position:relative;padding:1rem 1.1rem 1.3rem;flex:1} .listing-card-body h3 {font-size:1.05rem;margin:0 0 0.2rem} .listing-card-subtitle,.listing-card-location {margin:0;color:var(--muted);font-size:0.85rem} .listing-card-meta {display:flex;align-items:center;gap:0.4rem;margin:0.4rem 0 0;font-size:0.82rem;color:var(--muted)} .listing-card-meta .meta-item {display:inline-flex;align-items:center;gap:0.3rem} .listing-card-meta .meta-sep {opacity:0.6} .card-rating[hidden] {display:none !important} .listing-card-footer {display:flex;align-items:center;justify-content:space-between;margin-top:0.7rem} .listing-card-price {font-weight:800} .listing-card-arrow {position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:var(--sun);color:var(--ink)} .experience-listing-card .listing-card-arrow,.experience-listing-card .listing-card-footer {position:static} .experience-listing-card .listing-card-footer .listing-card-arrow {position:static;margin:0} .listing-card:hover .listing-card-arrow {filter:brightness(0.95)} .chip-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem;margin-top:0.4rem} @media (max-width:720px) {.chip-grid {grid-template-columns:1fr}} .chip {display:flex;align-items:center;justify-content:space-between;gap:0.6rem;padding:0.9rem 1.1rem;border-radius:var(--radius);border:1px solid rgba(255,255,255,0.25);background:rgba(255,255,255,0.06);color:var(--paper);text-decoration:none;font-weight:600} .chip:hover {background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.4)} .chip .icon-arrow {flex:0 0 auto;color:var(--sun)} .explore-countries {columns:4 160px;column-gap:2rem;margin:1rem 0} .explore-countries a {display:block;break-inside:avoid;color:var(--ink);text-decoration:none;padding:0.35rem 0} .explore-countries a:hover {text-decoration:underline} .explore-all-link {display:inline-block;margin-top:1rem;color:var(--ink);background:var(--sun);font-weight:700;text-decoration:none;padding:0.6rem 1.1rem;border-radius:999px} .explore-all-link:hover {filter:brightness(0.95)} .trust-points {align-items:center} .trust-points li {display:inline-flex;align-items:center;gap:0.4rem} .trust-points .icon {color:var(--ink);flex:0 0 auto} .partner-row {list-style:none;display:flex;flex-wrap:wrap;gap:0.8rem;margin:1rem 0 0;padding:0} .partner-chip {display:inline-flex;align-items:center;gap:0.55rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:0.45rem 1rem;font-weight:700} .partner-chip-mark {flex:0 0 auto;width:26px;height:26px;border-radius:8px;background-color:var(--paper);background-size:22px 22px;background-position:center;background-repeat:no-repeat} .partner-chip-wordmark svg {display:block;height:16px;width:auto} .partner-list {display:grid;gap:1.1rem;margin-top:1rem} .partner-entry {display:flex;gap:0.9rem;align-items:flex-start} .partner-entry .partner-logo {flex:0 0 auto;width:46px;height:46px;border-radius:10px;border:1px solid var(--line);background-color:var(--paper);background-size:34px 34px;background-position:center;background-repeat:no-repeat} .partner-entry h3 {margin:0;font-size:1.15rem} .partner-entry p {margin:0.25rem 0 0} .partner-reviews-mount {min-height:150px} .partner-wordmark svg {display:block;height:24px;width:auto} .footer-grid {display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(110px,1fr));gap:2.5rem clamp(1.5rem,3vw,3rem);max-width:var(--maxw);margin:0 auto} .footer-col {min-width:0} .footer-grid nav.footer-col {display:flex;flex-direction:column;align-items:flex-start;margin:0} .footer-col h2 {color:var(--paper);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.09em;margin:0 0 0.75rem} .footer-grid nav a {display:block;width:fit-content;margin:0;padding:0.32rem 0;line-height:1.45} .footer-cookie-settings {display:block;width:fit-content;margin:0;padding:0.32rem 0;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:0.9rem;line-height:1.45;color:#d6d6d6;text-decoration:none} .footer-cookie-settings:hover {color:var(--sun)} .footer-copyright {margin-top:1.2rem !important;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,0.12);font-size:0.8rem !important} .footer-trademarks {margin-top:0.4rem !important;font-size:0.72rem !important;opacity:0.75} .footer-powered-by {max-width:var(--maxw);margin:2.2rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,0.12);text-align:center} .footer-powered-by a {display:inline-flex;align-items:center;font-size:0.8rem;color:#b8b8b8} @media (max-width:860px) {.footer-grid {grid-template-columns:repeat(3,minmax(0,1fr))} .footer-brand-col {grid-column:1 / -1}} @media (max-width:560px) {.site-footer {padding-block:2.4rem 2.8rem} .footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem} .footer-brand-col {grid-column:1 / -1}} .icon {flex:0 0 auto} .region-panel-group {background:var(--cream);padding:1.6rem 0 2.4rem} .section-eyebrow {margin:0 0 1rem;color:var(--muted);font-size:0.74rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase} .region-panel {display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:0;margin:0 0 1.4rem;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,0.07)} .region-panel--reverse {direction:rtl} .region-panel--reverse>* {direction:ltr} .region-panel-media {position:relative;min-height:240px} .region-panel-media img,.region-panel-placeholder {width:100%;height:100%;object-fit:cover;display:block} .region-panel-placeholder {background:linear-gradient(160deg,#2a2a2a,#4b4b4b)} .region-panel-badge {position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;gap:0.35rem;padding:0.4rem 0.75rem;border-radius:999px;background:var(--paper);color:var(--ink);font-size:0.8rem;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,0.18)} .region-panel-credit {position:absolute;top:1rem;right:1rem;max-width:56%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0.28rem 0.55rem;border-radius:999px;background:rgba(255,255,255,0.92);color:var(--muted);font-size:0.68rem;box-shadow:0 3px 10px rgba(0,0,0,0.14)} .region-panel-credit a {color:inherit} .region-panel-overlay {position:absolute;bottom:1rem;left:1rem;right:1rem;color:var(--paper);font-weight:700;font-size:0.92rem;text-decoration:underline;text-underline-offset:3px;text-shadow:0 1px 8px rgba(0,0,0,0.5)} .region-panel--reverse .region-panel-badge {left:auto;right:1rem} .region-panel--reverse .region-panel-credit {right:auto;left:1rem} .region-panel--reverse .region-panel-overlay {text-align:right} .region-panel-body {padding:1.6rem 1.7rem} .region-panel-body h2 {margin:0 0 0.2rem;font-size:1.5rem} .region-panel-subtitle {margin:0 0 0.9rem;color:var(--muted);font-size:0.9rem} .region-panel-row {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 0;border-top:1px solid var(--line);color:inherit;text-decoration:none} .region-panel-rows>.region-panel-row:first-child {border-top:0} .region-panel-row:hover {color:var(--ink)} .region-panel-row:hover strong {text-decoration:underline} .region-panel-rowtext {display:flex;flex-direction:column;gap:0.25rem;min-width:0} .region-panel-rowtext strong {font-size:1.02rem} .region-panel-metaline {display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap} .region-panel-meta {color:var(--muted);font-size:0.85rem} .region-panel-chip {border-radius:999px;background:var(--cream);border:1px solid var(--line);padding:0.16rem 0.55rem;color:var(--muted);font-size:0.72rem;font-weight:700} .region-panel-chevron {flex:0 0 auto;color:var(--muted)} .region-panel-viewall {display:inline-block;margin-top:1rem;font-weight:700;font-size:0.92rem;text-underline-offset:3px} @media (max-width:820px) {.region-panel,.region-panel--reverse {grid-template-columns:minmax(0,1fr);direction:ltr} .region-panel-media {height:200px;min-height:0} .region-panel-body {padding:1.2rem 1.1rem 1.4rem}} .guide-filter-band {padding-top:1.35rem} .guide-filter-form {display:flex;align-items:center;gap:0.75rem;padding:0.5rem 0.55rem 0.5rem 1rem;border:1px solid #d8d8d8;border-radius:999px;background:var(--paper);box-shadow:0 10px 30px rgba(0,0,0,0.08)} .guide-filter-form:focus-within {border-color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,0.08),0 0 0 2px var(--sun)} .guide-filter-icon {flex:0 0 auto;color:var(--muted)} .guide-filter-form input {flex:1 1 auto;min-width:0;min-height:46px;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;appearance:none;-webkit-appearance:none} .guide-filter-form input::placeholder {color:var(--muted);font-weight:500} .guide-filter-form input::-webkit-search-cancel-button {-webkit-appearance:none} .guide-filter-form .btn {flex:0 0 auto;min-height:48px;padding-inline:1.55rem} .guide-filter-summary {margin:0.85rem 0 0;color:var(--muted);font-size:0.9rem} .guide-filter-summary a {color:var(--ink);font-weight:700} .guide-filter-empty {margin-top:1.5rem;padding:1.35rem 1.5rem 1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)} .guide-filter-empty h2 {margin-bottom:0.35rem} .guide-filter-empty p {margin:0;color:var(--muted)} .guide-country-panels .region-panel-media::after {content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(0,0,0,0.62));pointer-events:none} .guide-country-panels:is(.region-panel-badge,.region-panel-overlay) {z-index:1} @media (max-width:600px) {.guide-filter-form {flex-wrap:wrap;border-radius:20px;padding:0.55rem} .guide-filter-icon {margin-left:0.35rem} .guide-filter-form .btn {flex-basis:100%;width:100%}} .location-card {display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,0.8fr);gap:1.2rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)} .static-map {min-height:320px;background:#e9e6dd} .static-map object {display:block;width:100%;height:100%;min-height:320px} .static-map-fallback {min-height:320px;display:grid;place-content:center;justify-items:center;gap:0.65rem;color:var(--muted);background:linear-gradient(30deg,transparent 24%,rgba(17,17,17,0.06) 25%,rgba(17,17,17,0.06) 26%,transparent 27%,transparent 74%,rgba(17,17,17,0.06) 75%,rgba(17,17,17,0.06) 76%,transparent 77%),linear-gradient(120deg,transparent 24%,rgba(17,17,17,0.06) 25%,rgba(17,17,17,0.06) 26%,transparent 27%,transparent 74%,rgba(17,17,17,0.06) 75%,rgba(17,17,17,0.06) 76%,transparent 77%);background-size:64px 64px} .map-pin {color:#d54b3d;font-size:2.2rem;line-height:1} .location-card-body {padding:1.2rem 1.2rem 1rem 0;align-self:center} .location-precision {margin-top:0} .map-actions {display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem} .map-chooser summary {border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;font-weight:700;padding:0.58rem 0.85rem} .map-chooser {position:relative} .map-chooser summary {list-style:none} .map-chooser summary::-webkit-details-marker {display:none} .map-app-links {position:absolute;z-index:2;top:calc(100% + 0.4rem);left:0;min-width:190px;padding:0.45rem;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 10px 30px rgba(17,17,17,0.12)} .map-app-links a {display:block;padding:0.55rem 0.65rem;border-radius:8px;color:var(--ink);text-decoration:none} .map-app-links a:hover {background:var(--cream)} .map-privacy,.map-attribution {color:var(--muted);font-size:0.78rem;line-height:1.45} .map-attribution {margin-bottom:0} .map-attribution a {color:inherit} @media (max-width:760px) {.location-card {grid-template-columns:1fr} .location-card-body {padding:0 1rem 1rem} .static-map,.static-map object,.static-map-fallback {min-height:250px}} .hotel-map-layout {display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,0.75fr);gap:1rem;align-items:start;margin-top:1rem} .hotel-map-figure {min-width:0;margin:0} .hotel-results-map {position:relative;overflow:hidden;aspect-ratio:12 / 7;border:1px solid var(--line);border-radius:var(--radius);background:#e9e6dd} .hotel-map-basemap {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover} .hotel-map-fallback {display:grid;place-content:center;justify-items:center;gap:0.4rem;width:100%;height:100%;color:var(--muted);background:linear-gradient(30deg,transparent 24%,rgba(17,17,17,0.06) 25%,rgba(17,17,17,0.06) 26%,transparent 27%,transparent 74%,rgba(17,17,17,0.06) 75%,rgba(17,17,17,0.06) 76%,transparent 77%),linear-gradient(120deg,transparent 24%,rgba(17,17,17,0.06) 25%,rgba(17,17,17,0.06) 26%,transparent 27%,transparent 74%,rgba(17,17,17,0.06) 75%,rgba(17,17,17,0.06) 76%,transparent 77%);background-size:64px 64px} .hotel-map-fallback>span:first-child {color:#d54b3d;font-size:2rem} .hotel-map-pins {position:absolute;inset:0;pointer-events:none} .hotel-map-pin {position:absolute;z-index:1;display:grid;width:2.1rem;height:2.1rem;place-items:center;transform:translate(-50%,-100%);border:3px solid var(--paper);border-radius:50% 50% 50% 0;background:#d54b3d;box-shadow:0 2px 8px rgba(17,17,17,0.35);color:#fff;font-size:0.78rem;font-weight:800;line-height:1;text-decoration:none;pointer-events:auto} .hotel-map-pin:hover,.hotel-map-pin:focus-visible {z-index:2;transform:translate(-50%,-100%) scale(1.12)} .hotel-map-caption {margin-top:0.55rem;color:var(--muted);font-size:0.78rem;line-height:1.45} .hotel-map-list {max-height:560px;margin:0;padding:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);list-style:none} .hotel-map-listing {padding:0.9rem} .hotel-map-listing + .hotel-map-listing {border-top:1px solid var(--line)} .hotel-map-listing-heading {display:flex;gap:0.7rem;align-items:flex-start} .hotel-map-listing-heading h3 {margin:0;font-size:1rem} .hotel-map-listing-heading p,.hotel-map-address,.hotel-map-unmapped {margin:0.2rem 0 0;color:var(--muted);font-size:0.82rem} .hotel-map-listing-number {display:grid;flex:0 0 1.7rem;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:#d54b3d;color:#fff;font-size:0.75rem;font-weight:800} .hotel-map-listing-number:not([data-mapped]) {background:var(--muted)} .hotel-map-deal {display:flex;justify-content:space-between;gap:0.6rem;margin-top:0.7rem;color:var(--ink)} @media (max-width:860px) {.hotel-map-layout {grid-template-columns:1fr} .hotel-map-list {max-height:none}} .hotel-map-layout [hidden] {display:none !important} .hotel-results-map>[data-hotel-map-fallback] {position:absolute;inset:0} .hotel-map-canvas {position:absolute;z-index:3;inset:0;width:100%;height:100%;background:#e9e6dd} .hotel-map-overlay-controls {position:absolute;z-index:5;inset:0;pointer-events:none} .hotel-map-start,.hotel-map-reset {position:absolute;pointer-events:auto;min-height:44px;box-shadow:0 3px 14px rgba(17,17,17,0.25)} .hotel-map-start {left:50%;bottom:1rem;transform:translateX(-50%);white-space:nowrap} .hotel-map-reset {top:0.75rem;left:0.75rem;border:1px solid var(--line);border-radius:999px;padding:0.55rem 0.85rem;background:var(--paper);color:var(--ink);font:inherit;font-weight:750;cursor:pointer} .hotel-map-status,.hotel-map-privacy {margin:0.6rem 0 0;color:var(--muted);font-size:0.8rem;line-height:1.45} .hotel-map-status[data-state="loading"]::before {content:"";display:inline-block;width:0.75rem;height:0.75rem;margin-right:0.45rem;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:hotel-map-spin 0.8s linear infinite} .hotel-map-status[data-state="error"] {padding:0.65rem 0.75rem;border-left:4px solid #b9382c;background:#fff3f1;color:var(--ink)} .hotel-map-reset,.hotel-map-retry,.hotel-map-show {appearance:none;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease} .hotel-map-retry,.hotel-map-show {border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;font-weight:750} .hotel-map-retry {min-height:40px;margin-top:0.55rem;padding:0 0.9rem;font-size:0.85rem} .hotel-map-show {min-height:36px;margin-top:0.65rem;padding:0 0.85rem;background:var(--cream);font-size:0.82rem} .hotel-map-show:hover,.hotel-map-retry:hover,.hotel-map-reset:hover {border-color:var(--ink);background:var(--paper);box-shadow:0 2px 8px rgba(17,17,17,0.12);transform:translateY(-1px)} .hotel-map-show:active,.hotel-map-retry:active,.hotel-map-reset:active {transform:translateY(0)} .hotel-map-show:focus-visible,.hotel-map-retry:focus-visible,.hotel-map-reset:focus-visible {outline:3px solid var(--sun);outline-offset:2px} .hotel-map-listing:focus-visible {outline:3px solid var(--sun);outline-offset:-3px} .hotel-map-price-marker {display:block;max-width:9rem;min-height:32px;overflow:hidden;border:2px solid var(--paper);border-radius:999px;padding:0.28rem 0.55rem;background:var(--ink);box-shadow:0 2px 8px rgba(17,17,17,0.32);color:#fff;font:inherit;font-size:0.78rem;font-weight:850;line-height:1.15;text-overflow:ellipsis;white-space:nowrap;cursor:pointer} .hotel-map-price-marker:hover,.hotel-map-price-marker:focus-visible,.hotel-map-price-marker.is-selected {z-index:2;outline:3px solid var(--sun);outline-offset:2px;background:#b9382c} .hotel-map-popup {display:grid;gap:0.25rem;color:var(--ink)} .hotel-map-popup>span {color:var(--muted)} .hotel-map-popup>a {margin-top:0.2rem;font-weight:750} @keyframes hotel-map-spin {to {transform:rotate(360deg)}} @media (prefers-reduced-motion:reduce) {.hotel-map-status[data-state="loading"]::before {animation:none} .hotel-map-pin {transition:none}} @media (max-width:600px) {.hotel-results-map {aspect-ratio:4 / 5;min-height:420px} .hotel-map-start {bottom:0.75rem;max-width:calc(100% - 1.5rem)} .hotel-map-reset {top:0.6rem;left:0.6rem}}
