/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
header{
	width:100%!important;
}
html, body {
  overflow-x: clip;  
  overflow-y: visible;
  position: relative;
}

::selection {
  background:var(--e-global-color-secondary) !important;
	color:white;
}

.doorlopend .swiper{
    overflow: visible!important;
}
/* Flerque Magic */
body { font-size: 1.0vw !important; }          

@media screen and (min-width:1920px) {
  body { font-size: 20px !important; }          
}

@media screen and (min-width:1101px) and (max-width:1400px) {
  body { font-size: 1.2vw !important; }        
}

@media screen and (min-width:768px) and (max-width:1100px) {
  body { font-size: 1.8vw !important; }        
}

@media screen and (max-width:767px) {
  body { font-size: 3.2vw !important; }          
}

@media screen and (max-width:380px) {
  body { font-size: 12px !important; }           
}
}

/* Make text look crisper and more legible in all browsers */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overscroll-behavior: none;
}


/* =====================================================================
   Leefbewust Ayurveda (la-*): alle opmaak van de site, in em.
   Kleuren en fonts komen uit de kit (--e-global-*). Ontwerp: public/ (v5).
   ===================================================================== */

/* 1. Basis */
:root { --la-frame: .75em; --la-r: 1em; --la-r-sm: .5em; --la-ease: cubic-bezier(.2, .7, .2, 1); }
body { background: var(--e-global-color-b0a0003); color: var(--e-global-color-text); }
.elementor-widget-text-editor a { font: inherit; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-heading-title { text-wrap: balance; }
:focus-visible { outline: .125em solid var(--e-global-color-primary); outline-offset: .2em; }
[id] { scroll-margin-top: 1.5em; }

.la-hero, .la-massage, .la-footer { width: calc(100% - 2 * var(--la-frame)) !important; }
.la-cta { width: calc(100% - 2 * var(--la-frame)) !important; }

/* 2. Knoppen (kit = koraal donker; varianten via la-btn--*) */
body .la-btn .elementor-button { transition: background-color .2s, color .2s, border-color .2s; }
body .la-btn--line .elementor-button:not(:hover), body .la-btn--line-light .elementor-button:not(:hover) { background-color: transparent !important; }
body .la-btn--line-light .elementor-button:not(:hover) { border-color: rgb(255 255 255 / .75) !important; }
.elementor-widget-text-editor a.la-more { font-weight: 500; color: var(--e-global-color-text); text-decoration: underline !important; text-decoration-color: var(--e-global-color-accent); text-underline-offset: .3em; }
.la-more:hover { color: var(--e-global-color-primary); }

/* 3. Header: topbalk + navigatie over het hero-kader, logo in een uitsparing */
.elementor-location-header { position: relative; z-index: 50; }
.la-header { position: relative; }
.la-topbar p { margin: 0; }
.la-topbar a { color: #fff; }
.la-nav { width: auto !important; position: absolute !important; top: calc(100% + var(--la-frame)); left: var(--la-frame); right: var(--la-frame); z-index: 5; padding: 1.3em 1.3em 0 1.9em !important; pointer-events: none; }
.la-nav > * { pointer-events: auto; }
.la-nav__menu .elementor-item { padding: .35em 0 !important; border-bottom: .125em solid transparent; }
.la-nav__menu .elementor-item:hover, .la-nav__menu .elementor-item-active { border-color: var(--e-global-color-accent); }
.la-nav__right { margin-left: auto; width: auto !important; }
.la-nav__right .elementor-button { padding: .8em 1.2em; font-size: .9em; }
.la-notch { --c: 1.25em; position: absolute !important; top: 0; left: 50%; translate: -50% 0; width: 10em !important; padding: .45em 1.2em 1.1em; background: var(--e-global-color-b0a0003); border-radius: 0 0 var(--c) var(--c); }
.la-notch::before, .la-notch::after { content: ""; position: absolute; top: 0; width: var(--c); height: var(--c); }
.la-notch::before { right: 100%; background: radial-gradient(circle at 0 100%, transparent var(--c), var(--e-global-color-b0a0003) calc(var(--c) + 1px)); }
.la-notch::after { left: 100%; background: radial-gradient(circle at 100% 100%, transparent var(--c), var(--e-global-color-b0a0003) calc(var(--c) + 1px)); }
.la-notch img { width: 100%; }

/* 4. Hero-kader */
.la-hero { position: relative; isolation: isolate; overflow: hidden; margin: var(--la-frame) !important; border-radius: var(--la-r); min-height: min(88svh, 50em); }
.la-hero__img { position: absolute !important; inset: 0; z-index: -2; width: 100% !important; height: 100%; margin: 0 !important; }
.la-hero__img .elementor-widget-container, .la-hero__img img { width: 100%; height: 100%; }
.la-hero__img img { object-fit: cover; object-position: 65% 40%; }
.la-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(100deg, rgb(52 32 18 / .8), rgb(52 32 18 / .45) 45%, rgb(52 32 18 / 0) 75%), linear-gradient(rgb(52 32 18 / .35), transparent 20%); }
.la-hero__in { max-width: 48em; padding: 9em clamp(1.5em, 5vw, 4em) clamp(1.5em, 5vw, 4em) !important; }
.la-hero__title .elementor-heading-title { max-width: 9em; }
.la-hero__lead { max-width: 30em; }
.la-hero--sub { min-height: min(76svh, 42em); }
.la-crumbs a { color: #fff; text-decoration-color: rgb(255 255 255 / .5); text-underline-offset: .25em; }

/* 5. Welkom: twee foto's rond de tekst */
.la-pic img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--la-r); }
.la-pic--right img { aspect-ratio: 3 / 4; }

