/*
Theme Name: Flatsome Child New
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.1.44
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* phadin-scroll-runtime-20260814:start */
@media screen and (min-width: 850px) {
    html body #header.header.phadin-css-sticky {
        position: sticky;
        top: 0;
        z-index: 1001;
    }

    html body.admin-bar #header.header.phadin-css-sticky {
        top: 32px;
    }

    html body #header.header.phadin-css-sticky > .header-wrapper {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        transform: none;
    }
}

.phadin-back-to-top {
    right: 20px;
    bottom: 20px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(30%);
}

.phadin-back-to-top.left {
    right: unset;
    left: 20px;
}

.phadin-back-to-top.active {
    opacity: 1;
    pointer-events: inherit;
    transform: translateY(0);
}

.phadin-scroll-threshold-sentinel {
    position: absolute;
    top: calc(100vh - 1px);
    left: 0;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
/* phadin-scroll-runtime-20260814:end */


@media only screen and (max-width: 48em) {
    /*************** ADD MOBILE ONLY CSS HERE  ***************/


    }

/*
 * Product information + specification sidebar.
 * Restores the child theme's original 8/4 product-footer layout while keeping
 * a single visible specification table and a safe one-column mobile fallback.
 */
html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) {
    align-items: flex-start;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-8 > .product-item-box {
    position: relative;
    top: auto;
    min-width: 0;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 > .product-item-box {
    overflow: hidden;
    padding: 0;
    border: 1px solid #d9e8e0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(12, 66, 48, .10);
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .label-title-box {
    margin: 0 !important;
    padding: 18px 20px !important;
    background: linear-gradient(135deg, #015f43 0%, #01774e 100%);
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .label-content-box {
    padding: 0;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table tr {
    background: #fff;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table td {
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid #e4ece8;
    color: #253c34;
    font-size: 15px;
    line-height: 1.5;
    vertical-align: top;
    overflow-wrap: anywhere;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table tr:last-child td {
    border-bottom: 0;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table .title_charactestic {
    width: 42%;
    border-right: 1px solid #e4ece8;
    background: #f0f6f3;
    color: #174d3b;
    font-weight: 700;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table tr:nth-child(even) .title_charactestic {
    background: #e8f2ed;
}

html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table tr:nth-child(even) .content_charactestic {
    background: #fbfdfc;
}

/* Hide only the structured in-description table when canonical attributes
 * are available in the adjacent specification column. */
html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-8 #content2 > div > div:has(> h2 + div > table) {
    display: none !important;
}

@media (min-width: 850px) {
    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-8 {
        display: block !important;
        flex: 0 0 66.666667% !important;
        max-width: 66.666667% !important;
    }

    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 {
        display: block !important;
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }

    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 > .product-item-box {
        position: sticky;
        top: 105px;
    }
}

@media (max-width: 849px) {
    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-8,
    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 {
        display: block !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 > .product-item-box {
        position: relative;
        top: auto;
        margin-top: 16px;
        border-radius: 14px;
    }

    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .label-title-box {
        padding: 15px 16px !important;
        font-size: 18px !important;
    }

    html body.single-product .product-footer > .container > .row.content-row.mb-3:has(> .col.large-4 .charactestic_table) > .col.large-4 .charactestic_table td {
        padding: 11px 12px;
        font-size: 15px;
    }
}

/*
 * Phadin sitewide typography system — 2026-07-27.
 *
 * The reference is the live category hero at /cua-hang/may-xay-ca-phe/:
 * 42px H1, 34px H2, 19px card H3, 16px prose, 15px actions and 14px
 * supporting text on large screens. Tablet/mobile values below are the
 * measured responsive values from the same page.
 *
 * Keep every adjustable size here. Do not set html font-size and do not use a
 * universal selector: Flatsome icons and third-party widgets retain their own
 * metrics.
 */
:root {
    --ph-font-body: 16px;
    --ph-font-lead: 16px;
    --ph-font-h1: clamp(38px, 3.2vw, 42px);
    --ph-font-h2: clamp(30px, 2.6vw, 34px);
    --ph-font-h3: 19px;
    --ph-font-h4: 18px;
    --ph-font-h5: 17px;
    --ph-font-h6: 16px;
    --ph-font-table: 16px;
    --ph-font-table-heading: 16px;
    --ph-font-button: 15px;
    --ph-font-menu: 16px;
    --ph-font-breadcrumb: 15px;
    --ph-font-label: 13px;
    --ph-font-small: 14px;
    --ph-font-product-title: 16px;
    --ph-font-product-price: 18px;
    --ph-font-product-h1: 32px;
    --ph-font-price: 24px;
    --ph-font-component-title: 21px;
    --ph-color-product-title: #1a1a1a;
    --ph-color-product-price: #ff6000;
    --ph-line-body: 1.62;
    --ph-line-lead: 1.62;
    --ph-line-h1: 1.15;
    --ph-line-heading: 1.25;
    --ph-line-h3: 1.35;
    --ph-line-table: 1.55;
    --ph-line-button: 1.2;
    --ph-weight-body: 400;
    --ph-weight-heading: 700;
    --ph-weight-subheading: 700;
    --ph-weight-control: 700;
    --ph-weight-label: 700;
    --ph-weight-product: 700;
    --ph-weight-price: 700;
}

@media (min-width: 768px) and (max-width: 1199px) {
    :root {
        --ph-font-h1: 38px;
        --ph-font-h2: 30px;
        --ph-font-h3: 19px;
        --ph-font-h4: 18px;
        --ph-font-product-h1: 30px;
        --ph-font-component-title: 21px;
        --ph-font-price: 22px;
    }
}

@media (max-width: 767px) {
    :root {
        --ph-font-body: 16px;
        --ph-font-lead: 16px;
        --ph-font-h1: 30px;
        --ph-font-h2: 25px;
        --ph-font-h3: 19px;
        --ph-font-h4: 18px;
        --ph-font-h5: 17px;
        --ph-font-h6: 16px;
        --ph-font-table: 16px;
        --ph-font-table-heading: 16px;
        --ph-font-button: 15px;
        --ph-font-menu: 16px;
        --ph-font-breadcrumb: 15px;
        --ph-font-label: 13px;
        --ph-font-small: 14px;
        --ph-font-product-h1: 28px;
        --ph-font-component-title: 21px;
        --ph-font-price: 22px;
    }
}

body {
    font-size: var(--ph-font-body);
    font-weight: var(--ph-weight-body);
    line-height: var(--ph-line-body);
}

/* Regular UX Builder, page, post, category and product prose. */
body .page-wrapper .text > p,
body .page-wrapper .text > ul li,
body .page-wrapper .text > ol li,
body .entry-content p,
body .entry-content li,
body .term-description p,
body .term-description li,
body .woocommerce-Tabs-panel p,
body .woocommerce-Tabs-panel li,
body .product-short-description,
body .product-short-description p,
body .product-short-description li,
body .product-footer #content2 p,
body .product-footer #content2 li,
body .article-inner p,
body .article-inner li,
body .accordion-inner p,
body .accordion-inner li,
body.tax-product_cat .phadin-subcat-guide p,
body.tax-product_cat .phadin-subcat-guide li,
body.tax-product_cat .phadin-subcat-consult p,
body.tax-product_cat .phadin-subcat-consult li {
    font-size: var(--ph-font-body);
    font-weight: var(--ph-weight-body);
    line-height: var(--ph-line-body);
}

body .entry-content p,
body .term-description p,
body .woocommerce-Tabs-panel p,
body .product-short-description p,
body .product-footer #content2 p,
body .article-inner p,
body.tax-product_cat .phadin-subcat-guide p,
body.tax-product_cat .phadin-subcat-consult p {
    margin-bottom: 14px;
}

body .lead,
body .is-large > p,
body .phadin-lead {
    font-size: var(--ph-font-lead);
    line-height: var(--ph-line-lead);
}

/* Semantic heading scale for editorial content; banner/statistic classes stay independent. */
body .page-wrapper .text > h1,
body .entry-content h1,
body .article-inner h1.entry-title,
body h1.shop-page-title {
    font-size: var(--ph-font-h1);
    font-weight: var(--ph-weight-heading);
    line-height: var(--ph-line-h1);
}

body .page-wrapper .text > h2,
body .entry-content h2,
body .term-description h2,
body .woocommerce-Tabs-panel h2,
body .product-footer #content2 h2,
body .article-inner h2,
body.tax-product_cat .phadin-subcat-guide h2,
body.tax-product_cat .phadin-subcat-consult h2 {
    font-size: var(--ph-font-h2);
    font-weight: var(--ph-weight-heading);
    line-height: var(--ph-line-heading);
}

body .page-wrapper .text > h3,
body .entry-content h3,
body .term-description h3,
body .woocommerce-Tabs-panel h3,
body .product-footer #content2 h3,
body .article-inner h3,
body.tax-product_cat .phadin-subcat-guide h3,
body.tax-product_cat .phadin-subcat-consult h3 {
    font-size: var(--ph-font-h3);
    font-weight: var(--ph-weight-subheading);
    line-height: var(--ph-line-h3);
}

body .page-wrapper .text > h4,
body .entry-content h4,
body .term-description h4,
body .woocommerce-Tabs-panel h4,
body .product-footer #content2 h4,
body .article-inner h4 {
    font-size: var(--ph-font-h4);
    font-weight: var(--ph-weight-control);
    line-height: 1.4;
}

body .page-wrapper .text > h5,
body .entry-content h5,
body .term-description h5,
body .article-inner h5 {
    font-size: var(--ph-font-h5);
    font-weight: var(--ph-weight-control);
    line-height: 1.4;
}

body .page-wrapper .text > h6,
body .entry-content h6,
body .term-description h6,
body .article-inner h6 {
    font-size: var(--ph-font-h6);
    font-weight: var(--ph-weight-control);
    line-height: 1.45;
}

body .entry-content :is(h2, h3, h4, h5, h6),
body .term-description :is(h2, h3, h4, h5, h6),
body .woocommerce-Tabs-panel :is(h2, h3, h4, h5, h6),
body .product-footer #content2 :is(h2, h3, h4, h5, h6),
body .article-inner :is(h2, h3, h4, h5, h6) {
    margin-top: 1.35em;
    margin-bottom: .55em;
}

/* Tables keep a readable floor; long tables scroll instead of shrinking text. */
body .entry-content table,
body .term-description table,
body .woocommerce-Tabs-panel table,
body .product-footer table,
body.tax-product_cat .phadin-subcat-guide table {
    font-size: var(--ph-font-table);
    line-height: var(--ph-line-table);
}

body .entry-content table :is(th, td),
body .term-description table :is(th, td),
body .woocommerce-Tabs-panel table :is(th, td),
body .product-footer table :is(th, td),
body.tax-product_cat .phadin-subcat-guide table :is(th, td) {
    min-width: 0;
    padding: 12px 14px;
    font-size: var(--ph-font-table);
    line-height: var(--ph-line-table);
    height: auto;
    overflow-wrap: anywhere;
    white-space: normal;
}

body .entry-content table th,
body .term-description table th,
body .woocommerce-Tabs-panel table th,
body .product-footer table th,
body.tax-product_cat .phadin-subcat-guide table th {
    font-size: var(--ph-font-table-heading);
    font-weight: var(--ph-weight-control);
}

/* Forms and actions. */
body .button,
body button,
body input[type="button"],
body input[type="reset"],
body input[type="submit"] {
    font-size: var(--ph-font-button);
    font-weight: var(--ph-weight-control);
    line-height: var(--ph-line-button);
}

body label,
body .form-row label,
body .wpcf7-form label {
    font-size: var(--ph-font-button);
    font-weight: var(--ph-weight-control);
    line-height: 1.4;
}

body input[type="email"],
body input[type="number"],
body input[type="password"],
body input[type="search"],
body input[type="tel"],
body input[type="text"],
body input[type="url"],
body select,
body textarea {
    font-size: var(--ph-font-body);
    font-weight: var(--ph-weight-body);
    line-height: 1.4;
}

/* Header, mobile menu and mega-menu. */
#header .nav > li > a,
.off-canvas .nav > li > a,
.mobile-sidebar .nav > li > a {
    font-size: var(--ph-font-menu);
    font-weight: var(--ph-weight-control);
    line-height: var(--ph-line-button);
}

/* Small uppercase labels follow the reference hero's 13px/700 treatment. */
body .eyebrow,
body .phadin-eyebrow,
body .phadin-category-eyebrow,
body .phadin-section-kicker,
body .phadin-quick-kicker,
body .phadin-consult-eyebrow,
body .phadin-guide-eyebrow,
body .ph-cat-eyebrow {
    font-size: var(--ph-font-label);
    font-weight: var(--ph-weight-label);
    line-height: 1.35;
}

.pmm-mega-panel {
    --pmm-mega-font-size: var(--ph-font-menu);
}

.pmm-mega-panel__column-title {
    font-size: var(--ph-font-h6);
}

.pmm-mega-panel__column-desc,
.pmm-mega-panel__link small {
    font-size: var(--ph-font-small);
    line-height: 1.45;
}

/* Product-card sizing is owned by the shared component stylesheet. */
body .post-item .post-title {
    font-size: var(--ph-font-product-title) !important;
    font-weight: var(--ph-weight-product) !important;
    line-height: 1.4 !important;
    text-transform: none !important;
}

/* WooCommerce product-name and price colour roles. A later generic `a, .plain`
 * rule makes product links green. These narrow overrides keep names neutral and
 * identify both a numeric price and the “Liên hệ” price label in the same orange. */
html body .product-small :is(.name, .product-title, .woocommerce-loop-product__title),
html body .product-small :is(.name, .product-title, .woocommerce-loop-product__title) a,
html body .phadin-product-card__title,
html body .phadin-product-card__title a,
html body.single-product :is(.product-title, .product-info h1, .phadin-commerce-product-title),
html body :is(.woocommerce-cart-form, .woocommerce-mini-cart, .woocommerce-checkout-review-order-table) .product-name,
html body :is(.woocommerce-cart-form, .woocommerce-mini-cart, .woocommerce-checkout-review-order-table) .product-name a {
    color: var(--ph-color-product-title) !important;
    text-transform: none !important;
}

html body .product-small .price .amount,
html body .product-small .price > a,
html body .product-small .price .link-anchor,
html body.single-product .price .link-anchor,
html body.single-product .price > a[href*="#contact"] {
    color: var(--ph-color-product-price) !important;
}

/* Native product archives load later and use #main plus !important. Keep their
 * direct-rendered cards on the same black-title/orange-price roles. */
html body.phadin-native-product-archive #main .products .phadin-product-card .phadin-product-card__title,
html body.phadin-native-product-archive #main .products .phadin-product-card .phadin-product-card__title a {
    color: var(--ph-color-product-title) !important;
    text-transform: none !important;
}

html body.phadin-native-product-archive #main .products .phadin-product-card .phadin-product-card__price,
html body.phadin-native-product-archive #main .products .phadin-product-card .phadin-product-card__price :is(.price, .amount, .link-anchor, a) {
    color: var(--ph-color-product-price) !important;
}

/* Single-product CSS currently contains later legacy !important rules.
 * These selectors are intentionally scoped and one level more specific so the
 * central tokens, rather than page-level literals, own product typography. */
html body.single-product .product-title,
html body.single-product h1.product-title,
html body.single-product .product-info h1,
html body.single-product .phadin-commerce-product-title {
    font-size: var(--ph-font-product-h1) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-heading) !important;
}

html body.single-product .product-short-description,
html body.single-product .product-short-description p,
html body.single-product .product-short-description li,
html body.single-product .entry-content p,
html body.single-product .entry-content li,
html body.single-product .woocommerce-Tabs-panel p,
html body.single-product .woocommerce-Tabs-panel li,
html body.single-product .product-footer #content2 p,
html body.single-product .product-footer #content2 li,
html body.single-product .phadin-product-overview,
html body.single-product .phadin-product-overview p {
    font-size: var(--ph-font-body) !important;
    font-weight: var(--ph-weight-body) !important;
    line-height: var(--ph-line-body) !important;
}

html body.single-product .entry-content h2,
html body.single-product .woocommerce-Tabs-panel h2,
html body.single-product .product-footer #content2 h2,
html body.single-product .phadin-product-overview h2 {
    font-size: var(--ph-font-h2) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-heading) !important;
}

html body.single-product .entry-content h3,
html body.single-product .entry-content h4,
html body.single-product .woocommerce-Tabs-panel h3,
html body.single-product .woocommerce-Tabs-panel h4,
html body.single-product .product-footer #content2 h3,
html body.single-product .product-footer #content2 h4,
html body.single-product .phadin-product-overview h3 {
    font-size: var(--ph-font-h3) !important;
    font-weight: var(--ph-weight-subheading) !important;
    line-height: var(--ph-line-h3) !important;
}

html body.single-product .phadin-section-title,
html body.single-product .phadin-commerce-policy-title,
html body.single-product .phadin-quick-consult-title,
html body.single-product .phadin-product-commitment-title,
html body.single-product .phadin-bundle-title,
html body.single-product .phadin-product-commitments__title {
    font-size: var(--ph-font-component-title) !important;
    font-weight: var(--ph-weight-subheading) !important;
    line-height: var(--ph-line-h3) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html body.single-product .price,
html body.single-product .product-info .price,
html body.single-product .phadin-commerce-price-current,
html body.single-product .phadin-commerce-price-row .amount,
html body.single-product .phadin-commerce-price-row ins,
html body.single-product .phadin-commerce-contact-price {
    font-size: var(--ph-font-price) !important;
    font-weight: var(--ph-weight-price) !important;
    line-height: 1.25 !important;
}

html body.single-product .phadin-specs,
html body.single-product .phadin-specs table,
html body.single-product .phadin-specs :is(th, td),
html body.single-product .phadin-attribute-specs-table,
html body.single-product .phadin-attribute-specs-table :is(th, td),
html body.single-product table.shop_attributes,
html body.single-product table.shop_attributes :is(th, td),
html body.single-product .charactestic_table :is(th, td) {
    font-size: var(--ph-font-table) !important;
    line-height: var(--ph-line-table) !important;
}

html body.single-product .phadin-attribute-specs-table th,
html body.single-product table.shop_attributes th,
html body.single-product .charactestic_table .title_charactestic {
    font-weight: var(--ph-weight-control) !important;
}

html body.single-product .phadin-attribute-specs-table td,
html body.single-product table.shop_attributes td,
html body.single-product .charactestic_table .content_charactestic {
    font-weight: var(--ph-weight-body) !important;
}

html body.single-product :is(.button, button, .single_add_to_cart_button, .phadin-commerce-button, .phadin-bundle-add):not(.phadin-loop-detail-action):not(.phadin-loop-cart-action) {
    font-size: var(--ph-font-button) !important;
    font-weight: var(--ph-weight-control) !important;
    line-height: var(--ph-line-button) !important;
}

html body.single-product :is(.note, .meta, .posted_in, .tagged_as, .product_meta, .phadin-commerce-meta, .phadin-commerce-policy-count, .phadin-quick-consult-subtitle, .phadin-bundle-source) {
    font-size: var(--ph-font-small) !important;
    line-height: 1.5 !important;
}

/* Bounded inline-style cleanup: only editorial text is normalized. Banner,
 * statistic, price and icon regions are intentionally not included. */
body .entry-content p[style*="font-size"],
body .entry-content li[style*="font-size"],
body .term-description p[style*="font-size"],
body .term-description li[style*="font-size"],
body .woocommerce-Tabs-panel p[style*="font-size"],
body .woocommerce-Tabs-panel li[style*="font-size"],
body .product-footer #content2 p[style*="font-size"],
body .product-footer #content2 li[style*="font-size"] {
    font-size: var(--ph-font-body) !important;
}

body .entry-content h2[style*="font-size"],
body .term-description h2[style*="font-size"],
body .woocommerce-Tabs-panel h2[style*="font-size"],
body .product-footer #content2 h2[style*="font-size"] {
    font-size: var(--ph-font-h2) !important;
}

body .entry-content :is(h3, h4)[style*="font-size"],
body .term-description :is(h3, h4)[style*="font-size"],
body .woocommerce-Tabs-panel :is(h3, h4)[style*="font-size"],
body .product-footer #content2 :is(h3, h4)[style*="font-size"] {
    font-size: var(--ph-font-h3) !important;
}

/* Footer types use the same tokens while retaining their compact hierarchy. */
.phadin-footer-v2 {
    font-size: var(--ph-font-button);
    line-height: 1.56;
}

.phadin-footer-v2__cta-title {
    font-size: var(--ph-font-h2);
    line-height: var(--ph-line-heading);
}

.phadin-footer-v2__cta-text,
.phadin-footer-v2__intro,
.phadin-footer-v2__contact-line,
.phadin-footer-v2__menu {
    font-size: var(--ph-font-button);
}

.phadin-footer-v2__heading,
.phadin-footer-v2__section-title {
    font-size: var(--ph-font-h6);
}

.phadin-footer-v2__button {
    font-size: var(--ph-font-button);
    line-height: var(--ph-line-button);
}

.woocommerce-breadcrumb,
.breadcrumbs {
    font-size: var(--ph-font-breadcrumb);
    line-height: 1.45;
}

.woocommerce-result-count,
.woocommerce-pagination,
.is-small,
small {
    font-size: var(--ph-font-small);
    line-height: 1.5;
}

@media (max-width: 767px) {
    body .entry-content table,
    body .term-description table,
    body .woocommerce-Tabs-panel table,
    body .product-footer table,
    body.tax-product_cat .phadin-subcat-guide table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .phadin-footer-v2__cta-title {
        font-size: var(--ph-font-h3);
    }
}

/* =========================================================
   BỘ LỌC SẢN PHẨM PHADIN
   Phạm vi được giới hạn trong .phadin-product-filter
   Không ảnh hưởng phần còn lại của website
========================================================= */

.phadin-product-filter {
    --phadin-green: #08784f;
    --phadin-green-dark: #075f40;
    --phadin-green-soft: #f1f8f5;
    --phadin-orange: #f35a00;
    --phadin-text: #202722;
    --phadin-text-secondary: #525b55;
    --phadin-text-muted: #737c76;
    --phadin-border: #e2e7e3;
    --phadin-border-strong: #d2d9d4;
    --phadin-background: #ffffff;
    --phadin-background-soft: #f7f9f7;

    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: var(--phadin-background);
    border: 1px solid var(--phadin-border);
    border-radius: 2px;
    box-shadow: none;
    box-sizing: border-box;
    font-family: inherit;
    color: var(--phadin-text);
    opacity: 1;
    visibility: visible;
    -webkit-text-fill-color: currentColor;
}

.phadin-product-filter .phadin-filter-heading {
    display: flex;
    align-items: center;
    min-height: 62px;
    margin: 0;
    padding: 15px 18px;
    color: #126a4a;
    background: var(--phadin-background);
    font-size: 21px;
    font-weight: 700 !important;
    line-height: 1.35;
    letter-spacing: -0.2px;
    border-bottom: 1px solid var(--phadin-border);
    box-sizing: border-box;
    opacity: 1;
    visibility: visible;
    -webkit-text-fill-color: #126a4a;
}

.phadin-product-filter .phadin-filter-group {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: var(--phadin-background);
    border: 0;
    border-bottom: 1px solid var(--phadin-border);
    box-sizing: border-box;
}

.phadin-product-filter .phadin-filter-group:last-child {
    border-bottom: 0;
}

.phadin-product-filter .phadin-filter-group > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    column-gap: 12px;
    align-items: center;
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 14px 18px;
    color: var(--phadin-text);
    background: var(--phadin-background);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    box-sizing: border-box;
    list-style: none;
    user-select: none;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    -webkit-text-fill-color: var(--phadin-text);
    transition:
        background-color 160ms ease,
        color 160ms ease;
}

.phadin-product-filter .phadin-filter-group > summary::-webkit-details-marker {
    display: none;
}

.phadin-product-filter .phadin-filter-group > summary::marker {
    display: none;
    content: "";
}

.phadin-product-filter .phadin-filter-label {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: var(--phadin-text);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: normal;
    overflow-wrap: break-word;
    opacity: 1;
    visibility: visible;
    -webkit-text-fill-color: var(--phadin-text);
}

.phadin-product-filter .phadin-filter-group > summary::after {
    content: "+";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--phadin-text);
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
    opacity: 1;
    visibility: visible;
    transition:
        color 160ms ease,
        transform 160ms ease;
}

.phadin-product-filter .phadin-filter-group[open] > summary::after {
    content: "−";
    color: var(--phadin-green);
}

.phadin-product-filter .phadin-filter-group[open] > summary {
    color: var(--phadin-green-dark);
    background: var(--phadin-green-soft);
}

.phadin-product-filter .phadin-filter-group[open] > summary .phadin-filter-label {
    color: var(--phadin-green-dark);
    -webkit-text-fill-color: var(--phadin-green-dark);
}

.phadin-product-filter .phadin-filter-group > summary:hover {
    color: var(--phadin-green-dark);
    background: var(--phadin-background-soft);
}

.phadin-product-filter .phadin-filter-group > summary:hover .phadin-filter-label {
    color: var(--phadin-green-dark);
    -webkit-text-fill-color: var(--phadin-green-dark);
}

.phadin-product-filter .phadin-filter-group > summary:hover::after {
    color: var(--phadin-green);
}

.phadin-product-filter .phadin-filter-group > summary:focus {
    outline: none;
}

.phadin-product-filter .phadin-filter-group > summary:focus-visible {
    outline: 2px solid var(--phadin-green);
    outline-offset: -2px;
}

.phadin-product-filter .phadin-filter-content {
    display: block;
    width: 100%;
    padding: 6px 18px 18px;
    color: var(--phadin-text-secondary);
    background: var(--phadin-background);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    box-sizing: border-box;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    -webkit-text-fill-color: var(--phadin-text-secondary);
}

.phadin-product-filter .phadin-filter-option {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    width: 100%;
    min-height: 28px;
    margin: 0 0 10px;
    padding: 2px 0;
    color: var(--phadin-text-secondary);
    cursor: pointer;
    box-sizing: border-box;
}

.phadin-product-filter .phadin-filter-option:last-child {
    margin-bottom: 0;
}

.phadin-product-filter .phadin-filter-option-label {
    display: block;
    min-width: 0;
    color: var(--phadin-text-secondary);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: break-word;
    opacity: 1;
    visibility: visible;
    -webkit-text-fill-color: var(--phadin-text-secondary);
}

.phadin-product-filter .phadin-filter-option:hover .phadin-filter-option-label {
    color: var(--phadin-green-dark);
    -webkit-text-fill-color: var(--phadin-green-dark);
}

.phadin-product-filter input[type="checkbox"],
.phadin-product-filter input[type="radio"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 2px 0 0;
    accent-color: var(--phadin-green);
    cursor: pointer;
}

.phadin-product-filter input[type="checkbox"]:focus-visible,
.phadin-product-filter input[type="radio"]:focus-visible {
    outline: 2px solid rgba(8, 120, 79, 0.3);
    outline-offset: 2px;
}

.phadin-product-filter .phadin-filter-count {
    margin-left: 5px;
    color: var(--phadin-text-muted);
    font-size: 13px;
    font-weight: 400;
}

.phadin-product-filter .phadin-filter-more {
    display: inline-flex;
    align-items: center;
    margin-top: 12px;
    padding: 0;
    color: var(--phadin-green);
    background: transparent;
    border: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
}

.phadin-product-filter .phadin-filter-more:hover {
    color: var(--phadin-green-dark);
    text-decoration: underline;
}

.phadin-product-filter .phadin-price-presets {
    display: grid;
    row-gap: 10px;
    margin: 0;
    padding: 0;
}

.phadin-product-filter .phadin-custom-price {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--phadin-border);
}

