/* BWET 2026 reference-inspired UI refinement.
   Visual-only overrides: no application logic is changed. */
:root{
  --bwet-black:#090909;
  --bwet-black-2:#141414;
  --bwet-cream:#f7f4ec;
  --bwet-cream-2:#eee8dc;
  --bwet-white:#fff;
  --bwet-ink:#171717;
  --bwet-muted:#6f6a60;
  --bwet-gold:#c99a2f;
  --bwet-gold-deep:#946a12;
  --bwet-gold-pale:#f0dfaf;
  --bwet-line:rgba(23,23,23,.12);
  --bwet-shadow:0 18px 50px rgba(9,9,9,.08);
  --bwet-shadow-hover:0 26px 70px rgba(9,9,9,.12);
  --bwet-r:18px;
  --bwet-r-sm:12px;
}

html{background:var(--bwet-cream)}
body{background:var(--bwet-cream)!important;color:var(--bwet-ink)}
::selection{background:var(--bwet-gold);color:#111}

/* Shared shell */
.site-header{
  background:rgba(9,9,9,.94)!important;
  border-bottom:1px solid rgba(240,223,175,.14)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.08)!important;
  backdrop-filter:blur(20px)!important;
}
.site-header .header-inner{min-height:72px!important}
.site-header .brand-logo img,.site-logo img{width:122px!important;height:38px!important;object-fit:contain!important}
.site-header .desktop-nav{gap:24px!important}
.site-header .desktop-nav a,.site-nav a{font-size:13px!important;font-weight:700!important;color:rgba(255,255,255,.68)!important}
.site-header .desktop-nav a:hover,.site-header .desktop-nav a.active,.site-nav a:hover,.site-nav a.active{color:#fff!important}
.site-header .desktop-nav a::after,.site-nav a::after{background:var(--bwet-gold)!important;height:2px!important;border-radius:99px!important}

.btn,.event-link,.checkout-button,.contact-action,.filter-chip{
  border-radius:10px!important;
  min-height:46px;
  box-shadow:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease!important;
}
.btn:hover,.event-link:hover,.contact-action:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(9,9,9,.08)}
.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}

/* Editorial hero rhythm */
.events-hero,.tourism-hero,.shop-hero,.gallery-hero,.keepfit-hero,.contact-hero,.cart-hero,.checkout-hero{
  background:var(--bwet-black)!important;color:#fff!important;
}
.events-hero-grid,.keepfit-hero-grid,.contact-hero-grid{
  gap:clamp(34px,6vw,84px)!important;
}
.events-hero-copy,.keepfit-hero-copy,.contact-hero-copy,.hero-content{
  padding-top:clamp(62px,8vw,104px)!important;
  padding-bottom:clamp(62px,8vw,104px)!important;
}
.events-hero h1,.tourism-hero h1,.shop-hero h1,.gallery-hero h1,.keepfit-hero h1,.contact-hero h1,.cart-hero h1,.checkout-hero h1{
  max-width:900px!important;
}
.events-hero-media,.keepfit-hero-media{
  border-radius:0!important;
  min-height:520px!important;
}
.events-hero-media img,.keepfit-hero-media img{filter:saturate(.92) contrast(1.02)}

/* Section rhythm and headings */
.section,.event-section,.events-schedule,.destinations,.trips,.shop-section,.cart-section,.checkout-section,.community,.contact-main{
  padding-top:clamp(68px,8vw,112px)!important;
  padding-bottom:clamp(68px,8vw,112px)!important;
}
.section-head,.upcoming-head,.gallery-head,.shop-tools,.gallery-toolbar{
  margin-bottom:32px!important;
}
.section-head h2,.section-title{max-width:780px}
.eyebrow{color:var(--bwet-gold-deep)!important}

