@media (max-width: 768px){.your-image-class{display:block!important}.your-hover-image-class{display:none!important}}
.woocommerce-product-gallery__wrapper .thumbnails{display:none}
:root{--wp--style--block-gap:.7rem}
:is(.entry-content,.site-main) p{line-height:1.35!important;margin:0 0 .55em!important}
:is(.entry-content,.site-main) p+p{margin-top:0!important}
:is(.entry-content,.site-main) :is(ul,ol){margin:0 0 .55em!important;padding-left:1.2em}
:is(.entry-content,.site-main) li{line-height:1.35!important;margin:.35em 0!important}
:is(.entry-content,.site-main) :is(h1,h2,h3,h4,h5,h6){line-height:1.18!important;margin:.9em 0 .45em!important}
:is(.entry-content,.site-main) :is(.wp-block-group,.wp-block-columns,figure,.wp-block-image,.wp-block-quote){margin-top:.7rem!important;margin-bottom:.7rem!important}
@media (max-width:768px){.wp-block-spacer{height:.6rem!important}:is(.entry-content,.site-main) p,:is(.entry-content,.site-main) li{line-height:1.4!important}}
.centered-list{list-style:none;padding:0;text-align:center}
.page-id-2308 .site-main p{line-height:1.3;margin:0 0 .35em}
.page-id-2308 .site-main li{line-height:1.3;margin:.35em 0}
.page-id-2308 .site-main p+p{margin-top:0}
.page-id-2308 .site-main ul,.page-id-2308 .site-main ol{margin:0 0 .35em;padding:0;text-align:center}
.page-id-2308 .site-main h3{line-height:1.3;margin:.8em 0 .4em}
.page-id-2308 .section{max-width:840px;margin:0 auto 1.5rem}
.page-id-2308 .title-center{text-align:center}
.page-id-2308 .center{text-align:center}
.page-id-2308 .section h3{text-align:left;margin:0 0 .5rem;line-height:1.3}
.page-id-2308 .section ul{list-style:disc;padding-left:20px;margin:0}
.page-id-2308 .section.faq details{border:1px solid #e5e5e5;border-radius:8px;padding:.75rem 1rem;margin:.5rem 0;background:#fff}
.page-id-2308 .section.faq summary{cursor:pointer;list-style:none;font-weight:600}
.page-id-2308 .section.faq summary::-webkit-details-marker{display:none}
.page-id-2308 .section.faq details[open]{background:#fafafa}
.page-id-2308 .section.faq details>div{padding-top:.5rem}
.aligncenter{display:block;margin:1rem auto;height:auto;max-width:100%}
.page-id-2308 .hero--fullscreen,.page-id-2308 .hero,.page-id-2308 .hero-full,.page-id-2308 .wp-block-cover.alignfull,.page-id-2308 .wp-block-cover.is-style-fullscreen{height:88svh!important;height:88vh!important;min-height:88vh!important;margin-bottom:2.5rem}
/* Paris page: force any full-viewport hero to ~88vh */
.page-id-2308 [style*="100vh"],
.page-id-2308 [style*="100svh"],
.page-id-2308 [style*="100dvh"],
.page-id-2308 [style*="calc(100vh"],
.page-id-2308 [style*="var(--vh)"],
.page-id-2308 .custom-header,
.page-id-2308 .wp-custom-header,
.page-id-2308 header[class*="hero"],
.page-id-2308 header[class*="banner"],
.page-id-2308 [class*="featured-full-height"],
.page-id-2308 [class*="full-height"] {
  min-height: 88svh !important;
  height: auto !important;
  margin-bottom: 2.5rem !important;
  overflow: hidden;
}
/* Paris workshops: visually shorten the hero by overlapping the content */
.page-id-2308 .entry-content,
.page-id-2308 .site-main{
  margin-top:-12vh;        /* pulls content up ≈ 12% of viewport */
  position:relative;
  z-index:2;               /* keep content above the hero */
}

/* Keep the first block readable by adding equivalent padding */
@media (min-width:769px){
  .page-id-2308 .entry-content > *:first-child,
  .page-id-2308 .site-main > *:first-child{
    padding-top:12vh;
  }
}

/* Mobile: a slightly smaller overlap feels nicer */
@media (max-width:768px){
  .page-id-2308 .entry-content,
  .page-id-2308 .site-main{ margin-top:-8vh; }
  .page-id-2308 .entry-content > *:first-child,
  .page-id-2308 .site-main > *:first-child{ padding-top:8vh; }
}
/* ===== Brand tokens (keep or merge with your existing ones) ===== */
:root {
  --brand: #cc0033;
  --brand-dark: #a30029;
  --brand-verylight: #fff2f5;
  --brand-light: #ffdbe4;
  --ink: #2e2e2e;
}

/* ===== Field error states ===== */
/* Red outline & subtle glow on invalid inputs */
.forminator-ui .forminator-field.forminator-has_error .forminator-input,
.forminator-ui .forminator-field.forminator-has_error .forminator-textarea,
.forminator-ui .forminator-field.forminator-has_error .forminator-select,
.forminator-ui input[aria-invalid="true"],
.forminator-ui textarea[aria-invalid="true"],
.forminator-ui select[aria-invalid="true"] {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);
}

/* Label turns brand color when the field has an error */
.forminator-ui .forminator-field.forminator-has_error .forminator-label {
  color: var(--brand);
}

/* ===== Inline error text below fields ===== */
/* Forminator commonly uses these selectors; we cover all to be safe */
.forminator-ui .forminator-error-message,
.forminator-ui .forminator-field .forminator-error-message,
.forminator-ui .forminator-field .forminator-error-message p,
.forminator-ui .forminator-label--error,
.forminator-ui .forminator-field .forminator-error {
  background: var(--brand-verylight);
  color: var(--brand-dark);
  border: 1px solid var(--brand);
  border-left: 4px solid var(--brand);
  border-radius: 6px;
  padding: .5rem .75rem;
  margin-top: .5rem;
  font-size: 14px;
  line-height: 1.4;
}

/* Optional: little dot icon to the left for visual cue */
.forminator-ui .forminator-error-message::before,
.forminator-ui .forminator-label--error::before {
  content: "";
  display: inline-block;
  width: 8px; height: 8px;
  background: var(--brand);
  border-radius: 50%;
  margin-right: .5rem;
  vertical-align: middle;
}

/* Keep help text neutral even when there's an error */
.forminator-ui .forminator-field .forminator-description {
  color: var(--ink);
}

/* ===== Global success & error (submission messages) – from earlier, included for completeness ===== */
.forminator-ui .forminator-response-message.forminator-success {
  background-color: var(--brand-verylight);
  color: var(--ink);
  border: 1px solid var(--brand);
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  font-size: 16px;
  line-height: 1.45;
}
.forminator-ui .forminator-response-message.forminator-error {
  background-color: #fff0f2;
  color: var(--ink);
  border: 1px solid var(--brand-dark);
  border-left: 4px solid var(--brand-dark);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  font-size: 16px;
  line-height: 1.45;
}

/* ===== Button & focus styles (brand-consistent) ===== */
.forminator-ui .forminator-button {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  border-radius: 8px;
  padding: .9rem 1.25rem;
  transition: transform .04s ease, background-color .15s ease, border-color .15s ease;
}
.forminator-ui .forminator-button:hover,
.forminator-ui .forminator-button:focus { background: var(--brand-dark); border-color: var(--brand-dark); }
.forminator-ui .forminator-button:active { transform: translateY(1px); }

.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea,
.forminator-ui .forminator-select { font-size: 16px; border-radius: 6px; }
.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus,
.forminator-ui .forminator-select:focus {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent);
  border-color: var(--brand);
}
/* Brand backgrounds */
.forminator-ui .forminator-response-message.forminator-success {
  background-color: #cc0033;  /* brand */
  border: 1px solid #a30029;
  border-left: 4px solid #a30029;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  line-height: 1.5;
}
.forminator-ui .forminator-response-message.forminator-error {
  background-color: #a30029;  /* darker brand */
  border: 1px solid #7d001f;
  border-left: 4px solid #7d001f;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  line-height: 1.5;
}

