/* Shared by exactly three application-owned product layouts. */
.alc-product-page { --alc-orange: #f7a348; --alc-dark: #365568; }
.alc-product-page main { font-size: 1.125rem; line-height: 1.7; overflow-wrap: break-word; }
.alc-product-page main .container { max-width: 1160px; }
.alc-product-page h2, .alc-product-page h3 { color: #173b50; font-weight: 750; line-height: 1.22; margin-bottom: 1.25rem; }
.alc-product-page h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); }
.alc-product-page h3 { font-size: clamp(1.2rem, 2vw, 1.65rem); }
.alc-product-page h2 > span { color: #a8530c; }
.alc-product-page p { margin-bottom: 1.15rem; }
.alc-product-page main a:not(.btn) { color: #9b4c09; text-underline-offset: .2em; }
.alc-product-page main img { display: block; max-width: 100%; height: auto; margin-inline: auto; }
.alc-product-page main li { margin-bottom: .6rem; }
.alc-product-hero { position: relative; isolation: isolate; padding: clamp(3rem, 6vw, 5rem) 0; background: #365568; }
.alc-product-page main .alc-product-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.alc-product-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(18 44 60 / 32%), transparent); }
.alc-product-page .alc-product-hero h1 { color: white; font-size: clamp(2rem, 3.7vw, 3rem); font-weight: 800; line-height: 1.14; letter-spacing: normal; margin-bottom: 0; max-width: 1050px; }
.alc-product-hero h1 span, .alc-product-subheading { color: #ffbb6c; }
.alc-product-subheading { font-weight: 750; font-size: clamp(1.25rem, 2.8vw, 2rem); line-height: 1.22; margin-top: 1.4rem; margin-bottom: 0 !important; }
.alc-product-section { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.alc-product-section-title { text-align: center; margin-bottom: 2.5rem; }
.alc-product-soft { background: #f5f6f6; }
.alc-product-intro { margin-bottom: 2rem; }
.alc-product-intro h2 { font-size: 1.65rem; }
.alc-product-cta { text-align: center; margin-top: 2rem; }
.alc-product-cta p { margin: 0; }
.alc-product-button { background: var(--alc-orange); border: 2px solid var(--alc-orange); border-radius: .25rem; color: #172f3e; padding: .8rem 1.6rem; font-size: clamp(1rem, 2.2vw, 1.6rem); font-weight: 800; white-space: normal; text-decoration: none; }
.alc-product-button:hover { background: #ffb962; border-color: #ffb962; color: #172f3e; }
.alc-product-checks { list-style: none; padding: 0; margin-bottom: 1.5rem; }
.alc-product-checks li { position: relative; padding-left: 1.7rem; }
.alc-product-checks li::before { content: '✓'; position: absolute; left: 0; color: #b76319; font-weight: 800; }
.alc-product-outline { border: 1px solid #d9ad75; padding: 1.5rem 2rem .5rem; margin-top: 1.5rem; }
.alc-product-offer { border: 1px solid #d9ad75; margin-inline: 0; padding: 1rem; }
.alc-product-offer img { max-height: 360px; width: auto; }
.alc-product-offer .alc-product-checks { font-size: clamp(1.2rem, 2.5vw, 1.9rem); font-weight: 700; }
.alc-product-values { font-weight: 700; font-size: 1.4rem; }
.alc-product-price { font-size: 2rem; font-weight: 800; color: #173b50; }
.alc-product-video { display: flex; align-items: center; justify-content: center; gap: 2rem; padding: 2rem; margin-bottom: 2.5rem; background: #edf3f5; }
.alc-product-video img { width: 160px; margin: 0 !important; }
.alc-product-video h2 { margin-bottom: .5rem; }
.alc-product-dark { background: #365568; color: white; }
.alc-product-dark h2 { color: white; }
.alc-product-dark h3 { color: #ffbb6c; }
.alc-product-topics { margin-top: 2rem; margin-bottom: 2rem; }
.alc-product-topics img { height: 100px !important; width: 120px; object-fit: contain; margin-bottom: 1rem; }
.alc-product-topics h3 { font-size: 1.35rem; }
.alc-product-feature { background: white; border-top: 3px solid #f7a348; padding: 1.5rem; height: 100%; }
.alc-product-options { margin-top: 2rem; text-align: center; font-weight: 700; }
.alc-product-options img { max-height: 320px; width: auto; margin-bottom: 1rem; }
.alc-product-clients { padding-block: 1.5rem; }
.alc-product-clients img { width: 100%; }
.alc-product-guarantee { background: #f4f5f5; }
.alc-product-guarantee img { max-width: 260px !important; }
.alc-product-guarantee-copy { font-size: 1.5rem; font-weight: 600; }
.alc-product-bottom { color: white; background: #365568; }
.alc-product-bottom a:not(.btn) { color: white !important; }
.alc-product-phone { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 700; }
@media (max-width: 767px) { .alc-product-page main { font-size: 1rem; } .alc-product-hero::before { background: rgb(18 44 60 / 38%); } .alc-product-video { flex-direction: column; text-align: center; } .alc-product-outline { padding-inline: 1rem; } }

.alc-product-cta + h2, .alc-product-cta + .row, .alc-product-section .row + .row { margin-top: 2.5rem; }

/* Readable product explanation and always-visible FAQ. */
.alc-kit-reading { max-width: 920px; margin-inline: auto; }
.alc-kit-reading p { line-height: 1.75; }
.alc-kit-faq .alc-kit-answer { padding-block: 1.5rem; border-bottom: 1px solid #dce3e6; }
.alc-kit-faq h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.4; margin-bottom: .75rem; }
.alc-kit-faq .alc-kit-answer:last-child { border-bottom: 0; padding-bottom: 0; }
