/**
 * Public site typography
 * Title → Tenor Sans | Body → DM Sans
 *
 * styles.min.css (Nowa admin theme) sets body to 0.8rem and nav links to 12px —
 * overrides below restore readable sizes for the public site.
 */

:root {
    --font-title: "Tenor Sans", serif;
    --font-body: "DM Sans", system-ui, sans-serif;
    --color-heading: #000000;
    --color-body: #777777;
    --public-body-size: 1rem;
    --public-body-leading: 1.66;
    --public-nav-size: 1rem;
    --public-h1-size: clamp(2.5rem, 5vw, 3.25rem);
    --public-h2-size: clamp(2rem, 4vw, 2.75rem);
    --public-h3-size: clamp(1.75rem, 3vw, 2.25rem);
    --public-h4-size: 1.625rem;
    --public-h5-size: 1.375rem;
    --public-h6-size: 1.125rem;
}

body.public-site {
    font-family: var(--font-body);
    font-size: var(--public-body-size);
    line-height: var(--public-body-leading);
    color: var(--color-body);
}

body.public-site p,
body.public-site li {
    font-size: inherit;
    line-height: var(--public-body-leading);
    color: var(--color-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6,
.font-title {
    font-family: var(--font-title);
    font-weight: 400;
    color: var(--color-heading);
    letter-spacing: -0.7px;
}

body.public-site h1,
body.public-site .h1,
body.public-site .cms-section h1,
body.public-site .cms-page-detail-body h1,
body.public-site .cms-rich-text h1 {
    font-size: var(--public-h1-size);
    line-height: 1.15;
}

body.public-site h2,
body.public-site .h2,
body.public-site .cms-section h2,
body.public-site .cms-page-detail-body h2,
body.public-site .cms-rich-text h2 {
    font-size: var(--public-h2-size);
    line-height: 1.2;
}

body.public-site h3,
body.public-site .h3,
body.public-site .cms-section h3,
body.public-site .cms-page-detail-body h3,
body.public-site .cms-rich-text h3 {
    font-size: var(--public-h3-size);
    line-height: 1.25;
}

body.public-site h4,
body.public-site .h4,
body.public-site .cms-section h4,
body.public-site .cms-page-detail-body h4,
body.public-site .cms-rich-text h4 {
    font-size: var(--public-h4-size);
    line-height: 1.3;
}

body.public-site h5,
body.public-site .h5,
body.public-site .cms-section h5,
body.public-site .cms-page-detail-body h5,
body.public-site .cms-rich-text h5 {
    font-size: var(--public-h5-size);
    line-height: 1.35;
}

body.public-site h6,
body.public-site .h6,
body.public-site .cms-section h6,
body.public-site .cms-page-detail-body h6,
body.public-site .cms-rich-text h6 {
    font-size: var(--public-h6-size);
    line-height: 1.4;
}

/* CMS sections & rich text */
.cms-section h1,
.cms-section h2,
.cms-section h3,
.cms-section h4,
.cms-section h5,
.cms-section h6,
.cms-page-detail-body h1,
.cms-page-detail-body h2,
.cms-page-detail-body h3,
.cms-page-detail-body h4,
.cms-page-detail-body h5,
.cms-page-detail-body h6,
.cms-rich-text h1,
.cms-rich-text h2,
.cms-rich-text h3,
.cms-rich-text h4,
.cms-rich-text h5,
.cms-rich-text h6 {
    font-family: var(--font-title);
}

.cms-page-detail-body,
.cms-rich-text,
.cms-section {
    font-family: var(--font-body);
}

.cms-page-detail-body p,
.cms-rich-text p,
.cms-section p {
    margin-bottom: 1em;
}

.cms-page-detail-body p:last-child,
.cms-rich-text p:last-child {
    margin-bottom: 0;
}

.public-site-header .navbar,
.public-site-header .nav-link {
    font-family: var(--font-body);
}
