/* Clear search, readable results and compact provider content. */
:root{--travel-focus:#087c83}
html{scroll-padding-top:24px}
body{overflow-wrap:break-word}
input,select,button,a{touch-action:manipulation}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--travel-focus);outline-offset:3px}
[hidden]{display:none!important}
.booking-home .journey-hero{padding-block:40px;background:#073c51}
.booking-home .journey-hero:before{background:linear-gradient(90deg,#062f42e8 0%,#073c51a8 56%,#073c5155),url('/media/costa-infinito.jpg') center 52%/cover}
.booking-home .journey-welcome{text-align:left;margin-bottom:30px}
.booking-home .journey-welcome h1{max-width:750px;font-size:clamp(34px,4.5vw,56px);letter-spacing:-1.8px;line-height:1.08}
.booking-home .journey-welcome .journey-intro{max-width:650px;font-size:17px}
.booking-home .search-surface{border-radius:18px;padding:22px 26px}
.booking-home .search-caption{display:none}
.booking-home .service-guide-link{margin-left:auto}
.booking-home .journey-form[data-kind=actividades]{grid-template-columns:minmax(0,1fr) 240px}
.booking-home .journey-form[data-kind=actividades] .journey-search-state{grid-column:1/-1;grid-row:2}
.booking-home .journey-form[data-kind=actividades] .journey-submit{grid-column:2;grid-row:1}
.booking-home .journey-form input,.booking-home .journey-form select{font-size:16px}
.search-reassurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:24px;border-bottom:1px solid #dce6eb}
.search-reassurance>div{display:flex;gap:12px;align-items:center}
.search-reassurance .step-number{display:grid;place-items:center;flex:0 0 34px;height:34px;background:#e8f5f3;color:#087c83;border-radius:50%;font-size:12px;font-weight:800}
.search-reassurance strong{font-size:14px;display:block;line-height:1.4}
.search-reassurance small{font-size:12px;display:block;color:#526775;margin-top:2px;line-height:1.4}
.dc-result-heading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.dc-result-heading h3{grid-column:1/-1}
.dc-result-heading label{margin:0;min-width:0}
.dc-result-heading select{font-size:16px;min-width:0;min-height:48px}
.dc-search-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.dc-search-actions button,.activity-edit-search{min-height:44px;border:1px solid #a9c6c9;border-radius:8px;padding:10px 15px;background:#fff;color:#086e76;font:700 14px Arial,Helvetica,sans-serif;cursor:pointer}
.dc-share-url{display:block;width:100%;font:14px Arial,Helvetica,sans-serif;padding:12px;border:1px solid #a9c6c9;border-radius:8px;background:#fff;color:#123548}
.dc-share-status{font-size:13px;line-height:1.5;color:#405b63}
.dc-filter-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dc-filter-feedback p{font-size:14px;font-weight:700;margin:14px 0 6px}
.dc-highlights{list-style:none;padding:0;margin:12px 0 2px;display:flex;flex-wrap:wrap;gap:6px}
.dc-highlights li{font-size:12px;line-height:1.5;padding:5px 8px;border-radius:6px;background:#eef7f3;color:#205a47}
.dc-deposit{font-size:13px;line-height:1.5;color:#405b63;margin:12px 0 0;padding-top:12px;border-top:1px solid #e2ebea}
.dc-extra-warning{font-size:13px;line-height:1.5;padding:10px;background:#fff5df;border-radius:7px;color:#6c4914;margin:10px 0 0}
.dc-offer .dc-total{font-size:32px;letter-spacing:-.7px;margin-top:16px}
.dc-offer .button{min-height:48px;font-size:14px}
.dc-offer summary{min-height:44px;align-content:center}
.dc-offer details{margin:8px 0;flex:1}
#dc-more{display:block;margin:22px auto;min-height:48px;padding:12px 24px;background:#087c83;color:#fff;border:0;border-radius:8px;font:700 15px Arial,Helvetica,sans-serif;cursor:pointer}
.activity-selection-card:has(.activity-selection-quote iframe)>img{display:none}
.activity-selection-card{border-radius:14px;scroll-margin-top:24px;box-shadow:0 4px 18px #12354807}
.activity-selection-body{padding:20px}
.activity-selection-body h3{font-size:22px;margin-bottom:14px}
.activity-selection-intro{font-size:15px;max-width:800px}
.activity-selection-body>.text-link{min-height:44px;align-content:center;margin-top:10px}
.activity-selection-card>img{height:200px}
.activity-selection-permission{margin-top:20px}
.activity-selection-note{font-size:12px}
.activity-featured>h2,#activity-heading{scroll-margin-top:24px}
.activity-edit-search{margin:4px 0 14px}
.simple-site .guide-directory details{margin-top:18px}
.simple-site .directory-results{max-height:420px}
.simple-site .guide-service details summary{min-height:44px;align-content:center;cursor:pointer}
@media(max-width:760px){
 .booking-home .journey-hero{padding-block:28px}
 .booking-home .journey-welcome h1{font-size:36px;margin-left:0;max-width:520px;letter-spacing:-1px}
 .booking-home .journey-welcome .journey-intro{font-size:15px;margin-left:0;max-width:430px}
 .booking-home .search-surface{padding:18px 16px}
 .booking-home .search-surface .service-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:15px;scrollbar-width:thin;scroll-snap-type:x proximity}
 .booking-home .search-surface .service-tabs button,.booking-home .service-guide-link{flex:0 0 auto;min-height:46px;font-size:14px;padding:11px 14px;white-space:nowrap;scroll-snap-align:start;margin-left:0}
 .booking-home .journey-form[data-kind=actividades]{grid-template-columns:1fr;gap:10px}
 .booking-home .journey-form[data-kind=actividades] .journey-submit{grid-column:1;grid-row:2;margin-top:0;min-height:50px}
 .booking-home .journey-form[data-kind=actividades] .journey-search-state{grid-row:3}
 .search-reassurance{grid-template-columns:1fr;gap:14px;padding-block:20px}
 .dc-result-heading{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .dc-result-heading label{width:100%;font-size:13px}
 .dc-search-actions button{flex:1 1 150px}
 .activity-selection-grid{gap:18px}
 .activity-selection-body{padding:14px}
 .activity-selection-body h3{font-size:20px}
 .simple-site .topbar{gap:8px}
 .simple-site header nav{flex-wrap:nowrap;width:100%;justify-content:flex-start;overflow-x:auto;gap:6px;scrollbar-width:thin}
 .simple-site header nav a{flex-shrink:0;min-height:44px;padding-inline:8px}
}
@media(max-width:380px){.booking-home .journey-welcome h1{font-size:31px}.dc-result-heading{grid-template-columns:1fr}.simple-site .wrap{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important}}
