/* BWET clean UI pass: one clear hierarchy, fewer repeated headers, same palette. */
:root{
  --bwet-black:#090909;
  --bwet-black-soft:#141414;
  --bwet-cream:#f7f4ec;
  --bwet-cream-2:#eee8dc;
  --bwet-white:#fff;
  --bwet-ink:#171717;
  --bwet-muted:#6f6a60;
  --bwet-line:rgba(23,23,23,.13);
  --bwet-gold:#c99a2f;
  --bwet-gold-deep:#946a12;
  --bwet-gold-pale:#f0dfaf;
  --bwet-radius:12px;
  --bwet-control-radius:9px;
  --bwet-shadow:0 18px 54px rgba(15,12,7,.08);
}
html{scroll-behavior:smooth}
body{background:var(--bwet-cream)!important;color:var(--bwet-ink)!important;font-family:'Manrope',Arial,sans-serif!important}
h1,h2,h3,h4,.display,.section-title{font-family:'Sora','Manrope',sans-serif!important}
.container{width:min(100%,1280px)!important}
.site-header{background:rgba(9,9,9,.97)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.site-header .header-inner{min-height:66px!important}
.site-header .brand-logo img{width:108px!important;height:34px!important}
.site-header .desktop-nav{gap:24px!important}
.site-header .desktop-nav a{padding:22px 0 20px!important;font-size:12px!important}
.btn,button,input,select,textarea{border-radius:var(--bwet-control-radius)!important}
.btn{min-height:44px!important;padding-inline:18px!important;font-size:12.5px!important}
.btn-dark{background:var(--bwet-black)!important;border-color:var(--bwet-black)!important;color:#fff!important}
.btn-dark:hover{background:var(--bwet-gold-deep)!important;border-color:var(--bwet-gold-deep)!important}
.eyebrow{font-size:10px!important;letter-spacing:.15em!important}

/* compact page headers */
.events-hero,.tourism-hero,.keepfit-hero,.gallery-hero,.contact-hero,.shop-hero,.cart-hero,.checkout-hero{
  background:var(--bwet-black)!important;color:#fff!important;
}
.events-hero-copy h1,.tourism-hero h1,.keepfit-hero h1,.gallery-hero h1,.contact-hero h1,.shop-hero h1,.cart-hero h1,.checkout-hero h1{
  font-size:clamp(38px,5.4vw,72px)!important;line-height:.94!important;letter-spacing:-.055em!important;margin:8px 0 0!important;
}
.events-hero-copy>p,.tourism-hero .hero-content>p,.keepfit-hero-copy>p,.contact-hero-copy>p,.shop-hero p,.cart-hero p,.checkout-hero p{display:none!important}
.events-hero-meta{margin-top:22px!important}
.events-hero-meta span{font-size:10.5px!important}
.events-hero-grid,.keepfit-hero-grid{min-height:470px!important}
.events-hero-media,.keepfit-hero-media{min-height:470px!important}
.events-hero-media img,.keepfit-hero-media img{object-fit:cover!important}
.tourism-hero{padding:62px 0 58px!important}
.tourism-hero .hero-content{padding-top:0!important;padding-bottom:0!important}
.shop-hero,.cart-hero,.checkout-hero,.gallery-hero{padding:56px 0 46px!important}

/* section hierarchy */
.events-schedule,.archive,.destinations,.trips,.shop-section,.cart-section,.checkout-section,.section{padding:64px 0 84px!important}
.events-schedule+.archive,.destinations+.trips{padding-top:12px!important}
.section-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important;margin-bottom:24px!important}
.section-head h2,.section-title{font-size:clamp(27px,3.2vw,42px)!important;line-height:1!important;letter-spacing:-.045em!important;margin:6px 0 0!important}
.section-head>p,.section-head>div>p{display:none!important}

/* Event schedule: editorial list, state and CTA first */
.event-list,.trip-list{border-top:1px solid var(--bwet-line)!important}
.event-row,.trip-row{
  position:relative!important;display:grid!important;align-items:center!important;gap:22px!important;
  padding:22px 0!important;min-height:116px!important;border-bottom:1px solid var(--bwet-line)!important;
  background:transparent!important;transition:background .18s ease,padding .18s ease!important;
}
.event-row:hover,.trip-row:hover{background:rgba(255,255,255,.55)!important;padding-inline:14px!important}
.event-date,.trip-date{border-right:1px solid var(--bwet-line)!important;padding-right:18px!important}
.event-day,.trip-date strong{font-family:'Sora',sans-serif!important;font-size:34px!important;letter-spacing:-.06em!important}
.event-content h3,.trip-main h3{font-size:20px!important;margin:0 0 6px!important;letter-spacing:-.035em!important}
.event-content p,.trip-main p{margin:0 0 8px!important;color:var(--bwet-muted)!important;font-size:12.5px!important;line-height:1.55!important}
.event-status,.trip-status{display:inline-flex!important;padding:5px 8px!important;border-radius:999px!important;background:var(--bwet-cream-2)!important;color:var(--bwet-gold-deep)!important;font-size:9.5px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.event-location,.trip-destination{color:var(--bwet-muted)!important;font-size:12px!important;line-height:1.55!important}
.event-price strong,.trip-price strong{font-size:15px!important}.event-price small,.trip-price small{font-size:9.5px!important;color:var(--bwet-muted)!important}

/* Tourism destination tiles */
.destination-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.destination-row{display:grid!important;grid-template-columns:42% 1fr!important;min-height:290px!important;background:#fff!important;border:1px solid var(--bwet-line)!important;border-radius:var(--bwet-radius)!important;overflow:hidden!important;box-shadow:none!important}
.destination-image{min-height:290px!important;margin:0!important;overflow:hidden!important}.destination-image img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .35s ease!important}.destination-row:hover .destination-image img{transform:scale(1.025)!important}
.destination-content{padding:28px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.destination-content h3{font-size:24px!important;margin:8px 0!important}.destination-content p{font-size:13px!important;line-height:1.65!important;color:var(--bwet-muted)!important}.destination-location{font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--bwet-gold-deep)!important;font-weight:800!important}

/* Keep Fit: image-led, no repeated intro */
.keepfit-hero-copy{padding:56px clamp(20px,5vw,72px)!important}.community{padding:70px 0 94px!important}.community-grid{gap:56px!important}.community-copy h2{font-size:clamp(30px,4vw,52px)!important;margin:8px 0 14px!important}.community-copy>p{display:none!important}.feature-list{margin-top:18px!important}.feature-list li{padding:14px 0!important}

/* Contact */
.contact-hero-grid{min-height:500px!important}.contact-hero-copy{padding:60px clamp(20px,5vw,72px)!important}.contact-options{padding:64px 0 90px!important}.contact-options .section-head h2{display:none!important}.contact-row{min-height:112px!important}

/* Gallery */
.gallery-hero .eyebrow{display:none!important}.gallery-grid{gap:12px!important}.gallery-card{border-radius:10px!important}.gallery-toolbar{margin-bottom:22px!important}.filter-chip{border-radius:999px!important}

/* Shop catalogue */
.shop-section{padding-top:38px!important}.shop-tools{position:sticky!important;top:66px!important;z-index:25!important;background:rgba(247,244,236,.94)!important;backdrop-filter:blur(14px)!important;padding:14px 0!important;margin:0 0 28px!important;border-bottom:1px solid var(--bwet-line)!important}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px 18px!important}
.product-item{border:0!important;padding:0!important;background:transparent!important}
.product-media{aspect-ratio:4/5!important;border-radius:10px!important;background:var(--bwet-cream-2)!important;overflow:hidden!important}.product-media img{transition:transform .35s ease!important}.product-item:hover .product-media img{transform:scale(1.025)!important}
.product-copy{padding:13px 2px 0!important}.product-meta{font-size:9.5px!important}.product-meta strong{font-size:14px!important}.product-copy h2{font-size:18px!important;margin:7px 0 4px!important}.product-copy p{min-height:0!important;margin:0 0 14px!important;font-size:12px!important;line-height:1.55!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.product-actions{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}.product-actions .btn{width:100%!important}.buy-now{min-width:86px!important;background:transparent!important;color:var(--bwet-ink)!important;border:1px solid var(--bwet-line)!important}.buy-now:hover{border-color:var(--bwet-gold)!important;color:var(--bwet-gold-deep)!important;background:#fff!important}

/* cart drawer */
.cart-drawer-backdrop{position:fixed;inset:0;z-index:1190;background:rgba(9,9,9,.48);opacity:0;pointer-events:none;transition:opacity .22s ease}.cart-drawer-backdrop.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1200;width:min(430px,94vw);display:flex;flex-direction:column;background:#fff;box-shadow:-24px 0 70px rgba(0,0,0,.18);transform:translateX(102%);transition:transform .24s ease}.cart-drawer.open{transform:translateX(0)}
.cart-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--bwet-line)}.cart-drawer-head h2{margin:0;font-size:20px}.cart-drawer-close{width:38px;height:38px;border:1px solid var(--bwet-line)!important;background:transparent;display:grid;place-items:center;cursor:pointer}.cart-drawer-body{flex:1;overflow:auto;padding:8px 22px}.drawer-empty{padding:52px 6px;text-align:center;color:var(--bwet-muted);font-size:13px}.drawer-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--bwet-line)}.drawer-item img{width:70px;height:82px;object-fit:cover;border-radius:8px;background:var(--bwet-cream-2)}.drawer-item h3{margin:1px 0 5px;font-size:13.5px}.drawer-item p{margin:0;color:var(--bwet-muted);font-size:11.5px}.drawer-qty{display:flex;align-items:center;gap:7px;margin-top:10px}.drawer-qty button{width:28px;height:28px;border:1px solid var(--bwet-line);background:#fff;cursor:pointer}.drawer-qty strong{min-width:22px;text-align:center;font-size:12px}.drawer-remove{border:0!important;background:transparent!important;color:var(--bwet-gold-deep)!important;padding:0!important;font-size:11px!important;cursor:pointer}.drawer-price{font-size:12px;white-space:nowrap}.cart-drawer-foot{padding:18px 22px 22px;border-top:1px solid var(--bwet-line);background:var(--bwet-cream)}.drawer-total{display:flex;justify-content:space-between;gap:18px;margin-bottom:14px;font-size:14px}.drawer-total strong{font-family:'Sora',sans-serif;font-size:18px}.drawer-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.drawer-actions .btn{width:100%}.body-drawer-open{overflow:hidden}

/* Cart + checkout: transactional, compact */
.cart-section,.checkout-section{padding-top:42px!important}.cart-layout{gap:34px!important}.cart-row{border-bottom:1px solid var(--bwet-line)!important;padding:18px 0!important}.cart-image{border-radius:8px!important;overflow:hidden!important}.cart-summary,.checkout-summary{position:sticky!important;top:92px!important;background:#fff!important;border:1px solid var(--bwet-line)!important;border-top:3px solid var(--bwet-gold)!important;border-radius:10px!important;padding:20px!important;box-shadow:none!important}.cart-summary h2,.checkout-summary h2{font-size:18px!important}.checkout-grid{gap:34px!important}.checkout-form{background:#fff!important;border:1px solid var(--bwet-line)!important;border-radius:10px!important;padding:24px!important}.checkout-form input{background:#fff!important}.secure-note{font-size:11.5px!important}.checkout-steps{display:flex;align-items:center;gap:8px;margin-bottom:20px;color:var(--bwet-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.checkout-steps span{display:inline-flex;align-items:center;gap:8px}.checkout-steps span+span:before{content:'/';color:rgba(23,23,23,.3)}.checkout-steps .active{color:var(--bwet-gold-deep)}

/* Detail/booking screens */
.detail-hero,.detail-shell,.checkout-page,.payment-shell,.ticket-page{background:var(--bwet-cream)!important}.detail-title,.payment-title,.checkout-card h1,.ticket-header h1{font-family:'Sora',sans-serif!important;letter-spacing:-.045em!important}.checkout-help{display:none!important}

/* Empty and loading states */
.empty-state,.empty-state-public,.shop-empty,.cart-empty{border:1px solid var(--bwet-line)!important;border-radius:10px!important;background:rgba(255,255,255,.62)!important;padding:34px!important}.empty-state h3,.empty-state-public h3,.shop-empty h2,.cart-empty h2{font-size:18px!important}.ui-loading{font-size:12px!important;color:var(--bwet-muted)!important}

@media(max-width:1050px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.destination-list{grid-template-columns:1fr!important}.event-row,.trip-row{gap:16px!important}}
@media(max-width:820px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.events-hero-grid,.keepfit-hero-grid{min-height:0!important}.events-hero-media,.keepfit-hero-media{min-height:360px!important}.event-row,.trip-row{padding:18px 0!important}.shop-tools{top:64px!important}.cart-summary,.checkout-summary{position:static!important}.drawer-actions{grid-template-columns:1fr!important}}
@media(max-width:620px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 10px!important}.product-copy h2{font-size:15px!important}.product-copy p{display:none!important}.product-meta{display:block!important}.product-meta strong{display:block!important;margin-top:4px!important}.product-actions{grid-template-columns:1fr!important}.buy-now{display:none!important}.destination-row{grid-template-columns:1fr!important}.destination-image{min-height:230px!important}.destination-content{padding:22px!important}.events-hero-media,.keepfit-hero-media{min-height:300px!important}.cart-drawer{width:100vw}.section-head{align-items:flex-start!important}.events-schedule,.archive,.destinations,.trips,.shop-section,.cart-section,.checkout-section,.section{padding-bottom:64px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ===== Experience gallery media (Events + Tourism) ===== */
.experience-gallery-section{padding:clamp(64px,8vw,110px) 0;background:#fff;border-top:1px solid rgba(23,23,23,.12)}
.experience-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.experience-gallery-head h2{margin:8px 0 0;font-family:"Sora",sans-serif;font-size:clamp(34px,4.5vw,58px);line-height:.98;letter-spacing:-.045em}
.experience-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.experience-media-card{margin:0;overflow:hidden;border:1px solid rgba(23,23,23,.10);border-radius:12px;background:#eee8dc}
.experience-media-card>img,.experience-media-card>.experience-video,.experience-media-card>.experience-video-frame{display:block;width:100%;height:360px;object-fit:cover;background:#090909;border:0}
.experience-media-card figcaption{padding:12px 14px;color:#6f6a60;font-size:12px;line-height:1.55;background:#fff}
.experience-video-frame{border:0}
.detail-hero-media>.experience-video,.detail-media>.experience-video,.detail-hero-media>.experience-video-frame,.detail-media>.experience-video-frame{width:100%;height:100%;min-height:inherit;object-fit:cover;border:0;background:#090909}

/* Listing media preview */
.event-row.has-gallery-media,.trip-row.has-gallery-media{grid-template-columns:90px 150px minmax(0,1.15fr) minmax(160px,.5fr) minmax(110px,.32fr) auto!important;gap:20px!important}
.listing-media{position:relative;width:150px;height:96px;overflow:hidden;border-radius:10px;background:#141414}
.listing-media img,.listing-media video{display:block;width:100%;height:100%;object-fit:cover}
.listing-video:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18));pointer-events:none}
.listing-play{position:absolute;left:50%;top:50%;z-index:2;width:34px;height:34px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(9,9,9,.62);color:#f0dfaf;backdrop-filter:blur(6px)}
.listing-play svg{width:17px;height:17px;fill:currentColor;stroke:none}

@media(max-width:1100px){
  .event-row.has-gallery-media,.trip-row.has-gallery-media{grid-template-columns:78px 132px minmax(0,1fr) auto!important}
  .listing-media{width:132px;height:88px}
  .event-row.has-gallery-media .event-location,.trip-row.has-gallery-media .trip-destination{grid-column:3}
  .event-row.has-gallery-media .event-price,.trip-row.has-gallery-media .trip-price{display:none}
}
@media(max-width:820px){
  .experience-media-grid{grid-template-columns:1fr}
  .experience-media-card>img,.experience-media-card>.experience-video,.experience-media-card>.experience-video-frame{height:320px}
  .event-row.has-gallery-media,.trip-row.has-gallery-media{grid-template-columns:64px 120px minmax(0,1fr)!important;align-items:start}
  .listing-media{width:120px;height:82px}
  .event-row.has-gallery-media .event-location,.trip-row.has-gallery-media .trip-destination,.event-row.has-gallery-media>.btn,.trip-row.has-gallery-media>.btn{grid-column:3!important}
}
@media(max-width:620px){
  .experience-gallery-head{align-items:flex-start;flex-direction:column}
  .experience-media-card>img,.experience-media-card>.experience-video,.experience-media-card>.experience-video-frame{height:250px}
  .event-row.has-gallery-media,.trip-row.has-gallery-media{grid-template-columns:58px minmax(0,1fr)!important;gap:14px!important}
  .listing-media{grid-column:2;width:100%;height:180px;margin-bottom:4px}
  .event-row.has-gallery-media .event-content,.trip-row.has-gallery-media .trip-main,.event-row.has-gallery-media .event-location,.trip-row.has-gallery-media .trip-destination,.event-row.has-gallery-media>.btn,.trip-row.has-gallery-media>.btn{grid-column:2!important}
}