/* 🔒 Force white text for EVERYTHING inside the notice */
.forminator-ui .forminator-response-message.forminator-success,
.forminator-ui .forminator-response-message.forminator-success *,
.forminator-ui .forminator-response-message.forminator-error,
.forminator-ui .forminator-response-message.forminator-error * {
  color: #fff !important;
}

/* Make sure there’s no inherited tinted backgrounds on children */
.forminator-ui .forminator-response-message p,
.forminator-ui .forminator-response-message span,
.forminator-ui .forminator-response-message strong {
  background: transparent !important;
}

/* If Forminator uses an icon element, make it white too */
.forminator-ui .forminator-response-message .forminator-icon,
.forminator-ui .forminator-response-message svg,
.forminator-ui .forminator-response-message svg * {
  fill: #fff !important;
  color: #fff !important;
}

/* Links stay readable/obvious */
.forminator-ui .forminator-response-message a { 
  color: #fff !important; 
  text-decoration: underline;
}
.forminator-ui .forminator-response-message a:hover { 
  opacity: .9;
}
/* Ensure the notice itself is fully opaque and not blended */
.forminator-ui .forminator-response-message {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  backdrop-filter: none !important;
  text-shadow: none !important;
}

/* Brand backgrounds */
.forminator-ui .forminator-response-message.forminator-success {
  background-color: #cc0033 !important;  /* brand */
  border: 1px solid #a30029 !important;
  border-left: 4px solid #a30029 !important;
}
.forminator-ui .forminator-response-message.forminator-error {
  background-color: #a30029 !important;
  border: 1px solid #7d001f !important;
  border-left: 4px solid #7d001f !important;
}