/* 6. Lopende band */
.la-ticker { overflow: hidden; }
.la-ticker__list .elementor-icon-list-items { flex-wrap: nowrap !important; width: max-content; margin: 0 !important; animation: la-ticker 40s linear infinite; }
.la-ticker__list .elementor-icon-list-item { margin: 0 !important; padding: 0 1.5em !important; white-space: nowrap; gap: 3em; }
.la-ticker__list .elementor-icon-list-item::after { content: ""; position: static !important; width: .45em !important; height: .45em !important; border: 0 !important; border-radius: 50%; background: var(--e-global-color-b0a0001); }
@keyframes la-ticker { to { translate: -50% 0; } }

/* 7. Aanbod: drie kaarten, middelste zakt */
.la-intro { max-width: 34em; align-self: center; }
.la-item img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--la-r-sm); margin-bottom: .8em; }
.la-item:nth-child(2) { margin-top: 3em !important; }
.la-item .la-btn { margin-top: auto; padding-top: .8em; }

/* 8. Traject-tegels */
.la-tile { position: relative; isolation: isolate; overflow: hidden; justify-content: flex-end !important; min-height: 14em; padding: 1.4em !important; border-radius: var(--la-r); }
.la-tile--big { grid-column: span 2; grid-row: span 2; }
.la-tile__img { position: absolute !important; inset: 0; z-index: -2; width: 100% !important; height: 100%; margin: 0 !important; }
.la-tile__img .elementor-widget-container, .la-tile__img img { width: 100%; height: 100%; object-fit: cover; }
.la-tile--photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(transparent 35%, rgb(42 26 15 / .78)); }
.la-tile--big .elementor-widget-text-editor { font-size: 1.2em; max-width: 16em; }
.la-journey__foot { margin-top: .5em; padding-top: 2em !important; border-top: 1px solid rgb(235 211 167 / .3); }
.la-journey__wa { flex: 1 1 16em; }
.la-price small { font-family: var(--e-global-typography-text-font-family), sans-serif; font-size: .36em; margin-left: .4em; opacity: .85; }

/* 9. Review */
.la-review__mark img { width: 5em; }
.la-review__quote { max-width: 34em; }

/* 10. Dosha-band */
.la-dosha__mark img { width: clamp(9em, 16vw, 13em); aspect-ratio: 1; object-fit: contain; padding: 1.75em; border-radius: 50%; background: var(--e-global-color-b0a0003); }
.la-dosha .elementor-widget-text-editor { max-width: 30em; }

/* 11. Massage: foto in kader met wit paneel */
.la-massage { position: relative; isolation: isolate; overflow: hidden; margin: var(--la-frame) !important; border-radius: var(--la-r); padding-inline: max(2.2em, calc((100% - 80em) / 2)) !important; }
.la-massage__img { position: absolute !important; inset: 0; z-index: -1; width: 100% !important; height: 100%; margin: 0 !important; }
.la-massage__img .elementor-widget-container, .la-massage__img img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 35%; }
.la-massage__panel { border-radius: var(--la-r); padding: clamp(1.75em, 4vw, 3.25em) !important; }
.la-prices > .e-con { width: auto !important; }
.la-prices { padding-top: 1.25em !important; border-top: 1px solid var(--e-global-color-b0a0006); }

/* 12. Fotostrip */
.la-strip { overflow: hidden; }
.la-strip__track { width: max-content !important; }
.la-strip__track > .elementor-widget { flex: none; max-width: none !important; width: auto !important; }
.la-strip__img img { height: clamp(12em, 24vw, 19em); width: auto; max-width: none; border-radius: var(--la-r); object-fit: cover; }

/* 13. Afsluitende koraalband */
.la-cta { margin: 0 var(--la-frame) var(--la-frame) !important; border-radius: var(--la-r); }
.la-cta__in { max-width: 58em; margin-inline: auto; }
.la-cta__img { width: 30% !important; flex: none; }
.la-cta__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: var(--la-r); rotate: -2deg; }

