
:root{
  --asr-navy:#062f43;
  --asr-navy-deep:#032638;
  --asr-gold:#b99a62;
  --asr-cream:#f5f0e8;
  --asr-text:#ffffff;
  --asr-muted:rgba(255,255,255,.76);
}
.asr-library{width:100%}
.asr-filters{display:flex;flex-direction:column;gap:14px;margin:0 0 30px}
.asr-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.asr-filter-label{min-width:82px;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--asr-gold)}
.asr-filter{
  border:1px solid rgba(185,154,98,.55);
  background:transparent;
  color:inherit;
  padding:9px 14px;
  border-radius:999px;
  font:inherit;
  font-size:14px;
  cursor:pointer;
  transition:.2s ease;
  cursor:pointer;
  font-family:inherit;
}
.asr-filter:hover,.asr-filter.is-active{background:var(--asr-gold);border-color:var(--asr-gold);color:var(--asr-navy-deep)}
.asr-grid{display:grid;grid-template-columns:repeat(var(--asr-columns),minmax(0,1fr));gap:30px}
.asr-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(185,154,98,.2);
  overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.asr-card:hover{transform:translateY(-4px);border-color:rgba(185,154,98,.65);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.asr-card[hidden]{display:none}
.asr-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:rgba(255,255,255,.04)}
.asr-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.asr-card:hover .asr-card-image img{transform:scale(1.035)}
.asr-card-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,rgba(185,154,98,.16),rgba(255,255,255,.03))}
.asr-card-content{display:flex;flex:1;flex-direction:column;padding:25px}
.asr-eyebrow{margin-bottom:9px;color:var(--asr-gold);font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.asr-card-title{margin:0 0 10px;font-size:clamp(23px,2vw,31px);line-height:1.08;font-weight:400}
.asr-card-title a{color:inherit;text-decoration:none}
.asr-card-meta{display:flex;flex-wrap:wrap;gap:7px 16px;margin-bottom:15px;color:var(--asr-muted);font-size:13px}
.asr-card-meta span+span:before{content:"•";margin-right:16px;color:var(--asr-gold)}
.asr-card-text{margin:0 0 22px;line-height:1.65;color:var(--asr-muted)}
.asr-card-footer{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(185,154,98,.18)}
.asr-price{font-size:14px;color:var(--asr-cream)}
.asr-text-link{white-space:nowrap;color:var(--asr-gold);text-decoration:none}
.asr-no-results{margin:30px 0 0;color:var(--asr-muted)}
.asr-booking-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 24px;
  border:1px solid var(--asr-gold);
  background:var(--asr-gold);
  color:var(--asr-navy-deep)!important;
  text-decoration:none!important;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:12px;
  transition:.2s ease;
}
.asr-booking-button:hover{background:transparent;color:var(--asr-gold)!important}
@media(max-width:1024px){.asr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .asr-grid{grid-template-columns:1fr}
  .asr-filter-group{align-items:flex-start}
  .asr-filter-label{width:100%}
  .asr-card-content{padding:21px}
}


