/*
Theme Name: HerLifeLab
Theme URI: https://herlifelab.com/
Description: HerLifeLab brand child theme of Twenty Twenty-Five.
Author: HerLifeLab
Version: 1.0.3
Template: twentytwentyfive
Text Domain: herlifelab
*/

/* Watercolor circle decorations (background assets) */
.has-circle-red::before,
.has-circle-turquoise::before,
.has-circle-orange::before {
    content: "";
    position: absolute;
    pointer-events: none;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
    opacity: 0.9;
}

.hll-section { position: relative; overflow: hidden; }

/* Hand-drawn underline for titles (uses HLL_line.png) */
.hll-underline {
    display: inline-block;
    padding-bottom: 0.4em;
    background-image: var(--hll-line-url);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 85% 0.5em;
}

/* Section eyebrow */
.hll-eyebrow {
    font-family: "Outfit", Helvetica, Arial, sans-serif;
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
    color: var(--wp--preset--color--primary);
    text-transform: uppercase;
}

/* Hero area */
.hll-hero {
    min-height: 70vh;
    position: relative;
}
.hll-hero .wp-block-cover__inner-container { max-width: 820px; }

/* Button overrides — primary coral */
.wp-block-button__link {
    border-radius: 999px;
    padding: 0.9em 2.2em;
    font-family: "Outfit", "Zen Kaku Gothic New", Helvetica, Arial, sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
}

/* Table style for company info */
.wp-block-table.is-style-stripes table { border-collapse: collapse; }
.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
    border-bottom: 1px solid #eceae6;
    padding: 1em 0.8em;
    vertical-align: top;
}
.wp-block-table.is-style-stripes th {
    background: transparent !important;
    width: 7em;
    color: var(--wp--preset--color--primary);
    font-weight: 500;
    text-align: left;
}

/* Mobile: tighten root padding so content extends closer to edges */
@media (max-width: 600px) {
    .wp-site-blocks {
        --wp--style--root--padding-left: 1rem;
        --wp--style--root--padding-right: 1rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Mobile: prevent nested constrained groups from re-applying root padding
   (WP auto-adds `.has-global-padding :where(.has-global-padding:not(.alignfull))`
    which doubles the inset inside alignfull sections) */
@media (max-width: 600px) {
    .wp-site-blocks :where(.has-global-padding:not(.alignfull)) {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Mobile: halve hero height (desktop 78vh → mobile 40vh) */
@media (max-width: 600px) {
    .hll-hero.wp-block-cover {
        min-height: 40vh !important;
    }
}

/* Hero: push message toward lower-middle (not vertically centered) */
.hll-hero .wp-block-cover__inner-container {
    margin-top: auto;
    margin-bottom: 2.5rem;
}
@media (max-width: 600px) {
    .hll-hero .wp-block-cover__inner-container {
        margin-bottom: 1.5rem;
    }
}

/* Mobile: shrink h2 so '更年期を迎える女性たちが、' fits in one line
   (defeat inline clamp(1.75rem, 3vw, 2.4rem) on ABOUT US h2) */
@media (max-width: 600px) {
    .hll-section h2.wp-block-heading {
        font-size: 1.25rem !important;
        line-height: 1.6 !important;
    }
    /* Prevent awkward right-side gap in Japanese paragraphs */
    .hll-section p {
        line-break: strict;
        word-break: auto-phrase;
        overflow-wrap: anywhere;
    }
}

/* Mobile: tighten h2 further + Safari-safe paragraph wrap */
@media (max-width: 600px) {
    /* Smaller h2 so manual <br> breaks don't get re-wrapped */
    .hll-section h2.wp-block-heading {
        font-size: 1.15rem !important;
        line-height: 1.9 !important;
        letter-spacing: 0.08em !important;
    }
    /* Right-end justification works in Safari (auto-phrase doesn't yet).
       break-all lets long English tokens like 'HerLifeLab' split to fill the line */
    .hll-section p {
        text-align: justify;
        text-justify: inter-character;
        word-break: break-all;
    }
}