/* Force pure white text for everything inside */
.forminator-ui .forminator-response-message.forminator-success,
.forminator-ui .forminator-response-message.forminator-success *,
.forminator-ui .forminator-response-message.forminator-error,
.forminator-ui .forminator-response-message.forminator-error * {
  color: #fff !important;
}

/* Icons/SVGs sometimes keep partial opacity – normalize them */
.forminator-ui .forminator-response-message svg,
.forminator-ui .forminator-response-message svg *,
.forminator-ui .forminator-response-message .forminator-icon {
  fill: #fff !important;
  stroke: #fff !important;
  color: #fff !important;
  opacity: 1 !important;
}
/* ================================
   FORM SYSTEEMSTIJL – ALAIN.NL
   (Site-breed voor Forminator)
   ================================ */

/* --- Design tokens --- */
:root{
  --brand:#cc0033;
  --brand-dark:#a30029;
  --ink:#1f1f1f;
  --ink-soft:#5a5a5a;
  --bg:#ffffff;
  --surface:#fafafa;
  --radius:8px;
  --focus-ring:3px;
}

/* --- Container spacing --- */
.forminator-ui.forminator-custom-form{
  max-width:700px; margin:2.5rem auto; padding:0 1rem;
}

/* --- Typografie --- */
.forminator-ui .forminator-label{ 
  font-weight:600; color:var(--ink); margin-bottom:.5rem;
}
.forminator-ui .forminator-description{ 
  color:var(--ink-soft); font-size:.95rem;
}

/* --- Inputs --- */
.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea,
.forminator-ui .forminator-select{
  background:#fff; color:var(--ink);
  border:1px solid #ddd; border-radius:var(--radius);
  font-size:16px; padding:.8rem .9rem;
}
.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus,
.forminator-ui .forminator-select:focus{
  outline:none; border-color:var(--brand);
  box-shadow:0 0 0 var(--focus-ring) color-mix(in srgb, var(--brand) 25%, transparent);
}

/* --- Checkboxes & radios --- */
.forminator-ui .forminator-checkbox .forminator-checkbox-box,
.forminator-ui .forminator-radio .forminator-radio-box{
  border-color:#bbb; border-radius:4px;
}
.forminator-ui .forminator-checkbox input:checked + .forminator-checkbox-box,
.forminator-ui .forminator-radio input:checked + .forminator-radio-box{
  background:var(--brand); border-color:var(--brand);
}

/* --- Knoppen --- */
.forminator-ui .forminator-button{
  background:var(--brand); border-color:var(--brand); color:#fff;
  border-radius:var(--radius); padding:.9rem 1.25rem;
  transition:transform .04s ease, background-color .15s ease, border-color .15s ease;
}
.forminator-ui .forminator-button:hover,
.forminator-ui .forminator-button:focus{
  background:var(--brand-dark); border-color:var(--brand-dark);
}
.forminator-ui .forminator-button:active{ transform:translateY(1px); }