/* Single experience and package templates */
.asr-single{background:var(--asr-navy-deep);color:var(--asr-text)}
.asr-single-container{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.asr-single-hero{
  position:relative;
  min-height:68vh;
  display:flex;
  align-items:end;
  background-image:var(--asr-hero);
  background-position:center;
  background-size:cover;
}
.asr-single-hero:not([style]){background:linear-gradient(145deg,#0b4c63,#032638)}
.asr-single-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,20,30,.15) 0%,rgba(2,27,40,.35) 42%,rgba(2,27,40,.92) 100%)}
.asr-single-hero-inner{position:relative;z-index:1;padding-block:150px 70px;text-align:center}
.asr-single-eyebrow{margin-bottom:16px}
.asr-single-hero h1{max-width:900px;margin:0 auto 18px;font-size:clamp(46px,7vw,92px);line-height:.98;font-weight:400;letter-spacing:-.025em}
.asr-single-lead{max-width:700px;margin:0 auto 30px;color:rgba(255,255,255,.86);font-size:clamp(17px,2vw,22px);line-height:1.55}
.asr-single-facts-wrap{border-block:1px solid rgba(185,154,98,.28);background:var(--asr-navy)}
.asr-single-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.asr-fact{padding:25px 20px;border-right:1px solid rgba(185,154,98,.2);text-align:center}
.asr-fact:first-child{border-left:1px solid rgba(185,154,98,.2)}
.asr-fact-label{display:block;margin-bottom:7px;color:var(--asr-gold);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.asr-fact strong{font-weight:400;font-size:15px}
.asr-single-main{padding:100px 0;background:var(--asr-cream);color:#153241}
.asr-single-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:85px;align-items:start}
.asr-section-kicker{margin-bottom:12px;color:var(--asr-gold);font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.asr-single h2{margin:0 0 25px;font-size:clamp(34px,4vw,56px);line-height:1.04;font-weight:400;letter-spacing:-.02em}
.asr-rich-text{font-size:17px;line-height:1.8}
.asr-rich-text p:first-child{font-size:20px}
.asr-single-booking-card{position:sticky;top:110px;padding:38px;border:1px solid rgba(21,50,65,.18);background:#fff;box-shadow:0 22px 60px rgba(10,37,50,.09)}
.asr-single-booking-card h2{font-size:31px}
.asr-single-price{margin:0 0 20px;font-size:20px;color:#153241}
.asr-single-booking-card p{line-height:1.6}
.asr-booking-button-wide{display:flex;width:100%;margin-top:28px}
.asr-booking-note{margin:15px 0 0!important;font-size:12px;color:#6d7c84}
.asr-single-info{padding:100px 0;background:var(--asr-navy);color:#fff}
.asr-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.asr-info-panel{padding:52px;border:1px solid rgba(185,154,98,.35);background:rgba(255,255,255,.025)}
.asr-info-panel h2{font-size:38px}
.asr-detail-list{list-style:none;margin:0;padding:0}
.asr-detail-list li{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid rgba(185,154,98,.18);line-height:1.55}
.asr-detail-list li:before{content:"✦";position:absolute;left:0;color:var(--asr-gold)}
.asr-related{padding:105px 0;background:var(--asr-navy-deep)}
.asr-related-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}
.asr-related-heading h2{margin-bottom:0}
.asr-single-final-cta{padding:20px 0 100px;background:var(--asr-navy-deep)}
.asr-final-box{padding:65px 35px;border:1px solid var(--asr-gold);text-align:center}
.asr-final-box h2{margin-inline:auto}
.asr-final-box p{max-width:700px;margin:0 auto 28px;color:var(--asr-muted);font-size:16px;line-height:1.7}
@media(max-width:900px){
  .asr-single-facts{grid-template-columns:repeat(2,1fr)}
  .asr-fact{border-bottom:1px solid rgba(185,154,98,.2)}
  .asr-single-main-grid{grid-template-columns:1fr;gap:45px}
  .asr-single-booking-card{position:relative;top:auto}
  .asr-info-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .asr-single-container{width:min(100% - 28px,1180px)}
  .asr-single-hero{min-height:72vh}
  .asr-single-hero-inner{padding-block:120px 48px}
  .asr-single-facts{grid-template-columns:1fr}
  .asr-fact,.asr-fact:first-child{border-left:0;border-right:0}
  .asr-single-main,.asr-single-info,.asr-related{padding:70px 0}
  .asr-single-main-grid{gap:35px}
  .asr-single-booking-card,.asr-info-panel{padding:28px 23px}
  .asr-related-heading{align-items:start;flex-direction:column}
  .asr-final-box{padding:48px 22px}
}


/* v1.2 refined premium single experience */
.asr-single{margin-top:0}
body.admin-bar .asr-single-hero{scroll-margin-top:32px}
.asr-single-hero{min-height:640px;padding-top:110px}
.asr-breadcrumbs{position:absolute;z-index:2;top:135px;left:50%;transform:translateX(-50%);display:flex;gap:8px;color:rgba(255,255,255,.76);font-size:13px}
.asr-breadcrumbs a{color:inherit;text-decoration:none}
.asr-single-hero-inner{text-align:left;padding-block:220px 72px}
.asr-single-hero h1{margin:0 0 12px;max-width:820px;font-size:clamp(52px,6.3vw,86px)}
.asr-single-lead{margin:0;max-width:720px;color:#e7cf9b;font-size:clamp(18px,2vw,24px)}
.asr-single-main{padding:95px 0}
.asr-single-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:72px}
.asr-single-copy .asr-rich-text{max-width:760px}
.asr-single-booking-card{background:linear-gradient(160deg,#083a50,#032638);color:#fff;border:1px solid rgba(185,154,98,.36);border-radius:12px;box-shadow:0 28px 70px rgba(4,29,42,.18)}
.asr-single-booking-card h2,.asr-single-booking-card .asr-single-price{color:#fff}
.asr-booking-benefits{list-style:none;padding:0;margin:26px 0}
.asr-booking-benefits li{position:relative;padding:9px 0 9px 27px;border-bottom:1px solid rgba(255,255,255,.09)}
.asr-booking-benefits li:before{content:"✓";position:absolute;left:0;color:var(--asr-gold)}
.asr-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:42px;border:1px solid rgba(21,50,65,.18)}
.asr-service-item{padding:22px;border-right:1px solid rgba(21,50,65,.14);border-bottom:1px solid rgba(21,50,65,.14)}
.asr-service-item span{display:block;margin-bottom:6px;color:var(--asr-gold);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.asr-service-item strong{font-size:14px;font-weight:500}
.asr-single-info{background:linear-gradient(135deg,#062f43,#032638)}
.asr-info-panel{border:0;padding:0 40px 0 0;background:transparent}
.asr-info-panel + .asr-info-panel{padding-left:40px;border-left:1px solid rgba(185,154,98,.24)}
.asr-itinerary-section{padding:95px 0;background:var(--asr-cream);color:#153241}
.asr-itinerary-section h2,.asr-gallery-section h2{margin-bottom:45px}
.asr-itinerary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;position:relative}
.asr-itinerary:before{content:"";position:absolute;left:6%;right:6%;top:24px;height:1px;background:rgba(185,154,98,.65)}
.asr-itinerary-step{position:relative;text-align:center;padding-top:0}
.asr-itinerary-number{position:relative;z-index:1;width:48px;height:48px;margin:0 auto 20px;border:1px solid var(--asr-gold);border-radius:50%;background:var(--asr-cream);display:flex;align-items:center;justify-content:center;color:var(--asr-gold);font-size:14px}
.asr-itinerary-step h3{margin:0 0 7px;font-size:20px;font-weight:500}
.asr-itinerary-duration{margin-bottom:10px;color:var(--asr-gold);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.asr-itinerary-step p{margin:0;color:#5f6f77;line-height:1.55;font-size:14px}
.asr-gallery-section{padding:95px 0;background:var(--asr-navy);color:#fff}
.asr-gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:260px;gap:16px}
.asr-gallery-item{display:block;overflow:hidden}
.asr-gallery-item:first-child{grid-row:span 2}
.asr-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.asr-gallery-item:hover img{transform:scale(1.035)}
.asr-single-final-cta{padding-top:80px}
.asr-final-box{background:linear-gradient(135deg,rgba(185,154,98,.05),rgba(255,255,255,.01))}
@media(max-width:1024px){
  .asr-itinerary{grid-template-columns:repeat(3,1fr)}
  .asr-itinerary:before{display:none}
  .asr-gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .asr-single-hero{padding-top:90px}
  .asr-breadcrumbs{top:110px}
  .asr-single-hero-inner{padding-block:190px 55px}
  .asr-info-panel,.asr-info-panel + .asr-info-panel{padding:0;border-left:0}
}
@media(max-width:680px){
  .asr-single-hero{min-height:560px;padding-top:75px}
  .asr-breadcrumbs{top:92px;font-size:11px}
  .asr-single-hero-inner{padding-block:175px 42px}
  .asr-service-grid{grid-template-columns:1fr}
  .asr-itinerary{grid-template-columns:1fr}
  .asr-itinerary-step{text-align:left;display:grid;grid-template-columns:52px 1fr;column-gap:16px}
  .asr-itinerary-number{grid-row:1 / span 3;margin:0}
  .asr-itinerary-step h3,.asr-itinerary-duration,.asr-itinerary-step p{grid-column:2}
  .asr-gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}
  .asr-gallery-item:first-child{grid-row:auto}
}


/* Elementor-native ASR widgets v1.3 */
.asr-ew{box-sizing:border-box}
.asr-ew *{box-sizing:border-box}
.asr-ew-hero{position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff;padding:210px max(24px,calc((100% - 1180px)/2)) 65px;overflow:hidden}
.asr-ew-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,20,30,.10),rgba(2,27,40,.72))}
.asr-ew-hero-content,.asr-ew-breadcrumbs{position:relative;z-index:1}
.asr-ew-hero-content h1{margin:0 0 12px;font-family:inherit;font-size:clamp(52px,6vw,86px);font-weight:400;line-height:1}
.asr-ew-subtitle{margin:0;color:#ecd9ae;font-size:21px}
.asr-ew-eyebrow,.asr-ew-kicker{color:#b99a62;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.asr-ew-breadcrumbs{position:absolute;top:34px;left:max(24px,calc((100% - 1180px)/2));display:flex;gap:8px;font-size:13px;color:rgba(255,255,255,.78)}
.asr-ew-breadcrumbs a{color:inherit;text-decoration:none}
.asr-ew-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));background:#062f43;color:#fff}
.asr-ew-fact{padding:22px 24px;text-align:center;border-right:1px solid rgba(185,154,98,.22)}
.asr-ew-fact span{display:block;margin-bottom:6px;color:#b99a62;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.asr-ew-fact strong{font-weight:400}
.asr-ew-intro{background:#f5f0e8;color:#153241;padding:85px max(24px,calc((100% - 1180px)/2))}
.asr-ew-intro .asr-ew-inner{max-width:760px}
.asr-ew-intro h2,.asr-ew-list h2,.asr-ew-practical h2,.asr-ew-itinerary h2,.asr-ew-timetable h2,.asr-ew-gallery h2,.asr-ew-cta h2{margin:10px 0 24px;font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.05}
.asr-ew-rich{font-size:17px;line-height:1.75}
.asr-ew-service-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:38px;border:1px solid rgba(21,50,65,.16)}
.asr-ew-service-grid>div{padding:21px;border-right:1px solid rgba(21,50,65,.13);border-bottom:1px solid rgba(21,50,65,.13)}
.asr-ew-service-grid span{display:block;color:#b99a62;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.asr-ew-service-grid strong{font-size:14px;font-weight:500}
.asr-ew-booking{padding:38px;background:#062f43;color:#fff;border-radius:12px;border:1px solid rgba(185,154,98,.35)}
.asr-ew-booking.is-sticky{position:sticky;top:120px}
.asr-ew-booking h2{margin:12px 0 14px;font-size:31px;font-weight:400}
.asr-ew-booking-price{font-size:20px;margin-bottom:22px}
.asr-ew-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;background:#b99a62;color:#032638!important;text-decoration:none!important;border:0;border-radius:999px;font:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.asr-ew-booking .asr-ew-button{width:100%}
.asr-ew-booking ul{list-style:none;padding:0;margin:24px 0}
.asr-ew-booking li{padding:8px 0 8px 26px;position:relative;border-bottom:1px solid rgba(255,255,255,.08)}
.asr-ew-booking li:before{content:"✓";position:absolute;left:0;color:#b99a62}
.asr-ew-booking p{font-size:12px;color:rgba(255,255,255,.72)}
.asr-ew-list,.asr-ew-practical,.asr-ew-timetable{background:#062f43;color:#fff;padding:68px}
.asr-ew-list ul{list-style:none;padding:0;margin:0}
.asr-ew-list li{position:relative;padding:13px 0 13px 28px;border-bottom:1px solid rgba(185,154,98,.18)}
.asr-ew-list li:before{content:"✦";position:absolute;left:0;color:#b99a62}
.asr-ew-practical-content{font-size:16px;line-height:1.75}
.asr-ew-itinerary{background:#f5f0e8;color:#153241;padding:85px max(24px,calc((100% - 1180px)/2))}
.asr-ew-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px}
.asr-ew-step{text-align:center}
.asr-ew-step b{display:flex;width:46px;height:46px;margin:0 auto 18px;border:1px solid #b99a62;border-radius:50%;align-items:center;justify-content:center;color:#b99a62}
.asr-ew-step h3{font-size:20px;font-weight:500;margin:0 0 7px}
.asr-ew-step span{color:#b99a62;font-size:12px;text-transform:uppercase}
.asr-ew-step p{font-size:14px;line-height:1.55;color:#5f6f77}
.asr-ew-timetable{padding:68px}
.asr-ew-time-row{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:9px 0;border-bottom:1px solid rgba(185,154,98,.14)}
.asr-ew-time-row strong{color:#b99a62}
.asr-ew-gallery{background:#f5f0e8;color:#153241;padding:75px max(24px,calc((100% - 1180px)/2))}
.asr-ew-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.asr-ew-gallery-grid a{display:block;aspect-ratio:4/3;overflow:hidden}
.asr-ew-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.asr-ew-gallery-grid a:hover img{transform:scale(1.04)}
.asr-ew-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:45px max(24px,calc((100% - 1180px)/2));background:#032638;color:#fff;border-block:1px solid rgba(185,154,98,.45)}
.asr-ew-cta h2{font-size:38px;margin-bottom:8px}
.asr-ew-cta p{margin:0;color:rgba(255,255,255,.75)}
@media(max-width:767px){
 .asr-ew-hero{padding:160px 22px 45px;min-height:520px!important}
 .asr-ew-breadcrumbs{left:22px;top:24px}
 .asr-ew-service-grid{grid-template-columns:1fr}
 .asr-ew-gallery-grid{grid-template-columns:1fr 1fr!important}
 .asr-ew-cta{align-items:flex-start;flex-direction:column}
 .asr-ew-list,.asr-ew-practical,.asr-ew-timetable{padding:42px 24px}
}

/* v1.5 refined single-page typography */
.asr-single .asr-single-hero h1{font-size:clamp(40px,4.6vw,68px);line-height:1.04}
.asr-single .asr-single-lead{font-size:17px;line-height:1.55;max-width:760px}
.asr-single .asr-single-copy h2{font-size:clamp(34px,3.4vw,50px);line-height:1.08;margin-bottom:22px}
.asr-single .asr-rich-text{font-size:15px;line-height:1.72}
.asr-single .asr-single-booking-card h2{font-size:clamp(25px,2.2vw,34px);line-height:1.12}
.asr-single .asr-single-price{font-size:18px}
.asr-single .asr-info-panel h2,
.asr-single .asr-itinerary-section h2,
.asr-single .asr-gallery-section h2,
.asr-single .asr-related h2,
.asr-single .asr-final-box h2{font-size:clamp(29px,3vw,42px);line-height:1.08}
.asr-single .asr-info-panel .asr-rich-text,
.asr-single .asr-info-panel li,
.asr-single .asr-itinerary-step p,
.asr-single .asr-final-box p{font-size:14px;line-height:1.65}
.asr-single .asr-section-kicker{font-size:10px;letter-spacing:.15em}
.asr-package-timetable{max-width:760px}
.asr-package-time-row{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:10px 0;border-bottom:1px solid rgba(21,50,65,.14);font-size:14px}
.asr-package-time-row strong{color:#b58d4d;font-weight:600}
@media(max-width:767px){
 .asr-single .asr-single-hero h1{font-size:38px}
 .asr-single .asr-single-copy h2{font-size:32px}
 .asr-single .asr-rich-text{font-size:15px}
}


/* v1.6 Merihelmi calm editorial shortcode design */
.asr-single{
  --asr-navy:#052a40;
  --asr-navy-deep:#031f31;
  --asr-cream:#f7f3ec;
  --asr-gold:#b78b49;
  --asr-ink:#153241;
  background:var(--asr-cream);
  font-family:var(--e-global-typography-text-font-family,inherit);
}
.asr-single h1,
.asr-single h2,
.asr-single h3{
  font-family:var(--e-global-typography-primary-font-family,inherit);
  font-weight:var(--e-global-typography-primary-font-weight,400);
}
.asr-single .asr-section-kicker,
.asr-single .asr-eyebrow,
.asr-single .asr-fact span,
.asr-single .asr-service-item span{
  font-family:var(--e-global-typography-secondary-font-family,inherit);
}
.asr-single-container{width:min(1180px,calc(100% - 48px))}

/* Package hero beneath transparent header */
.asr-package-hero{
  min-height:610px;
  padding-top:150px;
  background-position:center;
}
.asr-package-hero .asr-single-hero-overlay{
  background:linear-gradient(90deg,rgba(3,24,38,.88) 0%,rgba(3,24,38,.56) 48%,rgba(3,24,38,.22) 100%);
}
.asr-package-hero .asr-single-hero-inner{
  padding-block:160px 72px;
  text-align:left;
}
.asr-package-hero .asr-single-hero-inner h1{
  max-width:720px;
  margin:0 0 18px;
  font-size:clamp(44px,5vw,70px);
  line-height:1.04;
}
.asr-package-hero .asr-single-lead{
  max-width:610px;
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.65;
}

/* Experience split editorial hero */
.asr-experience-hero{
  min-height:610px;
  display:grid;
  grid-template-columns:46% 54%;
  padding:0;
  background:var(--asr-cream);
  color:var(--asr-ink);
}
.asr-experience-hero-copy{
  display:flex;
  align-items:center;
  padding:160px 5vw 80px max(32px,calc((100vw - 1180px)/2));
}
.asr-experience-hero-copy-inner{max-width:520px}
.asr-experience-hero h1{
  margin:12px 0 20px;
  font-size:clamp(44px,4.5vw,66px);
  line-height:1.05;
  color:var(--asr-ink);
}
.asr-experience-hero .asr-single-lead{
  margin:0;
  max-width:470px;
  color:#354f5d;
  font-size:15px;
  line-height:1.7;
}
.asr-experience-hero-image{
  min-height:610px;
  background-image:linear-gradient(90deg,var(--asr-cream) 0%,rgba(247,243,236,.30) 18%,rgba(0,0,0,.04) 100%),var(--asr-hero);
  background-size:cover;
  background-position:center;
}

/* Calm facts row */
.asr-single-facts-wrap{
  background:#fbf8f2;
  border-block:1px solid rgba(183,139,73,.22);
}
.asr-single-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.asr-fact{
  min-height:78px;
  padding:20px 24px;
  color:var(--asr-ink);
  border-right:1px solid rgba(183,139,73,.20);
}
.asr-fact span{color:var(--asr-gold)}
.asr-fact strong{font-size:13px;font-weight:500}

/* Main body */
.asr-single-main{
  padding:72px 0 76px;
  background:var(--asr-cream);
}
.asr-single-main-grid{
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);
  gap:74px;
}
.asr-single-copy h2{
  font-size:clamp(31px,3vw,44px);
  margin-bottom:20px;
}
.asr-single .asr-rich-text{
  max-width:680px;
  font-size:14px;
  line-height:1.8;
  color:#314b59;
}
.asr-service-grid{
  margin-top:34px;
  border-color:rgba(183,139,73,.35);
}
.asr-service-item{
  padding:18px 20px;
  border-color:rgba(183,139,73,.22);
}
.asr-service-item strong{font-size:13px}

/* Light booking card */
.asr-single-booking-card{
  position:sticky;
  top:110px;
  padding:30px;
  border:1px solid rgba(183,139,73,.40);
  border-radius:6px;
  background:#fbf8f2;
  color:var(--asr-ink);
  box-shadow:none;
}
.asr-single-booking-card h2{
  color:var(--asr-ink);
  font-size:clamp(24px,2vw,31px);
}
.asr-single-booking-card .asr-single-price{
  color:var(--asr-ink);
  font-size:17px;
}
.asr-single-booking-card .asr-booking-benefits li{
  color:#314b59;
  border-color:rgba(21,50,65,.10);
  font-size:13px;
}
.asr-single-booking-card .asr-booking-note{color:#6b7c84}
.asr-booking-button{
  border-radius:3px;
  background:var(--asr-navy);
  color:#fff!important;
  border-color:var(--asr-navy);
  font-size:11px;
  letter-spacing:.08em;
}
.asr-booking-button:hover{
  background:transparent;
  color:var(--asr-navy)!important;
}

/* Refined dark information band */
.asr-single-info{
  padding:56px 0;
  background:var(--asr-navy);
}
.asr-info-grid{gap:0}
.asr-info-panel{
  padding:0 42px 0 0;
}
.asr-info-panel + .asr-info-panel{
  padding-left:42px;
  border-left:1px solid rgba(183,139,73,.28);
}
.asr-info-panel h2{
  margin:8px 0 18px;
  font-size:clamp(25px,2.6vw,36px);
}
.asr-info-panel li,
.asr-info-panel .asr-rich-text{
  font-size:13px!important;
  line-height:1.65!important;
}

/* Itinerary/timetable */
.asr-itinerary-section{
  padding:66px 0;
  background:var(--asr-navy);
  color:#fff;
}
.asr-itinerary-section h2{font-size:clamp(26px,2.8vw,38px)}
.asr-itinerary-step h3{font-size:16px}
.asr-itinerary-step p{color:rgba(255,255,255,.76)}
.asr-itinerary-number{background:var(--asr-navy);width:40px;height:40px}
.asr-package-timetable{max-width:none}
.asr-package-time-row{
  grid-template-columns:74px 1fr;
  padding:7px 0;
  color:#fff;
  border-color:rgba(183,139,73,.18);
  font-size:13px;
}

/* Light compact gallery */
.asr-gallery-section{
  padding:50px 0 58px;
  background:var(--asr-cream);
  color:var(--asr-ink);
}
.asr-gallery-section h2{
  margin-bottom:22px;
  font-size:clamp(25px,2.7vw,36px);
}
.asr-gallery-grid{
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:175px;
  gap:10px;
}
.asr-gallery-item:first-child{grid-row:auto}
.asr-gallery-item{border:1px solid rgba(183,139,73,.16)}

/* Quiet final CTA */
.asr-single-final-cta{
  padding:0 0 44px;
  background:var(--asr-cream);
}
.asr-final-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:28px 38px;
  border:1px solid rgba(183,139,73,.42);
  background:transparent;
  color:var(--asr-ink);
}
.asr-final-box h2{
  margin:0 0 5px;
  font-size:clamp(24px,2.4vw,34px);
}
.asr-final-box p{margin:0;color:#50636d}

/* Smaller typography throughout */
.asr-single .asr-section-kicker,
.asr-single .asr-eyebrow{
  font-size:9px;
  letter-spacing:.17em;
  color:var(--asr-gold);
}
.asr-breadcrumbs{font-size:11px}

@media(max-width:900px){
  .asr-experience-hero{grid-template-columns:1fr}
  .asr-experience-hero-copy{padding:145px 24px 55px}
  .asr-experience-hero-image{min-height:360px;background-image:var(--asr-hero)}
  .asr-package-hero .asr-single-hero-inner{padding-block:150px 58px}
  .asr-info-panel,.asr-info-panel + .asr-info-panel{padding:0;border-left:0}
}
@media(max-width:680px){
  .asr-single-container{width:min(100% - 30px,1180px)}
  .asr-package-hero{min-height:560px;padding-top:95px}
  .asr-package-hero .asr-single-hero-inner{padding-block:145px 45px}
  .asr-package-hero .asr-single-hero-inner h1{font-size:38px}
  .asr-experience-hero-copy{padding-top:125px}
  .asr-experience-hero h1{font-size:38px}
  .asr-single-main{padding:58px 0}
  .asr-single-main-grid{gap:34px}
  .asr-final-box{align-items:flex-start;flex-direction:column;padding:25px}
  .asr-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
}


/* v1.7 mobile layout corrections */
@media (max-width: 900px) {
  .asr-single-main-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:34px !important;
  }

  .asr-single-copy,
  .asr-single-booking,
  .asr-single-booking-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .asr-single-booking-card{
    position:static !important;
    top:auto !important;
    inset:auto !important;
    transform:none !important;
    margin:0 !important;
  }

  .asr-single-copy h2,
  .asr-single-copy .asr-rich-text,
  .asr-single-copy .asr-rich-text p{
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .asr-service-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }

  .asr-info-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:42px !important;
  }

  .asr-info-panel,
  .asr-info-panel + .asr-info-panel{
    width:100% !important;
    padding:0 !important;
    border-left:0 !important;
  }

  .asr-info-panel + .asr-info-panel{
    padding-top:34px !important;
    border-top:1px solid rgba(183,139,73,.28) !important;
  }

  .asr-info-panel h2{
    font-size:clamp(28px,7vw,38px) !important;
    line-height:1.08 !important;
  }

  .asr-info-panel .asr-rich-text,
  .asr-info-panel .asr-rich-text p,
  .asr-info-panel p{
    color:rgba(255,255,255,.78) !important;
    font-size:15px !important;
    line-height:1.7 !important;
    font-weight:400 !important;
    opacity:1 !important;
  }

  .asr-info-panel li{
    color:#fff !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .asr-gallery-grid{
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:150px !important;
  }

  .asr-final-box{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

@media (max-width: 680px) {
  .asr-single{
    overflow-x:hidden;
  }

  .asr-single-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .asr-experience-hero{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
  }

  .asr-experience-hero-copy{
    min-height:430px !important;
    padding:150px 24px 48px !important;
    align-items:flex-end !important;
  }

  .asr-experience-hero-copy-inner{
    width:100% !important;
    max-width:none !important;
  }

  .asr-experience-hero h1{
    font-size:clamp(38px,12vw,52px) !important;
    line-height:1.02 !important;
    margin-bottom:14px !important;
  }

  .asr-experience-hero .asr-single-lead{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .asr-experience-hero-image{
    min-height:360px !important;
    width:100% !important;
    background-image:var(--asr-hero) !important;
    background-position:center !important;
  }

  .asr-package-hero{
    min-height:560px !important;
  }

  .asr-package-hero .asr-single-hero-inner{
    padding:155px 0 48px !important;
  }

  .asr-package-hero .asr-single-hero-inner h1{
    font-size:clamp(38px,11vw,50px) !important;
  }

  .asr-single-facts{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .asr-fact{
    min-width:0 !important;
    min-height:132px !important;
    padding:24px 14px !important;
    border-right:1px solid rgba(183,139,73,.20) !important;
    border-bottom:1px solid rgba(183,139,73,.20) !important;
  }

  .asr-fact span{
    font-size:9px !important;
    line-height:1.4 !important;
  }

  .asr-fact strong{
    font-size:15px !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere;
  }

  .asr-single-main{
    padding:52px 0 58px !important;
  }

  .asr-single-main-grid{
    gap:30px !important;
  }

  .asr-single-copy h2{
    font-size:clamp(34px,10vw,46px) !important;
    line-height:1.06 !important;
  }

  .asr-single .asr-rich-text,
  .asr-single .asr-rich-text p{
    font-size:15px !important;
    line-height:1.7 !important;
  }

  .asr-service-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .asr-service-item{
    min-width:0 !important;
    padding:18px 14px !important;
  }

  .asr-service-item span{
    font-size:8px !important;
  }

  .asr-service-item strong{
    font-size:13px !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere;
  }

  .asr-single-booking-card{
    padding:26px 22px !important;
  }

  .asr-single-booking-card h2{
    font-size:clamp(28px,8vw,36px) !important;
    line-height:1.1 !important;
  }

  .asr-single-booking-card .asr-single-price{
    font-size:18px !important;
  }

  .asr-single-info{
    padding:48px 0 !important;
  }

  .asr-info-grid{
    gap:36px !important;
  }

  .asr-info-panel h2{
    font-size:clamp(30px,9vw,40px) !important;
    margin-bottom:20px !important;
  }

  .asr-info-panel .asr-rich-text,
  .asr-info-panel .asr-rich-text p,
  .asr-info-panel p{
    color:rgba(255,255,255,.82) !important;
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .asr-info-panel li{
    font-size:15px !important;
  }

  .asr-gallery-grid{
    grid-template-columns:1fr !important;
    grid-auto-rows:220px !important;
  }

  .asr-final-box{
    padding:28px 22px !important;
    text-align:left !important;
  }

  .asr-final-box h2{
    font-size:clamp(30px,9vw,40px) !important;
    line-height:1.08 !important;
    text-align:left !important;
  }

  .asr-final-box p{
    font-size:15px !important;
    line-height:1.6 !important;
    text-align:left !important;
  }
}


/* v1.8 compact mobile hero and fact layout */
@media (max-width: 680px) {
  /* One image hero under the transparent mobile header */
  .asr-experience-hero{
    position:relative !important;
    display:flex !important;
    min-height:620px !important;
    background-image:
      linear-gradient(180deg,rgba(3,31,49,.30) 0%,rgba(3,31,49,.60) 48%,rgba(3,31,49,.88) 100%),
      var(--asr-hero) !important;
    background-size:cover !important;
    background-position:center !important;
    color:#fff !important;
  }

  .asr-experience-hero-copy{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    min-height:620px !important;
    display:flex !important;
    align-items:flex-end !important;
    padding:330px 22px 48px !important;
    background:transparent !important;
  }

  .asr-experience-hero-copy-inner{
    width:100% !important;
    max-width:none !important;
  }

  .asr-experience-hero h1{
    color:#fff !important;
    font-size:clamp(38px,11vw,50px) !important;
    line-height:1.02 !important;
    margin:10px 0 14px !important;
    text-shadow:0 2px 18px rgba(0,0,0,.28);
  }

  .asr-experience-hero .asr-single-lead{
    color:rgba(255,255,255,.92) !important;
    font-size:15px !important;
    line-height:1.55 !important;
    max-width:34rem !important;
  }

  .asr-experience-hero-image{
    display:none !important;
  }

  /* Compact facts instead of large tiles */
  .asr-single-facts-wrap{
    padding:0 !important;
  }

  .asr-single-facts{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
  }

  .asr-fact{
    min-height:86px !important;
    padding:13px 10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .asr-fact span{
    margin-bottom:5px !important;
    font-size:8px !important;
    line-height:1.2 !important;
    letter-spacing:.12em !important;
  }

  .asr-fact strong{
    font-size:13px !important;
    line-height:1.35 !important;
    text-align:center !important;
  }

  .asr-fact:nth-child(5){
    grid-column:1 / -1 !important;
    min-height:78px !important;
  }

  /* Main content more compact on mobile */
  .asr-single-main{
    padding:42px 0 48px !important;
  }

  .asr-single-copy h2{
    font-size:clamp(32px,9vw,42px) !important;
    margin-bottom:18px !important;
  }

  .asr-single .asr-rich-text,
  .asr-single .asr-rich-text p,
  .asr-single-copy .asr-rich-text,
  .asr-single-copy .asr-rich-text p{
    font-size:16px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
  }

  .asr-service-grid{
    margin-top:26px !important;
  }

  .asr-service-item{
    padding:14px 12px !important;
  }

  .asr-single-booking-card{
    padding:24px 20px !important;
  }

  /* Good to know: smaller and clearly readable */
  .asr-info-panel h2{
    font-size:clamp(27px,8vw,35px) !important;
  }

  .asr-info-panel .asr-rich-text,
  .asr-info-panel .asr-rich-text p,
  .asr-info-panel p{
    color:rgba(255,255,255,.78) !important;
    font-size:14px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
  }
}


/* v1.9 desktop refinements */
@media (min-width: 901px) {
  .asr-experience-hero{
    min-height:600px !important;
    grid-template-columns:48% 52% !important;
    background:var(--asr-navy) !important;
    color:#fff !important;
  }

  .asr-experience-hero-copy{
    min-height:600px !important;
    padding:
      205px
      56px
      72px
      max(48px,calc((100vw - 1180px)/2)) !important;
    background:var(--asr-navy) !important;
    align-items:flex-end !important;
  }

  .asr-experience-hero-copy-inner{
    max-width:570px !important;
  }

  .asr-experience-hero h1{
    color:#fff !important;
    font-size:clamp(48px,4.3vw,68px) !important;
    line-height:1.02 !important;
    margin:12px 0 18px !important;
    text-shadow:0 2px 20px rgba(0,0,0,.18);
  }

  .asr-experience-hero .asr-single-lead{
    color:rgba(255,255,255,.88) !important;
    font-size:16px !important;
    line-height:1.65 !important;
    max-width:500px !important;
  }

  .asr-experience-hero-image{
    min-height:600px !important;
    background-image:
      linear-gradient(90deg,rgba(5,42,64,.42) 0%,rgba(5,42,64,.10) 18%,rgba(0,0,0,.04) 100%),
      var(--asr-hero) !important;
    background-size:cover !important;
    background-position:center !important;
  }

  .asr-single-facts-wrap{
    border-top:0 !important;
  }

  .asr-single-main{
    padding:64px 0 68px !important;
  }

  .asr-single-main-grid{
    gap:64px !important;
    align-items:start !important;
  }

  .asr-single-copy h2{
    font-size:clamp(34px,3vw,46px) !important;
    margin-bottom:18px !important;
  }

  .asr-single .asr-rich-text,
  .asr-single .asr-rich-text p{
    font-size:15px !important;
    line-height:1.75 !important;
  }

  .asr-single-booking-card{
    padding:28px !important;
  }

  .asr-single-booking-card h2{
    font-size:28px !important;
    line-height:1.12 !important;
  }

  .asr-single-info{
    padding:52px 0 !important;
  }

  .asr-info-panel h2{
    font-size:32px !important;
    line-height:1.08 !important;
  }

  .asr-info-panel .asr-rich-text,
  .asr-info-panel .asr-rich-text p,
  .asr-info-panel p{
    color:rgba(255,255,255,.80) !important;
    font-size:14px !important;
    line-height:1.65 !important;
    font-weight:400 !important;
    opacity:1 !important;
  }

  .asr-info-panel li{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .asr-final-box{
    padding:24px 34px !important;
  }

  .asr-final-box h2{
    font-size:31px !important;
  }

  .asr-final-box p{
    font-size:14px !important;
  }
}


/* v2.0 full-image desktop Experience hero */
@media (min-width: 901px) {
  .asr-experience-hero{
    position:relative !important;
    display:flex !important;
    min-height:640px !important;
    background-image:
      linear-gradient(90deg,rgba(3,25,39,.82) 0%,rgba(3,25,39,.62) 38%,rgba(3,25,39,.28) 68%,rgba(3,25,39,.12) 100%),
      var(--asr-hero) !important;
    background-size:cover !important;
    background-position:center !important;
    color:#fff !important;
    overflow:hidden !important;
  }

  .asr-experience-hero-copy{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    min-height:640px !important;
    display:flex !important;
    align-items:flex-end !important;
    padding:
      210px
      max(48px,calc((100vw - 1180px)/2))
      78px !important;
    background:transparent !important;
  }

  .asr-experience-hero-copy-inner{
    max-width:620px !important;
  }

  .asr-experience-hero h1{
    color:#fff !important;
    font-size:clamp(50px,5vw,74px) !important;
    line-height:1.02 !important;
    margin:12px 0 18px !important;
    text-shadow:0 3px 24px rgba(0,0,0,.30);
  }

  .asr-experience-hero .asr-single-lead{
    color:rgba(255,255,255,.94) !important;
    font-size:16px !important;
    line-height:1.65 !important;
    max-width:560px !important;
    text-shadow:0 2px 14px rgba(0,0,0,.28);
  }

  .asr-experience-hero-image{
    display:none !important;
  }
}


/* v2.1 lighter product listing cards */
.asr-card{
  font-family:var(--e-global-typography-text-font-family,inherit);
}

.asr-card-title,
.asr-card-title a{
  font-family:var(--e-global-typography-primary-font-family,inherit);
  font-weight:300 !important;
  line-height:1.12;
}

.asr-card-text{
  font-weight:300 !important;
  line-height:1.65;
}

.asr-card-meta,
.asr-card-meta span,
.asr-price,
.asr-text-link{
  font-weight:400 !important;
}

.asr-card .asr-eyebrow{
  font-weight:400 !important;
}

@media (min-width: 901px){
  .asr-card-title{
    font-size:clamp(27px,2.1vw,36px) !important;
  }

  .asr-card-text{
    font-size:14px !important;
  }
}

@media (max-width: 680px){
  .asr-card-title{
    font-size:28px !important;
  }

  .asr-card-text{
    font-size:14px !important;
    line-height:1.6 !important;
  }
}




/* v2.3 menu fix + mobile inner-section spacing only */

/* Header and mobile-menu positioning are intentionally left to the Elementor header template. */

.asr-single-hero-overlay{
  pointer-events:none !important;
}

.asr-single{
  position:relative;
  z-index:0;
}

@media (max-width: 680px) {
  /* Restore the previous mobile top section width and spacing. */
  .asr-single-container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .asr-experience-hero-copy{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .asr-package-hero .asr-single-hero-inner{
    width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .asr-breadcrumbs{
    width:calc(100% - 32px) !important;
    left:16px !important;
    right:16px !important;
  }

  /* Restore the original fact bar directly below the hero. */
  .asr-single-facts-wrap{
    padding:0 !important;
    background:#fbf8f2 !important;
  }

  .asr-single-facts{
    border:0 !important;
  }

  /* Add more side space only to the content sections below the facts. */
  .asr-single-main .asr-single-container,
  .asr-single-info .asr-single-container,
  .asr-itinerary-section .asr-single-container,
  .asr-gallery-section .asr-single-container,
  .asr-single-final-cta .asr-single-container{
    width:calc(100% - 48px) !important;
    max-width:none !important;
  }

  .asr-single-main{
    padding-top:46px !important;
    padding-bottom:52px !important;
  }

  .asr-single-info{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }

  .asr-info-panel,
  .asr-info-panel + .asr-info-panel{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .asr-gallery-section{
    padding-top:46px !important;
    padding-bottom:50px !important;
  }

  .asr-single-final-cta{
    padding-bottom:36px !important;
  }

  .asr-final-box{
    padding:26px 22px !important;
  }
}


/* v2.4 header/admin-bar correction + larger gold labels */

/* The plugin does not alter the Elementor header, menu or admin-bar positioning. */

/* Slightly larger gold section labels throughout single pages. */
.asr-single .asr-section-kicker,
.asr-single .asr-eyebrow,
.asr-single .asr-single-eyebrow{
  font-size:11px !important;
  line-height:1.35 !important;
  letter-spacing:.16em !important;
}

/* Included / Practical / Timetable labels on mobile deserve a little more presence. */
@media (max-width:680px){
  .asr-single .asr-section-kicker,
  .asr-single .asr-eyebrow,
  .asr-single .asr-single-eyebrow{
    font-size:12px !important;
    line-height:1.4 !important;
    letter-spacing:.14em !important;
  }

  /* Preserve enough top room under the transparent header. */
  .asr-package-hero .asr-single-hero-inner{
    padding-top:175px !important;
  }

  .asr-experience-hero-copy{
    padding-top:350px !important;
  }
}


/* v2.5 package layout aligned with experience layout */

/* Package hero now follows the same full-image logic as Experience. */
.asr-package-hero{
  position:relative !important;
  display:flex !important;
  min-height:640px !important;
  padding:0 !important;
  background-image:
    linear-gradient(90deg,rgba(3,25,39,.82) 0%,rgba(3,25,39,.62) 38%,rgba(3,25,39,.28) 68%,rgba(3,25,39,.12) 100%),
    var(--asr-hero) !important;
  background-size:cover !important;
  background-position:center !important;
  color:#fff !important;
  overflow:hidden !important;
}

.asr-package-hero .asr-single-hero-overlay{
  display:none !important;
}

.asr-package-hero .asr-single-hero-inner{
  position:relative !important;
  z-index:2 !important;
  width:min(1180px,calc(100% - 48px)) !important;
  min-height:640px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  padding:210px 0 78px !important;
  text-align:left !important;
}

.asr-package-hero .asr-single-hero-inner h1{
  max-width:720px !important;
  margin:12px 0 18px !important;
  color:#fff !important;
  font-size:clamp(50px,5vw,74px) !important;
  line-height:1.02 !important;
  text-shadow:0 3px 24px rgba(0,0,0,.30);
}

.asr-package-hero .asr-single-lead{
  max-width:560px !important;
  margin:0 !important;
  color:rgba(255,255,255,.94) !important;
  font-size:16px !important;
  line-height:1.65 !important;
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}

/* Package content uses the same spacing rhythm as Experience. */
.asr-single.asr-single-package .asr-single-main,
.single-asr_package .asr-single-main{
  padding:64px 0 68px !important;
}

.single-asr_package .asr-single-main-grid{
  gap:64px !important;
  align-items:start !important;
}

.single-asr_package .asr-single-copy h2{
  font-size:clamp(34px,3vw,46px) !important;
  margin-bottom:18px !important;
}

.single-asr_package .asr-single .asr-rich-text,
.single-asr_package .asr-single .asr-rich-text p{
  font-size:15px !important;
  line-height:1.75 !important;
}

/* Center the example timetable content on desktop. */
.single-asr_package .asr-itinerary-section .asr-single-container{
  width:min(980px,calc(100% - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.single-asr_package .asr-itinerary-section .asr-section-kicker,
.single-asr_package .asr-itinerary-section h2{
  text-align:center !important;
}

.single-asr_package .asr-package-timetable{
  max-width:760px !important;
  margin:30px auto 0 !important;
}

.single-asr_package .asr-package-time-row{
  grid-template-columns:90px 1fr !important;
}

/* Keep package section paddings identical to Experience on mobile. */
@media (max-width:680px){
  .asr-package-hero{
    min-height:620px !important;
    background-image:
      linear-gradient(180deg,rgba(3,31,49,.30) 0%,rgba(3,31,49,.60) 48%,rgba(3,31,49,.88) 100%),
      var(--asr-hero) !important;
    background-position:center !important;
  }

  .asr-package-hero .asr-single-hero-inner{
    width:calc(100% - 44px) !important;
    min-height:620px !important;
    padding:350px 0 48px !important;
    justify-content:flex-end !important;
  }

  .asr-package-hero .asr-single-hero-inner h1{
    max-width:none !important;
    font-size:clamp(38px,11vw,50px) !important;
    line-height:1.02 !important;
    margin:10px 0 14px !important;
  }

  .asr-package-hero .asr-single-lead{
    max-width:none !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .single-asr_package .asr-single-main .asr-single-container,
  .single-asr_package .asr-single-info .asr-single-container,
  .single-asr_package .asr-itinerary-section .asr-single-container,
  .single-asr_package .asr-gallery-section .asr-single-container,
  .single-asr_package .asr-single-final-cta .asr-single-container{
    width:calc(100% - 48px) !important;
    max-width:none !important;
  }

  .single-asr_package .asr-itinerary-section .asr-section-kicker,
  .single-asr_package .asr-itinerary-section h2{
    text-align:left !important;
  }

  .single-asr_package .asr-package-timetable{
    max-width:none !important;
    margin-top:24px !important;
  }

  .single-asr_package .asr-package-time-row{
    grid-template-columns:72px 1fr !important;
  }
}


/* v2.6 desktop hero refinement for Experiences and Packages */
@media (min-width: 901px) {
  .asr-experience-hero,
  .asr-package-hero{
    min-height:700px !important;
  }

  .asr-experience-hero-copy{
    min-height:700px !important;
    padding:
      270px
      max(48px,calc((100vw - 1180px)/2))
      92px !important;
    align-items:flex-end !important;
  }

  .asr-package-hero .asr-single-hero-inner{
    min-height:700px !important;
    padding:270px 0 92px !important;
    justify-content:flex-end !important;
  }

  .asr-experience-hero-copy-inner,
  .asr-package-hero .asr-single-hero-inner{
    max-width:1180px !important;
  }

  .asr-experience-hero h1,
  .asr-package-hero .asr-single-hero-inner h1{
    max-width:780px !important;
    font-size:clamp(52px,4.2vw,64px) !important;
    line-height:1.04 !important;
    margin:12px 0 20px !important;
  }

  .asr-experience-hero .asr-single-lead,
  .asr-package-hero .asr-single-lead{
    max-width:620px !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .asr-experience-hero,
  .asr-package-hero{
    background-position:center 38% !important;
  }
}




/* v3.0: Elementor header compatibility and refined dark-section spacing */

/*
 * Important:
 * This plugin intentionally does not set position, top, width or dropdown
 * positioning for the Elementor header. The same Elementor mobile menu can
 * therefore behave exactly as it does on normal pages.
 */
.asr-single-hero-overlay{
  pointer-events:none !important;
}

.asr-single{
  position:relative;
  z-index:0;
}

/* More breathing room in the dark content sections on desktop. */
@media (min-width: 901px){
  .asr-single-info .asr-single-container,
  .asr-itinerary-section .asr-single-container{
    width:min(1120px,calc(100% - 112px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .asr-single-info{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .asr-itinerary-section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .asr-info-panel{
    padding-right:54px !important;
  }

  .asr-info-panel + .asr-info-panel{
    padding-left:54px !important;
  }

  .asr-info-panel .asr-section-kicker,
  .asr-itinerary-section .asr-section-kicker{
    margin-bottom:14px !important;
  }

  .asr-info-panel h2,
  .asr-itinerary-section h2{
    margin-bottom:28px !important;
  }
}

/* More side padding specifically for the lower dark sections on mobile. */
@media (max-width: 680px){
  .asr-single-info .asr-single-container,
  .asr-itinerary-section .asr-single-container{
    width:calc(100% - 72px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .asr-single-info{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }

  .asr-itinerary-section{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }

  .asr-info-panel,
  .asr-info-panel + .asr-info-panel{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .asr-info-panel .asr-section-kicker,
  .asr-itinerary-section .asr-section-kicker{
    margin-bottom:14px !important;
  }

  .asr-info-panel h2,
  .asr-itinerary-section h2{
    margin-bottom:30px !important;
  }

  .asr-info-panel li{
    padding-top:17px !important;
    padding-bottom:17px !important;
  }

  .asr-package-time-row{
    padding-top:11px !important;
    padding-bottom:11px !important;
  }
}


/* v3.3 contextual heading colours */
.asr-single{
  --asr-heading-dark:#052A40;
}

.asr-single-hero h1,
.asr-single-hero h2,
.asr-single-hero h3,
.asr-single-hero .asr-single-lead{
  color:#fff !important;
}

.asr-single-main h1,
.asr-single-main h2,
.asr-single-main h3,
.asr-single-booking-card h1,
.asr-single-booking-card h2,
.asr-single-booking-card h3,
.asr-gallery-section h1,
.asr-gallery-section h2,
.asr-gallery-section h3,
.asr-single-final-cta h1,
.asr-single-final-cta h2,
.asr-single-final-cta h3,
.asr-single-facts-wrap h1,
.asr-single-facts-wrap h2,
.asr-single-facts-wrap h3{
  color:var(--asr-heading-dark) !important;
}

.asr-single-info h1,
.asr-single-info h2,
.asr-single-info h3,
.asr-itinerary-section h1,
.asr-itinerary-section h2,
.asr-itinerary-section h3{
  color:#fff !important;
}

.asr-single .asr-section-kicker,
.asr-single .asr-eyebrow,
.asr-single .asr-single-eyebrow{
  color:var(--asr-gold,#b78b49) !important;
}

/* Extended Stay enquiry modal */
.asr-modal-open{overflow:hidden}
.asr-extended-inquiry-open{border:0;cursor:pointer;font:inherit}
.asr-inquiry-modal[hidden]{display:none!important}
.asr-inquiry-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}
.asr-inquiry-backdrop{position:absolute;inset:0;background:rgba(3,25,39,.76);backdrop-filter:blur(7px)}
.asr-inquiry-dialog{position:relative;width:min(760px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;background:#f7f3eb;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.asr-inquiry-content{padding:52px}
.asr-inquiry-close{position:absolute;top:14px;right:18px;width:42px;height:42px;border:0;background:transparent;color:#052A40;font-size:34px;line-height:1;cursor:pointer;z-index:2}
.asr-inquiry-content h2{margin:6px 0 12px;color:#052A40;font-family:var(--e-global-typography-primary-font-family,"Cormorant Garamond"),serif;font-size:48px;line-height:1.02;font-weight:400}
.asr-inquiry-intro{margin:0 0 28px;color:#294454;font-size:17px;line-height:1.55}
.asr-inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}
.asr-inquiry-grid label{display:block;color:#052A40;font-size:13px;font-weight:600;letter-spacing:.02em}
.asr-inquiry-grid label span{display:block;margin:0 0 7px}
.asr-inquiry-grid input{width:100%;box-sizing:border-box;border:1px solid rgba(5,42,64,.22);background:#fff;color:#052A40;padding:15px 14px;font:inherit;border-radius:0;outline:none}
.asr-inquiry-grid input:focus{border-color:#b89a5b;box-shadow:0 0 0 2px rgba(184,154,91,.12)}
.asr-inquiry-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:#60727d;text-transform:uppercase;font-size:11px;letter-spacing:.13em}
.asr-inquiry-or:before,.asr-inquiry-or:after{content:"";height:1px;flex:1;background:rgba(5,42,64,.16)}
.asr-inquiry-book-now{margin-bottom:0}
.asr-inquiry-privacy{margin:12px 0 0;color:#6d7b84;font-size:12px;line-height:1.45}
.asr-inquiry-message{margin-top:12px;color:#9b3f32;font-size:14px;font-weight:600}
.asr-inquiry-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.asr-inquiry-success{text-align:center;padding:16px 0 4px}
.asr-inquiry-success-icon{width:62px;height:62px;margin:0 auto 18px;border:1px solid #b89a5b;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#b89a5b;font-size:30px}
.asr-inquiry-success h2{font-size:58px;margin-bottom:14px}
.asr-inquiry-success p{max-width:520px;margin:0 auto 28px;color:#294454;font-size:17px;line-height:1.55}
@media(max-width:680px){
  .asr-inquiry-modal{align-items:flex-end;padding:0}
  .asr-inquiry-dialog{width:100%;max-height:92vh;border-radius:18px 18px 0 0}
  .asr-inquiry-content{padding:36px 22px 26px}
  .asr-inquiry-close{top:8px;right:10px}
  .asr-inquiry-content h2{font-size:36px;padding-right:24px}
  .asr-inquiry-intro{font-size:15px;margin-bottom:22px}
  .asr-inquiry-grid{grid-template-columns:1fr;gap:12px}
  .asr-inquiry-grid input{padding:14px}
  .asr-inquiry-success h2{font-size:42px;padding-right:0}
  .asr-inquiry-success p{font-size:15px}
}

/* ASR 3.7.0 dual Experience CTA */
.asr-dual-cta{display:flex;flex-direction:column;gap:10px}.asr-booking-button-secondary{background:transparent!important;color:inherit;border:1px solid currentColor}.asr-single-booking-card .asr-booking-button+.asr-booking-button,.asr-final-box .asr-booking-button+.asr-booking-button{margin-top:10px}

/* ASR 3.7.1 Experience dual CTA */
.asr-single-experience .asr-dual-cta,
.asr-single-experience .asr-final-box .asr-dual-cta{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
.asr-single-experience .asr-dual-cta .asr-booking-button{width:100%}
.asr-single-experience .asr-booking-button-secondary{
  background:transparent!important;
  color:#052A40!important;
  border:1px solid rgba(5,42,64,.45)!important;
}


/* v3.7.3 Included Experiences + visible FAQ */
.asr-ew-included-experiences,.asr-ew-faq{padding:72px 7vw}
.asr-ew-included-intro{max-width:720px;margin:0 0 30px;opacity:.78}
.asr-ew-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.asr-ew-experience-card{background:#fff;min-width:0}
.asr-ew-experience-image{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.asr-ew-experience-image img{width:100%;height:100%;object-fit:cover;display:block}
.asr-ew-experience-image span{position:absolute;left:14px;top:14px;background:#b58a49;color:#fff;font-size:10px;letter-spacing:.13em;padding:7px 10px}
.asr-ew-experience-copy{padding:22px}
.asr-ew-experience-copy h3{margin:0 0 10px;font-size:24px;font-weight:400}
.asr-ew-experience-copy h3 a,.asr-ew-experience-link{color:inherit;text-decoration:none}
.asr-ew-experience-copy p{margin:0 0 18px;line-height:1.6}
.asr-ew-experience-link{font-size:12px;letter-spacing:.04em}
.asr-ew-faq-list{max-width:900px;margin-top:28px;border-top:1px solid rgba(6,47,67,.18)}
.asr-ew-faq-item{border-bottom:1px solid rgba(6,47,67,.18);padding:0}
.asr-ew-faq-item summary{cursor:pointer;list-style:none;padding:20px 36px 20px 0;font-size:18px;position:relative}
.asr-ew-faq-item summary::-webkit-details-marker{display:none}
.asr-ew-faq-item summary:after{content:'+';position:absolute;right:4px;top:18px;font-size:24px;font-weight:300}
.asr-ew-faq-item[open] summary:after{content:'–'}
.asr-ew-faq-item div{padding:0 36px 20px 0;max-width:760px;line-height:1.65}
@media(max-width:767px){.asr-ew-included-experiences,.asr-ew-faq{padding:48px 24px}.asr-ew-experience-grid{grid-template-columns:1fr}.asr-ew-experience-copy h3{font-size:22px}}

/* 3.7.6: explicit light-section colours for Included Experiences + FAQ */
.asr-ew-included-experiences,
.asr-ew-faq{
  background:#f5f0e8;
  color:#153241;
}
.asr-ew-included-experiences > h2,
.asr-ew-faq > h2{
  color:#153241 !important;
  margin:10px 0 24px;
  font-size:clamp(34px,4vw,54px);
  font-weight:400;
  line-height:1.05;
}
.asr-ew-included-experiences .asr-ew-kicker,
.asr-ew-faq .asr-ew-kicker{
  color:#b58a49 !important;
}
.asr-ew-included-intro{
  color:#5f6f77 !important;
  opacity:1;
}
.asr-ew-experience-card{
  color:#153241 !important;
}
.asr-ew-experience-copy h3,
.asr-ew-experience-copy h3 a{
  color:#153241 !important;
}
.asr-ew-experience-copy p{
  color:#5f6f77 !important;
}
.asr-ew-experience-link{
  color:#b58a49 !important;
}
.asr-ew-faq-list,
.asr-ew-faq-item{
  color:#153241 !important;
}
.asr-ew-faq-item summary{
  color:#153241 !important;
}
.asr-ew-faq-item summary:after{
  color:#b58a49 !important;
}
.asr-ew-faq-item div,
.asr-ew-faq-item p{
  color:#5f6f77 !important;
}