/* 14. Footer */
.la-footer { margin: var(--la-frame) !important; border-radius: var(--la-r); }
.la-footer__logo img { width: 7em; }
.la-footer a { color: inherit; }
.la-footer a:hover { color: #fff; }
.la-footer__credit { padding-block: 1.5em; border-top: 1px solid rgb(235 211 167 / .2); }
.la-footer__credit a { text-decoration: underline; }
.la-sticky { position: fixed !important; left: .75em; right: .75em; bottom: .75em; z-index: 30; width: auto !important; }
.la-sticky .elementor-button { width: 100%; }

/* 15. Detailpagina (trajecten) */
.la-chips .elementor-icon-list-items { gap: .5em; flex-wrap: wrap; margin: 0 !important; }
.la-chips .elementor-icon-list-item { margin: 0 !important; }
.la-chips .elementor-icon-list-item::after { display: none; }
.la-chips a { padding: .55em 1em; border: 1px solid var(--e-global-color-b0a0006); border-radius: .4em; transition: background-color .2s, border-color .2s; }
.la-chips a:hover { background: var(--e-global-color-b0a0001); border-color: var(--e-global-color-b0a0001); }
.la-about__pics { position: relative; padding-bottom: 5em !important; }
.la-about__a { width: 78% !important; }
.la-about__a img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--la-r); }
.la-about__b { position: absolute !important; right: 0; bottom: 0; width: 52% !important; }
.la-about__b img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--la-r); border: .5em solid var(--e-global-color-b0a0003); }
.la-receive__side, .la-story__side { position: sticky; top: 2em; }
.la-receive__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--la-r); }
.la-receive__item { padding-block: 1.4em !important; border-top: 1px solid rgb(235 211 167 / .25); }
.la-receive__item:last-child { border-bottom: 1px solid rgb(235 211 167 / .25); }
.la-gain__text { max-width: 40em; }
.la-tags .elementor-icon-list-items { gap: .5em; flex-wrap: wrap; justify-content: center; margin: 0 !important; }
.la-tags .elementor-icon-list-item { margin: 0 !important; padding: .45em 1em; border: 1px solid rgb(74 46 26 / .35); border-radius: .4em; }
.la-tags .elementor-icon-list-item::after { display: none; }
.la-story__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--la-r); }
.la-faq__list .e-n-accordion-item { border-bottom: 1px solid var(--e-global-color-b0a0006); }
.la-faq__list .e-n-accordion-item:first-child { border-top: 1px solid var(--e-global-color-b0a0006); }
.la-faq__list .e-n-accordion-item-title { padding: 1.2em 0 !important; background: none !important; border: 0 !important; }
.la-faq__list .e-n-accordion-item-title-icon { font-size: 1em; }
.la-faq__a { padding: 0 0 1.4em !important; border: 0 !important; }
.la-faq__a .elementor-widget-text-editor { max-width: 38em; }

/* 16. Mobiel menu (popup) */
.la-popup__logo img { width: 6em; }

/* 17. Cookiebanner: witte tekst op de koraalknop */
html #cookie-consent.fcc { --fcc-accent-text: #fff; }
html #cookie-consent .fcc__icon { width: 4.25em; height: 3.6em; margin-top: 0; border: 0; border-radius: 0; rotate: 0deg; background: url(/wp-content/uploads/2026/11/leefbewust-cookies.webp) center / contain no-repeat; }

