/* Travel Infinito: search-led travel storefront, version 43. */
.simple-site{--ink:#123548;--teal:#087c83;background:#fff;color:var(--ink)}
.simple-site .topbar{min-height:82px;padding-block:12px;gap:24px}
.simple-site header nav{gap:26px}.simple-site header nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.simple-site header nav .nav-plan{border-radius:8px;background:#eef6f7;padding:10px 14px}
.simple-site .button{border-radius:8px}.simple-site input:focus,.simple-site select:focus{outline:2px solid #087c83;outline-offset:2px}
.booking-home .journey-hero{position:relative;isolation:isolate;padding:48px 0 38px;background:#073c51;border:0}
.booking-home .journey-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#073c51f5,#073c51df 50%,#073c51a8),url('/media/costa-infinito.jpg') center 56%/cover}
.booking-home .journey-welcome{display:block;text-align:center;margin:0 0 30px}
.booking-home .journey-welcome .eyebrow{color:#a9e3dc;font-size:11px;letter-spacing:2px;margin:0 0 15px}
.booking-home .journey-welcome h1{color:white;font-size:clamp(32px,3.6vw,48px);letter-spacing:-1.6px;line-height:1.12;margin:0 0 14px}
.booking-home .journey-welcome .journey-intro{color:#e1eff2;max-width:none;font-size:16px;line-height:1.6;margin:0}
.booking-home .search-surface{padding:22px 28px 20px;border:0;border-radius:16px;background:white;box-shadow:0 10px 36px #001d3650}
.search-caption{font-size:13px;color:#526775;margin:0 0 12px;font-weight:600}
.booking-home .search-surface .service-tabs{display:flex;gap:8px;align-items:center;justify-content:flex-start;padding-bottom:17px;flex-wrap:wrap}
.booking-home .search-surface .service-tabs button{display:inline-flex;gap:10px;align-items:center;padding:12px 20px;min-height:48px;font-size:15px;border-radius:8px;color:#294d5d;background:#f4f7f8}
.booking-home .service-tabs svg{width:22px;height:22px;flex-shrink:0}
.booking-home .search-surface .service-tabs button[aria-pressed=true]{color:white;background:#087c83}
.booking-home .search-surface .service-tabs button[aria-pressed=true]:hover{background:#06676d}
.booking-home .search-surface .service-tabs button:hover{background:#e4f2f2}
.booking-home .search-surface .journey-form{padding:20px 0 8px;gap:16px 20px}
.booking-home .journey-form[data-kind=actividades]{grid-template-columns:minmax(0,1fr) 250px;align-items:start}
.booking-home .journey-form[data-kind=actividades] .journey-submit{align-self:start;margin-top:26px;min-height:56px;width:100%;grid-row:1}
.booking-home .journey-form input,.booking-home .journey-form select{background:#fff;min-height:56px;border:1px solid #a8bcc5;border-radius:8px}
.booking-home .journey-form label{font-size:13px;color:#294d5d;margin-bottom:8px}
.booking-home .journey-form[data-kind=actividades] .journey-search-state{font-size:12px;margin:0;line-height:1.5}
.booking-home .journey-form .dc-help{font-size:12px;line-height:1.5;margin-top:7px}
.booking-home .search-surface .journey-hero-note{font-size:11px;margin-top:5px;line-height:1.6;color:#647b86}
.booking-home .search-surface .official-search{max-width:100%;color:#123548}
.booking-home .official-search .official-widget-host{max-width:640px}
.booking-home .hotel-provider-options{max-width:680px}
.booking-home .booking-steps{gap:36px;padding-block:25px;border-bottom:1px solid #e4ecef}
.booking-home .booking-steps>div>span{color:#087c83;background:#e7f5f3;font-size:12px;width:40px;height:40px}
.booking-home .booking-steps strong{color:#123548}.booking-home .booking-steps small{color:#647b86}
.travel-destinations{padding-block:42px 16px}
.travel-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.travel-section-heading h2,.booking-home .partners-heading h2{font-size:clamp(25px,2.5vw,32px);letter-spacing:-.8px;line-height:1.18;margin:8px 0 10px}
.travel-section-heading p{font-size:15px;color:#647b86;margin:0}.travel-section-heading .eyebrow{font-size:10px;color:#087c83;letter-spacing:1.6px}
.travel-section-heading>.text-link{white-space:nowrap;font-size:14px}
.travel-destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.travel-destination-card{overflow:hidden;border:1px solid #dce6eb;border-radius:14px;background:white;box-shadow:0 3px 12px #12354806;transition:box-shadow .15s ease}
.travel-destination-card:hover{box-shadow:0 7px 23px #12354816}
.destination-photo-link{display:block;position:relative;overflow:hidden}
.destination-photo-link>img{display:block;width:100%;height:185px;object-fit:cover}
.destination-arrow{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#fffffff2;color:#123548;font-size:20px}
.destination-card-copy{padding:18px}.destination-card-copy>p{font-size:11px;color:#647b86;margin:0 0 5px}.destination-card-copy h3{font-size:23px;line-height:1.2;letter-spacing:-.5px;margin:0 0 15px}
.destination-actions{display:flex;gap:8px;flex-wrap:wrap}.destination-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid #c9dbdf;border-radius:7px;text-decoration:none;font-size:12px;font-weight:700}
.destination-actions>a:hover{background:#eaf7f5;border-color:#087c83}
.travel-promos{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-block:26px}
.travel-promo{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);min-height:280px;border-radius:16px;background:#edf5f8;overflow:hidden}
.travel-promo>div{padding:28px 24px;position:relative;z-index:1}.travel-promo h2{font-size:26px;line-height:1.17;letter-spacing:-.65px;margin:12px 0}.travel-promo p:not(.eyebrow){font-size:13px;line-height:1.6;color:#526775;margin:0 0 20px}.travel-promo .eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.1px;margin:0}.travel-promo .button{min-height:44px;font-size:13px;padding:12px 16px}
.travel-promo>img{width:100%;height:100%;object-fit:cover}.package-promo>img{object-position:49% center}.car-promo{background:#eaf3eb}.car-promo>img{object-position:64% center}
.booking-home .approved-partners{padding:20px 0 10px}.booking-home .partners-heading .eyebrow{font-size:10px;letter-spacing:1.6px}.booking-home .partners-heading h2{margin-bottom:22px}.booking-home .approved-partner{background:white;border-radius:12px;border-color:#dce6eb;box-shadow:none}.booking-home .approved-partner:hover{transform:none;box-shadow:0 7px 23px #12354816}.booking-home .partners-note{font-size:11px;max-width:none;line-height:1.7}
.booking-home .guide-with-photo{background:#073c51;border-radius:16px;margin-block:28px 42px}.booking-home .guide-with-photo h2{font-size:27px;letter-spacing:-.6px}.booking-home .guide-with-photo p{font-size:14px}.booking-home .guide-with-photo .button{background:white;color:#073c51;border-radius:8px}
.simple-site footer{background:#f2f6f8;color:#526775;border-top:1px solid #dce6eb}.simple-site footer .brand{background:#073c51;padding:12px 15px;border-radius:9px;width:max-content}.simple-site footer nav a{font-size:13px;color:#294d5d}.simple-site footer p{font-size:12px;color:#526775}
@media(min-width:1000px){.booking-home .journey-form[data-kind=coches]{grid-template-columns:1.15fr 1fr 1fr;align-items:start}.booking-home .journey-form[data-kind=coches]>.dc-destination{grid-column:1}.booking-home .journey-form[data-kind=coches]>.dc-driver-fields{grid-column:1/-1}.booking-home .journey-form[data-kind=coches]>.journey-search-state{grid-column:1/3}.booking-home .journey-form[data-kind=coches]>.journey-submit{grid-column:3;min-width:0;width:100%;align-self:center}.booking-home .journey-form[data-kind=coches]>.form-feedback{grid-column:1/-1}}
@media(max-width:1000px){.simple-site .topbar{gap:12px;justify-content:center}.simple-site header nav{gap:20px}.travel-destination-grid{gap:14px}.destination-card-copy{padding:14px}.destination-photo-link>img{height:165px}.travel-promo{grid-template-columns:1fr 110px}.travel-promo>div{padding:24px 20px}.travel-promo h2{font-size:23px}.travel-promo .button{font-size:12px}.booking-home .booking-steps{gap:20px}}
@media(max-width:760px){.simple-site .wrap{width:calc(100% - 32px)}.simple-site header .topbar{padding:14px 0 8px}.simple-site header nav{justify-content:center;gap:4px 18px}.simple-site header nav a{font-size:13px;white-space:nowrap}.simple-site header nav .nav-plan{padding:7px 10px}.booking-home .journey-hero{padding:30px 0}.booking-home .journey-welcome{display:block;margin-bottom:24px}.booking-home .journey-welcome h1{font-size:34px;letter-spacing:-1px;max-width:550px;margin-inline:auto}.booking-home .journey-welcome .journey-intro{font-size:14px;max-width:490px;margin-inline:auto}.booking-home .search-surface{padding:18px 20px;border-radius:14px}.booking-home .search-surface .service-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.booking-home .search-surface .service-tabs button{font-size:14px;padding:12px 8px;gap:8px}.booking-home .journey-form[data-kind=actividades]{grid-template-columns:1fr}.booking-home .journey-form[data-kind=actividades] .journey-submit{grid-column:1;grid-row:auto;margin:0;min-height:50px}.booking-home .journey-form[data-kind=actividades] .journey-search-state{grid-row:auto}.booking-home .booking-steps{grid-template-columns:1fr;gap:15px;padding-block:22px}.booking-home .booking-steps>div{align-items:center}.booking-home .booking-steps small{font-size:12px}.travel-destinations{padding-top:28px}.travel-section-heading{align-items:start;flex-direction:column;gap:5px;margin-bottom:18px}.travel-section-heading h2{font-size:27px}.travel-section-heading p{font-size:14px}.travel-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.destination-photo-link>img{height:180px}.travel-promos{grid-template-columns:1fr;padding-block:22px;gap:16px}.travel-promo{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);min-height:245px}.travel-promo>div{padding:24px}.travel-promo h2{font-size:26px}.booking-home .partners-heading h2{max-width:none;font-size:27px}.booking-home .guide-with-photo{grid-template-columns:120px 1fr;padding:0 18px 0 0}.booking-home .guide-preview{width:120px;min-height:230px}.booking-home .guide-with-photo h2{font-size:23px}.booking-home .guide-with-photo .button{margin:0 0 20px}.simple-site footer .brand{padding:10px 12px}}
@media(max-width:420px){.simple-site header .brand-logo{width:175px}.simple-site header nav{gap:2px 14px}.simple-site header nav a{font-size:12px}.booking-home .journey-welcome h1{font-size:30px}.booking-home .journey-welcome .eyebrow{font-size:10px}.booking-home .search-surface{padding:16px 14px}.booking-home .search-surface .service-tabs button{font-size:13px}.booking-home .service-tabs svg{width:19px;height:19px}.destination-photo-link>img{height:145px}.destination-card-copy{padding:12px}.destination-card-copy h3{font-size:22px}.destination-actions{gap:6px}.destination-actions>a{padding:8px;font-size:11px;min-height:40px}.travel-promo{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}.travel-promo>div{padding:22px 17px}.travel-promo h2{font-size:23px}.travel-promo .button{padding:12px;font-size:12px}.booking-home .guide-with-photo{grid-template-columns:80px 1fr;gap:16px}.booking-home .guide-preview{width:80px}.booking-home .guide-with-photo h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.travel-destination-card,.booking-home .approved-partner{transition:none}}
/* Labels inherit the tab size; earlier layouts reserved span for emoji icons. */
.booking-home .search-surface .service-tabs button>span{font-size:inherit;line-height:1.3}
.booking-home .journey-form .journey-submit{background:#087c83}.booking-home .journey-form .journey-submit:hover{background:#06676d}

/* v44: service discovery without limiting visitors to featured cities. */
.travel-inspiration{padding-block:36px 12px}
.portal-section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:22px}
.portal-section-heading h2{font-size:29px;line-height:1.2;color:#123d4d;margin:0 0 8px;letter-spacing:-.8px}
.portal-section-heading p{font-size:14px;color:#637787;margin:0}
.portal-section-heading>a{font-size:14px;font-weight:700;color:#087d87;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.travel-inspiration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.inspiration-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dbe5eb;border-radius:12px;color:#123d4d;text-decoration:none;min-width:0;box-shadow:0 3px 10px #123d4d05;transition:box-shadow .18s ease,border-color .18s ease}
.inspiration-card:hover{border-color:#6d9eab;box-shadow:0 8px 24px #123d4d13}
.inspiration-card>img{width:100%;height:auto;aspect-ratio:1.52;display:block;object-fit:cover}
.inspiration-copy{padding:19px;display:flex;flex-direction:column;flex:1}
.inspiration-kicker{font-size:10px;font-weight:750;color:#087d87;letter-spacing:1px;text-transform:uppercase}
.inspiration-card h3{font-size:20px;letter-spacing:-.5px;line-height:1.25;margin:8px 0 10px}
.inspiration-card p{font-size:13px;line-height:1.65;color:#637787;margin:0 0 18px}
.inspiration-action{font-size:13px;font-weight:750;color:#087d87;display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:10px}
.inspiration-action>span{font-size:20px}

@media(max-width:1000px){.travel-inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-section-heading{align-items:start;flex-direction:column;gap:8px}.portal-section-heading h2{font-size:26px}}
@media(max-width:540px){.travel-inspiration{padding-top:28px}.travel-inspiration-grid{gap:14px}.inspiration-copy{padding:14px}.inspiration-card h3{font-size:18px}.inspiration-card p{font-size:12px;margin-bottom:14px}.inspiration-kicker{font-size:9px}.inspiration-action{font-size:12px;gap:4px}}
@media(max-width:359px){.travel-inspiration-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.inspiration-card{transition:none}}

/* v45: one clear route from search to services, guides and booking partners. */
.simple-site header nav a{border-radius:7px;padding-inline:10px}
.simple-site header nav a[aria-current=page]{background:#eaf4f5;color:#086e76;text-decoration:none}
.simple-site .page-location{display:flex;justify-content:flex-start;align-items:center;gap:10px;flex-wrap:wrap;padding-block:16px;font-size:12px;color:#607781}
.simple-site .page-location a{display:inline-flex;align-items:center;min-height:32px;padding:0;color:#087c83;font-size:12px;font-weight:700;text-decoration:none}
.simple-site .page-location a:hover{text-decoration:underline}
.simple-site .page-location>span[aria-hidden]{color:#93a5ad}
.booking-home .journey-hero{padding-block:32px}
.booking-home .journey-welcome{margin-bottom:24px}
.booking-home .journey-welcome h1{font-size:clamp(30px,3.5vw,44px);margin-bottom:12px}
.booking-home .journey-welcome .eyebrow{margin-bottom:10px}
.booking-home .journey-welcome .journey-intro{font-size:15px}
.booking-home .search-surface{box-shadow:0 8px 28px #001d3636}
.booking-home .travel-inspiration{padding-block:38px 0}
.booking-home .portal-section-heading{margin-bottom:20px;align-items:center}
.booking-home .portal-section-heading h2{font-size:28px}
.booking-home .inspiration-card h3{font-size:21px}
.booking-home .inspiration-card p{margin-bottom:14px}
.booking-home .inspiration-copy{padding:18px}
.booking-home .home-guide{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.6fr);align-items:center;overflow:hidden;margin-block:32px;background:#eef5f5;border:1px solid #d8e7e8;border-radius:14px}
.home-guide>img{display:block;width:100%;height:100%;min-height:235px;max-height:290px;object-fit:cover}
.home-guide>div{padding:30px 36px}
.home-guide .eyebrow{font-size:10px;letter-spacing:1.4px;color:#087c83;margin:0 0 10px}
.home-guide h2{font-size:28px;line-height:1.2;color:#123548;margin:0 0 12px;text-wrap:initial}
.home-guide p:not(.eyebrow){font-size:14px;line-height:1.65;color:#526775;margin:0 0 18px;max-width:560px}
.home-guide .button{gap:16px;font-size:14px;min-height:46px;background:#087c83;color:white;padding:12px 18px}
.home-guide .button:hover{background:#06676d}
.booking-home .approved-partners{padding:0}
.booking-home .partners-heading h2{font-size:22px;margin:0 0 18px}
.booking-home .approved-partner{align-items:center;justify-content:center;text-align:center;padding:18px 12px;gap:10px;border-radius:10px;background:#fafcfc;box-shadow:none;min-height:110px}
.booking-home .approved-partner:hover{box-shadow:none;border-color:#087c83;background:#f1f8f8}
.booking-home .approved-partner>img{width:128px;height:36px;object-position:center}
.booking-home .approved-partner>span:not(.partner-wordmark){font-size:12px;line-height:1.4}
.booking-home .approved-partner .partner-wordmark{font-size:26px;line-height:36px}
.booking-home .partners-note{margin:14px 0 0;color:#607781}
.home-how{margin-block:24px 34px;border-top:1px solid #dce6eb;border-bottom:1px solid #dce6eb}
.home-how>summary{min-height:60px;padding-block:18px;font-size:14px;color:#294d5d;font-weight:700;cursor:pointer}
.home-how>summary:hover{color:#087c83}
.booking-home .home-how .booking-steps{border:0;padding:4px 0 24px;margin:0;width:100%}
.simple-site .guide-hero{padding-block:28px 32px;background:#f1f7f7}
.simple-site .guide-hero h1{font-size:clamp(30px,3.5vw,44px);letter-spacing:-1.1px;margin-block:12px}
.simple-site .guide-hero>.wrap>p:not(.eyebrow){max-width:760px;font-size:15px;line-height:1.65}
.simple-site .guide-search{margin-top:22px;border-radius:12px;gap:14px;padding:22px}
.simple-site .guide-directory{padding-top:30px}
.simple-site .directory-heading h2{font-size:27px;margin-bottom:10px}
.simple-site .directory-heading>p:last-child{margin-bottom:0;font-size:14px}
.simple-site .guide-directory details{margin-top:18px;border-radius:12px}
.simple-site .guide-directory summary{min-height:58px;padding-block:17px}
.simple-site .guide-directory details[open]>summary{border-bottom:1px solid #e0e9ec}
.simple-site .directory-controls{padding-top:20px}
.simple-site .directory-results{scrollbar-gutter:stable;overscroll-behavior:contain}
.simple-site .guide-services{padding-block:28px 40px;gap:18px}
.simple-site .guide-service{border-radius:12px;padding:24px}
.simple-site .guide-service h2{font-size:23px;margin-top:12px}
@media(min-width:1001px){.simple-site .topbar{justify-content:space-between;flex-wrap:nowrap}.simple-site header nav{gap:8px}}
@media(max-width:760px){
 .simple-site .topbar{min-height:0}
 .simple-site header nav{gap:3px 8px}
 .simple-site header nav a{min-height:44px;padding-inline:8px}
 .simple-site .page-location{padding-block:8px;gap:8px}
 .booking-home .journey-hero{padding-block:26px}
 .booking-home .journey-welcome h1{font-size:32px}
 .booking-home .journey-welcome .journey-intro{font-size:14px}
 .booking-home .travel-inspiration{padding-top:28px}
 .booking-home .portal-section-heading{align-items:flex-start;gap:6px}
 .booking-home .portal-section-heading h2{font-size:26px}
 .booking-home .inspiration-copy{padding:16px}
 .booking-home .inspiration-card h3{font-size:19px}
 .booking-home .home-guide{grid-template-columns:130px minmax(0,1fr);margin-block:26px}
 .home-guide>img{min-height:250px;max-height:none}
 .home-guide>div{padding:24px}
 .home-guide h2{font-size:24px}
 .home-guide .button{font-size:13px;gap:10px}
 .simple-site .guide-search{padding:18px}
}
@media(max-width:540px){
 .booking-home .journey-welcome{margin-bottom:20px}
 .booking-home .journey-welcome h1{font-size:30px}
 .booking-home .inspiration-copy{padding:14px}
 .booking-home .inspiration-card h3{font-size:18px}
 .booking-home .home-guide{display:block}
 .home-guide>img{height:130px;min-height:0;max-height:none;object-position:center 60%}
 .home-guide>div{padding:22px}
 .home-guide .button{width:100%;justify-content:space-between;min-height:48px}
 .booking-home .approved-partner-grid{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid #dce6eb;border-radius:10px;overflow:hidden}
 .booking-home .approved-partner,.booking-home .approved-partner:last-child{display:grid;grid-template-columns:125px minmax(0,1fr);grid-column:auto;text-align:left;align-items:center;min-height:66px;padding:12px 14px;border:0;border-bottom:1px solid #e0e9ec;border-radius:0;gap:15px;background:white}
 .booking-home .approved-partner:last-child{border-bottom:0}
 .booking-home .approved-partner>img{width:115px;height:30px;object-position:left center}
 .booking-home .approved-partner .partner-wordmark{font-size:23px;line-height:30px;grid-row:auto}
 .booking-home .approved-partner>span:not(.partner-wordmark){font-size:12px}
 .home-how{margin-bottom:26px}
 .simple-site .guide-services{grid-template-columns:minmax(0,1fr)}
 .simple-site .guide-hero h1{font-size:31px}
}
