/**
 * Suwaa Heritage 1.0.1 - Cairo typography.
 * Loaded after the platform and main theme CSS. No icon-font reset is applied.
 * The English heritage tagline retains its original serif face.
 */
body {
    font-family: var(--swh-font-ui, "Cairo", Tahoma, Arial, sans-serif);
    font-weight: 400;
    line-height: 1.95;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--swh-font-ui);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: normal;
    overflow-wrap: break-word;
}

button, input, select, textarea,
.sw-button, .sw-form, .sw-filters, .sw-pagination,
.sw-lesson-layout, .sw-account {
    font-family: var(--swh-font-ui);
}

.sw-button, .sw-header-contact, .sw-text-link,
.sw-menu a, .sw-form label, .sw-filters label,
.sw-pagination .page-numbers {
    font-weight: 600;
}

.sw-form input:not([type="checkbox"]):not([type="radio"]),
.sw-form select, .sw-form textarea,
.sw-filters input, .sw-filters select {
    font-weight: 400;
    line-height: 1.8;
}

.sw-form input::placeholder, .sw-form textarea::placeholder,
.sw-search-dialog input::placeholder {
    font-family: inherit;
    font-weight: 400;
}

.sw-brand strong { font-weight: 700; line-height: 1.7; }
.sw-brand small { font-family: Arial, sans-serif; }
.sw-menu a { line-height: 1.8; }
.sw-header-contact, .sw-button { line-height: 1.8; }

.sw-hero h1 {
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: normal;
}
.sw-hero p { line-height: 2; font-weight: 400; }
.sw-hero-mark { flex-shrink: 0; }
.sw-section-title h2 { font-weight: 700; line-height: 1.7; }
.sw-section-title p { font-weight: 500; line-height: 1.95; }
.sw-world-card h3 { line-height: 1.75; font-weight: 700; }
.sw-world-card p { line-height: 1.9; }
.sw-world-card > a { display: flex; flex-direction: column; }
.sw-world-card .sw-world-icon { flex-shrink: 0; }
.sw-world-card .sw-text-link { align-self: center; margin-top: auto; }
.sw-season-intro h2 { font-weight: 600; line-height: 1.65; }
.sw-season-intro h3 { font-weight: 500; line-height: 1.7; }
.sw-season-facts strong { font-weight: 700; }
.sw-countdown strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.sw-book-shelf h3 { line-height: 1.8; }
.sw-block-heading h2 { line-height: 1.7; }
.sw-rich-text { line-height: 2.1; }
.sw-rich-text h2, .sw-rich-text h3 { line-height: 1.75; }
.sw-main-article > h1, .sw-page-hero h1 { line-height: 1.65; }
.sw-course-outline strong { line-height: 1.9; }
.sw-card-body h2 { line-height: 1.7; }
.sw-brand-story h2 { font-family: var(--swh-font-ui); font-weight: 700; line-height: 1.6; }
.sw-brand-story blockquote { font-family: var(--swh-font-ui); font-weight: 400; line-height: 2; }
.sw-site-footer h3 { font-weight: 600; line-height: 1.9; }
.sw-footer-links a, .sw-footer-single { line-height: 1.95; }

/* Compact navigation stays readable without changing the mobile menu controls. */
@media (min-width: 1101px) and (max-width: 1350px) {
    .sw-header-inner { gap: 16px; }
    .sw-menu { gap: 11px; }
    .sw-menu a { font-size: 11px; }
    .sw-header-contact { padding-inline: 14px; }
}

@media (max-width: 760px) {
    .sw-hero h1 { line-height: 1.65; letter-spacing: normal; }
    .sw-hero p { font-size: 14px; line-height: 2; }
    .sw-world-card h3 { line-height: 1.8; }
    .sw-world-card p { font-size: 12px; }
    .sw-season-intro p { font-size: 13px; }
    .sw-brand-story blockquote { font-size: 18px; line-height: 2; }
    /* Avoid clipping tall Arabic glyphs and input zoom on mobile Safari. */
    .sw-form input:not([type="checkbox"]):not([type="radio"]),
    .sw-form select, .sw-form textarea,
    .sw-filters input, .sw-filters select,
    .sw-search-dialog input {
        font-size: 16px;
        line-height: 1.8;
        min-height: 48px;
        height: auto;
    }
    .sw-footer-newsletter .sw-form input[type="email"] { font-size: 16px; }
    .sw-page-hero h1, .sw-main-article > h1 { line-height: 1.7; }
}

@media (max-width: 470px) {
    .sw-hero h1 { font-size: 26px; line-height: 1.7; }
    .sw-hero p { font-size: 13px; }
    .sw-brand strong { font-size: 15px; }
    .sw-world-card .sw-text-link { font-size: 12px; }
    .sw-form label { line-height: 1.9; }
}