.phadin-product-filter .phadin-custom-price-title {
    display: block;
    margin: 0 0 12px;
    color: var(--phadin-text-secondary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.phadin-product-filter .phadin-price-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
    column-gap: 8px;
    align-items: end;
}

.phadin-product-filter .phadin-price-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    color: var(--phadin-text-muted);
    font-size: 16px;
}

.phadin-product-filter .phadin-price-field {
    min-width: 0;
}

.phadin-product-filter .phadin-price-field label {
    display: block;
    margin-bottom: 6px;
    color: var(--phadin-text-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
}

.phadin-product-filter .phadin-price-field input {
    display: block;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 10px;
    color: var(--phadin-text);
    background: var(--phadin-background);
    border: 1px solid var(--phadin-border-strong);
    border-radius: 6px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 44px;
    box-sizing: border-box;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    -webkit-text-fill-color: var(--phadin-text);
}

.phadin-product-filter .phadin-price-field input:focus {
    border-color: var(--phadin-green);
    outline: none;
    box-shadow: 0 0 0 3px rgba(8, 120, 79, 0.1);
}

.phadin-product-filter .phadin-active-filters:empty {
    display: none;
}

.phadin-product-filter .phadin-active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 18px 16px;
    border-bottom: 1px solid var(--phadin-border);
    background: var(--phadin-background-soft);
}

