/* Review route only. The current master supplies the visual vocabulary.
   These overrides do not change /leergids/ or its generated advertising angles. */
.leergids-algemeen [hidden] { display: none !important; }
.leergids-algemeen .header { margin-top: 0; }
.leergids-algemeen .urgentie-bar { position: relative; z-index: 1; }
.leergids-algemeen .urgentie-bar p { font-size: .95rem; }
.leergids-algemeen .proof-bar { padding: .8rem 0; }
.leergids-algemeen .proof-bar-inner { gap: .35rem 1.5rem; }
.leergids-algemeen .proof-item:last-child { flex-basis: auto; }
.leergids-algemeen .product-hero-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  grid-template-areas: "copy product" "purchase product";
  grid-template-rows: min-content 1fr;
  gap: .5rem 3rem;
  align-items: start;
  padding: 2.5rem 0 3.5rem;
}
.leergids-algemeen .product-hero-content { grid-area: copy; }
.leergids-algemeen .product-hero-content h1 { font-size: clamp(2.15rem, 3.4vw, 3.4rem); line-height: 1.14; }
.leergids-algemeen .product-hero-visual { grid-area: product; position: relative; top: auto; margin: 0; align-self: center; width: 100%; }
.leergids-algemeen .product-hero-photo { width: 100%; max-width: 460px; margin: auto; }
.leergids-algemeen .product-hero-photo img { aspect-ratio: 390 / 552; object-fit: contain; }
.leergids-algemeen .hero-purchase { grid-area: purchase; margin: .5rem 0 0; }
.leergids-algemeen .hero-purchase .price-line { margin: 0; }
.leergids-algemeen .hero-purchase .price-line strong { font-size: 2.2rem; }
.leergids-algemeen .hero-purchase .digital-note { margin: .3rem 0 1rem; }
.leergids-algemeen [data-offer-checkout] { min-height: 48px; }
.leergids-algemeen [data-offer-price] > a { font-size: 1rem; color: var(--dark); text-underline-offset: .2em; }
.leergids-algemeen main > section { padding-top: clamp(2.75rem, 5vw, 4rem); padding-bottom: clamp(2.75rem, 5vw, 4rem); }
.leergids-algemeen main > #hero { padding: 0; }
.leergids-algemeen .recognition-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 3rem;
  align-items: start;
}
.leergids-algemeen .recognition-photo { order: 0; width: 100%; max-width: none; }
.leergids-algemeen .recognition-photo img { aspect-ratio: 4 / 5; }
.leergids-algemeen #vroege-reviews { background: #fff0f5; }
.leergids-algemeen .single-review { max-width: 780px; margin: auto; }
.leergids-algemeen .single-review blockquote { max-width: none; margin: 0; padding: 2rem; }
.leergids-algemeen .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1040px; gap: 1rem; }
.leergids-algemeen .category-grid .contents-item { padding: 1.25rem 1.5rem; }
.leergids-algemeen .contents-item h3 { font-family: var(--font-display); font-size: 1.2rem; line-height: 1.35; }
.leergids-algemeen .contents-header { margin-bottom: 2rem; }
.leergids-algemeen #judith { display: block; background: var(--warm-white); }
.leergids-algemeen .judith-practice-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
.leergids-algemeen .judith-practice-copy h2 { margin: .75rem 0 1.5rem; }
.leergids-algemeen .judith-practice-image { border-radius: 14px; overflow: hidden; box-shadow: 0 8px 32px rgba(26,18,22,.10); }
.leergids-algemeen .judith-practice-image img { display: block; width: 100%; height: auto; max-height: none; }
.leergids-algemeen #gebruik { background: var(--cream); }
.leergids-algemeen #gebruik .differentiator-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 3rem; align-items: start; }
.leergids-algemeen .gebruik-voorbeelden { background: var(--warm-white); margin: 1.25rem 0; }
.leergids-algemeen .digital-benefit { border-top: 1px solid var(--light-line); padding-top: 1.25rem; margin-top: 1.5rem; }
.leergids-algemeen .digital-benefit h3 { font-family: var(--font-display); font-size: 1.35rem; margin-bottom: .75rem; }
.leergids-algemeen .digital-benefit p { margin: 0; }
.leergids-algemeen #gebruik .leergids-gebruik-video { padding-top: 0; box-shadow: none; clip-path: none; }
.leergids-algemeen #gebruik .leergids-gebruik-video .wrap-narrow { padding: 0; }
.leergids-algemeen #gebruik .judith-video-player { width: 100%; max-width: 340px; margin: 1.5rem auto 0; }
.leergids-algemeen #gebruik .judith-video-intro { font-size: 1rem; max-width: 360px; color: var(--body); }
.leergids-algemeen #school { background: var(--warm-white); }
.leergids-algemeen .school-callout { border-left: 3px solid var(--pink); padding-left: 1.25rem; font-family: var(--font-display); font-size: 1.15rem; margin-top: 1.5rem; }
.leergids-algemeen #inkijk { background: var(--cream) !important; }
.leergids-algemeen .leergids-inkijk-viewer { max-width: 620px !important; }
.leergids-algemeen .leergids-inkijk-prev, .leergids-algemeen .leergids-inkijk-next { min-height: 48px !important; }
.leergids-algemeen #ouders { background: #fff0f5; }
.leergids-algemeen .bonus-schoolstrijd-inner { max-width: 980px; }
.leergids-algemeen .parent-copy { max-width: 760px; margin: auto; }
.leergids-algemeen .campaign-bonus-grid { gap: 2rem; margin-top: 2rem; }
.leergids-algemeen .campaign-bonus-card { padding: 1rem; background: transparent; border: 0; }
.leergids-algemeen .campaign-bonus-card img { width: min(100%, 280px); margin-inline: auto; object-fit: contain; }
.leergids-algemeen .campaign-bonus-card h3 { font-size: 1.25rem; }
.leergids-algemeen .campaign-bonus-card p { max-width: 330px; margin: .75rem auto 0; }
.leergids-algemeen .campaign-bonus-grid:not(:has([data-offer-bonus-card]:not([hidden]))) { grid-template-columns: minmax(0, 1fr); }
.leergids-algemeen #aanbod { background: var(--cream); }
.leergids-algemeen .offer-card { gap: 2rem; }
.leergids-algemeen #ervaringen { background: var(--warm-white); }
.leergids-algemeen #ervaringen .google-reviews-grid { align-items: start; }
.leergids-algemeen #faq { background: var(--cream); }
.leergids-algemeen .faq-list { display: block; max-width: 850px; }
.leergids-algemeen .feedback-faq { grid-row: auto; grid-column: auto; }
.leergids-algemeen #slot { background: var(--warm-white); }
.leergids-algemeen .sticky-cta-mobile { padding-bottom: calc(.65rem + env(safe-area-inset-bottom)); }
.leergids-algemeen .sticky-cta-mobile:not(.is-ready) { visibility: hidden; }
html:not(.js) .leergids-algemeen .sticky-cta-mobile { visibility: visible; position: static; }
.leergids-algemeen :is(a, button, summary):focus-visible { outline: 3px solid var(--purple); outline-offset: 4px; }
@media (max-width: 1024px) {
  /* Use the existing menu before the desktop links become cramped. */
  .leergids-algemeen .nav { display: none; }
  .leergids-algemeen .menu-toggle {
    display: flex;
    position: fixed;
    top: 18px;
    right: var(--edge);
    left: auto;
    z-index: 300;
  }
}
@media (max-width: 768px) {
  /* This brief explicitly restores one compact top proof, only on this route. */
  body.leergids-algemeen > .proof-bar { display: block !important; }
  .leergids-algemeen .proof-bar-inner { font-size: .82rem; gap: .3rem .8rem; }
  .leergids-algemeen .proof-item { gap: .25rem; }
  .leergids-algemeen .proof-item:last-child { flex-basis: auto; }
  .leergids-algemeen .proof-bar .stars { letter-spacing: 0; }
  .leergids-algemeen .urgentie-bar { padding: .6rem 0; }
  .leergids-algemeen .urgentie-bar p { font-size: .85rem; }
  .leergids-algemeen .product-hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "product" "purchase"; grid-template-rows: auto; gap: 1.25rem; padding: 1.5rem 0 2.5rem; }
  .leergids-algemeen .product-hero-content h1 { font-size: clamp(2rem, 7.5vw, 2.75rem); }
  .leergids-algemeen .product-hero-photo { max-width: 360px; }
  .leergids-algemeen .product-hero-blob { display: none; }
  .leergids-algemeen .hero-purchase { margin: 0; }
  .leergids-algemeen .hero-actions, .leergids-algemeen .hero-actions .btn { width: 100%; }
  .leergids-algemeen .hero-actions .btn { padding-inline: .6rem; }
  .leergids-algemeen main > section { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .leergids-algemeen .recognition-grid, .leergids-algemeen .judith-practice-grid, .leergids-algemeen #gebruik .differentiator-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .leergids-algemeen .recognition-photo { order: 0; width: 100%; max-width: 460px; margin: auto; }
  .leergids-algemeen .single-review blockquote { padding: 1.5rem; }
  .leergids-algemeen .category-grid { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .leergids-algemeen .category-grid .contents-item { padding: 1rem 1.15rem; }
  .leergids-algemeen .contents-item h3 { font-size: 1.15rem; }
  .leergids-algemeen #gebruik .leergids-gebruik-video { background: #f2ecff; padding: 1.5rem 1rem; border-radius: 16px; }
  .leergids-algemeen .leergids-inkijk-thumbs { grid-template-columns: repeat(5, minmax(44px, 1fr)) !important; }
  .leergids-algemeen .campaign-bonus-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .leergids-algemeen .campaign-bonus-card { padding: 0; }
  .leergids-algemeen .campaign-bonus-card img { width: 100%; max-width: 380px; }
  .leergids-algemeen .offer-purchase .btn, .leergids-algemeen #slot .btn { width: 100%; font-size: 18.7px; padding-inline: .6rem; }
  .leergids-algemeen .sticky-cta-main { font-size: .85rem; }
}
/* Final conversion additions keep the existing page rhythm. */
.leergids-algemeen .hero-authority { font-size: .9rem; line-height: 1.55; color: var(--mid); margin: 1rem 0 .25rem; }
.leergids-algemeen .offer-summary { font-size: .95rem; line-height: 1.5; margin: .5rem 0; color: var(--dark); }
.leergids-algemeen main > #resultaat { background: var(--cream); padding-top: .5rem; padding-bottom: 2.5rem; }
.leergids-algemeen .results-copy { max-width: 780px; margin: auto; }
.leergids-algemeen .results-copy h2 { margin-bottom: 1rem; }
.leergids-algemeen .compact-purchase { margin-top: 1.5rem; }
.leergids-algemeen .compact-purchase .price-line { margin: 0 0 .75rem; font-family: var(--font-display); }
.leergids-algemeen .compact-purchase .price-line strong { font-size: 1.8rem; }
.leergids-algemeen .compact-purchase .price-line del { color: var(--mid); margin-right: .5rem; }
.leergids-algemeen .compact-purchase .digital-note { margin: .65rem 0 0; font-size: .9rem; color: var(--mid); }
.leergids-algemeen .student-proof { margin-top: 2rem; }
.leergids-algemeen .student-proof h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-bottom: 1rem; }
.leergids-algemeen .student-proof figure { margin: 0; }
.leergids-algemeen .student-proof img { display: block; width: 100%; max-width: 610px; height: auto; border-radius: 14px; box-shadow: 0 4px 20px rgba(26,18,22,.10); }
.leergids-algemeen .digital-benefit p + p { margin-top: .75rem; }
.leergids-algemeen .school-callout { background: #f2ecff; border-radius: 14px; padding: 1.25rem 1.5rem; line-height: 1.65; }
.leergids-algemeen .upper-school-proof { margin-top: 1.25rem; }
.leergids-algemeen .upper-school-proof .g-review-card { padding: 1.25rem; }
.leergids-algemeen .upper-school-proof .g-text { margin: 0; }
@media (max-width: 768px) {
  .leergids-algemeen .compact-purchase .btn { width: 100%; min-height: 48px; font-size: 18.7px; padding-inline: .6rem; }
  .leergids-algemeen .student-proof { margin-top: 1.75rem; }
  .leergids-algemeen .school-callout { padding: 1rem 1.15rem; }
}
/* Opdracht09 LG19 opt-in only; extras stay readable until JS is ready. */
[data-lg-reviews="parent_six_mobile_expand"] .google-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-lg-reviews="parent_six_mobile_expand"] .lg19-extra { display: contents; }
[data-lg-reviews="parent_six_mobile_expand"] .lg19-toggle { display: block; margin: 1.5rem auto 0; padding: .8rem 1.1rem; min-height: 48px; font: inherit; color: var(--dark); background: transparent; border: 1px solid var(--light-line); border-radius: 8px; cursor: pointer; }
@media (max-width: 768px) {
  [data-lg-reviews="parent_six_mobile_expand"] .google-reviews-grid { grid-template-columns: minmax(0, 1fr); }
}
/* Opdracht09: desktop no-JS reordering only with native reading-order support.
   Unsupported no-JS browsers retain the accessible mobile source flow, not a
   visually reordered but semantically contradictory page. JS uses actual DOM. */
@supports (reading-flow: flex-visual) {
  @media (min-width: 769px) {
    main[data-lg-mobile-flow="angle_first"] { display: flex; flex-direction: column; reading-flow: flex-visual; }
    main[data-lg-mobile-flow="angle_first"] > #hero { order: -5; }
    main[data-lg-mobile-flow="angle_first"] > #quick-benefits { order: -4; }
    main[data-lg-mobile-flow="angle_first"] > #schooltijd { order: -3; }
    main[data-lg-mobile-flow="angle_first"] > #herkenbaar { order: -2; }
    main[data-lg-mobile-flow="angle_first"] > #vroege-reviews { order: -1; }
  }
}
@media (prefers-reduced-motion: reduce) {
  .leergids-algemeen *, .leergids-algemeen *::before, .leergids-algemeen *::after { scroll-behavior: auto !important; transition: none !important; }
}