/* Events: date-led ticket marketplace hierarchy */
.event-list,.events-list{display:grid;gap:14px;border:0!important}
.event-row{
  display:grid!important;
  grid-template-columns:92px minmax(0,1.4fr) minmax(160px,.65fr) minmax(128px,.42fr) auto!important;
  gap:22px!important;
  align-items:center!important;
  min-height:126px!important;
  padding:18px 20px!important;
  border:1px solid var(--bwet-line)!important;
  border-radius:var(--bwet-r)!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(9,9,9,.025)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.event-row:hover{transform:translateY(-3px);border-color:rgba(201,154,47,.35)!important;box-shadow:var(--bwet-shadow)!important}
.event-date{
  min-height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  padding:12px!important;border-radius:14px!important;background:var(--bwet-cream)!important;border:1px solid var(--bwet-line)!important;
}
.event-day{font-family:var(--font-display)!important;font-size:32px!important;font-weight:800!important;letter-spacing:-.06em!important}
.event-content h3{margin:4px 0 8px!important;font-size:clamp(19px,2vw,25px)!important}
.event-content p,.event-location{color:var(--bwet-muted)!important}
.event-status,.trip-status{display:inline-flex!important;width:max-content!important;padding:7px 10px!important;border-radius:999px!important;background:rgba(201,154,47,.12)!important;color:var(--bwet-gold-deep)!important;letter-spacing:.08em!important}
.event-price strong,.trip-price strong{font-family:var(--font-display)!important;font-size:18px!important}

/* Tourism: image-led destination catalogue */
.tourism-intro{background:#fff!important}
.destination-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}
.destination-row{
  display:flex!important;flex-direction:column!important;min-width:0!important;
  border:1px solid var(--bwet-line)!important;border-radius:var(--bwet-r)!important;overflow:hidden!important;background:#fff!important;
  box-shadow:0 5px 18px rgba(9,9,9,.035)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.destination-row:hover{transform:translateY(-5px);box-shadow:var(--bwet-shadow-hover)!important;border-color:rgba(201,154,47,.32)!important}
.destination-image{min-height:260px!important;aspect-ratio:4/3!important;margin:0!important;overflow:hidden!important}
.destination-image img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .45s ease!important}
.destination-row:hover .destination-image img{transform:scale(1.045)}
.destination-content{padding:24px!important;display:flex!important;flex:1!important;flex-direction:column!important;align-items:flex-start!important}
.destination-location{display:inline-flex!important;margin-bottom:8px!important;padding:6px 9px!important;border-radius:999px!important;background:var(--bwet-cream)!important;color:var(--bwet-gold-deep)!important}
.destination-content h3{margin:4px 0 10px!important}
.destination-content p{color:var(--bwet-muted)!important;line-height:1.7!important}
.destination-content .btn{margin-top:auto!important}
.trip-list{display:grid!important;gap:14px!important}
.trip-row{
  display:grid!important;grid-template-columns:88px minmax(0,1.25fr) minmax(160px,.65fr) minmax(120px,.42fr) auto!important;
  gap:20px!important;align-items:center!important;padding:18px 20px!important;border:1px solid var(--bwet-line)!important;
  border-radius:var(--bwet-r)!important;background:#fff!important;transition:transform .22s ease,box-shadow .22s ease!important;
}
.trip-row:hover{transform:translateY(-3px);box-shadow:var(--bwet-shadow)!important}
.trip-date{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:78px!important;padding:10px!important;border-radius:14px!important;background:var(--bwet-cream)!important}
.trip-date strong{font-family:var(--font-display)!important;font-size:30px!important;letter-spacing:-.06em!important}

/* Shop: clean fashion/ecommerce catalogue */
.shop-hero{padding-top:clamp(62px,8vw,100px)!important;padding-bottom:clamp(54px,7vw,90px)!important}
.shop-tools{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  padding:14px!important;border:1px solid var(--bwet-line)!important;border-radius:14px!important;background:#fff!important;
}
.shop-tools input,.shop-tools select{min-height:46px!important;border-radius:10px!important;border:1px solid var(--bwet-line)!important;background:var(--bwet-cream)!important}
.product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
.product-item{
  display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;
  border:1px solid var(--bwet-line)!important;border-radius:var(--bwet-r)!important;background:#fff!important;
  box-shadow:0 5px 18px rgba(9,9,9,.035)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.product-item:hover{transform:translateY(-5px);box-shadow:var(--bwet-shadow-hover)!important;border-color:rgba(201,154,47,.34)!important}
.product-media{aspect-ratio:4/5!important;min-height:0!important;background:var(--bwet-cream-2)!important;overflow:hidden!important}
.product-media img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .45s ease!important}
.product-item:hover .product-media img{transform:scale(1.035)}
.product-copy{display:flex!important;flex:1!important;flex-direction:column!important;padding:20px!important}
.product-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important}
.product-meta span{display:inline-flex!important;padding:6px 9px!important;border-radius:999px!important;background:var(--bwet-cream)!important;color:var(--bwet-muted)!important;font-size:11px!important;font-weight:800!important}
.product-meta strong{font-family:var(--font-display)!important;font-size:17px!important;color:var(--bwet-ink)!important}
.product-copy h2,.product-copy h3{margin:0 0 8px!important;font-size:19px!important}
.product-copy p{margin:0 0 20px!important;color:var(--bwet-muted)!important;font-size:13px!important;line-height:1.7!important}
.product-copy .btn{width:100%!important;margin-top:auto!important}