.phadin-product-filter .phadin-active-filter-title {
    flex-basis: 100%;
    margin: 0 0 2px;
    color: var(--phadin-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.phadin-product-filter .phadin-filter-active__heading {
    display: flex;
    flex-basis: 100%;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.phadin-product-filter .phadin-filter-active__heading a {
    color: var(--phadin-green);
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.phadin-product-filter .phadin-filter-active__chips {
    display: flex;
    flex-basis: 100%;
    flex-wrap: wrap;
    gap: 8px;
}

.phadin-product-filter .phadin-active-filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 5px 9px;
    color: var(--phadin-green-dark);
    background: var(--phadin-green-soft);
    border: 1px solid rgba(8, 120, 79, 0.22);
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.phadin-product-filter .phadin-active-filter-tag:hover {
    color: #ffffff;
    background: var(--phadin-green);
    border-color: var(--phadin-green);
}

.phadin-product-filter .phadin-filter-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    align-items: center;
    padding: 16px 18px;
    background: var(--phadin-background);
    border-top: 1px solid var(--phadin-border);
}

.phadin-product-filter .phadin-filter-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 10px 16px;
    color: #ffffff;
    background: var(--phadin-green);
    border: 1px solid var(--phadin-green);
    border-radius: 4px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    box-shadow: none;
    text-transform: none;
}

.phadin-product-filter .phadin-filter-apply:hover {
    color: #ffffff;
    background: var(--phadin-green-dark);
    border-color: var(--phadin-green-dark);
}

.phadin-product-filter .phadin-filter-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 6px 0;
    color: var(--phadin-text-muted);
    background: transparent;
    border: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    cursor: pointer;
    text-decoration: none;
}

.phadin-product-filter .phadin-filter-reset:hover {
    color: var(--phadin-green-dark);
    text-decoration: underline;
}

@media (min-width: 850px) {
    .phadin-product-filter .phadin-filter-actions {
        position: static;
        left: auto;
        right: auto;
        bottom: auto;
        width: auto;
        box-shadow: none;
        z-index: auto;
    }
}

@media (max-width: 849px) {
    .phadin-product-filter {
        max-width: none;
        width: 100%;
        border: 0;
        border-radius: 0;
    }

    .phadin-product-filter .phadin-filter-heading {
        min-height: 58px;
        padding: 14px 16px;
        font-size: 20px;
        line-height: 1.3;
    }

    .phadin-product-filter .phadin-filter-group > summary {
        min-height: 54px;
        padding: 13px 16px;
        font-size: 16px;
    }

    .phadin-product-filter .phadin-filter-content {
        padding: 6px 16px 18px;
    }

    .phadin-product-filter .phadin-filter-actions {
        position: sticky;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 20;
        grid-template-columns: auto minmax(0, 1fr);
        padding:
            12px
            16px
            calc(12px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, 0.98);
        border-top: 1px solid var(--phadin-border-strong);
        box-shadow: 0 -5px 16px rgba(20, 34, 26, 0.08);
    }

    .phadin-product-filter .phadin-filter-reset {
        min-width: 70px;
        padding-right: 6px;
    }

    .phadin-product-filter .phadin-filter-apply {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .phadin-product-filter .phadin-price-fields {
        grid-template-columns: minmax(0, 1fr) 10px minmax(0, 1fr);
        column-gap: 6px;
    }

    .phadin-product-filter .phadin-price-field input {
        padding: 0 8px;
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .phadin-product-filter *,
    .phadin-product-filter *::before,
    .phadin-product-filter *::after {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/*
 * Typography bridge for the scoped product filter.
 * The filter layout is maintained independently, while all of its readable
 * text and controls resolve back to the sitewide tokens above.
 */
.phadin-product-filter .phadin-filter-heading {
    font-size: 21px;
    font-weight: var(--ph-weight-control);
    line-height: 1.35;
    letter-spacing: -0.2px;
}

.phadin-product-filter .phadin-filter-group > summary,
.phadin-product-filter .phadin-filter-content,
.phadin-product-filter .phadin-filter-option-label {
    font-size: var(--ph-font-body);
    font-weight: var(--ph-weight-body);
    line-height: var(--ph-line-body);
}

.phadin-product-filter .phadin-filter-group > summary {
    font-weight: var(--ph-weight-control);
    line-height: 1.4;
}

.phadin-product-filter .phadin-filter-more,
.phadin-product-filter .phadin-custom-price-title,
.phadin-product-filter .phadin-active-filter-title,
.phadin-product-filter .phadin-filter-apply,
.phadin-product-filter .phadin-filter-reset {
    font-size: var(--ph-font-button);
    line-height: var(--ph-line-button);
}

.phadin-product-filter .phadin-price-field input {
    font-size: var(--ph-font-body);
    line-height: 44px;
}

.phadin-product-filter .phadin-filter-count,
.phadin-product-filter .phadin-price-field label,
.phadin-product-filter .phadin-filter-active__heading a,
.phadin-product-filter .phadin-active-filter-tag {
    font-size: var(--ph-font-small);
    line-height: 1.45;
}

@media (max-width: 849px) {
    .phadin-product-filter .phadin-filter-heading {
        font-size: var(--ph-font-h2);
    }

    .phadin-product-filter .phadin-filter-group > summary {
        font-size: var(--ph-font-body);
    }
}

@media (max-width: 480px) {
    .phadin-product-filter .phadin-price-field input {
        font-size: var(--ph-font-body);
    }
}

/* Legacy category UX Blocks sometimes place editorial headings and paragraphs
 * directly in .col-inner without a .text wrapper. */
body.tax-product_cat .col-inner > h2:not(.phadin-filter-heading) {
    font-size: var(--ph-font-h2);
    font-weight: var(--ph-weight-heading);
    line-height: var(--ph-line-heading);
}

body.tax-product_cat .col-inner > h3 {
    font-size: var(--ph-font-h3);
    font-weight: var(--ph-weight-subheading);
    line-height: var(--ph-line-h3);
}

body.tax-product_cat .col-inner > p,
body.tax-product_cat .col-inner > ul li,
body.tax-product_cat .col-inner > ol li {
    font-size: var(--ph-font-body);
    font-weight: var(--ph-weight-body);
    line-height: var(--ph-line-body);
}

/* WooCommerce assigns larger literals to checkout/cart actions. Keep their
 * prominence through size and color of the control, not inconsistent text. */
html body.woocommerce-cart :is(.button, button, input[type="submit"]),
html body.woocommerce-checkout :is(.button, button, input[type="submit"]),
html body.woocommerce-checkout #place_order {
    font-size: var(--ph-font-button) !important;
    font-weight: var(--ph-weight-control) !important;
    line-height: var(--ph-line-button) !important;
}

/* Cart rows inherit Flatsome's nested 90% scaling on narrow screens. Restore
 * readable product text and keep monetary values on the shared price role. */
html body.woocommerce-cart .woocommerce-cart-form .shop_table :is(.product-name, .product-name a) {
    font-size: var(--ph-font-product-title) !important;
    font-weight: var(--ph-weight-product) !important;
    line-height: 1.4 !important;
}

html body.woocommerce-cart :is(.product-price, .product-subtotal, .cart_totals) .amount {
    font-size: var(--ph-font-product-price) !important;
    font-weight: var(--ph-weight-price) !important;
    line-height: 1.25 !important;
}

html body.woocommerce-cart .cart_totals .shop_table th {
    font-size: var(--ph-font-table) !important;
    font-weight: var(--ph-weight-control) !important;
    line-height: var(--ph-line-table) !important;
}

/*
 * Scoped reconciliation for legacy/custom page CSS.
 *
 * Several UX Builder pages declare later, page-specific pixel values. These
 * selectors intentionally use !important only inside public page content so
 * headings, prose and controls resolve to the measured grinder-category scale.
 * Hero H1, statistics, prices, icons, legal notes and third-party widgets stay
 * outside this reconciliation.
 */
html body.page main h2 {
    font-size: var(--ph-font-h2) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-heading) !important;
}

html body.page main h3 {
    font-size: var(--ph-font-h3) !important;
    font-weight: var(--ph-weight-subheading) !important;
    line-height: var(--ph-line-h3) !important;
}

html body.page main h4 {
    font-size: var(--ph-font-h4) !important;
    font-weight: var(--ph-weight-control) !important;
    line-height: 1.4 !important;
}

html body.page main p:not([class*="eyebrow"]):not([class*="kicker"]):not([class*="tag"]):not([class*="index"]):not([class*="note"]):not([class*="microcopy"]):not([class*="confirmation"]):not([class*="capacity-level"]),
html body.page main ul li,
html body.page main ol li {
    font-size: var(--ph-font-body) !important;
    font-weight: var(--ph-weight-body) !important;
    line-height: var(--ph-line-body) !important;
}

html body main :is([class*="eyebrow"], [class*="kicker"]) {
    font-size: var(--ph-font-label) !important;
    font-weight: var(--ph-weight-label) !important;
    line-height: 1.35 !important;
}

html body.page main :is(.button, button, input[type="button"], input[type="reset"], input[type="submit"]):not(.phadin-loop-detail-action):not(.phadin-loop-cart-action) {
    font-size: var(--ph-font-button) !important;
    font-weight: var(--ph-weight-control) !important;
    line-height: var(--ph-line-button) !important;
}

/* Every product-category page has one primary H1, even when its custom UX
 * Block uses a different wrapper or a later literal value. */
html body.tax-product_cat main h1 {
    font-size: var(--ph-font-h1) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-h1) !important;
}

/* Flatsome renders the single-post title above <main>; keep it on the same
 * primary-heading scale as category and standard page titles. */
html body.single-post h1 {
    font-size: var(--ph-font-h1) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-h1) !important;
}

/* Product editorial content follows the same hierarchy while compact buy-box,
 * price and policy controls remain product-specific exceptions. */
html body.single-product main :is(.phadin-hero, .phadin-section, .phadin-card, .phadin-product-overview, .woocommerce-Tabs-panel, .entry-content) p,
html body.single-product main :is(.phadin-hero, .phadin-section, .phadin-card, .phadin-product-overview, .woocommerce-Tabs-panel, .entry-content) li {
    font-size: var(--ph-font-body) !important;
    font-weight: var(--ph-weight-body) !important;
    line-height: var(--ph-line-body) !important;
}

html body.single-product main :is(.phadin-hero, .phadin-section, .phadin-product-overview, .woocommerce-Tabs-panel, .entry-content) h2 {
    font-size: var(--ph-font-h2) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-heading) !important;
}

