/* Reading comfort for the public storefront. Original artwork and headline sizes stay intact. */
body.isecurit-vitrine {
    --muted: #596154;
    --reading-text: 1.0625rem;
    --reading-small: .875rem;
    --reading-caption: .8125rem;
    font-size: var(--reading-text);
    line-height: 1.75;
}
body.isecurit-vitrine :is(p, li, label, a, h2, h3, summary) { overflow-wrap: anywhere; }
body.isecurit-vitrine :is(.hero-copy, .outdoor-copy, .alarm-copy, .service-card, .ajax-reason, .contact-copy, .contact-form-wrap, .footer-main > div, .installer-banner > div) { min-width: 0; }

/* Navigation remains readable when its labels wrap or text is enlarged. */
body.isecurit-vitrine .demo-bar { height: auto; min-height: 32px; padding: 6px 16px; flex-wrap: wrap; font-size: var(--reading-caption); line-height: 1.5; }
body.isecurit-vitrine .demo-label { font-size: .75rem; letter-spacing: .05em; }
body.isecurit-vitrine .header { height: auto; min-height: 100px; }
body.isecurit-vitrine .nav-wrap { height: auto; min-height: 100px; padding-block: 12px; gap: 24px; flex-wrap: wrap; }
body.isecurit-vitrine .desktop-nav { font-size: .9375rem; line-height: 1.5; gap: 20px; }
body.isecurit-vitrine .nav-actions { font-size: var(--reading-small); gap: 16px; }
body.isecurit-vitrine .language-switch { gap: 4px; font-size: var(--reading-small); }
body.isecurit-vitrine .language-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 28px; padding: 5px 3px; font-size: var(--reading-small); color: var(--muted); }
body.isecurit-vitrine .language-switch a[aria-pressed=true] { color: var(--ink); }
body.isecurit-vitrine .nav-phone { font-size: .9375rem; min-height: 44px; }
body.isecurit-vitrine .nav-phone span { display: block; }
body.isecurit-vitrine .button { font-size: .9375rem; line-height: 1.5; min-height: 48px; max-width: 100%; white-space: normal; text-align: center; }
body.isecurit-vitrine .button > span { min-width: 0; }
body.isecurit-vitrine .button-small { font-size: var(--reading-small); min-height: 44px; }
body.isecurit-vitrine .menu-button { min-height: 44px; min-width: 44px; align-items: center; justify-content: center; }
body.isecurit-vitrine .mobile-nav { font-size: 1rem; }
body.isecurit-vitrine .mobile-nav a { padding: 8px; }
body.isecurit-vitrine .eyebrow { font-size: var(--reading-caption); letter-spacing: .065em; color: var(--muted); }
body.isecurit-vitrine .eyebrow.light { font-size: var(--reading-caption); color: #e2e7dd; }
body.isecurit-vitrine :is(.eyebrow > span, .outdoor-visual-top > span:last-child, .installer-seal > small) { min-width: 0; overflow-wrap: anywhere; }

/* Main copy has a stable minimum size across the original breakpoints. */
body.isecurit-vitrine .hero-description { font-size: 1.125rem; line-height: 1.75; color: var(--muted); max-width: 46ch; }
body.isecurit-vitrine .hero-actions { flex-wrap: wrap; }
body.isecurit-vitrine .text-button { font-size: var(--reading-small); white-space: normal; text-align: left; }
body.isecurit-vitrine .hero-assurance { font-size: var(--reading-caption); line-height: 1.6; color: var(--muted); flex-wrap: wrap; gap: 10px 18px; }
body.isecurit-vitrine :is(.hero-assurance > span, .ajax-installer-mark, .trust-intro > span, .trust-item > span, .security-float > div) { min-width: 0; overflow-wrap: anywhere; }
body.isecurit-vitrine .hero-assurance > span { flex-wrap: wrap; }
body.isecurit-vitrine .ajax-installer-mark { font-size: var(--reading-small); line-height: 1.6; flex-wrap: wrap; }
body.isecurit-vitrine .float-label { font-size: .75rem; line-height: 1.5; color: var(--muted); letter-spacing: .035em; }
body.isecurit-vitrine .security-float strong { font-size: var(--reading-small); }
body.isecurit-vitrine .image-index { font-size: .75rem; color: #fff; }
body.isecurit-vitrine .image-index > span:first-child { color: #e6ebe2; }
body.isecurit-vitrine .trust-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-block: 24px; gap: 20px; overflow: visible; }
body.isecurit-vitrine .trust-intro { white-space: normal; font-size: var(--reading-small); line-height: 1.65; color: var(--muted); }
body.isecurit-vitrine .trust-intro strong { font-size: .9375rem; }
body.isecurit-vitrine .trust-item { display: flex; min-width: 0; font-size: var(--reading-small); line-height: 1.65; padding-left: 20px; gap: 12px; }
body.isecurit-vitrine .trust-number { font-size: var(--reading-caption); color: var(--muted); }
body.isecurit-vitrine :is(.section-heading p, .section-description, .contact-copy .section-description, .outdoor-lead, .why-heading > p) { font-size: var(--reading-text); line-height: 1.75; color: var(--muted); }
body.isecurit-vitrine .section-heading p { max-width: 38ch; }
body.isecurit-vitrine :is(.service-grid, .reason-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.isecurit-vitrine .service-card { display: flex; flex-direction: column; }
body.isecurit-vitrine .service-card h3 { font-size: 1.25rem; line-height: 1.4; min-height: 0; }
body.isecurit-vitrine .service-top > span { font-size: var(--reading-caption); color: var(--muted); }
body.isecurit-vitrine .service-card p { font-size: 1rem; line-height: 1.7; min-height: 0; flex: 1; }
body.isecurit-vitrine .card-link { font-size: var(--reading-small); gap: 12px; line-height: 1.5; }

/* Exterior protection, Ajax explanations and the local simulator. */
body.isecurit-vitrine .outdoor-principle { font-size: var(--reading-text); line-height: 1.7; }
body.isecurit-vitrine .outdoor-step strong { font-size: var(--reading-text); line-height: 1.5; }
body.isecurit-vitrine .outdoor-step { min-width: 0; width: 100%; }
body.isecurit-vitrine .outdoor-step > div { min-width: 0; }
body.isecurit-vitrine .outdoor-step :is(strong, small) { overflow-wrap: anywhere; }
body.isecurit-vitrine .outdoor-step small { font-size: 1rem; line-height: 1.7; color: var(--muted); }
body.isecurit-vitrine .outdoor-step > .step-index { font-size: var(--reading-caption); color: var(--muted); }
body.isecurit-vitrine .outdoor-step[aria-pressed=true] > .step-index { color: var(--red); }
body.isecurit-vitrine .outdoor-visual { min-height: 40rem; }
body.isecurit-vitrine .outdoor-visual-top > span:last-child { font-size: .75rem; letter-spacing: .035em; background: #111314c9; }
body.isecurit-vitrine .outdoor-notice-label { font-size: .75rem; color: var(--muted); letter-spacing: .035em; }
body.isecurit-vitrine .outdoor-notice strong { font-size: 1rem; line-height: 1.5; }
body.isecurit-vitrine .outdoor-notice p { font-size: var(--reading-small); line-height: 1.65; color: var(--muted); }
body.isecurit-vitrine .outdoor-product-name { font-size: var(--reading-caption); line-height: 1.7; color: #e2e7db; }
body.isecurit-vitrine .outdoor-product-name strong { font-size: var(--reading-small); color: #fff; }
body.isecurit-vitrine .outdoor-photo-credit { font-size: .75rem; color: #e2e7db; }
body.isecurit-vitrine :is(.outdoor-footnote, .why-note) { font-size: var(--reading-small); line-height: 1.75; color: var(--muted); max-width: 88ch; }
body.isecurit-vitrine .muted-light { font-size: var(--reading-text); line-height: 1.75; color: #e2e7dd; }
body.isecurit-vitrine .property-tabs { flex-wrap: wrap; }
body.isecurit-vitrine .property-tabs button { font-size: .9375rem; min-height: 44px; line-height: 1.5; padding: 12px 16px; color: #d6dfcf; }
body.isecurit-vitrine .property-tabs button[aria-selected=true] { color: #fff; }
body.isecurit-vitrine .property-content { min-height: 0; }
body.isecurit-vitrine .property-content h3 { font-size: 1.25rem; line-height: 1.5; }
body.isecurit-vitrine .property-content > p { font-size: 1rem; line-height: 1.7; color: #e2e7dd; }
body.isecurit-vitrine .check-list { font-size: 1rem; line-height: 1.65; color: #e2e7dd; }
body.isecurit-vitrine .check-list li { align-items: flex-start; }
body.isecurit-vitrine .check-list .icon { margin-top: 7px; }
body.isecurit-vitrine .stage-tag { font-size: .75rem; color: #f4f7ef; letter-spacing: .035em; background: #202b20d9; padding: 4px 7px; border-radius: 3px; }
body.isecurit-vitrine .stage-bottom > div { font-size: var(--reading-small); line-height: 1.65; color: #f4f7ef; }
body.isecurit-vitrine .illustration-label { font-size: var(--reading-caption); line-height: 1.6; color: #e2e9dc; }
body.isecurit-vitrine .stage-demo { font-size: var(--reading-small); min-height: 48px; line-height: 1.6; text-align: left; color: #fff; }
body.isecurit-vitrine .ajax-reason h3 { font-size: 1.25rem; min-height: 0; line-height: 1.45; }
body.isecurit-vitrine .ajax-reason > p { font-size: 1rem; line-height: 1.7; }
body.isecurit-vitrine .ajax-reason details { font-size: .9375rem; line-height: 1.7; color: var(--muted); }
body.isecurit-vitrine .ajax-reason details p { font-size: 1rem; line-height: 1.7; }
body.isecurit-vitrine .ajax-reason summary { padding-block: 7px; min-height: 44px; }
body.isecurit-vitrine .installer-banner { grid-template-columns: 140px minmax(0, 1fr) auto; }
body.isecurit-vitrine .installer-seal > small { font-size: .75rem; white-space: normal; text-align: center; letter-spacing: .035em; line-height: 1.6; color: var(--muted); }
body.isecurit-vitrine .installer-banner h3 { font-size: 1.25rem; line-height: 1.45; }
body.isecurit-vitrine .installer-banner p { font-size: 1rem; line-height: 1.7; color: var(--muted); }

/* Advice, FAQ and short enquiry form. */
body.isecurit-vitrine .photo-note { font-size: var(--reading-caption); background: #fffef4ed; color: var(--ink); }
body.isecurit-vitrine .local-card strong { font-size: 1.125rem; }
body.isecurit-vitrine .local-card span { font-size: var(--reading-small); color: var(--muted); }
body.isecurit-vitrine .steps > li > span { font-size: var(--reading-small); }
body.isecurit-vitrine .steps h3 { font-size: 1.125rem; line-height: 1.5; }
body.isecurit-vitrine .steps p { font-size: 1rem; line-height: 1.7; max-width: 46ch; }
body.isecurit-vitrine .inline-link { font-size: .9375rem; line-height: 1.5; }
body.isecurit-vitrine .faq-list summary { font-size: 1.0625rem; line-height: 1.6; }
body.isecurit-vitrine .faq-list details p { font-size: 1rem; line-height: 1.75; color: var(--muted); }
body.isecurit-vitrine .contact-hours { font-size: .9375rem; color: var(--muted); }
body.isecurit-vitrine .contact-email { font-size: 1.0625rem; }
body.isecurit-vitrine .contact-address { font-size: 1rem; line-height: 1.75; color: var(--muted); }
body.isecurit-vitrine .form-header { font-size: 1.0625rem; line-height: 1.5; flex-wrap: wrap; }
body.isecurit-vitrine .form-time { font-size: var(--reading-caption); color: var(--muted); }
body.isecurit-vitrine :is(.field label, .need-fieldset legend) { font-size: var(--reading-small); line-height: 1.6; }
body.isecurit-vitrine .need-options span { font-size: var(--reading-small); line-height: 1.5; min-height: 44px; padding: 10px 12px; }
body.isecurit-vitrine :is(.field input, .field textarea, .calculator-grid input:not([type=checkbox]):not([type=radio]), .calculator-grid select, .calculator-grid textarea) { font-size: 1rem; line-height: 1.6; min-height: 48px; color: var(--ink); border-color: #7f8878; }
body.isecurit-vitrine :is(.field input, .field textarea)::placeholder { color: #656d5f; opacity: 1; }
body.isecurit-vitrine .demo-form-notice { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 4px 8px; color: var(--muted); }
body.isecurit-vitrine .demo-form-notice :is(p, a) { font-size: var(--reading-small); line-height: 1.65; }
body.isecurit-vitrine .demo-form-notice a { grid-column: 2; }
body.isecurit-vitrine .form-reassurance { font-size: var(--reading-small); line-height: 1.65; color: var(--muted); }
body.isecurit-vitrine .form-success p { font-size: var(--reading-text); line-height: 1.75; }
body.isecurit-vitrine .isecurit-antispam .antispam-note { font-size: var(--reading-caption); line-height: 1.6; color: var(--muted); }
body.isecurit-vitrine .isecurit-antispam .antispam-fallback p { font-size: var(--reading-small); line-height: 1.65; }

/* Footer, secondary pages, dialogs and consent retain the same reading scale. */
body.isecurit-vitrine .closing-band p { font-size: 1.125rem; line-height: 1.6; }
body.isecurit-vitrine .closing-band > .container > span { color: #7b8273; }
body.isecurit-vitrine .footer-main { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 28px; }
body.isecurit-vitrine .footer-main h3 { font-size: 1rem; line-height: 1.5; }
body.isecurit-vitrine .footer-main :is(p, a:not(.footer-brand), button) { font-size: .9375rem; line-height: 1.75; color: var(--muted); }
body.isecurit-vitrine .footer-main a:hover { color: var(--red); }
body.isecurit-vitrine .footer-legal p { max-width: 30ch; }
body.isecurit-vitrine .footer-bottom { font-size: var(--reading-caption); line-height: 1.65; color: var(--muted); flex-wrap: wrap; }
body.isecurit-vitrine .mobile-contact > a { font-size: .9375rem; line-height: 1.5; min-height: 48px; }
body.isecurit-vitrine .mobile-contact > a > span { min-width: 0; }
body.isecurit-vitrine .dialog-eyebrow { font-size: var(--reading-caption); letter-spacing: .065em; }
body.isecurit-vitrine :is(.dialog > p, .dialog-features) { font-size: 1rem; line-height: 1.75; }
body.isecurit-vitrine .sim-description { font-size: 1rem !important; }
body.isecurit-vitrine .sim-status { font-size: .9375rem; line-height: 1.6; }
body.isecurit-vitrine .sim-controls .button { font-size: .9375rem; }
body.isecurit-vitrine .sim-event { font-size: .9375rem !important; line-height: 1.7; }
body.isecurit-vitrine .sim-disclaimer { font-size: var(--reading-small); line-height: 1.7; color: var(--muted); }
body.isecurit-vitrine .close-dialog { width: 44px; height: 44px; }
body.isecurit-vitrine .dialog h2 { padding-right: 18px; }
body.isecurit-vitrine .inner-page { font-size: 1.125rem; line-height: 1.75; }
body.isecurit-vitrine .page-lead { font-size: 1.1875rem; line-height: 1.75; }
body.isecurit-vitrine .calculator-grid > label { font-size: .9375rem; }
body.isecurit-vitrine .calculator-grid fieldset { min-width: 0; }
body.isecurit-vitrine .price-table { font-size: .9375rem; line-height: 1.6; }
body.isecurit-vitrine .ads-preferences-link button { font-size: var(--reading-small); color: var(--muted); max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
body.isecurit-vitrine #ads-consent-panel { font-family: var(--font); font-size: .9375rem; max-height: calc(100dvh - 40px); overflow: auto; }
body.isecurit-vitrine #ads-consent-panel h2 { font-size: 1.25rem; line-height: 1.45; }
body.isecurit-vitrine #ads-consent-panel p { font-size: .9375rem; line-height: 1.7; }
body.isecurit-vitrine .ads-choice-buttons { flex-wrap: wrap; }
body.isecurit-vitrine .ads-choice-buttons button { font: 700 1rem/1.5 var(--font); min-height: 48px; min-width: 0; flex: 1 1 8rem; overflow-wrap: anywhere; }

@media (max-width: 1200px) {
    body.isecurit-vitrine .desktop-nav { display: none; }
    body.isecurit-vitrine .menu-button { display: flex; }
    body.isecurit-vitrine .nav-quote { display: inline-flex; }
}
@media (max-width: 1100px) {
    body.isecurit-vitrine :is(.service-grid, .reason-grid, .trust-strip) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.isecurit-vitrine .installer-banner { grid-template-columns: 120px minmax(0, 1fr); }
    body.isecurit-vitrine .installer-banner > .button { grid-column: 2; }
}
@media (max-width: 760px) {
    body.isecurit-vitrine :is(.header, .nav-wrap) { min-height: 78px; }
    body.isecurit-vitrine .nav-wrap { padding-block: 10px; gap: 14px; }
    body.isecurit-vitrine .nav-actions { gap: 12px; }
    body.isecurit-vitrine .nav-quote { display: none; }
    body.isecurit-vitrine .trust-strip { display: grid; }
    body.isecurit-vitrine .hero-description { font-size: 1.0625rem; }
    body.isecurit-vitrine .security-float { max-width: calc(100% - 30px); }
    body.isecurit-vitrine .outdoor-visual { min-height: 38rem; }
    body.isecurit-vitrine .inner-page { font-size: 1.0625rem; }
    body.isecurit-vitrine .closing-band > .container { flex-wrap: wrap; }
    body.isecurit-vitrine .closing-band > .container > span { margin-left: 0; }
    body.isecurit-vitrine #ads-consent-panel { bottom: calc(var(--isecurit-contact-height, 60px) + 16px); max-height: calc(100dvh - var(--isecurit-contact-height, 60px) - 40px); }
}
@media (max-width: 600px) {
    body.isecurit-vitrine :is(.service-grid, .reason-grid, .trust-strip, .form-row) { grid-template-columns: minmax(0, 1fr); }
    body.isecurit-vitrine .trust-item { border-left: 0; padding-left: 0; }
    body.isecurit-vitrine .installer-banner { grid-template-columns: minmax(0, 1fr); }
    body.isecurit-vitrine .installer-banner > .button { grid-column: 1; justify-self: stretch; }
    body.isecurit-vitrine .installer-seal { grid-row: auto; flex-direction: row; justify-content: flex-start; gap: 12px; border-right: 0; padding: 0; }
    body.isecurit-vitrine .installer-seal > small { text-align: left; }
    body.isecurit-vitrine .form-header { gap: 8px 12px; }
    body.isecurit-vitrine .form-time { margin-left: 0; }
}
@media (max-width: 460px) {
    body.isecurit-vitrine .nav-phone span { display: none; }
    body.isecurit-vitrine .nav-phone { min-width: 44px; justify-content: center; }
}
