/* DoorWeb type scale. Font sources live in main.css; no forced Bootstrap overrides.
   Approved homepage and wardrobe hero typography keeps its established layout. */
:root {
    --dw-type-h1: clamp(34px, 3.4vw, 48px);
    --dw-type-h2: clamp(26px, 2.3vw, 32px);
    --dw-type-h3: clamp(20px, 1.55vw, 22px);
}
.dw-site { font-family: var(--default-font); font-weight: 400; }
.dw-site :is(button, input, textarea, select) { font-family: var(--default-font); }
.dw-site .navmenu a { font-weight: 500; }
#mainContent :is(.dw-step-number, .dw-process-number, .code-tag) { font-family: var(--default-font); }
#mainContent :is(.page-title .title-wrapper, .dw-material-hero, .dw-glass-hero) h1 {
    font-family: var(--heading-font);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.035em;
}
#mainContent :is(p, li, label):not(.dw-home-hero *):not(.dw-eyebrow, .dw-step-number) {
    font-family: var(--default-font);
    font-weight: 400;
}
#mainContent :is(.lead, p.h5):not(.dw-home-hero *) { font-size: 16px; font-weight: 400; line-height: 1.75; }
#mainContent :is(.btn, .dw-button, .service-btn, .department-btn, .dw-text-link):not(.dw-home-hero *) { font-weight: 500; }
#mainContent :where(h2, h3, h4):where(:not(.accordion-header, .dw-home-hero *)) {
    font-family: "Roboto", Arial, sans-serif;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.02em;
}
#mainContent :where(h2:not(.accordion-header, .h3, .h4, .h5, .h6, .dw-home-hero *)) {
    font-size: var(--dw-type-h2);
    margin-bottom: 18px;
}
#mainContent :where(h3:not(.accordion-header, .dw-home-hero *)) {
    font-size: var(--dw-type-h3);
    font-weight: 500;
    margin-bottom: 12px;
}
#mainContent :is(h2, h3, h4):not(.dw-home-hero *) :is(strong, b) { font-weight: inherit; }

#mainContent :is(#home-about, .about .content, .department-details .intro, #online-planner) h2 {
    font-size: clamp(28px, 2.5vw, 36px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.025em;
    margin-bottom: 20px;
}
#mainContent .section-title { padding-bottom: 48px; }
#mainContent .section-title h2 {
    font-size: clamp(26px, 2.2vw, 30px);
    margin-bottom: 16px;
    padding-bottom: 18px;
}
#mainContent .section-title p { max-width: 68ch; margin-inline: auto; }
#mainContent .dw-section-intro h2 { font-size: clamp(28px, 2.3vw, 32px); margin-bottom: 0; }
#mainContent .dw-price-grid h2 { font-size: clamp(28px, 2.4vw, 34px); line-height: 1.25; }
#mainContent .dw-local-box h2 { font-size: clamp(24px, 2vw, 27px); }
#mainContent .dw-offer-note h2 { font-size: 22px; margin-bottom: 12px; }

/* Compact semantic headings stay smaller than section titles. */
#mainContent h2.h3 { font-size: 26px; }
#mainContent h2.h4 { font-size: 22px; }
#mainContent h3.h4 { font-size: 21px; }
#mainContent h3.h5 { font-size: 19px; }
#mainContent .department-card h3 { font-size: 21px; }
#mainContent :is(.realizacia-content, .dw-process) h3 { font-size: 18px; font-weight: 600; }
#mainContent .dw-choice-grid h3 { font-size: 22px; }
#mainContent .dw-process-card h3 { font-size: 19px; font-weight: 600; }

#mainContent .accordion-button {
    font-family: "Roboto", Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
#mainContent :is(.section-title, .about-content, .department-details .intro, .dw-section-intro, .service-card, .department-card, .realizacia-content, .dw-local-box) p:not(.dw-eyebrow) {
    line-height: 1.7;
}
#mainContent :is(.about-content, .department-details, .about .content) .lead {
    font-size: 17px;
    line-height: 1.75;
}
#mainContent .accordion-body { line-height: 1.7; }
#mainContent #online-planner .lead { font-size: 17px; font-weight: 400; line-height: 1.75; }
#mainContent :is(p, li) :is(strong, b):not(.dw-home-hero *) { font-weight: 500; }

@media (max-width: 575px) {
    #mainContent .section-title { padding-bottom: 36px; }
    #mainContent h2.h3 { font-size: 24px; }
    #mainContent h3.h4, #mainContent .department-card h3, #mainContent .dw-choice-grid h3 { font-size: 20px; }
    #mainContent :is(.realizacia-content, .dw-process, .dw-process-card) h3 { font-size: 18px; }
    #mainContent :is(.about-content, .department-details, .about .content) .lead { font-size: 16px; }
    #mainContent #online-planner .lead { font-size: 16px; }
}

#mainContent h1:not(.dw-home-copy h1) { font-family: var(--heading-font); font-size: var(--dw-type-h1); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
#mainContent :is(h2, h3, h4) :is(strong, b) { font-weight: inherit; }
#mainContent :is(.badge, dt, .btn-learn-more) { font-weight: 500; }
.dw-site :is(button, .btn, .service-btn, .department-btn, .accordion-button) { font-weight: 500; }
.dw-site #cookieConsent { font-weight: 400; }