html body.single-product main :is(.phadin-section, .phadin-card, .phadin-product-overview, .woocommerce-Tabs-panel, .entry-content) h3 {
    font-size: var(--ph-font-h3) !important;
    font-weight: var(--ph-weight-subheading) !important;
    line-height: var(--ph-line-h3) !important;
}

/* The product-content and attribute-spec plugins load after the child theme
 * and use highly specific !important rules inside #content2. Mirror that
 * scope (plus html) so editorial headings still consume the global tokens. */
html body.single-product.phadin-pas-enabled.phadin-attribute-specs-mounted
    .product .product-footer #content2.specification_long
    .phadin-product-content :is(.phadin-hero, .phadin-section) > h2 {
    font-size: var(--ph-font-h2) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-heading) !important;
}

html body.single-product.phadin-pas-enabled.phadin-attribute-specs-mounted
    .product .product-footer #content2.specification_long
    .phadin-product-content :is(.phadin-section, .phadin-card) > h3 {
    font-size: var(--ph-font-h3) !important;
    font-weight: var(--ph-weight-subheading) !important;
    line-height: var(--ph-line-h3) !important;
}

/* Legacy product descriptions do not have .phadin-product-content, but the
 * same late product plugins target every heading inside #content2. */
html body.single-product.phadin-pas-enabled.phadin-attribute-specs-mounted
    .product .product-footer #content2.specification_long h2 {
    font-size: var(--ph-font-h2) !important;
    font-weight: var(--ph-weight-heading) !important;
    line-height: var(--ph-line-heading) !important;
}

