/* Global typography system for WordPress content and reusable sections. */
:root{
    --dq-type-body:17px;
    --dq-type-content:18px;
    --dq-type-content-mobile:17px;
    --dq-type-leading:1.75;
    --dq-type-h1:clamp(36px,3.2vw,46px);
    --dq-type-h2:clamp(28px,2.2vw,34px);
    --dq-type-h3:clamp(22px,1.7vw,26px);
    --dq-type-h4:clamp(19px,1.35vw,22px);
}

body{font-size:var(--dq-type-body)}

/* Content entered through WordPress, ACF rich text and archive SEO fields. */
.dq-main .dq-richtext,
.dq-page-content,
.dq-term-seo{
    font-size:var(--dq-type-content);
    line-height:var(--dq-type-leading);
}

.dq-page-content,
.dq-single{
    width:min(1120px,calc(100% - 48px));
}

.dq-page-content{padding:56px 0 72px}

.dq-page-content h1,
.dq-single>h1,
.dq-main .dq-richtext h1{
    margin:0 0 32px;
    color:var(--dq-secondary);
    font-size:var(--dq-type-h1);
    line-height:1.2;
    letter-spacing:-.018em;
    text-wrap:balance;
}

.dq-main .dq-richtext h2,
.dq-term-seo h2{
    margin:38px 0 18px;
    color:var(--dq-secondary);
    font-size:var(--dq-type-h2);
    line-height:1.3;
    letter-spacing:-.012em;
}

.dq-main .dq-richtext h3,
.dq-term-seo h3{
    margin:30px 0 14px;
    color:var(--dq-secondary);
    font-size:var(--dq-type-h3);
    line-height:1.35;
}

.dq-main .dq-richtext h4,
.dq-term-seo h4{
    margin:26px 0 12px;
    color:var(--dq-secondary);
    font-size:var(--dq-type-h4);
    line-height:1.4;
}

.dq-main .dq-richtext p,
.dq-page-content p,
.dq-term-seo p{margin:0 0 1.25em}

.dq-main .dq-richtext li,
.dq-page-content li,
.dq-term-seo li{margin-bottom:.5em}

.dq-main .dq-richtext a,
.dq-page-content a,
.dq-term-seo a{text-decoration-thickness:1px;text-underline-offset:3px}

.dq-main .dq-richtext blockquote,
.dq-page-content blockquote,
.dq-term-seo blockquote{
    margin:1.6em 0;
    padding:18px 24px;
    border-left:4px solid var(--dq-primary);
    background:#f8fafc;
    font-size:1.08em;
}

.dq-main .dq-richtext table,
.dq-page-content table,
.dq-term-seo table{width:100%;border-collapse:collapse;font-size:17px}

.dq-main .dq-richtext th,
.dq-main .dq-richtext td,
.dq-page-content th,
.dq-page-content td,
.dq-term-seo th,
.dq-term-seo td{padding:12px 14px;border:1px solid var(--dq-border);text-align:left;vertical-align:top}

.dq-breadcrumb{font-size:16px;line-height:1.5}

/* Editorial alignment for long-form WordPress content only. */
.dq-page-content :is(h1,h2,h3,h4),
.dq-post-content :is(h1,h2,h3,h4),
.dq-product-detail__content .dq-richtext :is(h1,h2,h3,h4),
.dq-term-seo .dq-richtext :is(h1,h2,h3,h4),
.dq-blog-index-seo .dq-richtext :is(h1,h2,h3,h4){
    text-align:left;
    text-wrap:pretty;
}

.dq-page-content :is(p,li),
.dq-post-content :is(p,li),
.dq-product-detail__content .dq-richtext :is(p,li),
.dq-term-seo .dq-richtext :is(p,li),
.dq-blog-index-seo .dq-richtext :is(p,li){
    text-align:justify;
    text-align-last:left;
    text-justify:inter-word;
    overflow-wrap:break-word;
}

@media(max-width:700px){
    :root{--dq-type-body:16px;--dq-type-content:var(--dq-type-content-mobile)}
    .dq-page-content,.dq-single{width:calc(100% - 36px)}
    .dq-page-content{padding:38px 0 52px}
    .dq-page-content h1,.dq-single>h1,.dq-main .dq-richtext h1{margin-bottom:25px;font-size:clamp(31px,9vw,38px)}
    .dq-main .dq-richtext h2,.dq-term-seo h2{margin-top:32px;font-size:27px}
    .dq-main .dq-richtext h3,.dq-term-seo h3{margin-top:25px;font-size:22px}
    .dq-main .dq-richtext h4,.dq-term-seo h4{font-size:19px}
    .dq-breadcrumb{font-size:15px}
    .dq-main .dq-richtext table,.dq-page-content table,.dq-term-seo table{display:block;overflow-x:auto;font-size:16px}
}
