/* NosaraCostaRica.com — Nosara & Guanacaste theme (Brand & Build 2026-10-24, Seine.com Conversion Standard). */
:root{
  --ink:#0b2540;
  --paper:#faf8f4;
  --accent:#e05a3f;
  --accent-ink:#ffffff;
  --sea:#0e5f76;
  --jungle:#145b44;
  --coral:#c8432b;
  --sand:#f2ece1;
  --border:#d8dfd9;
  --gold:#f7c873;
}
body{background:var(--paper);color:var(--ink)}
p{color:#2c4252}
body:before{content:"";display:block;height:6px;background:linear-gradient(90deg,#0b2540 0 42%,#145b44 42% 76%,#e05a3f 76% 100%)}
h1,h2,h3{letter-spacing:-.03em}
h1{font-weight:700}
h2{font-weight:700}
header{height:84px}
.brand{color:var(--ink);min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.brand img{border-radius:12px}
nav{gap:14px;align-items:center}
header nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:6px 8px;border-bottom:2px solid transparent}
nav a[aria-current]{border-bottom-color:var(--coral)}
header nav a.nav-find-cta{background:var(--gold);color:#0b2540;padding:10px 18px;border-radius:999px;font-weight:700;min-height:44px;min-width:44px;border-bottom:0;white-space:nowrap;text-decoration:none}
header nav a.nav-find-cta:hover{background:#eab553;color:#0b2540}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;min-height:44px;min-width:44px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none}
:focus-visible{outline:3px solid #c8432b;outline-offset:3px;border-radius:4px}
.skip{min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.skip:focus{left:12px;top:12px;z-index:100;background:#fff;color:var(--ink);padding:12px 16px;border-radius:8px;outline:3px solid #c8432b}
.commission-top{font-size:13px;margin-top:10px;padding:10px 14px;background:#e8f2ee;border-left:4px solid var(--jungle);border-radius:6px;color:#1b3847}
.crumbs{text-align:left}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:0;margin:16px 0 0;font-size:13px;align-items:center}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li:before{content:"›";margin-right:8px;color:#526875}
.crumbs a{display:inline-flex;min-height:44px;min-width:44px;padding:6px 10px;align-items:center;justify-content:center;text-decoration:underline;text-underline-offset:3px;border-radius:6px}
.nc-hero{margin:14px 20px 0;display:grid;grid-template-columns:1.05fr .95fr;border-radius:28px;overflow:hidden;background:linear-gradient(155deg,#0b2540 0%,#0f455e 52%,#145b44 100%);color:#fff;min-height:520px}
.nc-hero .herocopy{padding:56px 7% 48px;max-width:none;position:static}
.nc-hero small{color:#f7c873;letter-spacing:.18em;font-size:11px;margin-bottom:16px;display:block;font-weight:600}
.nc-hero h1{font-size:clamp(40px,4.6vw,64px);color:#fff}
.nc-hero p{color:#e6f4f1;font-size:17px;max-width:540px;margin:18px 0 0}
.nc-art{position:relative;min-height:320px}
.nc-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nc-hero :focus-visible{outline-color:#f7c873}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.button.hero-cta{display:inline-flex;min-height:48px;min-width:48px;margin:0;background:#f7c873;color:#0b2540;align-items:center;gap:10px;padding:12px 22px;font-weight:700}
.button.hero-cta.alt{background:#faf8f4;color:#0b2540}
.intro{padding:34px 0 22px}
.intro h1{font-size:clamp(34px,4vw,54px);max-width:960px}
.intro p{font-size:17px;max-width:720px}
.intro .button.hero-cta{background:var(--jungle);color:#fff}
.intro .button.hero-cta.alt{background:#e8f2ee;color:#0b2540}
.prose{max-width:880px}
.prose h2{margin-top:1.6em;font-size:clamp(26px,2.6vw,36px)}
.prose h3{font-size:22px;margin-top:1.4em}
.prose a:not(.button){text-decoration:underline;text-underline-offset:3px;color:#0d5268;overflow-wrap:anywhere}
.prose ul{padding-left:1.2em}
.prose li{margin:6px 0}
.quick-finder{margin:16px 0 26px;padding:20px 22px;background:var(--sand);border:1px solid #dfd5c3;border-radius:18px}
.quick-finder__eyebrow{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--jungle);margin-bottom:4px}
.quick-finder__title{font-size:clamp(20px,2.2vw,26px);margin:0 0 12px !important;color:var(--ink)}
.quick-finder .chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.prose .quick-finder .chips a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid #cad4cf;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}
.prose .quick-finder .chips a:hover{background:#e8f2ee;border-color:var(--jungle)}
.finder-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:12px}
.finder-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.finder-card__badge{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#0b2540;color:#f7c873}
.finder-card__eyebrow{font-size:12px;color:#3d5564;font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.finder-card__title{font-size:17px;margin:4px 0 !important;color:var(--ink)}
.finder-card__desc{font-size:14px;margin:0;color:#2c4252}
.finder-card__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.button--finder,.button--viator{background:var(--jungle);color:#fff}
.button--finder:hover,.button--viator:hover{background:#0f4634;color:#fff}
.prose .finder-card__guide{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:6px 10px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:underline}
.aff-card{border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin:16px 0;background:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 2px 8px rgba(11,37,64,.04)}
.aff-card__body{flex:1 1 420px}
.aff-card__eyebrow{font-size:12px;font-weight:600;color:var(--jungle);margin-bottom:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.deal-partner-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#e8f2ee;color:#0b2540;font-size:11px;font-weight:700}
.aff-card__title{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 6px}
.aff-card__meta{font-size:14px;color:#385060;margin:0 0 6px}
.aff-card__note{font-size:13px;color:#2c4252;margin:4px 0 6px}
.aff-card__check{font-size:13px;color:#4a5f6d;margin:4px 0 0;font-style:italic}
.aff-card__cta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.card-provider{font-size:12px;color:#4a5f6d;font-weight:600;padding-left:4px}
.table-wrap{overflow-x:auto;margin:18px 0 26px;border:1px solid var(--border);border-radius:14px;background:#fff}
.prose table{width:100%;border-collapse:collapse;font-size:14px;min-width:540px}
.prose th,.prose td{padding:12px 14px;text-align:left;border-bottom:1px solid #e6ece8;vertical-align:top}
.prose th{background:#eef4f1;color:var(--ink);font-weight:700}
.prose tr:last-child td{border-bottom:0}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin:20px 0 28px}
.pcard{border:1px solid var(--border);border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:14px;box-shadow:0 2px 8px rgba(11,37,64,.04)}
.pcard h3{font-size:18px;margin:0;line-height:1.35;color:var(--ink)}
.pcard-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#eaf3ef;color:#145b44}
.badge.canal{background:#e6f0f5;color:#0b3b54}
.badge.ticket{background:#fdf0ec;color:#a8321e}
.pcard-price{font-size:13px;color:#3d5564;margin:0}
.pcard-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.pcard .button{margin:0;background:var(--jungle);color:#fff}
.pcard .button:hover{background:#0f4634}
.via{font-size:12px;color:#4a5f6d}
.deals{display:flex;flex-wrap:wrap;gap:14px 18px;margin:18px 0 26px;padding:18px 20px;background:var(--sand);border-radius:16px;scroll-margin-top:20px;border:1px solid #e2d9c8}
.deal{display:flex;flex-direction:column;gap:6px}
.deal-title{font-size:15px;font-weight:700;color:var(--ink)}
.deal-meta{font-size:13px;color:#385060}
.deal .button{margin:0;background:var(--jungle);color:#fff;align-self:flex-start}
.standalone-tickets{margin:28px 0;padding:22px;background:#f5efe6;border:1px solid #dfd3c0;border-left:5px solid var(--coral);border-radius:16px}
.standalone-tickets h3{margin-top:0;font-size:20px;color:var(--ink)}
.standalone-tickets p.ticket-note{font-size:14px;color:#3d5260;margin:6px 0 16px}
.gyg-discovery-block{margin:20px 0;min-height:4px}
.hotel-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:18px 0 26px}
.hotel-card{border:1px solid var(--border);border-radius:14px;padding:18px;background:#fff}
.hotel-card h3{font-size:17px;margin:0 0 6px}
.hotel-card p{font-size:14px;margin:4px 0}
.menu{min-height:44px;min-width:44px}
footer{background:#0b2540;color:#e8f2f5;margin-top:36px}
footer .brand{color:#fff}
footer p,footer small{color:#c9dce3}
.footergrid>div>a:not(.brand){color:#e8f2f5;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:4px 0}
.fine{color:#c9dce3;border-top-color:#214563}
.fine .linkbtn{min-height:44px;min-width:44px;padding:8px 12px;display:inline-flex;align-items:center;color:#f7c873;text-decoration:underline}
footer :focus-visible{outline-color:#f7c873}
.footergrid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
/* Consent banner — strictly >=44x44px tap targets and clear typography */
.consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:780px;margin:0 auto;z-index:90;background:#0b2540;color:#faf8f4;border:1px solid #284f73;border-radius:16px;padding:16px 20px;box-shadow:0 12px 32px rgba(11,37,64,.28);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.consent[hidden]{display:none!important}
.consent p{color:#e6f1f5;font-size:14px;line-height:1.45;margin:0;flex:1 1 360px}
.consent p a{color:#f7c873;text-decoration:underline}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.consent .button{min-height:44px;min-width:88px;padding:10px 18px;font-size:14px;cursor:pointer;border:1px solid transparent}
.consent .button[data-consent="yes"]{background:#f7c873;color:#0b2540;font-weight:700}
.consent .button[data-consent="no"]{background:transparent;color:#faf8f4;border-color:#6889a6}
@media(max-width:1100px){.nc-hero{grid-template-columns:1fr 1fr}nav{gap:10px}}
@media(max-width:720px){
  header{height:72px}
  .nc-hero{grid-template-columns:1fr;margin:8px 10px 0;min-height:0;border-radius:22px}
  .nc-hero .herocopy{padding:28px 22px 26px}
  .nc-hero h1{font-size:34px}
  .nc-hero p{font-size:16px;margin-top:12px}
  .nc-art{min-height:220px}
  .hero-ctas{margin-top:18px;gap:10px}
  .intro{padding:20px 0 16px}
  .intro h1{font-size:30px}
  .intro p{font-size:16px}
  header nav a{min-height:44px;display:flex;align-items:center}
  header nav a.nav-find-cta{margin-top:6px;justify-content:center}
  .footergrid{grid-template-columns:1fr 1fr}
  .footergrid>div>a:not(.brand){min-height:44px;display:flex;align-items:center;margin:0}
  .consent{bottom:10px;left:10px;right:10px;padding:14px 16px}
}

.disclosure-pill a,footer p a,.footer-sister a,.fine a{display:inline-flex;min-height:44px;min-width:44px;align-items:center;text-decoration:underline;padding:0 6px}

.button--agoda{background:#0b2540;color:#fff}