html body.single-product.phadin-pas-enabled.phadin-attribute-specs-mounted
    .product .product-footer #content2.specification_long h3 {
    font-size: var(--ph-font-h3) !important;
    font-weight: var(--ph-weight-subheading) !important;
    line-height: var(--ph-line-h3) !important;
}

html body.single-product.phadin-pas-enabled.phadin-attribute-specs-mounted
    .product .product-footer #content2.specification_long h4 {
    font-size: var(--ph-font-h4) !important;
    font-weight: var(--ph-weight-control) !important;
    line-height: 1.4 !important;
}

/* Responsive QA: the custom mobile/tablet header is fixed at 146px while
 * Flatsome's #wrapper otherwise starts at y=0, hiding breadcrumbs and the
 * first content line. Reserve exactly the measured header height. */
@media screen and (max-width: 849px) {
    html body #wrapper {
        padding-top: 146px;
    }
}


/* PHADIN ARCHIVE LANDING — 2026-07-28 */
/*
 * Generic, scoped presentation for UX Blocks configured on a product archive.
 * Append to the child theme stylesheet; no inline CSS or JavaScript is needed.
 */
.phadin-native-archive-block .phadin-category-landing {
	max-width: 1140px;
	margin: 0 auto 32px;
	color: inherit;
}

.phadin-native-archive-block .phadin-category-landing__hero,
.phadin-native-archive-block .phadin-category-landing__section,
.phadin-native-archive-block .phadin-category-landing--quick {
	padding: 28px;
	border: 1px solid #e1e9e4;
	border-radius: 16px;
	background: #fff;
}

.phadin-native-archive-block .phadin-category-landing--quick,
.phadin-native-archive-block .phadin-category-landing__section {
	margin-top: 24px;
}

.phadin-native-archive-block .phadin-category-landing__eyebrow {
	margin: 0 0 10px;
	color: #01774e;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
}

.phadin-native-archive-block .phadin-category-landing h2,
.phadin-native-archive-block .phadin-category-landing h3 {
	margin-top: 0;
	color: #18382d;
}

.phadin-native-archive-block .phadin-category-landing__actions,
.phadin-native-archive-block .phadin-category-landing__trust-list,
.phadin-native-archive-block .phadin-category-landing__quick-grid,
.phadin-native-archive-block .phadin-category-landing__comparison-grid,
.phadin-native-archive-block .phadin-category-landing__criteria-grid,
.phadin-native-archive-block .phadin-category-landing__equipment-grid,
.phadin-native-archive-block .phadin-category-landing__reasons-grid {
	display: grid;
	gap: 16px;
}

.phadin-native-archive-block .phadin-category-landing__actions {
	display: flex;
	flex-wrap: wrap;
	margin: 22px 0 18px;
}

.phadin-native-archive-block .phadin-category-landing__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
}

.phadin-native-archive-block .phadin-category-landing__trust-list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.phadin-native-archive-block .phadin-category-landing__trust-list li {
	font-size: 14px;
}

.phadin-native-archive-block .phadin-category-landing__trust-list span {
	color: #01774e;
	font-weight: 700;
}

.phadin-native-archive-block .phadin-category-landing__quick-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.phadin-native-archive-block .phadin-category-landing__comparison-grid,
.phadin-native-archive-block .phadin-category-landing__equipment-grid,
.phadin-native-archive-block .phadin-category-landing__reasons-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.phadin-native-archive-block .phadin-category-landing__criteria-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.phadin-native-archive-block .phadin-category-landing__card {
	min-width: 0;
	padding: 20px;
	border: 1px solid #e1e9e4;
	border-radius: 12px;
	background: #f8fbf9;
}

.phadin-native-archive-block .phadin-category-landing__card p:last-child,
.phadin-native-archive-block .phadin-category-landing__card ul:last-child {
	margin-bottom: 0;
}

.phadin-native-archive-block .phadin-category-landing__faq-list {
	display: grid;
	gap: 10px;
}

.phadin-native-archive-block .phadin-category-landing__faq-list details {
	padding: 14px 16px;
	border: 1px solid #e1e9e4;
	border-radius: 10px;
	background: #fff;
}

.phadin-native-archive-block .phadin-category-landing__faq-list summary {
	cursor: pointer;
	font-weight: 700;
}

.phadin-native-archive-block .phadin-category-landing__form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 18px;
}

.phadin-native-archive-block .phadin-category-landing__form-field,
.phadin-native-archive-block .phadin-category-landing__form-submit {
	margin: 0;
}

.phadin-native-archive-block .phadin-category-landing__form-field--full {
	grid-column: 1 / -1;
}

.phadin-native-archive-block .phadin-category-landing__form-field label,
.phadin-native-archive-block .phadin-category-landing__form-field input,
.phadin-native-archive-block .phadin-category-landing__form-field select,
.phadin-native-archive-block .phadin-category-landing__form-field textarea {
	display: block;
	width: 100%;
}

.phadin-native-archive-block .phadin-category-landing__form-field input,
.phadin-native-archive-block .phadin-category-landing__form-field select,
.phadin-native-archive-block .phadin-category-landing__form-field textarea {
	min-height: 44px;
	margin-top: 6px;
}

.phadin-native-archive-block .phadin-category-landing__form-field textarea {
	min-height: 112px;
}

body.tax-product_cat .phadin-filter-toolbar .woocommerce-result-count,
body.tax-product_cat .phadin-filter-toolbar .woocommerce-ordering {
	display: block !important;
	margin: 0;
}

@media (max-width: 1024px) {
	.phadin-native-archive-block .phadin-category-landing__quick-grid,
	.phadin-native-archive-block .phadin-category-landing__criteria-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 549px) {
	.phadin-native-archive-block .phadin-category-landing__hero,
	.phadin-native-archive-block .phadin-category-landing__section,
	.phadin-native-archive-block .phadin-category-landing--quick,
	.phadin-native-archive-block .phadin-category-landing__card {
		padding: 18px;
	}

	.phadin-native-archive-block .phadin-category-landing__trust-list,
	.phadin-native-archive-block .phadin-category-landing__quick-grid,
	.phadin-native-archive-block .phadin-category-landing__comparison-grid,
	.phadin-native-archive-block .phadin-category-landing__criteria-grid,
	.phadin-native-archive-block .phadin-category-landing__equipment-grid,
	.phadin-native-archive-block .phadin-category-landing__reasons-grid,
	.phadin-native-archive-block .phadin-category-landing__form-grid {
		grid-template-columns: 1fr;
	}
}
/* END PHADIN ARCHIVE LANDING — 2026-07-28 */

/* PHADIN CHO QUAN FILTER TOOLBAR — 2026-07-29 */
/* Keep this page's desktop filter aligned with its wider catalog layout. */
@media screen and (min-width: 850px) {
	body.tax-product_cat.term-may-pha-ca-phe-cho-quan.phadin-may-pha-native-filters:not(.phadin-may-xay-native-filters)
		.phadin-catalog-layout > #shop-sidebar .phadin-product-filter {
		padding-left: 20px;
		padding-right: 20px;
	}

	body.tax-product_cat.term-may-pha-ca-phe-cho-quan.phadin-may-pha-native-filters:not(.phadin-may-xay-native-filters)
		.phadin-catalog-layout > #shop-sidebar .phadin-filter-active__heading a {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	/* The native select stays visible; remove only the duplicate sort label. */
	body.tax-product_cat.term-may-pha-ca-phe-cho-quan.phadin-may-pha-native-filters:not(.phadin-may-xay-native-filters)
		.phadin-product-controls .phadin-filter-toolbar__sort {
		display: none !important;
	}
}

@media screen and (min-width: 1440px) {
	body.tax-product_cat.term-may-pha-ca-phe-cho-quan.phadin-may-pha-native-filters:not(.phadin-may-xay-native-filters)
		.phadin-catalog-layout > #shop-sidebar .phadin-product-filter > .phadin-filter-group {
		flex: 1 1 auto;
	}

	body.tax-product_cat.term-may-pha-ca-phe-cho-quan.phadin-may-pha-native-filters:not(.phadin-may-xay-native-filters)
		.phadin-catalog-layout > #shop-sidebar .phadin-filter-actions .phadin-filter-apply {
		min-width: 145px;
	}
}

@media screen and (min-width: 1600px) {
	body.tax-product_cat.term-may-pha-ca-phe-cho-quan.phadin-may-pha-native-filters:not(.phadin-may-xay-native-filters)
		.phadin-catalog-layout > #shop-sidebar .phadin-product-filter > .phadin-filter-group {
		min-width: 136px;
	}
}
/* END PHADIN CHO QUAN FILTER TOOLBAR — 2026-07-29 */

/* Product-card titles use Play Bold sitewide. */
html body[class][class] .product-small :is(.name, .product-title, .woocommerce-loop-product__title),
html body[class][class] .product-small :is(.name, .product-title, .woocommerce-loop-product__title) a,
html body[class][class] .phadin-product-card__title,
html body[class][class] .phadin-product-card__title a {
    font-weight: 700 !important;
}

/* Flatsome dropdown cart: full-width actions with labels centred vertically. */
.cart-item.has-dropdown > .nav-dropdown {
    width: 640px !important;
    max-width: calc(100vw - 32px);
}

.cart-item.has-dropdown .woocommerce-mini-cart__buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 24px 0 0 !important;
}

.cart-item.has-dropdown .woocommerce-mini-cart__buttons .button {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: 64px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    min-height: 64px !important;
    padding: 0 16px !important;
    text-align: center;
    width: 100% !important;
}

@media screen and (max-width: 849px) {
    .cart-item.has-dropdown > .nav-dropdown {
        max-width: calc(100vw - 24px);
    }
}

/* phadin-back-to-top-white-20260804:start */
#top-link.back-to-top {
    color: #ffffff !important;
    border-color: #ffffff !important;
}

#top-link.back-to-top .icon-angle-up,
#top-link.back-to-top .icon-angle-up::before {
    color: inherit !important;
}