/* 18. Beweging: script la-effects.js zet .fx en --p (0-1) op .la-scroll-*; zonder JS staat alles in eindstand */
.fx .la-hero__img img { scale: calc(1 + var(--p, 0) * .2); translate: 0 calc(var(--p, 0) * 6%); }
.fx .la-hero__in { translate: 0 calc(var(--p, 0) * -5em); opacity: calc(1 - var(--p, 0) * 1.4); }
.fx .la-pic--left { translate: calc((1 - var(--p, 1)) * -3em) 0; rotate: calc((1 - var(--p, 1)) * -3deg); }
.fx .la-pic--right { translate: calc((1 - var(--p, 1)) * 3em) calc((1 - var(--p, 1)) * 2em); rotate: calc((1 - var(--p, 1)) * 3deg); }
.fx .la-item { translate: 0 calc((1 - var(--p, 1)) * 3em); opacity: calc(.3 + var(--p, 1) * .7); }
.fx .la-item:nth-child(2) { translate: 0 calc((1 - var(--p, 1)) * 6em); }
.fx .la-item:nth-child(3) { translate: 0 calc((1 - var(--p, 1)) * 4.5em); }
.fx .la-tile { scale: calc(.9 + var(--p, 1) * .1); opacity: calc(.35 + var(--p, 1) * .65); }
.fx .la-tile:nth-child(even) { scale: calc(.85 + var(--p, 1) * .15); }
.fx .la-fill { color: transparent; background: linear-gradient(var(--e-global-color-secondary), var(--e-global-color-secondary)) 0 0 / calc(var(--p, 1) * 100%) 100% no-repeat #DCCBB5; -webkit-background-clip: text; background-clip: text; }
.fx .la-dosha__mark img { rotate: calc((1 - var(--p, 1)) * -120deg); scale: calc(.7 + var(--p, 1) * .3); }
.fx .la-massage__img img { scale: 1.12; translate: 0 calc((var(--p, .5) - .5) * 8%); }
.fx .la-massage__panel { translate: 0 calc((1 - var(--p, 1)) * 4em); }
.fx .la-strip__track { translate: calc(var(--p, 0) * (100vw - 100%)) 0; }
.fx .la-cta__img img { rotate: calc(-2deg + (1 - var(--p, 1)) * 6deg); translate: 0 calc((1 - var(--p, 1)) * 3em); }
.fx .la-about__a { translate: 0 calc((1 - var(--p, 1)) * 2em); }
.fx .la-about__b { translate: 0 calc((1 - var(--p, 1)) * 6em); rotate: calc((1 - var(--p, 1)) * 4deg); }
.fx .la-story__img img { scale: calc(.92 + var(--p, 1) * .08); }
@media (prefers-reduced-motion: no-preference) {
  .la-hero__in > .elementor-widget:not(.la-hero__title) { animation: la-up .9s var(--la-ease) both; }
  .la-hero__in > :nth-child(2) { animation-delay: .45s; }
  .la-hero__in > :nth-child(3) { animation-delay: .6s; }
  .la-hero__in > :nth-child(4) { animation-delay: .75s; }
  .la-hero__img img { animation: la-settle 1.8s var(--la-ease) backwards; }
  .la-notch { animation: la-drop .8s .2s var(--la-ease) backwards; }
  .la-split .la-w { display: inline-block; opacity: 0; translate: 0 .55em; transition: opacity .7s ease, translate .8s var(--la-ease); transition-delay: calc(var(--i) * 70ms); }
  .la-split.in .la-w { opacity: 1; translate: none; }
  .la-rv { opacity: 0; translate: 0 1.5em; transition: opacity .8s ease .25s, translate .9s var(--la-ease) .25s; }
  .la-rv.in { opacity: 1; translate: none; }
}
@keyframes la-up { from { opacity: 0; translate: 0 1.5em; } }
@keyframes la-settle { from { scale: 1.12; } }
@keyframes la-drop { from { translate: -50% -100%; } }
@media (prefers-reduced-motion: reduce) {
  .la-ticker__list .elementor-icon-list-items { animation: none; flex-wrap: wrap !important; width: auto; justify-content: center; }
  .la-ticker__list .elementor-icon-list-item:nth-child(n+8) { display: none; }
}

/* 19. Tablet (Elementor-breakpoint 1100px) */
@media (max-width: 1100px) {
  .la-nav { padding: 1em 1em 0 !important; }
  .la-notch { left: 0; translate: none; width: 7.5em !important; border-radius: 0 0 var(--c) 0; }
  .la-notch::before { right: auto; left: 0; top: 100%; background: radial-gradient(circle at 100% 100%, transparent var(--c), var(--e-global-color-b0a0003) calc(var(--c) + 1px)); }
  @keyframes la-drop { from { translate: 0 -100%; } }
  .la-item:nth-child(2) { margin-top: 0 !important; }
  .la-receive__side, .la-story__side { position: static; }
  .la-receive__img img { aspect-ratio: 16 / 9; }
  .la-cta__img { width: 36% !important; }
}

/* 20. Mobiel */
@media (max-width: 767px) {
  .la-hero { min-height: 36em; }
  .la-hero::after { background: linear-gradient(to top, rgb(52 32 18 / .85), rgb(52 32 18 / .4) 60%, rgb(52 32 18 / .15)); }
  .la-hero__in { padding: 8em 1.25em 1.5em !important; }
  .la-hero--sub { min-height: 34em; }
  .la-notch { width: 6.5em !important; padding: .35em .85em .75em; }
  .la-tile--big { grid-column: auto; grid-row: span 2; }
  .la-item img { aspect-ratio: 4 / 3; }
  .la-massage { padding: 15em 0 0 !important; }
  .la-massage__img { height: 18em; }
  .la-massage__panel { border-radius: 0; }
  .la-cta__img { width: 60% !important; }
  .la-dosha__mark img { width: 8em; padding: 1.1em; }
  .la-footer { padding-bottom: 5em !important; }
}
