/* Portuguese index only: calm reading, accessible controls and progressive enhancement. */
.larga-index {
 --cta: #87496e; --cta: oklch(46.8% .099 342);
 --cta-hover: #713858; --cta-hover: oklch(40% .094 342);
 --muted: #725d7f; --muted: oklch(50.7% .057 311);
 --white: #fffafd; --white: oklch(99% .006 332);
 padding-bottom: calc(92px + env(safe-area-inset-bottom));
}
.larga-index [id] { scroll-margin-top: 88px; }
.larga-index [hidden] { display: none !important; }
.larga-index :is(.anim,.anim-right,.reveal) { opacity: 1; transform: none; transition: none; }
.larga-index :is(a,button,summary,[tabindex]):focus-visible { outline: 3px solid var(--heading); outline-offset: 4px; }
.skip-link { position: fixed; left: 12px; top: 10px; transform: translateY(-150%); z-index: 3000; padding: 12px 18px; background: var(--white); color: var(--heading); border-radius: 6px; }
.skip-link:focus { transform: none; }
.larga-index .site-nav { background: var(--white); backdrop-filter: none; -webkit-backdrop-filter: none; }
.larga-index .nav-hamburger { min-width: 44px; min-height: 44px; }
.larga-index .nav-mobile-menu { max-height: calc(100dvh - 72px); overflow-y: auto; }
.larga-index :is(.hero-buttons,.hero-left) { min-width: 0; }
.larga-index .hero-buttons { align-items: flex-start !important; }
.larga-index .btn-cta { background: var(--cta); border-color: var(--cta); color: var(--white); }
.larga-index .btn-cta:hover { background: var(--cta-hover); }
.larga-index :is(.btn-cta,.floating-cta-btn)::before { display: none; }
.larga-index :is(.verhaal,.waarom,.auteur) p { max-width: 70ch; line-height: 1.75; }
.larga-index .hero-right img { animation: none !important; max-width: 100%; }
.larga-index .carousel-wrapper { overflow: visible; }
.larga-index :is(.carousel-track,.pages-track) {
 overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
 scrollbar-width: thin; scrollbar-color: var(--cta) var(--section);
 transform: none !important; transition: none; padding: 8px 4px 20px;
}
.larga-index :is(.carousel-card,.pages-slide) { scroll-snap-align: start; scroll-snap-stop: normal; }
.larga-index .carousel-card { backdrop-filter: none; -webkit-backdrop-filter: none; }
.larga-index .carousel-card:hover { transform: none; }
.larga-index .pages-carousel { overflow: visible; padding: 0; margin: 0; display: grid; grid-template-columns: 48px 1fr 48px; gap: 12px; }
.larga-index .pages-track { grid-column: 1 / -1; grid-row: 1; gap: 24px; min-width: 0; }
.larga-index .pages-slide { flex: 0 0 calc((100% - 48px) / 3); }
.larga-index .pages-slide a { display: block; }
.larga-index .pages-slide img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 2px; }
.larga-index .pages-arrow { position: static; transform: none; width: 48px; height: 48px; grid-row: 2; }
.larga-index .pages-arrow.prev { grid-column: 1; }
.larga-index .pages-arrow.next { grid-column: 3; }
.carousel-status { text-align: center; color: var(--muted); font-size: 14px; margin: 14px 0 0; }
.larga-index :is(.carousel-btn,.czr-arrow) { min-width: 44px; min-height: 44px; }
.larga-index .czr-slider { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.larga-index .czr-viewport { grid-column: 1 / -1; grid-row: 1; width: 100%; overflow: visible; transition: none; }
.larga-index .czr-track { display: block; transform: none !important; transition: none; }
.larga-index .czr-slide { min-width: 0; width: 100%; margin-bottom: 14px; }
.larga-index .czr-arrow { position: static; grid-row: 2; width: 48px; height: 48px; }
.larga-index .czr-prev { justify-self: start; }
.larga-index .czr-next { justify-self: end; }
.larga-index .czr-name { margin-bottom: 4px; }
.larga-index .czr-src { margin-bottom: 18px; }
.larga-index .czr-orig { border: 1px solid var(--section); }
.larga-index .czr-orig summary { cursor: pointer; padding: 4px 0; min-height: 36px; color: var(--body); font-size: 14px; }
.larga-index .czr-orig-text { padding-top: 12px; }
.reader-originals { margin: 32px auto; max-width: 1050px; }
.larga-index .fb-screenshot { height: auto; }
.larga-index .faq-question { list-style: none; }
.larga-index .faq-question::-webkit-details-marker { display: none; }
.larga-index .faq-answer { max-height: none; overflow: visible; padding: 0 24px 24px; transition: none; }
.larga-index .faq-item[open] { border-color: var(--cta); }
.larga-index .faq-item[open] .faq-icon { transform: rotate(45deg); }
.larga-index .faq-icon { color: var(--cta); }
.larga-index .floating-cta { background: var(--white); padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); backdrop-filter: none; -webkit-backdrop-filter: none; }
.larga-index .floating-cta-inner { flex-direction: row; gap: 16px; max-width: 720px; }
.larga-index .floating-cta-text { text-align: left; }
.larga-index .floating-cta-btn { background: var(--cta); width: auto; justify-content: center; padding: 14px 22px; min-height: 48px; border-radius: 10px; }
.larga-index .floating-cta-btn:hover { transform: none; }
.larga-index .fc-title { font-family: 'DM Sans', sans-serif; font-size: 15px; }
.sample-viewer { width: min(1240px, 96vw); max-height: 94dvh; border: 1px solid var(--section); border-radius: 12px; padding: 12px; margin: auto; background: var(--white); }
.sample-viewer::backdrop { background: rgba(26,16,40,.8); }
.sample-viewer form { display: flex; justify-content: flex-end; padding-bottom: 10px; }
.sample-close { min-height: 44px; padding: 10px 20px; border: 0; border-radius: 8px; background: var(--heading); color: var(--white); font: inherit; cursor: pointer; }
.sample-scroll { max-height: calc(94dvh - 88px); overflow: auto; overscroll-behavior: contain; }
.sample-scroll img { width: 100%; height: auto; display: block; }
@media (max-width: 900px) { .larga-index .pages-slide { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 768px) {
 .larga-index .hero-section { padding-top: 24px; }
 .larga-index .hero-left .hero-buttons { order: 4; width: 100%; gap: 8px !important; justify-content: center; }
 .larga-index .hero-left .body-text { order: 6; margin: 20px 0 0; }
 .larga-index .hero-left .payment-row { order: 5; }
 .larga-index .hero-right { margin-bottom: 10px; }
 .larga-index .hero-right img { width: 220px !important; }
 .larga-index .btn-cta { font-size: 16px; padding: 15px 14px; }
 .larga-index :is(.verhaal p,.offer-text,.faq-answer p,.redenen-list li,.waarom-usp-list li) { font-size: 16px; line-height: 1.7; }
 .larga-index .fb-reactions-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 .larga-index .pages-slide { flex-basis: 90%; }
 .larga-index .floating-cta { padding-left: 12px; padding-right: 12px; }
 .larga-index .floating-cta-inner { gap: 10px; }
 .larga-index .floating-cta-btn { font-size: 14px; padding: 12px 16px; }
 .larga-index .fc-title { font-size: 13px; }
 .larga-index .fc-sub { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .larga-index *, .larga-index *::before, .larga-index *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print { .site-nav,.floating-cta,.sample-viewer { display: none !important; } }

/* Controls appear only after their handlers are ready. */
.larga-index:not(.ux-ready) :is(.nav-hamburger,.carousel-btn,.pages-arrow,.czr-arrow,.carousel-status,#czrStatus) { display: none !important; }
.fallback-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 12px; }
.fallback-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 10px; }
.sample-viewer form { gap: 8px; }
.sample-scroll.is-zoomed img { width: max(100%, 900px); max-width: none; }