#top-link.back-to-top:hover,
#top-link.back-to-top:focus-visible {
    color: #064b3f !important;
    background-color: #ffffff !important;
    border-color: #ffffff !important;
}
/* phadin-back-to-top-white-20260804:end */

/* phadin-cpl-product-v2:start */
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl {
    --phadin-v2-green: #01774e;
    --phadin-v2-green-dark: #064633;
    --phadin-v2-sale: #f05a24;
    --phadin-v2-ink: #17211e;
    --phadin-v2-muted: #5f6d68;
    --phadin-v2-line: #dce8e0;
    --phadin-v2-soft: #f4faf7;
    --phadin-v2-cream: #fffaf5;
    --phadin-v2-white: #ffffff;
}

body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) #main,
body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .custom-product-page,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details {
    background: #ffffff;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__hero {
    grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(280px, 3fr);
    gap: 22px;
    align-items: start;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading {
    grid-column: 2;
    grid-row: 1;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__gallery {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: start;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__buy {
    grid-column: 2;
    grid-row: 2;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__rail {
    grid-column: 3;
    grid-row: 1 / 4;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__promo {
    grid-column: 2;
    grid-row: 3;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading > .col-inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading .product-title-container,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading h1.product-title,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading h1.entry-title {
    margin: 0;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading h1.product-title,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading h1.entry-title {
    color: var(--phadin-v2-ink);
    font-size: clamp(30px, 2.15vw, 34px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading .is-divider {
    display: none;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__category {
    align-self: flex-start;
    font-size: 13px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__gallery .product-images {
    padding: 12px;
    border-radius: 10px;
    background: #ffffff;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__buy > .col-inner {
    gap: 12px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2-price {
    background: #ffffff;
    box-shadow: none;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2-buy-now {
    min-height: 64px;
    border-color: var(--phadin-v2-sale);
    background: var(--phadin-v2-sale);
    color: #ffffff;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2-buy-now:hover,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2-buy-now:focus-visible {
    border-color: #d94d18;
    background: #d94d18;
    color: #ffffff;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__buy .single_add_to_cart_button {
    min-height: 52px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-callback-grid input[type="submit"] {
    border-color: #0b8a62 !important;
    background: #0b8a62 !important;
    color: #ffffff !important;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-callback-grid input[type="submit"]:hover,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-callback-grid input[type="submit"]:focus-visible {
    border-color: #04382a !important;
    background: #04382a !important;
    color: #ffffff !important;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__rail > .col-inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-card__title {
    padding: 11px 13px;
    background: #0b8a62;
    font-size: 15px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-service-item__icon,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-trust-item__icon,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-service-network .icon-map-pin-fill {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    color: var(--phadin-v2-sale);
    font-size: 18px;
    line-height: 1.25;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-service-item {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 9px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-trust-item {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 7px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl :is(.phadin-v2-service-item, .phadin-v2-service-network, .phadin-v2-trust-item) h3 {
    font-size: 13.5px;
    line-height: 1.35;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl :is(.phadin-v2-service-item, .phadin-v2-service-network, .phadin-v2-trust-item) p,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-trust-note {
    font-size: 12.5px;
    line-height: 1.45;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-service-network h3 .icon-map-pin-fill {
    margin-right: 5px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--phadin-v2-line);
    border-radius: 10px;
    background: #ffffff;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo:not(:has(.phadin-product-v2-promo)) {
    display: none;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    cursor: pointer;
    list-style: none;
    background: var(--phadin-v2-soft);
    color: var(--phadin-v2-green);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__summary::-webkit-details-marker {
    display: none;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__summary .icon-gift {
    margin-right: 7px;
    color: var(--phadin-v2-sale);
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__arrow {
    flex: 0 0 auto;
    font-size: 17px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo[open] .cpl-phadin-promo__arrow {
    transform: rotate(180deg);
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__content {
    padding: 13px 14px 14px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__content :is(.phadin-product-v2-promo, .phadin-v2-promo-card, .section, .section-content, .row, .col, .col-inner) {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__content .phadin-v2-promo-card__title {
    display: none;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__content h3 {
    margin: 0 0 8px;
    color: var(--phadin-v2-ink);
    font-size: 14px;
    line-height: 1.35;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__content p {
    margin: 0 0 7px;
    color: #3d4b46;
    font-size: 13px;
    line-height: 1.5;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .cpl-phadin-promo__content :is(.cpl-phadin-promo__terms, .phadin-v2-promo-card__terms) {
    margin: 10px 0 0;
    padding: 8px 9px;
    border-radius: 7px;
    background: var(--phadin-v2-cream);
    color: var(--phadin-v2-muted);
    font-size: 12px;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .woocommerce-tabs,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .related-products-wrapper {
    background: #ffffff;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl.phadin-product-v2__details .related-products-wrapper {
    padding: 20px;
    border: 1px solid var(--phadin-v2-line);
    border-radius: 0;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl.phadin-product-v2__details
.product-footer > .container > .phadin-product-detail-row
> .phadin-product-description-col--full {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .woocommerce-Tabs-panel,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .woocommerce-Tabs-panel p,
body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .woocommerce-Tabs-panel li {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .tabbed-content .nav-tabs > li > a {
    font-size: 15.5px;
    line-height: 1.35;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl.phadin-product-v2__details
.related-products-wrapper > .product-section-title-related {
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    min-height: 48px !important;
    height: auto !important;
    margin: -20px -20px 20px !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0b8a62 !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    transform: none !important;
}

/* Product-card typography, price alignment and actions now belong to the
 * shared card system in assets/css/styles.css and flatsome-loop-actions.css. */

@media screen and (max-width: 849px) {
    body.single-product.phadin-product-v2-enabled
    .phadin-product-v2--cpl.phadin-product-v2__details .related-products-wrapper {
        padding: 15px;
    }

    body.single-product.phadin-product-v2-enabled
    .phadin-product-v2--cpl.phadin-product-v2__details
    .related-products-wrapper > .product-section-title-related {
        min-height: 46px !important;
        margin: -15px -15px 15px !important;
        padding: 11px 14px !important;
        font-size: 16px !important;
    }
}

body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 {
    font-size: 16px;
    line-height: 1.55;
}

body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 :is(.phadin-footer-v2__heading, .phadin-footer-v2__section-title) {
    font-size: 17px;
    line-height: 1.35;
}

body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 .phadin-footer-v2__menu a {
    font-size: 16px;
    line-height: 1.5;
}

body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 :is(.phadin-footer-v2__intro, .phadin-footer-v2__contact-line, .phadin-footer-v2__location p, .phadin-footer-v2__technical-points p) {
    font-size: 15.5px;
    line-height: 1.55;
}

body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 .phadin-footer-v2__legal-menu a,
body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 .phadin-footer-v2__legal-company p {
    font-size: 14.5px;
    line-height: 1.5;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__hero {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading {
        grid-column: 2;
        grid-row: 1;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__gallery {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__buy {
        grid-column: 2;
        grid-row: 2;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__rail {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__promo {
        grid-column: 1 / -1;
        grid-row: 4;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__rail > .col-inner {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl :is(.phadin-v2-service-item, .phadin-v2-service-network, .phadin-v2-trust-item) h3 {
        font-size: 14.5px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl :is(.phadin-v2-service-item, .phadin-v2-service-network, .phadin-v2-trust-item) p,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-trust-note {
        font-size: 13.5px;
    }
}

@media screen and (max-width: 767px) {
    body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .shop-page-title {
        display: none;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__gallery,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__buy,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__rail,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__promo {
        grid-column: 1;
        grid-row: auto;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading h1.product-title,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__heading h1.entry-title {
        font-size: clamp(22px, 6.4vw, 26px) !important;
        line-height: 1.22 !important;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2__gallery .product-images {
        padding: 8px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-product-v2-buy-now {
        min-height: 56px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl :is(.phadin-v2-service-item, .phadin-v2-service-network, .phadin-v2-trust-item) h3 {
        font-size: 14px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl :is(.phadin-v2-service-item, .phadin-v2-service-network, .phadin-v2-trust-item) p,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl .phadin-v2-trust-note {
        font-size: 13px;
    }

    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .woocommerce-tabs,
    body.single-product.phadin-product-v2-enabled .phadin-product-v2--cpl.phadin-product-v2__details .related-products-wrapper {
        padding: 15px;
    }

    body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 {
        font-size: 15px;
    }

    body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 .phadin-footer-v2__nav > summary,
    body.single-product.phadin-product-v2-enabled:has(.phadin-product-v2--cpl) .phadin-footer-v2 .phadin-footer-v2__menu a {
        font-size: 15px;
    }
}
body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__service
:is(.phadin-v2-service-item, .phadin-v2-service-network) p,
body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo
.cpl-phadin-promo__content p {
    font-size: 14px;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__service
:is(.phadin-v2-service-item, .phadin-v2-service-network) h3 {
    font-size: 14.5px;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo
:is(.cpl-phadin-promo__summary,
    .cpl-phadin-promo__content h1,
    .cpl-phadin-promo__content h2,
    .cpl-phadin-promo__content h3,
    .cpl-phadin-promo__content h4,
    .cpl-phadin-promo__content h5,
    .cpl-phadin-promo__content h6,
    .cpl-phadin-promo__content p,
    .cpl-phadin-promo__content li) {
    font-size: 16px;
}

@media screen and (max-width: 767px) {
    body.single-product.phadin-product-v2-enabled
    .phadin-product-v2--cpl .phadin-product-v2__promo
    :is(.cpl-phadin-promo__summary,
        .cpl-phadin-promo__content h1,
        .cpl-phadin-promo__content h2,
        .cpl-phadin-promo__content h3,
        .cpl-phadin-promo__content h4,
        .cpl-phadin-promo__content h5,
        .cpl-phadin-promo__content h6,
        .cpl-phadin-promo__content p,
        .cpl-phadin-promo__content li) {
        font-size: 15px;
    }
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__service .phadin-v2-service-card,
body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__trust .phadin-v2-trust-card {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__buy
.phadin-callback-grid input[type="submit"] {
    border-radius: 0;
}

@media screen and (max-width: 767px) {
    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price:has(.phadin-product-v2-price__current
    > .phadin-product-v2-price__vat) {
        padding-right: 10px;
        padding-left: 10px;
    }

    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 4px;
    }

    html body.single-product.phadin-product-v2-enabled.phadin-product-v2-type-simple
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat) {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat)
    > .phadin-product-v2-price__label {
        grid-column: 1 / -1;
        font-size: 13px;
        white-space: nowrap;
    }

    html body.single-product.phadin-product-v2-enabled.phadin-product-v2-type-simple
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat)
    > .phadin-product-v2-price__label {
        grid-column: auto;
    }

    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat)
    :is(.phadin-product-v2-price__value,
        .phadin-product-v2-price__value .amount,
        .phadin-product-v2-price__value ins,
        .phadin-product-v2-price__value ins .amount) {
        min-width: 0;
        font-size: clamp(20px, 5.45vw, 22px);
    }

    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat)
    .phadin-product-v2-price__value {
        display: flex;
        flex-wrap: wrap;
        gap: 2px 4px;
        align-items: baseline;
        white-space: normal;
    }

    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current:has(> .phadin-product-v2-price__vat)
    .phadin-product-v2-price__value .amount {
        white-space: nowrap;
    }

    html body.single-product.phadin-product-v2-enabled
    #wrapper #main .phadin-product-v2--cpl
    .phadin-product-v2-price__current
    > .phadin-product-v2-price__vat {
        min-height: 24px;
        margin-left: 0;
        padding: 4px 5px;
        font-size: 11px;
    }
}

/* phadin-cpl-product-v2:end */

/* phadin-product-v2-legacy-details:start */
/*
 * Product V2 reuses the established product information/specification
 * component. These selectors are intentionally scoped to the CPL details
 * wrapper so the pilot matches existing product pages without enabling the
 * much broader legacy product-layout stylesheet.
 */
html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer {
    padding-bottom: 24px !important;
    background: #ffffff !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer > .container > .phadin-product-detail-row {
    --phadin-product-detail-preview-height: 720px;
    --phadin-product-detail-min-paired-preview-height: 220px;
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: flex-start !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    row-gap: 0 !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .phadin-product-detail-row > .col {
    box-sizing: border-box !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .phadin-product-detail-row
:is(.phadin-product-description-card, .phadin-product-specifications-card) {
    position: relative !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    transform: none !important;
    scroll-margin-top: 96px;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .phadin-product-description-card > .col-left {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .label-title-box {
    display: flex !important;
    box-sizing: border-box !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #0b8a62 !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    transform: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .label-title-box::before,
html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .label-title-box::after {
    content: none !important;
    display: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .label-content-box {
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 20px 0 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .phadin-product-description-card .label-content-box {
    padding: 20px 16px !important;
    background: #ffffff !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer #content2.specification_long {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 20px 16px !important;
    overflow: visible !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background: transparent !important;
    color: #333333 !important;
    transform: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .summary_action {
    display: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .charactestic_table {
    display: table !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border: 1px solid #d9e5df !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .charactestic_table td {
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #d9e5df !important;
    border-radius: 0 !important;
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    vertical-align: top !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    box-shadow: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .charactestic_table tr:last-child td {
    border-bottom: 0 !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .charactestic_table .title_charactestic {
    width: 42% !important;
    border-right: 1px solid #d9e5df !important;
    background: #eef6f2 !important;
    font-weight: 700 !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .charactestic_table .content_charactestic {
    width: 58% !important;
    background: #ffffff !important;
    font-weight: 400 !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer .phadin-product-description-col--full {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse].has-collapse-overflow.is-collapsed
[data-phadin-product-collapse-content] {
    height: var(--phadin-product-detail-active-preview-height, var(--phadin-product-detail-preview-height)) !important;
    max-height: var(--phadin-product-detail-active-preview-height, var(--phadin-product-detail-preview-height)) !important;
    overflow: hidden !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse].has-collapse-overflow.is-collapsed
[data-phadin-product-collapse-content]::after {
    position: absolute !important;
    z-index: 2 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    height: 64px !important;
    margin: 0 !important;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 88%) !important;
    content: "" !important;
    pointer-events: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse].is-expanded
[data-phadin-product-collapse-content]::after {
    display: none !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle-wrap]:not([hidden]) {
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 58px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: #ffffff !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle]:not([hidden]) {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 132px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid #087a50 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: #087a50 !important;
    font-family: Play, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 40px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transform: none !important;
    transition: background-color 160ms ease, color 160ms ease !important;
    cursor: pointer !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle]:not([hidden]):hover {
    background: #f3faf7 !important;
    color: #066b46 !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle]:focus-visible {
    outline: 2px solid #087a50 !important;
    outline-offset: 2px !important;
}

html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle-wrap][hidden],
html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle][hidden] {
    display: none !important;
}

html.js body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
.phadin-product-v2__legacy-footer [data-phadin-product-collapse].phadin-collapse-pending.is-collapsed
[data-phadin-product-collapse-content] {
    height: auto !important;
    max-height: var(--phadin-product-detail-preview-height) !important;
    overflow: hidden !important;
}

@media (min-width: 850px) {
    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer > .container > .phadin-product-detail-row {
        column-gap: 30px !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-description-col:not(.phadin-product-description-col--full) {
        flex: 0 0 calc(66.6666667% - 20px) !important;
        width: calc(66.6666667% - 20px) !important;
        max-width: calc(66.6666667% - 20px) !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-specifications-col {
        flex: 0 0 calc(33.3333333% - 10px) !important;
        width: calc(33.3333333% - 10px) !important;
        max-width: calc(33.3333333% - 10px) !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-specifications-col--full {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-detail-row:is(
        .has-phadin-paired-collapse,
        :has([data-phadin-product-collapse="overview"].has-collapse-overflow.is-collapsed)
    ) {
        align-items: stretch !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-detail-row:is(
        .has-phadin-paired-collapse,
        :has([data-phadin-product-collapse="overview"].has-collapse-overflow.is-collapsed)
    )
    > :is(.phadin-product-description-col, .phadin-product-specifications-col) {
        display: flex !important;
        align-items: stretch !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-detail-row:is(
        .has-phadin-paired-collapse,
        :has([data-phadin-product-collapse="overview"].has-collapse-overflow.is-collapsed)
    )
    :is(.phadin-product-description-card, .phadin-product-specifications-card) {
        flex: 1 1 auto !important;
        align-self: stretch !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-detail-row:is(
        .has-phadin-paired-collapse,
        :has([data-phadin-product-collapse="overview"].has-collapse-overflow.is-collapsed)
    )
    [data-phadin-product-collapse-toggle-wrap]:not([hidden]) {
        margin-top: auto !important;
    }

    /*
     * Keep the specifications preview and its fade edge level with the
     * expanded overview preview. The table fills that visual preview while
     * its final 48px remains behind the existing fade until “Xem thêm”.
     * The 28px table offset plus the content's 20px top padding preserve that
     * exact 48px reveal without changing row heights when the control opens.
     * The measuring class is applied synchronously by the V2 controller so
     * natural table height remains the source for overflow calculations.
     */
    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer
    .phadin-product-detail-row:not(.is-phadin-detail-measuring):has(
        [data-phadin-product-collapse="overview"].has-collapse-overflow.is-collapsed
    )
    .phadin-product-specifications-card.has-collapse-overflow.is-collapsed
    > [data-phadin-product-collapse-content] {
        flex: 0 0 var(--phadin-product-detail-balanced-preview-height) !important;
        height: var(--phadin-product-detail-balanced-preview-height) !important;
        max-height: var(--phadin-product-detail-balanced-preview-height) !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer
    .phadin-product-detail-row:not(.is-phadin-detail-measuring):has(
        [data-phadin-product-collapse="overview"].has-collapse-overflow.is-collapsed
    )
    .phadin-product-specifications-card.has-collapse-overflow.is-collapsed
    > [data-phadin-product-collapse-content] > .charactestic_table {
        height: calc(var(--phadin-product-detail-balanced-preview-height) + 28px) !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer
    .phadin-product-detail-row:not(.is-phadin-detail-measuring)
    .phadin-product-specifications-card.has-collapse-overflow.is-expanded
    > [data-phadin-product-collapse-content] {
        flex: 0 0 auto !important;
        height: auto !important;
        min-height: calc(var(--phadin-product-detail-balanced-preview-height) + 48px) !important;
        max-height: none !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer
    .phadin-product-detail-row:not(.is-phadin-detail-measuring)
    .phadin-product-specifications-card.has-collapse-overflow.is-expanded
    > [data-phadin-product-collapse-content] > .charactestic_table {
        min-height: calc(var(--phadin-product-detail-balanced-preview-height) + 28px) !important;
    }
}

@media (min-width: 850px) and (max-height: 979px) {
    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer > .container > .phadin-product-detail-row {
        --phadin-product-detail-preview-height: 640px;
    }
}

@media (min-width: 850px) and (max-height: 819px) {
    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer > .container > .phadin-product-detail-row {
        --phadin-product-detail-preview-height: 520px;
    }
}

@media (max-width: 849px) {
    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer {
        padding-bottom: 0 !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer > .container > .phadin-product-detail-row {
        --phadin-product-detail-preview-height: 440px;
        align-items: flex-start !important;
        column-gap: 0 !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-detail-row
    > :is(.phadin-product-description-col, .phadin-product-specifications-col) {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .phadin-product-specifications-col {
        margin-top: 18px !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .label-title-box {
        min-height: 46px !important;
        padding: 11px 14px !important;
        font-size: 16px !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer .charactestic_table td {
        padding: 11px 12px !important;
        font-size: 13.5px !important;
    }

    html body.single-product.phadin-product-v2-enabled
#wrapper #main .phadin-product-v2--cpl.phadin-product-v2__details
    .phadin-product-v2__legacy-footer [data-phadin-product-collapse-toggle-wrap]:not([hidden]) {
        flex-basis: 54px !important;
        min-height: 54px !important;
        padding: 6px 0 !important;
    }
}
/* phadin-product-v2-legacy-details:end */

/* phadin-product-v2-promo-orange-20260813:start */
body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo .cpl-phadin-promo__summary {
    background: var(--phadin-v2-sale);
    color: var(--phadin-v2-white);
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo .cpl-phadin-promo__summary
:is(.icon-gift, .cpl-phadin-promo__arrow),
body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo .cpl-phadin-promo__summary
:is(.icon-gift, .cpl-phadin-promo__arrow)::before {
    color: var(--phadin-v2-white);
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo .cpl-phadin-promo__summary:hover {
    background: #d94d18;
    color: var(--phadin-v2-white);
}

body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl .phadin-product-v2__promo .cpl-phadin-promo__summary:focus-visible {
    outline: 2px solid var(--phadin-v2-white);
    outline-offset: -4px;
    background: #d94d18;
    box-shadow: inset 0 0 0 4px #b63d12;
    color: var(--phadin-v2-white);
}
/* phadin-product-v2-promo-orange-20260813:end */

/* phadin-product-v2-empty-promo-gap-20260815:start */
body.single-product.phadin-product-v2-enabled
.phadin-product-v2--cpl
.phadin-product-v2__promo:not(:has(.phadin-product-v2-promo)) {
    display: none;
}

@media screen and (min-width: 1200px) {
    body.single-product.phadin-product-v2-enabled
    .phadin-product-v2--cpl
    .phadin-product-v2__hero:not(:has(.phadin-product-v2__promo .phadin-product-v2-promo)) {
        grid-template-rows: max-content minmax(0, 1fr) 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    body.single-product.phadin-product-v2-enabled
    .phadin-product-v2--cpl
    .phadin-product-v2__hero:not(:has(.phadin-product-v2__promo .phadin-product-v2-promo)) {
        grid-template-rows: max-content minmax(0, 1fr) max-content;
    }
}
/* phadin-product-v2-empty-promo-gap-20260815:end */

/* Phadin shared Bestseller label — existing WooCommerce product checkbox. */
.badge-container:has(> .phadin-bestseller-badge) {
  left: 10px !important;
  right: auto !important;
  top: 10px !important;
  bottom: auto !important;
  width: auto !important;
  margin: 0 !important;
  z-index: 3;
  pointer-events: none;
}
.badge-container .phadin-bestseller-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: auto;
  min-height: 24px;
  padding: 4px 7px;
  border: 0;
  border-radius: 6px;
  background: #FD4815;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  box-sizing: border-box;
  vertical-align: top;
  box-shadow: none;
}
.phadin-bestseller-badge::before {
  content: "";
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  background: url("/wp-content/uploads/2026/10/flame.svg") center / contain no-repeat;
}
.product-images > .badge-container .phadin-bestseller-badge {
  min-height: 28px;
  padding: 6px 8px;
  font-size: 12px;
}
/* Retire the former image sticker; visibility is provided by the shared hook. */
.hot__sale { display: none !important; }
/* Only image badges: sale prices and savings inside price panels stay visible. */
.badge-container .callout:has(.on-sale) { display: none !important; }
@media (max-width: 549px) {
  .badge-container:has(> .phadin-bestseller-badge) { left: 8px !important; right: auto !important; top: 8px !important; }
  .badge-container .phadin-bestseller-badge { min-height: 24px; padding: 4px 6px; font-size: 10px; }
}


/* PHADIN GLOBAL BREADCRUMB 2026-10-14 — category reference */
:root {
  --ph-bc-font: 13px;
  --ph-bc-line: 20px;
  --ph-bc-gap: 8px;
  --ph-bc-after: 20px;
  --ph-bc-top: 32px;
  --ph-bc-link: #687871;
  --ph-bc-current: #5f6b66;
  --ph-bc-divider: #9aa39f;
}
/* Shared appearance; native links, hierarchy and schema remain unchanged. */
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .ph-bl-breadcrumb, .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb,
  .phadin-breadcrumbs, .rank-math-breadcrumb, #breadcrumbs
) {
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 4px var(--ph-bc-gap) !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: Play, sans-serif !important;
  font-size: var(--ph-bc-font) !important;
  font-weight: 400 !important;
  line-height: var(--ph-bc-line) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--ph-bc-current) !important;
}
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .ph-bl-breadcrumb, .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb,
  .phadin-breadcrumbs, .rank-math-breadcrumb, #breadcrumbs
) :is(a, span, li, ol, p) {
  font-family: inherit !important;
  font-size: var(--ph-bc-font) !important;
  font-weight: 400 !important;
  line-height: var(--ph-bc-line) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
}
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .ph-bl-breadcrumb, .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb,
  .phadin-breadcrumbs, .rank-math-breadcrumb, #breadcrumbs
) a {
  color: var(--ph-bc-link) !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .ph-bl-breadcrumb, .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb,
  .phadin-breadcrumbs, .rank-math-breadcrumb, #breadcrumbs
) a:is(:hover, :focus-visible) {
  color: #0b5146 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .ph-bl-breadcrumb, .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb,
  .phadin-breadcrumbs, .rank-math-breadcrumb, #breadcrumbs
) :is([aria-current], .breadcrumb_last, .phadin-breadcrumb-current) {
  color: var(--ph-bc-current) !important;
  flex-basis: auto !important;
  min-width: 0;
  overflow-wrap: anywhere;
}
html body #wrapper :is(.ph-bl-breadcrumb, .phadin-breadcrumbs) ol {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px var(--ph-bc-gap) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #wrapper :is(.ph-bl-breadcrumb, .phadin-breadcrumbs) li {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ph-bc-current) !important;
}
html body #wrapper :is(.ph-bl-breadcrumb, .phadin-breadcrumbs) li + li::before {
  content: "/" !important;
  color: var(--ph-bc-divider) !important;
  margin: 0 var(--ph-bc-gap) 0 0 !important;
}
/* Normalize explicit chevrons and slash spans, without touching link labels. */
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb, .phadin-breadcrumbs,
  .rank-math-breadcrumb, #breadcrumbs
) > :is(.divider, .phadin-breadcrumb-divider, span[aria-hidden="true"]) {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: var(--ph-bc-line) !important;
  color: var(--ph-bc-divider) !important;
  opacity: 1 !important;
}
html body #wrapper :is(
  .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs),
  .paf-breadcrumb, .pth-breadcrumb, .rv2-breadcrumb, .phadin-breadcrumbs,
  .rank-math-breadcrumb, #breadcrumbs
) > :is(.divider, .phadin-breadcrumb-divider, span[aria-hidden="true"])::before {
  content: "/" !important;
  font-family: Play, sans-serif !important;
  font-size: var(--ph-bc-font) !important;
  line-height: var(--ph-bc-line) !important;
  color: var(--ph-bc-divider) !important;
}
html body #wrapper :is(.ph-bl-breadcrumb, .woocommerce-breadcrumb, nav.breadcrumbs:not(.checkout-breadcrumbs)) {
  margin: 0 !important;
}
html body #wrapper :is(.paf-breadcrumb, .rv2-breadcrumb) {
  margin: 0 0 var(--ph-bc-after) !important;
}
html body #wrapper .pth-breadcrumb {
  margin-bottom: var(--ph-bc-after) !important;
}
/* Remove the product-only rule and use the category's vertical rhythm. */
html body #wrapper .phadin-product-standard {
  padding-top: var(--ph-bc-top) !important;
}
html body #wrapper .phadin-product-v2__breadcrumbs {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #wrapper .phadin-product-v2__breadcrumbs + .gap-element {
  padding-top: var(--ph-bc-after) !important;
}
/* Legacy Woo archive breadcrumb stays within the shared site frame. */
html body #wrapper .shop-page-title .page-title-inner:has(.woocommerce-breadcrumb) {
  width: var(--phadin-container-width, calc(100% - 64px)) !important;
  max-width: var(--phadin-site-max, 1440px) !important;
  margin: 0 auto !important;
  padding: var(--ph-bc-top) 0 var(--ph-bc-after) !important;
  min-height: 0 !important;
}
html body #wrapper .shop-page-title .page-title-inner:has(.woocommerce-breadcrumb) > .col {
  padding: 0 !important;
}
@media (max-width: 767px) {
  :root {
    --ph-bc-font: 11px;
    --ph-bc-line: 17px;
    --ph-bc-gap: 4px;
    --ph-bc-after: 12px;
    --ph-bc-top: 16px;
  }
  html body #wrapper .shop-page-title .page-title-inner:has(.woocommerce-breadcrumb) {
    width: calc(100% - 32px) !important;
  }
}
/* END PHADIN GLOBAL BREADCRUMB 2026-10-14 */

/* PHADIN SHOP BREADCRUMB ALIGNMENT 2026-10-14 */
/* Native archive titles repeat the breadcrumb; keep their heading semantics without a second visual row. */
html body #wrapper .shop-page-title.category-page-title .page-title-inner:has(.woocommerce-breadcrumb) h1.shop-page-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* The shop starts at the same inset and 20px breadcrumb gap as the category reference. */
html body.woocommerce-shop #wrapper #main > .category-page-row {
  padding-top: 0 !important;
}
html body.woocommerce-shop #wrapper #main > .category-page-row > .col.large-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* END PHADIN SHOP BREADCRUMB ALIGNMENT 2026-10-14 */

/* Play: text families in existing MU and tooltip components. */
:root [class*=hint--]:after { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-category-standard #wrapper .shop-page-title h1 { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-category-standard #wrapper #main .pd-category-navigation { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-category-standard #wrapper #main :is(.pcr.pcr-hero,.ph-b2-hero,.ph-bl-hero) h1 { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-category-standard #wrapper #main .shop-container h1 { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-catalog-standard #wrapper #main .product-small.col { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-catalog-standard #wrapper #main .product-small.col:has(> .col-inner > .product-small.box) :is(.product-title, .product-title a) { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-catalog-standard #wrapper #main .product-small.col:has(> .col-inner > .product-small.box) a:is(.phadin-loop-detail-action, .phadin-loop-cart-action, .phadin-card-detail, .phadin-card-cart) { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-catalog-standard #wrapper #main .product-small.col:has(> .col-inner > .product-small.box) a.added_to_cart.wc-forward { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-catalog-standard #wrapper #main .product-small.col:has(> .col-inner > .product-small.box) > .col-inner > button.woosc-btn.pd-compare-button { font-family: Play, Arial, sans-serif !important; }
html:root body.pd-catalog-standard #wrapper #main .product-small.col:has(> .col-inner > .product-small.box) > .col-inner > button.woosc-btn.pd-compare-button::before { font-family: Play, Arial, sans-serif !important; }
