/* PyLoHerb — About Us (/about-us) extras on top of brand-system.css */

.pyloherb-about {
    /* clip prevents horizontal overflow without creating a nested vertical scroller */
    overflow-x: clip;
    max-width: 100%;
    /* Matches Home: fluid 16–20px on tablet/desktop; mobile is 22px. */
    --pyloherb-about-section-space: var(--pylo-space-sm, clamp(16px, 1.2vw, 20px));
}

.pyloherb-about * {
    max-width: 100%;
}

.pyloherb-about img,
.pyloherb-about figure,
.pyloherb-about iframe,
.pyloherb-about table {
    max-width: 100% !important;
    height: auto;
}

.pyloherb-about table {
    display: block;
    width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pyloherb-about__richtext {
    word-break: break-word;
    overflow-wrap: break-word;
    font-size: var(--pylo-section-desc-size, 15px);
    line-height: var(--pylo-section-desc-lh, 1.7);
    color: var(--section-desc-color, var(--bs-muted));
    text-align: left;
}

.pyloherb-about__richtext p {
    margin: 0 0 var(--pylo-section-desc-gap, 1em);
    font-size: inherit;
    line-height: inherit;
    text-align: inherit;
}

.pyloherb-about__richtext p:last-child,
.pyloherb-about__richtext > *:last-child {
    margin-bottom: 0 !important;
}

.pyloherb-about blockquote,
.pyloherb-about .blockquote {
    margin-top: 0;
    margin-bottom: var(--pylo-section-desc-gap, 1em);
}

.pyloherb-about blockquote:last-child,
.pyloherb-about .blockquote:last-child {
    margin-bottom: 0 !important;
}

/* Summernote may create nested blockquotes for ordinary page copy.
   Flatten their horizontal box so Mission/Vision content uses the full column. */
.pyloherb-about__richtext blockquote,
.pyloherb-about__richtext .blockquote,
.pyloherb-about__standardization-content blockquote,
.pyloherb-about__standardization-content .blockquote {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    border: 0 !important;
}

/* Hide empty blockquotes and empty paragraphs authored in rich text editor */
.pyloherb-about blockquote:empty,
.pyloherb-about .blockquote:empty,
.pyloherb-about blockquote:blank,
.pyloherb-about .blockquote:blank,
.pyloherb-about p:empty,
.pyloherb-about section:empty,
.pyloherb-about .pyloherb-about-section:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

.pyloherb-about__production {
    padding: var(--pylo-space-lg, clamp(24px, 2vw, 32px)) 0;
}

.pyloherb-about__production-intro {
    max-width: 820px;
    margin: 0 auto var(--pylo-space-md, 24px);
    text-align: center;
}

.pyloherb-about__production-intro h2 {
    margin: 0 0 var(--pylo-space-xs, 16px);
    font-family: var(--bs-serif);
    font-size: var(--pylo-fs-h2, clamp(1.45rem, 2.8vw, 1.85rem));
    font-weight: 600;
    font-style: normal;
    line-height: 1.3;
    letter-spacing: normal;
    text-transform: none;
    color: var(--section-title-color, var(--bs-green));
}

.pyloherb-about__richtext,
.pyloherb-about__production-intro p {
    font-style: normal;
}

.pyloherb-about__richtext em,
.pyloherb-about__richtext i {
    font-style: italic;
}

.pyloherb-about__production-intro p {
    margin: 0;
    font-size: var(--pylo-section-desc-size, 15px);
    line-height: var(--pylo-section-desc-lh, 1.7);
    color: var(--section-desc-color, var(--bs-muted));
    text-align: center;
}

/* Left mô tả (Câu chuyện / Vision / Mission): desktop justify */
@media (min-width: 768px) {
    .pyloherb-about__richtext,
    .pyloherb-about__richtext p,
    .pyloherb-about__story .pyloherb-bs__split-text p,
    .pyloherb-about__vision .pyloherb-bs__split-text p,
    .pyloherb-about__mission .pyloherb-bs__split-text p {
        text-align: justify;
        text-justify: inter-word;
    }
}

.pyloherb-about__production-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .pyloherb-about__production-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}

.pyloherb-about__production-item {
    margin: 0;
    overflow: hidden;
    background: transparent;
    border-radius: 8px;
    aspect-ratio: 4 / 3;
}

