/* =========================================================================
   BAR BONAMY — workshop.css
   Paginaspecifieke stijl voor /cocktailworkshop/. Bouwt uitsluitend voort op
   de design-tokens uit css/site.css (kleuren, type, spacing, easing) en
   herbruikt bestaande componenten (.page-title, .page-divider, .btn-solid).
   Eigen selectors, "wsk-" voorvoegsel, geen classnamen of assets van de referentiesite.
   ========================================================================= */

/* =========================================================================
   TITELCORRECTIE — "Cocktailworkshop" is één lang woord zonder spatie en
   loopt bij smalle viewports over de gedeelde .page-title h1-fontsize heen
   (die is afgestemd op titels met meerdere woorden die wel kunnen wrappen).
   Alleen op deze pagina de mobiele fontsize iets terugbrengen zodat het
   woord op één regel binnen de content-breedte blijft.
   ========================================================================= */
@media (max-width: 480px) {
  .page-title h1 { font-size: clamp(40px, 11vw, 132px); }
}

/* =========================================================================
   TITEL-SUBREGEL (onder de gedeelde .page-title h1)
   ========================================================================= */
.wsk-title-sub {
  margin-top: var(--sp-sm);
  font-size: var(--fs-body-lg);
  line-height: 1.5;
  color: var(--c-text-dim);
  max-width: 44ch;
  text-align: center;
}
@media (max-width: 720px) {
  .wsk-title-sub { margin-top: var(--sp-xs); }
}

/* =========================================================================
   SLIDER — horizontale drag-scroller met 6 workshopfoto's
   ========================================================================= */
.wsk-slider { padding: 4px 0 var(--sp-xl); }
.wsk-slider__track {
  display: flex;
  align-items: center;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  padding: 0 var(--sp-md);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  user-select: none;
}
.wsk-slider__track::-webkit-scrollbar { display: none; }
.wsk-slider__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.wsk-slider__item {
  flex: none;
  height: clamp(300px, 44vw, 640px);
  aspect-ratio: 3 / 4;
  border-radius: var(--radius-md);
  margin-right: var(--sp-sm);
  overflow: hidden;
  background: var(--c-bg-800);
  position: relative;
}
.wsk-slider__item:last-child { margin-right: 0; }
.wsk-slider__item--wide { aspect-ratio: 16 / 10; }
.wsk-slider__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  pointer-events: none;
}
.wsk-slider__hint {
  padding: var(--sp-xs) var(--sp-md) 0;
  font-size: var(--fs-small);
  color: var(--c-text-dim);
  display: flex;
  align-items: center;
  gap: 8px;
}
.wsk-slider__hint svg { width: 15px; height: 15px; }
@media (max-width: 760px) {
  .wsk-slider { padding: 4px 0 var(--sp-lg); }
  .wsk-slider__track { padding: 0 var(--sp-sm); }
  .wsk-slider__item { height: clamp(240px, 64vw, 420px); margin-right: 14px; border-radius: var(--radius-sm); }
}

/* =========================================================================
   INTRO — kop + staggered tekst/foto-grid
   ========================================================================= */
.wsk-intro {
  padding: clamp(64px, 11vh, 140px) var(--sp-md) clamp(36px, 7vh, 80px);
  max-width: 1320px;
  margin: 0 auto;
}
.wsk-intro__title {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: var(--fs-h2);
  line-height: 0.98;
  letter-spacing: 0.005em;
  color: var(--c-cream);
  max-width: 15ch;
  text-wrap: balance;
  margin-bottom: clamp(32px, 6vw, 72px);
}
.wsk-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 4vw, 56px);
  align-items: start;
}
.wsk-intro__col--right { padding-top: clamp(32px, 7vw, 100px); }
.wsk-intro__p {
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--c-cream-soft);
  max-width: 42ch;
  margin-bottom: clamp(24px, 4vw, 48px);
  text-wrap: pretty;
}
.wsk-intro__mask {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--c-bg-800);
  width: 100%;
}
.wsk-intro__mask--left { aspect-ratio: 4 / 5; }
.wsk-intro__mask--right { aspect-ratio: 3 / 4; }
.wsk-intro__inner {
  position: absolute;
  left: 0; top: -20%;
  width: 100%; height: 140%;
  will-change: transform;
}
.wsk-intro__img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 760px) {
  .wsk-intro { padding: 48px var(--sp-sm) 24px; }
  .wsk-intro__grid { grid-template-columns: 1fr; gap: var(--sp-sm); }
  .wsk-intro__col--right { padding-top: 0; }
  .wsk-intro__mask--left, .wsk-intro__mask--right { aspect-ratio: 4 / 5; border-radius: var(--radius-md); }
  .wsk-intro__inner { top: 0; height: 100%; }
}

/* =========================================================================
   WAT JE KUNT VERWACHTEN — stapelende kaarten (sc-wrap-stijl)
   ========================================================================= */