/* Cart / checkout inspired by clean commerce checkout */
.cart-layout,.checkout-grid{gap:28px!important;align-items:start!important}
.cart-list,.checkout-form,.cart-summary,.checkout-summary{
  border:1px solid var(--bwet-line)!important;border-radius:var(--bwet-r)!important;background:#fff!important;box-shadow:0 8px 24px rgba(9,9,9,.035)!important;
}
.cart-summary,.checkout-summary{position:sticky!important;top:96px!important}
.cart-summary,.checkout-summary{padding:26px!important}
.checkout-form{padding:28px!important}
.checkout-form input,.checkout-form select,.checkout-form textarea{min-height:50px!important;border-radius:10px!important;border:1px solid var(--bwet-line)!important;background:var(--bwet-cream)!important}
.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{outline:3px solid rgba(201,154,47,.15)!important;border-color:var(--bwet-gold)!important}

/* Gallery */
.gallery-grid{gap:18px!important}
.gallery-card,.gallery-item{border-radius:var(--bwet-r)!important;overflow:hidden!important;border:1px solid var(--bwet-line)!important;background:#fff!important}
.gallery-card img,.gallery-item img{transition:transform .45s ease!important}
.gallery-card:hover img,.gallery-item:hover img{transform:scale(1.04)!important}
.filter-chip{background:#fff!important;border:1px solid var(--bwet-line)!important;color:var(--bwet-ink)!important}
.filter-chip.active{background:var(--bwet-black)!important;color:#fff!important;border-color:var(--bwet-black)!important}

/* Keep Fit / contact */
.community-media,.contact-options,.contact-list{border-radius:var(--bwet-r)!important;overflow:hidden!important}
.contact-row{border-radius:14px!important;border:1px solid var(--bwet-line)!important;background:#fff!important;padding:18px!important}

/* Details / booking pages */
.detail-expansion,.ticket-selection-section,.event-description-section,.moments-section{background:var(--bwet-cream)!important}
.rich-grid,.gallery-story-card,.checkout-progress,.checkout-help article{border-color:var(--bwet-line)!important;box-shadow:none!important}
.rich-card,.gallery-story-card,.checkout-help article{background:#fff!important}
.support-band{border-radius:var(--bwet-r)!important;background:var(--bwet-black)!important}

/* Loading & empty states */
.ui-loading,.empty-state,.empty-state-public,.shop-empty,.events-empty{
  border:1px dashed rgba(148,106,18,.28)!important;border-radius:var(--bwet-r)!important;background:rgba(255,255,255,.62)!important;
  padding:38px!important;text-align:center!important;color:var(--bwet-muted)!important;
}
.ui-spinner{border-color:rgba(201,154,47,.22)!important;border-top-color:var(--bwet-gold)!important}

/* Responsive */
@media(max-width:1100px){
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .destination-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .event-row,.trip-row{grid-template-columns:82px minmax(0,1fr) auto!important}
  .event-location,.event-price,.trip-destination,.trip-price{display:none!important}
}
@media(max-width:760px){
  .site-header .header-inner{min-height:64px!important}
  .site-header .brand-logo img,.site-logo img{width:104px!important;height:32px!important}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .destination-list{grid-template-columns:1fr!important}
  .destination-image{min-height:230px!important}
  .event-row,.trip-row{grid-template-columns:70px minmax(0,1fr)!important;gap:14px!important;padding:14px!important}
  .event-row>.btn,.trip-row>.btn{grid-column:2!important;justify-self:start!important}
  .event-date,.trip-date{min-height:68px!important}
  .shop-tools{align-items:stretch!important;flex-direction:column!important}
  .cart-summary,.checkout-summary{position:static!important}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:1fr!important}
  .product-media{aspect-ratio:5/4!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