/* --- Globale bevestiging/fout (na verzenden) --- */
.forminator-ui .forminator-response-message{
  opacity:1 !important; filter:none !important; mix-blend-mode:normal !important;
  border-radius:var(--radius); padding:1rem 1.25rem; line-height:1.5;
}
.forminator-ui .forminator-response-message.forminator-success{
  background:#cc0033 !important; border:1px solid #a30029 !important; border-left:4px solid #a30029 !important;
  color:#fff !important;
}
.forminator-ui .forminator-response-message.forminator-error{
  background:#a30029 !important; border:1px solid #7d001f !important; border-left:4px solid #7d001f !important;
  color:#fff !important;
}
.forminator-ui .forminator-response-message *,
.forminator-ui .forminator-response-message a,
.forminator-ui .forminator-response-message strong{
  color:#fff !important; text-decoration: none;
}

/* --- Inline veldfouten (validatie) --- */
.forminator-ui .forminator-field.forminator-has_error .forminator-input,
.forminator-ui .forminator-field.forminator-has_error .forminator-textarea,
.forminator-ui .forminator-field.forminator-has_error .forminator-select,
.forminator-ui [aria-invalid="true"]{
  border-color:var(--brand);
  box-shadow:0 0 0 var(--focus-ring) color-mix(in srgb, var(--brand) 20%, transparent);
}
.forminator-ui .forminator-field.forminator-has_error .forminator-label{ color:var(--brand); }
.forminator-ui .forminator-error-message,
.forminator-ui .forminator-field .forminator-error-message{
  background:#fff; color:var(--brand-dark); border:1px solid var(--brand);
  border-left:4px solid var(--brand); border-radius:6px; padding:.5rem .75rem; margin-top:.5rem; font-size:.95rem;
}

/* --- reCAPTCHA/hCaptcha spacing --- */
.forminator-ui .forminator-g-recaptcha,
.forminator-ui .forminator-hcaptcha{ margin:1rem 0; }

/* --- Kleine layout details --- */
.forminator-ui .forminator-row{ gap:1rem; }
.forminator-ui .forminator-field{ margin-bottom:1rem; }

/* --- Toegankelijkheid: focus ook op labels/links --- */
.forminator-ui a:focus,
.forminator-ui .forminator-label:focus{ 
  outline:2px solid var(--brand); outline-offset:2px;
}
/* Style the single BOOK NOW link that goes to /book/#calendar */
a.btn.btn-primary[href="/book/#calendar"] {
  background-color: #cc0033 !important;
  border-color: #cc0033 !important;
  color: #ffffff !important;
  font-weight: 600;
  padding: 0.85em 1.4em;
  letter-spacing: 0.02em;
  box-shadow: 0 2px 10px rgba(204, 0, 51, 0.25);
}

a.btn.btn-primary[href="/book/#calendar"]:hover,
a.btn.btn-primary[href="/book/#calendar"]:focus {
  background-color: #a60028 !important;
  border-color: #a60028 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(166, 0, 40, 0.35);
}
/* Remove glow/shadow from the BOOK NOW button */
a.btn.btn-primary[href="/book/#calendar"],
a.btn.btn-primary[href="/book/#calendar"]:hover,
a.btn.btn-primary[href="/book/#calendar"]:focus,
a.btn.btn-primary[href="/book/#calendar"]:active,
a.btn.btn-primary[href="/book/#calendar"]:focus-visible {
  box-shadow: none !important;   /* kills Bootstrap focus/hover ring */
  outline: none !important;      /* removes outline */
  -webkit-tap-highlight-color: transparent; /* no tap highlight on mobile */
}
section.hero-video{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}

section.hero-video > video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
/* iPhone Safari fix for WordPress Header Media video */
@supports (-webkit-touch-callout: none) {

  /* Lock header to video aspect ratio */
  .wp-custom-header {
    aspect-ratio: 16 / 9;
    height: auto;
    background: #000;
  }

  /* Prevent cropping on iOS */
  .wp-custom-header video {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

}
/* iPhone only (not iPad): disable WP Header Media video */
@media only screen and (max-width: 480px) and (hover: none) and (pointer: coarse) {
  .wp-custom-header video,
  .wp-custom-header .wp-custom-header-video,
  .wp-custom-header iframe {
    display: none !important;
  }

  /* Ensure the fallback header image shows */
  .wp-custom-header img,
  .wp-custom-header .wp-custom-header-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}
section.hero-video { 
	margin-top: 150px;
	}
.forminator-ui .forminator-response-message *,
.forminator-ui .forminator-response-message a,
.forminator-ui .forminator-response-message strong {
  color: #fff !important;
  text-decoration: none;
}
/* Global link decoration reset */
a,
a:visited {
  text-decoration: none;
}

a:hover,
a:focus,
a:focus-visible {
  text-decoration: underline;
}