@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#123f49;--blue:#0b5260;--yellow:#ffd34e;--light:#f0f7f8;--muted:#506b72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:white;font-size:17px;line-height:1.6}h1,h2,h3,h4,.brand{font-family:Manrope,Arial,sans-serif;line-height:1.15}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c38100;outline-offset:4px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px;background:#fff}.brand{font-weight:800;font-size:31px;letter-spacing:-1.5px;text-decoration:none;white-space:nowrap}.brand span{font-weight:500}.brand b{color:#d59700;margin-left:7px;font-size:36px}nav{display:flex;gap:28px;font-size:15px;font-weight:600}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.nav-cta,.primary{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;border:0;border-radius:8px;padding:14px 23px;font-weight:700;font-size:16px}.hero{position:relative;height:610px;overflow:hidden;margin:0 24px;border-radius:16px}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,47,.78),rgba(0,35,47,.2) 65%,transparent)}.hero-copy{position:absolute;top:57px;left:5%;color:#fff;max-width:650px}.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;margin:0 0 18px}.hero h1{font-size:clamp(42px,5vw,70px);font-weight:700;letter-spacing:-2.5px;margin:0 0 20px;line-height:1.07}.hero h1 em{color:var(--yellow);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:400px;font-size:19px;line-height:1.6}.white-button{display:inline-block;padding:12px 22px;border-radius:7px;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;margin-top:8px}.hero-note{position:absolute;bottom:34px;right:40px;color:#fff;font-size:14px;text-align:right}.trip-panel{position:relative;margin: -33px auto 0;max-width:1220px;width:88%;background:white;box-shadow:0 12px 45px #123f4917;border:1px solid #e1e9eb;border-radius:13px;padding:34px 38px;z-index:1}.trip-intro{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-bottom:22px}.trip-intro .eyebrow{display:none}.trip-intro h2{font-size:28px;margin:0}.trip-intro p{font-size:16px;color:var(--muted);margin:0}.fields{display:grid;grid-template-columns:.75fr 1fr 1fr 1.3fr;gap:18px;align-items:end}label{font-size:14px;font-weight:700}input[type=number],input[type=date]{display:block;width:100%;height:51px;margin-top:7px;border:1px solid #afc4ca;border-radius:6px;padding:10px 12px;color:var(--ink);background:#fff}.fields button{min-height:51px}.preferences{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:23px;font-size:14px}.preferences span{color:var(--muted)}.preferences label{font-weight:500;display:flex;align-items:center;gap:7px}.preferences input{accent-color:var(--blue);width:17px;height:17px}#form-error{color:#a72c1c;font-size:15px;margin:10px 0 0}#form-error:empty{display:none}.section{padding:85px 0 0;max-width:1220px;margin:auto;width:88%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}h2{font-size:43px;letter-spacing:-1.5px;margin:0}h3{font-size:25px;letter-spacing:-.6px;margin:16px 0}h4{font-size:22px;margin:0}.section-head>p{max-width:435px;font-size:17px;color:var(--muted);margin:0}.filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filter button{border:1px solid #c5d5d9;border-radius:30px;padding:9px 20px;background:white;color:var(--ink);font-size:15px;font-weight:600}.filter button.active{background:var(--blue);color:white;border-color:var(--blue)}.discovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.place{border-radius:12px;overflow:hidden;background:var(--light)}.place img{width:100%;height:230px;object-fit:cover;display:block}.place-content{padding:24px}.label{font-size:12px;letter-spacing:1.7px;font-weight:800}.place p{color:var(--muted);font-size:16px;min-height:78px}.place a{font-size:15px;font-weight:700}.place.no-image{background:#e4f0f1}.place.no-image .place-content{padding-top:34px}.stay-section{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}.stay-section>div>p:not(.eyebrow){color:var(--muted);max-width:370px}.stay-box{background:var(--light);border-radius:12px;padding:37px}.stay-box p{color:var(--muted);font-size:16px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.outline{display:inline-block;border:1px solid #74959d;border-radius:7px;padding:10px 16px;text-decoration:none;font-size:15px;font-weight:700}.outline:hover{background:#dcecee}small{font-size:13px;color:var(--muted);display:block}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px}.editorial{border:1px solid #d4e1e4;border-radius:12px;padding:32px}.restaurant{display:flex;gap:23px;border-top:1px solid #d4e1e4;padding:23px 0}.restaurant p{font-size:16px;color:var(--muted);margin:9px 0}.restaurant a,.editorial>a{font-size:15px;font-weight:600}.number{font-size:14px;font-weight:700;color:#537b83}.events{background:#fff8db;border:0}.event{display:flex;gap:20px;padding:19px 0;border-bottom:1px solid #e0d4a3}.event-date{font-size:13px;font-weight:700;min-width:60px}.event h4{font-size:19px}.event p{font-size:14px;margin:8px 0;color:var(--muted)}.events>.outline{margin-top:24px}.muted{font-size:14px;color:var(--muted)}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.three-cols>article{padding:30px;background:var(--light);border-radius:12px}.three-cols p{font-size:16px;color:var(--muted)}.three-cols a{font-size:15px;font-weight:600}.excursions .three-cols article{border-top:3px solid #ffd34e;border-radius:0}.useful .emergency{background:#0b5260;color:white}.emergency-number{font-size:67px!important;display:block;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800!important;line-height:1.3;margin-top:20px}.emergency p{color:#fff!important}.phone{font-size:20px!important}.stack-links{display:flex;flex-direction:column;gap:10px}.closing{text-align:center;margin-top:85px;background:#fff5cc;padding:55px 20px}.closing>span{color:#986a00;font-size:50px}.closing h2{font-size:36px;margin:12px 0 28px}footer{padding:40px 6%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:15px;font-size:15px}footer>p{text-align:right;color:var(--muted)}footer>div{display:flex;gap:25px;flex-wrap:wrap}footer button{border:0;background:none;color:var(--ink);text-decoration:underline;padding:0;font-size:15px}footer>small{text-align:right}dialog{max-width:600px;width:90%;border:0;border-radius:14px;padding:42px;color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#00374488}dialog h2{font-size:28px}#close-privacy{float:right;background:none;border:0;font-size:30px}#plan{margin-top:25px;border-top:1px solid #cadbdf;padding-top:25px}#plan h3{margin:0}#plan .plan-header{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.plan-days{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.plan-day{padding:19px;border-radius:8px;background:var(--light);font-size:15px}.plan-day h4{font-size:17px;margin:7px 0 12px}.plan-day p{margin:5px 0}.plan-links a{font-size:14px}.plan-caption{font-size:14px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:16px;font-size:14px}header{padding:0 4%}.hero h1{font-size:59px}.fields{grid-template-columns:1fr 1fr}.discovery-grid{grid-template-columns:1fr 1fr}.stay-section{gap:30px}.three-cols{gap:15px}.three-cols>article{padding:24px}.hero{margin:0 12px}}@media(max-width:700px){header{height:auto;min-height:78px;flex-wrap:wrap;padding:16px 6%;gap:16px}.brand{font-size:26px}.brand b{font-size:29px}nav{order:3;overflow:auto;width:100%;padding-bottom:3px;white-space:nowrap}.nav-cta{padding:9px 13px;font-size:14px}.hero{height:555px}.hero-copy{top:39px;left:7%;right:7%}.hero h1{font-size:48px;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:17px;max-width:310px}.hero-note{right:24px;bottom:23px}.eyebrow{font-size:12px;letter-spacing:1.4px}.trip-panel{width:90%;padding:25px 21px;margin-top:-15px}.trip-intro{gap:10px}.trip-intro h2{font-size:25px}.fields{gap:12px}.fields button{font-size:14px;padding:12px}.preferences{gap:14px}.preferences>span{width:100%}.section{padding-top:58px;width:88%}.section-head{display:block;margin-bottom:25px}.section-head>p{margin-top:18px}h2{font-size:34px}.discovery-grid,.two-cols,.three-cols,.stay-section,.plan-days{grid-template-columns:1fr}.place img{height:245px}.place p{min-height:0}.stay-box,.editorial{padding:25px}.filter button{padding:8px 15px;font-size:14px}.closing{margin-top:60px}.closing h2{font-size:29px}footer{display:block}footer>p,footer>small{text-align:left}footer>div{gap:16px;margin:25px 0}.trip-panel input{font-size:16px;min-width:0}dialog{padding:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.photo-credit{margin-top:19px;font-size:12px;line-height:1.6}.photo-credit a{font-size:12px;font-weight:400}.hero-credit{position:absolute;bottom:10px;left:18px;color:#fff;font-size:12px;text-shadow:0 1px 3px #000}.hero-credit a{color:white}
.property-card{padding:0;overflow:hidden}.property-card>img{display:block;width:100%;height:270px;object-fit:cover}.property-content{padding:30px}.amenities{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0}.amenities span{font-size:13px;border:1px solid #b6cfd5;border-radius:20px;padding:5px 10px}.stay-section{align-items:start}.stay-section>div{padding-top:38px}@media(max-width:700px){.stay-section>div{padding-top:0}.property-content{padding:23px}.hero-credit{max-width:62%;font-size:10px;line-height:1.5}.hero-note{font-size:12px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-switch select{max-width:92px;border:1px solid #adc4cb;border-radius:7px;background:#fff;color:var(--ink);height:42px;padding:7px;font-size:14px;font-weight:700;cursor:pointer}header{gap:18px}nav{gap:20px}.nav-cta{white-space:nowrap}button:disabled{cursor:wait;opacity:.7}@media(max-width:1150px){nav{gap:12px;font-size:14px}.nav-cta{padding:12px 15px}}@media(max-width:850px){header{height:auto;min-height:80px;flex-wrap:wrap;padding:16px 5%}.language-switch{margin-left:auto}nav{order:4;width:100%;overflow:auto;white-space:nowrap;padding-bottom:3px}}@media(max-width:450px){.nav-cta{display:none}.hero h1{font-size:43px}}

@media(max-width:1150px){header{height:auto;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.language-switch{margin-left:auto}nav{order:4;width:100%;overflow:auto;white-space:nowrap;padding-bottom:3px}}
.discovery-photo[data-photo="cala-raco.jpg"]{object-position:center 65%}.discovery-photo[data-photo="torreo-peca.jpg"]{object-position:40% 40%}
.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.nearby-card{border:1px solid #d2e2e5;border-radius:12px;overflow:hidden;background:var(--light);transition:box-shadow .2s}.nearby-card:hover{box-shadow:0 8px 26px #123f4917}.destination-trigger{display:block;text-align:left;width:100%;border:0;padding:0;color:var(--ink);background:none}.destination-trigger img{width:100%;height:230px;object-fit:cover;display:block}.nearby-content{padding:24px 24px 12px}.nearby-content h3{margin:0 0 14px}.nearby-content p{font-size:16px;line-height:1.6;color:var(--muted);min-height:102px;margin:0 0 15px}.card-link{font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:5px}.nearby-credit{padding:0 24px 20px}.nearby-credit .photo-credit{margin-top:10px}.destination-trigger[data-destination="guadalest"] img{object-position:39% center}.destination-trigger[data-destination="javea"] img{object-position:55% center}.destination-trigger:focus-visible{outline-offset:-4px}.restaurant-recommendations{padding-top:42px}.recommendations-panel{border-radius:12px;border:1px solid #c5dadf;overflow:hidden;background:var(--light)}.recommendations-panel>summary{padding:26px 30px;display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none}.recommendations-panel>summary::-webkit-details-marker,.restaurant-accordion>summary::-webkit-details-marker{display:none}.accordion-title{font-family:Manrope,sans-serif;font-size:29px;line-height:1.25;font-weight:700;letter-spacing:-.6px}.accordion-count{background:var(--yellow);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-weight:700;flex-shrink:0}.recommendations-panel>summary::after,.restaurant-accordion>summary::after{content:'+';font-size:27px;margin-left:auto;flex-shrink:0}.recommendations-panel[open]>summary::after,.restaurant-accordion[open]>summary::after{content:'−'}.recommendations-body{padding:0 30px 30px}.recommendations-body>p{max-width:780px;color:var(--muted)}.restaurant-accordion{background:white;border-bottom:1px solid #d3e0e3}.restaurant-accordion:first-child{border-radius:8px 8px 0 0}.restaurant-accordion:last-child{border-radius:0 0 8px 8px}.restaurant-accordion>summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:20px 24px}.restaurant-accordion h3{font-size:21px;margin:0}.restaurant-info{padding:0 24px 23px 64px}.restaurant-info .button-row{margin:14px 0}.source-link{display:inline-block;margin-top:22px;font-size:14px}.local-stories{margin-top:30px;padding:30px;border-top:3px solid var(--yellow);background:#f7fafb;border-radius:0 0 12px 12px}.local-stories>h3{margin-top:0}.local-stories h4{font-size:21px}.local-stories p{font-size:16px;color:var(--muted)}.local-stories a{font-size:15px;font-weight:600}#destination-dialog{max-width:850px;width:92%;max-height:90dvh;overflow:auto;padding:0;border-radius:14px}#destination-dialog .dialog-close{position:absolute;right:15px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:white;color:var(--ink);font-size:29px;box-shadow:0 2px 12px #0003}.destination-large{display:block;width:100%;height:260px;object-fit:cover}.destination-body{padding:32px}.destination-body h2{font-size:35px}.destination-body>p{font-size:17px}.destination-ideas{padding-left:23px}.destination-ideas li{padding:5px 0;font-size:16px}.destination-body .button-row{gap:10px}.destination-body .primary,.destination-body .outline{font-size:15px}@media(max-width:1000px){.nearby-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.nearby-grid{grid-template-columns:1fr}.nearby-content p{min-height:0}.destination-trigger img{height:245px}.recommendations-panel>summary{padding:22px}.accordion-title{font-size:24px}.recommendations-body{padding:0 20px 25px}.restaurant-accordion>summary{padding:18px;gap:13px}.restaurant-accordion h3{font-size:19px}.restaurant-info{padding:0 18px 20px}.local-stories{padding:24px}.destination-body{padding:25px}.destination-body h2{font-size:29px}.destination-large{height:220px}}@media(prefers-reduced-motion:reduce){.nearby-card{transition:none}}

/* Visual restaurant selection within the main accordion. */
#recommended-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px;margin-top:28px;align-items:stretch}
.restaurant-card{min-width:0;background:white;border:1px solid #d7e4e6;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.restaurant-card h3{font-size:22px;line-height:1.35;margin:0;padding:23px 22px 18px;min-height:80px;display:flex;align-items:center}
.restaurant-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.restaurant-card-body{display:flex;flex-direction:column;flex:1;padding:22px;gap:10px}
.restaurant-card a.restaurant-address,.restaurant-phone{font-size:15px;line-height:1.65;color:#146373;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.restaurant-description{font-size:15px;line-height:1.6;margin:0;color:var(--muted)}
.restaurant-note{font-size:13px;line-height:1.6;color:var(--muted);margin:2px 0 8px}
.restaurant-reserve{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;padding:13px 16px}
@media(max-width:1050px){#recommended-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#recommended-list{grid-template-columns:1fr;gap:24px}.restaurant-card h3{min-height:0;padding:21px;font-size:22px}.restaurant-card-body{padding:21px}}

/* Official Calpe beach photos and full event posters. */
.coast-section,.agenda-section{padding-top:36px;padding-bottom:36px}.visual-section-intro{font-size:22px;font-weight:600;color:var(--ink)!important}.official-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin-top:30px}.official-card{display:flex;flex-direction:column;min-width:0;border:1px solid #d7e4e6;border-radius:12px;overflow:hidden;background:#fff}.beach-card>h3{padding:22px;margin:0;font-size:22px;line-height:1.3;min-height:100px;display:flex;align-items:center}.beach-photo{width:100%;height:auto;aspect-ratio:1.67;object-fit:cover;display:block}.official-card-body{padding:22px;display:flex;flex-direction:column;gap:16px;flex:1}.official-card-body>p{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.beach-facts{display:flex;gap:8px;flex-wrap:wrap}.beach-facts span{background:#fff3ce;padding:6px 10px;border-radius:6px;font-size:13px;font-weight:600}.official-card-actions{display:flex;flex-direction:column;gap:16px;margin-top:auto}.official-card-actions .outline{align-self:flex-start;font-size:14px}.official-card-actions .card-link{font-size:14px}.official-credit{font-size:11px;line-height:1.6;color:var(--muted);display:block}.official-credit a{color:inherit}.agenda-card{background:#fff}.poster-link{display:block;background:#fff9eb;padding:16px}.agenda-poster{width:100%;height:350px;object-fit:contain;display:block}.agenda-date{font-size:14px;line-height:1.7;font-weight:600;color:#146373}.agenda-date>span{font-size:12px;font-weight:400}.agenda-card h3{font-size:19px;line-height:1.5;margin:0}.agenda-card .primary{font-size:14px;line-height:1.5;margin-top:auto}.agenda-full{margin-top:30px}.agenda-source-note{font-size:14px;line-height:1.7;max-width:950px!important}
@media(max-width:1050px){.official-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.official-grid{grid-template-columns:1fr;gap:24px}.beach-card>h3{min-height:0;padding:21px}.official-card-body{padding:21px}.agenda-poster{height:auto;max-height:520px}.visual-section-intro{font-size:19px}}

/* Six aligned containers for every Discover Calpe tile. */
.discovery-grid .aligned-place{display:flex;flex-direction:column;padding:0;overflow:hidden}.aligned-place .tile-slot{box-sizing:border-box;padding-left:24px;padding-right:24px;width:100%;flex:none}.aligned-place .tile-image{height:230px;padding:0;overflow:hidden}.aligned-place .tile-image img{height:100%;width:100%;object-fit:cover;display:block;filter:sepia(.1) saturate(1.24) contrast(1.045) brightness(1.035)}.aligned-place .tile-subject{padding-top:24px;padding-bottom:14px;min-height:64px}.aligned-place .tile-title{padding-bottom:14px;min-height:80px}.aligned-place .tile-description{padding-bottom:18px;min-height:144px}.aligned-place .tile-link{padding-bottom:18px;min-height:46px}.aligned-place .tile-credits{padding-bottom:24px;min-height:78px}.aligned-place .tile-slot h3{margin:0;font-size:24px;line-height:1.25}.aligned-place .tile-slot p{margin:0;font-size:16px;line-height:1.6}.aligned-place .tile-slot .label{margin:0;display:block;line-height:1.55}.aligned-place .tile-slot .photo-credit{margin:0;display:block;line-height:1.65}.aligned-place .tile-link a{font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.aligned-place img[data-photo="oldtown.jpg"]{filter:sepia(.09) saturate(1.2) contrast(1.02) brightness(1.3)}
@media(max-width:700px){.aligned-place .tile-image{height:245px}.aligned-place .tile-title{min-height:64px}.aligned-place .tile-description{min-height:112px}}

/* Richer Mediterranean colour, scoped to the requested photographs. */
.destination-trigger img,.destination-large{filter:sepia(.13) saturate(1.4) contrast(1.08) brightness(1.025)}
.hero>img{filter:sepia(.075) saturate(1.28) contrast(1.12) brightness(1.025)}
.property-gallery{position:relative;background:#e9f1f1}.gallery-stage{position:relative;aspect-ratio:4/3;overflow:hidden;touch-action:pan-y pinch-zoom;background:#e9f1f1}.property-gallery .gallery-image{display:block;width:100%;height:100%;object-fit:cover;user-select:none}.gallery-image.gallery-enter{animation:gallery-reveal .32s ease-out}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffffaa;border-radius:50%;background:#ffffffed;color:#0b5260;font-size:32px;box-shadow:0 2px 12px #0002}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-count{position:absolute;right:16px;bottom:16px;border-radius:20px;background:#092f3dd9;color:white;padding:7px 13px;font-size:13px;font-weight:600}.gallery-footer{padding:16px 20px 20px}.gallery-caption{font-size:15px!important;font-weight:600;color:var(--ink)!important;margin:0 0 12px!important}.gallery-controls{display:flex;align-items:center;gap:10px}.gallery-pagination{display:flex;gap:5px;overflow-x:auto;flex:1;padding:3px;scrollbar-width:thin}.gallery-pagination button{min-width:38px;min-height:38px;border:1px solid #bdced2;border-radius:50%;font-size:12px;background:white;color:#0b5260}.gallery-pagination button[aria-current="true"]{background:#0b5260;color:white;border-color:#0b5260}.gallery-play{min-width:44px;min-height:44px;border:1px solid #bdced2;border-radius:50%;background:white;color:#0b5260;font-size:17px;flex-shrink:0}.gallery-hint{font-size:12px!important;line-height:1.6;margin:12px 0 0!important}.gallery-credit{display:block;font-size:11px;line-height:1.7;margin-top:6px;color:var(--muted)}.gallery-error{position:absolute;left:14px;right:14px;bottom:56px;background:white;padding:12px;border-radius:8px;color:var(--ink);font-size:14px}.gallery-error[hidden]{display:none}.property-gallery:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}.property-gallery button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
@keyframes gallery-reveal{from{opacity:.7;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){.gallery-stage{aspect-ratio:4/3}.gallery-arrow{width:46px;height:46px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-footer{padding:15px}.gallery-pagination button{min-width:40px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.gallery-image.gallery-enter{animation:none}}

/* Compact slider navigation with no horizontal button list. */
.gallery-controls{gap:18px}.gallery-progress{height:6px;background:#c8dadd;border-radius:6px;overflow:hidden;flex:1}.gallery-progress>span{display:block;height:100%;width:4.76%;background:#0b5260;border-radius:6px;transition:width .3s ease}.gallery-play{min-width:48px;min-height:48px}.gallery-arrow{background:#fff;color:#0b5260;border:1px solid #0b526033;box-shadow:0 2px 12px #0003}.gallery-arrow:hover{background:#ffdf72}
@media(prefers-reduced-motion:reduce){.gallery-progress>span{transition:none}}

/* Mobile form layout, including Safari's native date control. */
.fields{grid-template-columns:minmax(0,.75fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}
.fields>label{display:flex;flex-direction:column;min-width:0;align-self:stretch;justify-content:flex-end}
.fields input[type=number],.fields input[type=date]{box-sizing:border-box;min-width:0;max-width:100%;width:100%;height:54px;min-height:54px;margin-top:7px;font-size:16px;line-height:normal;appearance:none;-webkit-appearance:none;text-align:left;flex:none}
.fields input[type=date]::-webkit-date-and-time-value{min-height:1.5em;text-align:left}
.fields input[type=date]::-webkit-datetime-edit{padding:0;display:inline-flex;align-items:center}
.fields>button{height:54px;min-height:54px;min-width:0;white-space:normal;line-height:1.3}
@media(max-width:1000px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .trip-panel{width:calc(100% - 32px);padding:24px 20px}
 .trip-intro{display:block;margin-bottom:24px}.trip-intro h2{margin-bottom:10px}.trip-intro p{font-size:15px;line-height:1.6}
 .fields{grid-template-columns:minmax(0,1fr);gap:17px;align-items:stretch}.fields>label{font-size:14px;line-height:1.5}.fields>button{width:100%;margin-top:3px;font-size:16px}
 .preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin-top:24px}.preferences>span{grid-column:1/-1}.preferences label{min-width:0;align-items:flex-start;font-size:13px;line-height:1.5}.preferences input{flex-shrink:0;margin-top:2px}
 .section,.section-head,.section-head>div,.stay-section>div,.property-card,.editorial,.nearby-card,.official-card{min-width:0}
 .section h2,.section h3,.source-link,.photo-credit,.official-credit,.gallery-credit{overflow-wrap:anywhere}
 .button-row{flex-wrap:wrap}.button-row>*{max-width:100%;white-space:normal}
}
@media(max-width:360px){.preferences{grid-template-columns:minmax(0,1fr)}.trip-panel{padding:22px 17px}}

/* Stable shareable section links, with legacy anchor aliases. */
main>section{position:relative}main section[id],main article[id]{scroll-margin-top:28px}.anchor-alias{position:absolute;top:0;left:0;width:0;height:0;scroll-margin-top:28px;pointer-events:none}.section-navigation{display:flex;flex-wrap:wrap;gap:10px 12px;max-width:1220px;width:88%;margin:28px auto 0;padding:16px 0;border-bottom:1px solid #d7e4e6;font-size:14px}.section-navigation a{display:block;border:1px solid #bfd3d8;border-radius:20px;padding:8px 14px;text-decoration:none;color:var(--blue);background:white;font-weight:600}.section-navigation a:hover,.section-navigation a[aria-current="location"]{background:var(--blue);border-color:var(--blue);color:white}.section-navigation a:focus-visible{outline-offset:2px}
@media(max-width:600px){.section-navigation{display:flex;width:calc(100% - 32px);gap:8px;margin-top:22px;padding-bottom:20px}.section-navigation a{padding:8px 12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