.pyloherb-about__production-item img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
}

@media (min-width: 992px) {
    .pyloherb-about__vision .pyloherb-bs__split-media img,
    .pyloherb-about__mission .pyloherb-bs__split-media img {
        min-height: 420px;
        object-fit: contain;
    }
}

/* ── All About Us Sections: unified vertical rhythm ── */
.pyloherb-about section,
.pyloherb-about .pyloherb-about-section,
.pyloherb-about .pyloherb-bs__about,
.pyloherb-about .pyloherb-about__story,
.pyloherb-about .pyloherb-about__vision,
.pyloherb-about .pyloherb-about__mission,
.pyloherb-about .pyloherb-about__production,
.pyloherb-about .pyloherb-about__standardization {
    padding-top: var(--pyloherb-about-section-space) !important;
    padding-bottom: var(--pyloherb-about-section-space) !important;
}

@media (max-width: 767.98px) {
    /* Avoid scroll jank on mobile devices: About sections are visible immediately
       instead of animating every block into view. */
    .pyloherb-about .fade-up,
    .pyloherb-about .fade-up.show {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .pyloherb-about {
        --pyloherb-about-section-space: 22px;
    }
}

.pyloherb-about__standardization-intro {
    width: 100%;
    margin-bottom: 16px;
}

.pyloherb-about .pyloherb-about__standardization-intro:last-child,
.pyloherb-about .pyloherb-about__standardization-intro--no-media,
.pyloherb-about__standardization-intro:last-child,
.pyloherb-about__standardization-intro--no-media {
    margin-bottom: 0 !important;
}

.pyloherb-about__standardization-title {
    font-family: var(--bs-serif);
    font-size: var(--pylo-fs-h2, clamp(1.35rem, 2.2vw, 1.75rem));
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 12px;
    color: var(--section-title-color, #9d4915);
}

.pyloherb-about__standardization-content {
    font-size: var(--pylo-section-desc-size, 15px);
    line-height: var(--pylo-section-desc-lh, 1.65);
    color: var(--section-desc-color, #333333);
}

.pyloherb-about__standardization-content p {
    margin-bottom: 10px;
}

.pyloherb-about__standardization-content p:last-child,
.pyloherb-about__standardization-content > *:last-child {
    margin-bottom: 0 !important;
}

@media (min-width: 768px) {
    .pyloherb-about__standardization-content p {
        text-align: justify;
        text-justify: inter-word;
    }
}

.pyloherb-about__standardization-figure {
    margin: 14px 0 0 0;
    width: 100%;
}

.pyloherb-about__standardization-media {
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
}

.pyloherb-about__standardization-media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.pyloherb-about__standardization-caption {
    font-size: 13.5px;
    font-style: italic;
    color: #666666;
    text-align: center;
    margin-top: 8px;
}

/* ── Mobile typography: normalize content authored in the visual editor ── */
@media (max-width: 767.98px) {
    .pyloherb-about__production-intro h2 {
        font-size: clamp(1.15rem, 4.5vw, 1.35rem) !important;
        margin-bottom: 8px !important;
    }

    .pyloherb-about__production-intro p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .pyloherb-about .pyloherb-about__standardization-intro,
    .pyloherb-about__standardization-intro {
        margin-bottom: 14px !important;
    }

    /* Tiêu đề Section Item trên mobile */
    .pyloherb-about .pyloherb-about__standardization-title,
    .pyloherb-about__standardization-title {
        font-size: clamp(1.125rem, 4.5vw, 1.3rem) !important;
        line-height: 1.35 !important;
        margin-bottom: 8px !important;
    }

    /* Nội dung Section Item trên mobile */
    .pyloherb-about .pyloherb-about__standardization-content,
    .pyloherb-about__standardization-content {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .pyloherb-about__standardization-content,
    .pyloherb-about__standardization-content p,
    .pyloherb-about__standardization-content h4,
    .pyloherb-about__standardization-content h5,
    .pyloherb-about__standardization-content h6 {
        text-align: left !important;
    }

    .pyloherb-about__standardization-content p,
    .pyloherb-about__standardization-content span,
    .pyloherb-about__standardization-content li,
    .pyloherb-about__standardization-content div:not(.pyloherb-about__standardization-media),
    .pyloherb-about__standardization-content font {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    /* Ghi đè font-size inline từ trình soạn thảo trên mobile */
    .pyloherb-about__standardization-content [style*="font-size"] {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    /* Ghi đè width inline cố định từ desktop trên mobile */
    .pyloherb-about__standardization-content [style*="width"] {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Blockquote trên mobile */
    .pyloherb-about__standardization-content blockquote,
    .pyloherb-about__standardization-content .blockquote {
        font-size: 14px !important;
        line-height: 1.6 !important;
        padding: 0 !important;
        margin: 0 0 8px 0 !important;
        border: 0 !important;
        width: 100% !important;
    }

    /* Tiêu đề phụ (h1-h6) trong nội dung trên mobile */
    .pyloherb-about__standardization-content h1,
    .pyloherb-about__standardization-content h2 {
        font-size: 17px !important;
        line-height: 1.35 !important;
        margin-top: 12px !important;
        margin-bottom: 6px !important;
    }

    .pyloherb-about__standardization-content h3 {
        font-size: 16px !important;
        line-height: 1.35 !important;
        margin-top: 10px !important;
        margin-bottom: 6px !important;
    }

    .pyloherb-about__standardization-content h4 {
        font-size: 15px !important;
        line-height: 1.4 !important;
        margin-top: 10px !important;
        margin-bottom: 4px !important;
    }

    .pyloherb-about__standardization-content h5 {
        font-size: 14.5px !important;
        line-height: 1.4 !important;
        margin-top: 8px !important;
        margin-bottom: 4px !important;
    }

    .pyloherb-about__standardization-content h6 {
        font-size: 14px !important;
        line-height: 1.6 !important;
        font-weight: 400 !important;
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    .pyloherb-about__standardization-content h1 [style*="font-size"],
    .pyloherb-about__standardization-content h2 [style*="font-size"] {
        font-size: 17px !important;
    }

    .pyloherb-about__standardization-content h3 [style*="font-size"] {
        font-size: 16px !important;
    }

    .pyloherb-about__standardization-content h4 [style*="font-size"] {
        font-size: 15px !important;
    }

    .pyloherb-about__standardization-content h5 [style*="font-size"] {
        font-size: 14.5px !important;
    }

    .pyloherb-about__standardization-content h6 [style*="font-size"] {
        font-size: 14px !important;
    }

    /* Caption ảnh trên mobile */
    .pyloherb-about .pyloherb-about__standardization-caption,
    .pyloherb-about__standardization-caption {
        font-size: 12px !important;
        line-height: 1.45 !important;
        margin-top: 6px !important;
    }

    .pyloherb-about .pyloherb-about__standardization-figure,
    .pyloherb-about__standardization-figure {
        margin-top: 10px !important;
    }
}

/* Màn hình mobile rất nhỏ (max-width: 479.98px) */
@media (max-width: 479.98px) {
    .pyloherb-about .pyloherb-about__standardization-title,
    .pyloherb-about__standardization-title {
        font-size: 1.15rem !important;
    }

    .pyloherb-about .pyloherb-about__standardization-content,
    .pyloherb-about__standardization-content,
    .pyloherb-about__standardization-content p,
    .pyloherb-about__standardization-content span,
    .pyloherb-about__standardization-content li,
    .pyloherb-about__standardization-content div:not(.pyloherb-about__standardization-media),
    .pyloherb-about__standardization-content font,
    .pyloherb-about__standardization-content blockquote,
    .pyloherb-about__standardization-content .blockquote,
    .pyloherb-about__standardization-content [style*="font-size"] {
        font-size: 13.5px !important;
        line-height: 1.58 !important;
    }

    .pyloherb-about__standardization-content h4,
    .pyloherb-about__standardization-content h4 [style*="font-size"] {
        font-size: 14.5px !important;
    }

    .pyloherb-about__standardization-content h5,
    .pyloherb-about__standardization-content h5 [style*="font-size"] {
        font-size: 14px !important;
    }

    .pyloherb-about__standardization-content h6,
    .pyloherb-about__standardization-content h6 [style*="font-size"] {
        font-size: 13.5px !important;
    }
}

