/* Start custom CSS *//* Poppins in de gewichten die deze pagina gebruikt. De bestanden staan al op je eigen server (door Elementor aangemaakt);
   zonder deze regels is op deze pagina alleen gewicht 400 geladen en worden de dikkere gewichten nagebootst. */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url('https://thirtyloveacademy.com/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrlgt9z1xlfq.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url('https://thirtyloveacademy.com/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrlcz7z1xlfq.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 800; font-display: swap; src: url('https://thirtyloveacademy.com/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrldd4z1xlfq.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 900; font-display: swap; src: url('https://thirtyloveacademy.com/wp-content/uploads/elementor/google-fonts/fonts/poppins-pxibyp8kv8jhgfvrlbt5z1xlfq.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Hero: blauwe pil met glans achter 'clear plan' */
.elementor-3492 h1 b:first-of-type {
  position: relative; display: inline-block; isolation: isolate;
  white-space: nowrap; font-weight: 900; color: #FFFFFF;
}
.elementor-3492 h1 b:first-of-type::before,
.elementor-3492 h1 b:first-of-type::after {
  content: ""; position: absolute; inset: -0.04em -0.1em;
  border-radius: 0.14em; transform: rotate(-1deg); z-index: -1;
}
.elementor-3492 h1 b:first-of-type::before { background: #1D6FD1; }
.elementor-3492 h1 b:first-of-type::after {
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%) no-repeat -60% 0 / 38% 100%;
  animation: tlShine 1.05s cubic-bezier(.3,.55,.25,1) 0.6s 1 both;
}
@keyframes tlShine { from { background-position: -60% 0; } to { background-position: 160% 0; } }

/* Overige koppen: pil achter het vette woord (kleur per sectie) */
.elementor-3492 h2 b {
  position: relative; display: inline-block; isolation: isolate; font-weight: 900;
}
.elementor-3492 h2 b::before,
.elementor-3492 h2 b::after {
  content: ""; position: absolute; inset: -0.04em -0.1em;
  border-radius: 0.14em; transform: rotate(-1deg); z-index: -1;
}
.elementor-3492 h2 b::after {
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%) no-repeat -60% 0 / 38% 100%;
}
@supports (animation-timeline: view()) {
  .elementor-3492 h2 b::after {
    animation: tlShine linear both; animation-timeline: view(); animation-range: entry 30% cover 45%;
  }
}
/* Aanbod ("done right"): koraal, donkere tekst */
.elementor-3492 .elementor-element-4679edb h2 b { color: #111111; }
.elementor-3492 .elementor-element-4679edb h2 b::before { background: #D9622A; }
/* Voor wie ("game"): limoen, donkere tekst */
.elementor-3492 .elementor-element-4a09d1a9 h2 b { color: #111111; }
.elementor-3492 .elementor-element-4a09d1a9 h2 b::before { background: #A6CE39; }
/* Garantie ("pay nothing"): blauw, witte tekst */
.elementor-3492 .elementor-element-295011ab h2 b { color: #FFFFFF; }
.elementor-3492 .elementor-element-295011ab h2 b::before { background: #1D6FD1; }

/* Aanbod-kaarten: pictogrammen (camera, laptop en document) in een zachte koraal tegel, getekend met CSS-mask (geen bestand of extra verzoek) */
.elementor-3492 .elementor-element-43b9c944 > span:first-child,
.elementor-3492 .elementor-element-33fd3030 > span:first-child,
.elementor-3492 .elementor-element-2b7f2cc3 > span:first-child {
  display: flex; align-items: center; justify-content: center;
  width: 3.25rem; height: 3.25rem; border-radius: 1rem;
  background: rgba(217, 98, 42, 0.12); font-size: 0; line-height: 0; color: transparent;
}
.elementor-3492 .elementor-element-43b9c944 > span:first-child::before,
.elementor-3492 .elementor-element-33fd3030 > span:first-child::before,
.elementor-3492 .elementor-element-2b7f2cc3 > span:first-child::before {
  content: ""; display: block; width: 1.75rem; height: 1.75rem; background: #B54F20;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
.elementor-3492 .elementor-element-43b9c944 > span:first-child::before { /* camera (Lucide "video", ISC-licentie) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
}
.elementor-3492 .elementor-element-33fd3030 > span:first-child::before { /* laptop (Lucide "laptop", ISC-licentie) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16'/%3E%3C/svg%3E");
}
.elementor-3492 .elementor-element-2b7f2cc3 > span:first-child::before { /* document met regels (Lucide "file-text", ISC-licentie) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
}

/* Reviews (sectie 6) — rij die je kunt vegen, scrollen of met pijltjes bedienen.
   Pijltjes: Chrome/Edge (::scroll-button). Andere browsers: vegen, trackpad of een dunne scrollbalk. */
.elementor-3492 .elementor-element-b041510 {
  overflow-x: auto !important; overflow-y: hidden !important;
  scroll-snap-type: x mandatory; scroll-behavior: smooth; scroll-padding-inline: 1.5rem;
  scrollbar-width: thin; anchor-name: --revRow;
}
.elementor-3492 .elementor-element-62b685b2 { flex: none !important; width: max-content !important; min-width: max-content !important; max-width: none !important; flex-wrap: nowrap !important; }
.elementor-3492 .elementor-element-62b685b2 > * { flex: none !important; width: min(22rem, 78vw) !important; scroll-snap-align: start; }
@supports (scroll-marker-group: after) {
  .elementor-3492 .elementor-element-b041510 { scrollbar-width: none; }
  .elementor-3492 .elementor-element-b041510::scroll-button(left),
  .elementor-3492 .elementor-element-b041510::scroll-button(right) {
    position: fixed; position-anchor: --revRow;
    top: calc(anchor(bottom) - 3.75rem);
    width: 2.5rem; height: 2.5rem; border: none; border-radius: 9999px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    background: #D9622A; color: #FFFFFF; font: 700 1.5rem/1 Inter, system-ui, sans-serif;
    box-shadow: 0 2px 16px -6px rgba(17, 17, 17, 0.25);
    transition: background-color 250ms cubic-bezier(0.22, 1, 0.36, 1), opacity 250ms;
  }
  .elementor-3492 .elementor-element-b041510::scroll-button(left)  { content: "‹" / "Previous reviews"; left: calc(anchor(center) - 3.25rem); }
  .elementor-3492 .elementor-element-b041510::scroll-button(right) { content: "›" / "Next reviews";     left: calc(anchor(center) + 0.75rem); }
  .elementor-3492 .elementor-element-b041510::scroll-button(left):hover,
  .elementor-3492 .elementor-element-b041510::scroll-button(right):hover { background: #B54F20; }
  .elementor-3492 .elementor-element-b041510::scroll-button(left):disabled,
  .elementor-3492 .elementor-element-b041510::scroll-button(right):disabled { opacity: 0.35; cursor: default; }
}

/* Reviews: kaarten faden van boven naar beneden in beeld, van links naar rechts (alleen waar de browser het kan; elders staan ze er gewoon).
   Kaart 8 en verder (nieuwe reviews) krijgen hetzelfde moment als kaart 7. */
@keyframes tlReviewIn { from { opacity: 0; transform: translateY(-2rem); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .elementor-3492 .elementor-element-5a85f109 { view-timeline: --revFade block; }
    .elementor-3492 .elementor-element-62b685b2 > * { animation: tlReviewIn linear both; animation-timeline: --revFade; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(1) { animation-range: entry 30% entry 55%; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(2) { animation-range: entry 36% entry 61%; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(3) { animation-range: entry 42% entry 67%; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(4) { animation-range: entry 48% entry 73%; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(5) { animation-range: entry 54% entry 79%; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(6) { animation-range: entry 60% entry 85%; }
    .elementor-3492 .elementor-element-62b685b2 > *:nth-child(n+7) { animation-range: entry 66% entry 91%; }
  }
}

/* Veelgestelde vragen: pijltje rechts (het ingebouwde pictogram is leeg zonder SVG) */
.elementor-3492 .elementor-element-16abdb10 summary .e-accordion-item-icon-base { justify-content: center !important; }
.elementor-3492 .elementor-element-16abdb10 summary .e-accordion-item-icon-base::before {
  content: ""; display: block; width: 9px; height: 9px;
  border-right: 2px solid #55606F; border-bottom: 2px solid #55606F;
  transform: rotate(45deg) translate(-2px, -2px); transition: transform 250ms cubic-bezier(0.22, 1, 0.36, 1);
}
.elementor-3492 .elementor-element-16abdb10 details[open] summary .e-accordion-item-icon-base::before { transform: rotate(225deg) translate(-2px, -2px); }

/* Vaste balk onderaan: knoptekst niet afbreken; het thema-knopje 'terug naar boven' ligt er anders overheen */
.elementor-3492 .elementor-element-7d0b2b72 a { white-space: nowrap; }
body:has(.elementor-3492) .ct-back-to-top, body:has(.elementor-3492) [class*="back-to-top"] { display: none !important; }

/* Vaste balk op mobiel: pas zichtbaar zodra de sectie 'Sound familiar?' in beeld komt ("You take a lesson…").
   Alleen waar de browser scroll-animaties kent en geen 'minder beweging' is ingesteld; elders staat de balk er gewoon. */
@keyframes tlStickyIn { from { opacity: 0; transform: translateY(100%); visibility: hidden; } to { opacity: 1; transform: none; visibility: visible; } }
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .elementor-3492 { timeline-scope: --probIn; }
    .elementor-3492 .elementor-element-33871468 { view-timeline: --probIn block; }
    .elementor-3492 .elementor-element-7d0b2b72 { animation: tlStickyIn linear both; animation-timeline: --probIn; animation-range: entry 25% entry 40%; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-3492 h1 b:first-of-type::after,
  .elementor-3492 h2 b::after { animation: none; }
}/* End custom CSS */