body{
    font-family:'Outfit',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    line-height:1.6;
    color:var(--fm-text);
}

/* Clearer premium heading hierarchy */
h1,h2,h3,h4,h5,h6,
.fanime-title,
.fanime-site-title{
    color:var(--fm-text);
    font-weight:700;
    letter-spacing:-0.025em;
    line-height:1.08;
    margin:0 0 .7rem;
    text-wrap:balance;
}

h1,
.fanime-title,
.page .entry-title,
.single .entry-title{
    font-size:clamp(2rem, 4.5vw, 3.2rem);
    line-height:1.02;
    letter-spacing:-0.04em;
    font-weight:750;
}

h2{
    font-size:clamp(1.5rem, 2.9vw, 2.15rem);
    line-height:1.07;
}

h3{
    font-size:clamp(1.15rem, 2vw, 1.48rem);
    line-height:1.12;
}

h4{
    font-size:1.06rem;
    line-height:1.18;
}

h5{
    font-size:.98rem;
    line-height:1.22;
}

h6{
    font-size:.9rem;
    line-height:1.28;
    text-transform:uppercase;
    letter-spacing:.04em;
}

p, li{
    line-height:1.66;
}

p{
    margin:0 0 1rem;
}

small,
.fanime-meta,
.fanime-site-tagline{
    color:var(--fm-text-soft);
}

/* Theme-specific type roles */
.fanime-title-sm{
    font-size:1.01rem;
    font-weight:650;
    line-height:1.25;
}

.fanime-section-title,
.page .entry-content > h2,
.single-page .entry-content > h2{
    font-size:clamp(1.42rem, 2.5vw, 1.95rem);
    line-height:1.08;
    margin-bottom:.55rem;
}

.fanime-card-title,
.fanime-card h3,
.fanime-card h4{
    font-size:clamp(1.03rem, 1.6vw, 1.24rem);
    line-height:1.14;
    margin-bottom:.4rem;
}

.fanime-eyebrow,
.fanime-label{
    display:inline-block;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--fm-primary-dark);
    margin-bottom:.55rem;
}

.fanime-text-muted{
    color:var(--fm-text-soft);
}

/* Better content rhythm inside regular pages */
.page .entry-content h2,
.page .entry-content h3,
.page .entry-content h4,
.single-page .entry-content h2,
.single-page .entry-content h3,
.single-page .entry-content h4{
    margin-top:1.1rem;
}

.page .entry-content h2 + p,
.page .entry-content h3 + p,
.page .entry-content h4 + p,
.single-page .entry-content h2 + p,
.single-page .entry-content h3 + p,
.single-page .entry-content h4 + p{
    margin-top:.15rem;
}

/* Product-card typography stays compact but more refined */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-woocommerce-product-collection .wc-block-product__title{
    font-weight:650;
    letter-spacing:-0.02em;
}

/* Explicitly protect mobile menu sizing/scroll behavior */
.fanime-nav,
.fanime-nav *,
.fanime-nav a,
.fanime-nav li,
.fanime-nav .menu-item,
.fanime-nav .sub-menu a{
    text-wrap:normal !important;
    letter-spacing:normal !important;
}

.fanime-nav a{
    font-size:1rem !important;
    line-height:1.25 !important;
    font-weight:650 !important;
    margin:0 !important;
}

.fanime-nav li,
.fanime-nav .menu-item{
    margin:0 !important;
}

@media (max-width:640px){
    h1,
    .fanime-title,
    .page .entry-title,
    .single .entry-title{
        font-size:clamp(1.82rem, 7.2vw, 2.3rem);
        line-height:1.03;
    }

    h2{
        font-size:clamp(1.34rem, 5vw, 1.72rem);
    }

    h3{
        font-size:clamp(1.08rem, 4.2vw, 1.28rem);
    }

    p, li{
        line-height:1.6;
    }

    .fanime-section-title,
    .page .entry-content > h2,
    .single-page .entry-content > h2{
        font-size:clamp(1.28rem, 4.8vw, 1.58rem);
    }

    .fanime-card-title,
    .fanime-card h3,
    .fanime-card h4{
        font-size:1.04rem;
        line-height:1.14;
    }

    .fanime-nav a{
        font-size:1rem !important;
        line-height:1.22 !important;
    }
}

/* v1.4.13 text rhythm polish */
p{
    margin:0 0 .95rem;
}

.fanime-card h2 + p,
.fanime-card h3 + p,
.fanime-card h4 + p,
.page .entry-content h2 + p,
.page .entry-content h3 + p,
.single-page .entry-content h2 + p,
.single-page .entry-content h3 + p{
    margin-top:.1rem;
}

/* Page title to content spacing (strong fix) */
.fanime-page .fanime-title{
    margin-bottom: 22px !important;
}

/* Remove any weird extra spacing from content wrapper */
.fanime-page__content{
    margin-top: 0 !important;
}

/* Prevent first content element from adding its own top space */
.fanime-page__content > *:first-child{
    margin-top: 0 !important;
}

@media (max-width:640px){
    .fanime-page .fanime-title{
        margin-bottom: 18px !important;
    }

    .fanime-page__content{
        margin-top: 0 !important;
    }

    .fanime-page__content > *:first-child{
        margin-top: 0 !important;
    }

    p, li{
        line-height:1.58;
    }
}

/* v1.5.0 page title structure polish */
.fanime-page .fanime-title{
    margin-bottom: 18px !important;
}

.fanime-page > .fanime-card{
    margin-top: 0;
}

.fanime-page__content{
    margin-top: 0 !important;
}

.fanime-page__content > *:first-child{
    margin-top: 0 !important;
}

@media (max-width:640px){
    .fanime-page .fanime-title{
        margin-bottom: 14px !important;
    }
}


/* v1.5.3 premium pass - section rhythm */
.fanime-page .fanime-title{
    letter-spacing:-0.045em;
}

.fanime-page__content > h2:first-child,
.fanime-page__content > h3:first-child{
    margin-top:0;
}

.fanime-page__content > * + h2,
.fanime-page__content > * + h3{
    margin-top:1.55rem;
}

.fanime-page__content > h2 + p,
.fanime-page__content > h3 + p{
    margin-top:.18rem;
}

.fanime-page__content p + ul,
.fanime-page__content p + ol{
    margin-top:-.15rem;
}

.fanime-page__content > *:last-child{
    margin-bottom:0;
}