.wsk-values { width: 100%; }
.wsk-values__list { display: flex; flex-direction: column; }
.wsk-value-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  min-height: 86vh;
  margin-top: -26px;
  border-top-left-radius: 26px;
  border-top-right-radius: 26px;
  padding: clamp(72px, 10vh, 120px) var(--sp-md) clamp(64px, 9vh, 110px);
  position: relative;
  overflow: hidden;
}
.wsk-value-card--1 { background: var(--c-accent); color: var(--c-bg-900); }
.wsk-value-card--2 { background: var(--c-cream); color: var(--c-bg-900); }
.wsk-value-card--3 { background: #f2f1ec; color: var(--c-bg-900); }
.wsk-value-card--4 { background: var(--c-bg-800); color: var(--c-cream-soft); }
.wsk-value-card__top {
  position: absolute;
  top: clamp(22px, 3vh, 38px);
  left: clamp(24px, 3vw, 44px);
  right: clamp(24px, 3vw, 44px);
  display: flex;
  justify-content: space-between;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: currentColor;
  opacity: 0.55;
}
.wsk-value-card__icon {
  width: clamp(56px, 6vw, 78px);
  height: clamp(56px, 6vw, 78px);
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1.5px solid currentColor;
  opacity: 0.9;
  margin-bottom: clamp(22px, 3vw, 34px);
}
.wsk-value-card__icon svg { width: 46%; height: 46%; }
.wsk-value-card__h {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(34px, 6.4vw, 92px);
  line-height: 0.95;
  letter-spacing: -0.005em;
  margin: 0;
}
.wsk-value-card__text {
  max-width: 46ch;
  margin: clamp(20px, 2.6vw, 34px) auto 0;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: currentColor;
  opacity: 0.75;
  text-wrap: pretty;
}
@media (max-width: 700px) {
  .wsk-value-card { padding: 84px var(--sp-sm) 64px; min-height: 74vh; }
}

/* =========================================================================
   PRIJSBLOK — statement-sectie (sib-state-stijl)
   ========================================================================= */
.wsk-price__hero {
  position: relative;
  height: clamp(320px, 58vh, 620px);
  overflow: hidden;
  background: var(--c-bg-800);
}
.wsk-price__media { position: absolute; inset: 0; overflow: hidden; }
.wsk-price__inner {
  position: absolute;
  left: 0; top: -11%;
  width: 100%; height: 122%;
  will-change: transform;
}
.wsk-price__img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.wsk-price__media::after {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6,6,6,0.35) 0%, rgba(6,6,6,0.05) 30% 55%, rgba(6,6,6,0.55) 100%);
}
.wsk-price__marquee {
  position: absolute;
  left: 0; bottom: 6%;
  z-index: 2;
  width: 100%;
  overflow: hidden;
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(26px, 5.4vw, 68px);
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}
.wsk-price__marquee-track {
  display: inline-flex;
  align-items: center;
  animation: wsk-marquee 26s linear infinite;
  will-change: transform;
}
.wsk-price__marquee span { padding: 0 0.7em; }
.wsk-price__marquee .wsk-price__star { opacity: 0.8; font-size: 0.5em; }
@keyframes wsk-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .wsk-price__marquee-track { animation: none; }
}

.wsk-price__band { background: var(--c-cream); color: var(--c-bg-900); }
.wsk-price__band-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(56px, 8vw, 110px) var(--sp-md) clamp(64px, 9vw, 120px);
  text-align: center;
  border-top: 1px solid rgba(6,6,6,0.14);
}
.wsk-price__eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: rgba(6,6,6,0.5);
  margin-bottom: clamp(18px, 3vw, 30px);
}
.wsk-price__headline {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(38px, 6.6vw, 96px);
  line-height: 0.94;
  letter-spacing: 0;
  color: var(--c-bg-900);
  text-wrap: balance;
}
.wsk-price__text {
  max-width: 56ch;
  margin: clamp(26px, 4vw, 40px) auto 0;
  font-size: var(--fs-body-lg);
  line-height: 1.6;
  color: rgba(6,6,6,0.66);
  text-wrap: pretty;
}
.wsk-price__note {
  max-width: 56ch;
  margin: var(--sp-xs) auto 0;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: rgba(6,6,6,0.5);
  text-wrap: pretty;
}
@media (max-width: 760px) {
  .wsk-price__hero { height: clamp(260px, 46vh, 420px); }
  .wsk-price__band-inner { padding: 44px var(--sp-sm) 56px; }
}

/* =========================================================================
   CTA — mail-aanvraag
   ========================================================================= */
.wsk-cta {
  padding: clamp(80px, 13vh, 170px) var(--sp-md) clamp(90px, 14vh, 190px);
  text-align: center;
}
.wsk-cta__eyebrow {
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: clamp(22px, 3vw, 32px);
}
.wsk-cta__title {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(44px, 8vw, 118px);
  line-height: 0.95;
  letter-spacing: 0;
  color: var(--c-cream);
}
.wsk-cta__btn {
  margin-top: clamp(34px, 5vw, 54px);
  padding: 18px 30px 18px 34px;
  font-size: var(--fs-body);
}
.wsk-cta__btn svg { width: 17px; height: 17px; }
@media (max-width: 760px) {
  .wsk-cta { padding: 64px var(--sp-sm) 80px; }
}
