/* ═══════════════════════════════════════════════════════════════
   CWFD High-Conversion Product Page  v5.0
   Full-width, space-optimised, professional B2B product layout
   ═══════════════════════════════════════════════════════════════ */

/* ─── Design Tokens — aligned with CWFD brand (desktop-header plugin) ─── */
.cwfd-hcpp {
    --cwfd-blue: #145DA0;
    --cwfd-blue-deep: #0A3763;
    --cwfd-blue-soft: #eaf2fa;
    --cwfd-blue-vibrant: #1B6DBF;
    --cwfd-red: #E1251A;
    --cwfd-ink: #0A3763;
    --cwfd-muted: #6b7f94;
    --cwfd-border: #d9e5f0;
    --cwfd-border-soft: rgba(20, 93, 160, 0.08);
    --cwfd-card: #ffffff;
    --cwfd-bg: #f8fafc;
    --cwfd-success: #eaf7ef;
    --cwfd-success-ink: #1b7a4a;
    --cwfd-success-bg: #d4f5e2;
    --cwfd-warm: #fbf4df;
    --cwfd-font: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --cwfd-heading-font: var(--cwfd-font-headings, "Newsreader", Georgia, "Times New Roman", serif);
    --cwfd-radius: 20px;
    --cwfd-radius-sm: 14px;
    --cwfd-shadow-sm: 0 4px 16px rgba(10, 55, 99, 0.06);
    --cwfd-shadow: 0 12px 40px rgba(10, 55, 99, 0.08);
    --cwfd-shadow-lg: 0 24px 60px rgba(10, 55, 99, 0.10);
    --cwfd-focus: 0 0 0 3px rgba(20, 93, 160, 0.20);
    --cwfd-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --cwfd-max-w: 1340px;
    font-family: var(--cwfd-font);
}

.cwfd-hcpp,
.cwfd-hcpp .cwfd-sp-highlight-panel,
.cwfd-hcpp .cwfd-sp-support-card,
.cwfd-hcpp .cwfd-feat-card,
.cwfd-hcpp.single-product .woocommerce-Tabs-panel,
.cwfd-hcpp .cwfd-trust-strip,
.cwfd-hcpp .cwfd-sp-badge {
    font-family: var(--cwfd-font);
}

.cwfd-hcpp.single-product .product_title,
.cwfd-hcpp .cwfd-sp-support-card h3,
.cwfd-hcpp .cwfd-spec-col h3,
.cwfd-hcpp .cwfd-spec-title,
.cwfd-hcpp .cwfd-feat-card h3,
.single-product .froz-amazon-layout h1.product_title,
.froz-amazon-layout .product_title {
    font-family: var(--cwfd-heading-font) !important;
}

.cwfd-hcpp *:focus-visible {
    outline: none;
    box-shadow: var(--cwfd-focus);
    border-radius: 6px;
}

/* ─── Page Background ─── */
.cwfd-hcpp .site-content,
.cwfd-hcpp .main-content,
.cwfd-hcpp #content {
    background:
        radial-gradient(ellipse at 15% 0%, rgba(20, 93, 160, 0.05), transparent 50%),
        radial-gradient(ellipse at 85% 20%, rgba(20, 93, 160, 0.03), transparent 45%),
        linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
}

/* ═══════════════════════════════════════════════════════════════
   CONTAINER OVERRIDE — Force Porto theme to full width
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product .main-content .container,
.cwfd-hcpp.single-product #content > .container,
.cwfd-hcpp.single-product .site-content > .container,
.cwfd-hcpp.single-product div.product {
    max-width: var(--cwfd-max-w) !important;
    width: 96% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ─── Product Container ─── */
.cwfd-hcpp.single-product div.product {
    position: relative;
    max-width: var(--cwfd-max-w);
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

/* ═══════════════════════════════════════════════════════════════
   GALLERY & SUMMARY — balanced 2-column grid
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product .woocommerce-product-gallery,
.cwfd-hcpp.single-product div.product .summary {
    background: var(--cwfd-card);
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    box-shadow: var(--cwfd-shadow);
    padding: 28px;
}

.cwfd-hcpp.single-product .woocommerce-product-gallery {
    overflow: hidden;
}

.cwfd-hcpp.single-product .woocommerce-product-gallery__wrapper,
.cwfd-hcpp.single-product .woocommerce-product-gallery .flex-viewport {
    border-radius: calc(var(--cwfd-radius) - 6px);
    overflow: hidden;
    background: linear-gradient(180deg, #fdfefe 0%, #f4f8fb 100%);
}

.cwfd-hcpp.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.cwfd-hcpp.single-product .woocommerce-product-gallery__image img:hover {
    transform: scale(1.03);
}

/* ═══  DESKTOP GRID — the core layout fix  ═══ */
@media (min-width: 992px) {
    /* 1. Reset any grid applied to the main product wrapper */
    .cwfd-hcpp.single-product div.product {
        display: block !important;
    }

    /* 2. Target Porto's row wrapper specifically */
    .cwfd-hcpp.single-product .product-summary-wrap > .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 40px;
        margin: 0 0 24px 0 !important;
    }

    /* 3. The gallery column gets ~45% space */
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .summary-before.col-md-5,
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .col-md-6:first-child {
        flex: 0 0 46% !important;
        max-width: 46% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* 4. The summary column gets the rest (larger) */
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .summary.col-md-7,
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .col-md-6:last-child {
        flex: 1 1 auto !important;
        max-width: none !important;
        width: auto !important;
        padding: 40px !important; /* Even, generous padding inside the white card */
        margin: 0 !important;
    }

    /* Hide categories and tags */
    .cwfd-hcpp.single-product .product_meta .posted_in,
    .cwfd-hcpp.single-product .product_meta .tagged_as {
        display: none !important;
    }

    /* Sticky Gallery */
    .cwfd-hcpp.single-product .woocommerce-product-gallery {
        position: sticky;
        top: 20px;
    }

    /* Ensure subsequent elements span underneath cleanly */
    .cwfd-hcpp.single-product div.product > .cwfd-sp-support-card,
    .cwfd-hcpp.single-product div.product > .cwfd-features-grid,
    .cwfd-hcpp.single-product div.product > .woocommerce-tabs,
    .cwfd-hcpp.single-product div.product > .related.products {
        clear: both;
        width: 100%;
        margin-top: 24px;
        display: block; /* some were grid items before */
    }
    
    .cwfd-hcpp.single-product div.product > .cwfd-features-grid {
        display: grid; /* Reset specifically for features-grid */
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery__wrapper,
    .cwfd-hcpp.single-product .woocommerce-product-gallery .flex-viewport {
        background: #fff;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
        margin: 0 auto;
        max-width: 100%;
    }
}

/* ═══════════════════════════════════════════════════════════════
   SUMMARY CONTENT
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product div.product .summary {
    color: var(--cwfd-ink);
}

/* Product Title */
.cwfd-hcpp.single-product .product_title {
    color: var(--cwfd-blue-deep);
    font-size: clamp(1.65rem, 2.6vw, 2.4rem);
    line-height: 1.15;
    letter-spacing: -0.01em;
    font-weight: 500;
    margin-bottom: 6px;
}

/* ═══════════════════════════════════════════════════════════════
   TRUST STRIP — compact inline row below title
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-trust-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 16px;
    padding: 0;
}

.cwfd-hcpp .cwfd-ts-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
}

.cwfd-hcpp .cwfd-ts-item svg {
    flex-shrink: 0;
}

.cwfd-hcpp .cwfd-ts-item span {
    white-space: nowrap;
}

.cwfd-hcpp .cwfd-ts-dot {
    color: var(--cwfd-muted);
    font-size: 0.9rem;
    line-height: 1;
    opacity: 0.4;
    user-select: none;
}

.cwfd-hcpp .cwfd-ts--instock {
    color: var(--cwfd-success-ink);
}
.cwfd-hcpp .cwfd-ts--instock svg {
    stroke: var(--cwfd-success-ink);
}

.cwfd-hcpp .cwfd-ts--oos {
    color: #c45000;
}

.cwfd-hcpp .cwfd-ts--delivery {
    color: var(--cwfd-muted);
}
.cwfd-hcpp .cwfd-ts--delivery svg {
    stroke: var(--cwfd-muted);
}

.cwfd-hcpp .cwfd-ts--wholesale {
    color: var(--cwfd-muted);
}
.cwfd-hcpp .cwfd-ts--wholesale svg {
    stroke: var(--cwfd-muted);
}

.cwfd-hcpp .cwfd-ts--brand {
    color: var(--cwfd-blue);
    font-weight: 700;
}

.cwfd-hcpp .cwfd-ts--origin {
    color: var(--cwfd-muted);
}

/* Trust strip hardening: keep stock / delivery / origin readable even when
   theme builders omit the body helper class or cached CSS is refreshed. */
.cwfd-trust-strip {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
    row-gap: 6px;
    margin: 0 0 16px;
    padding: 0;
}

.cwfd-trust-strip .cwfd-ts-item {
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    line-height: 1.25;
    min-width: 0;
}

.cwfd-trust-strip .cwfd-ts-item svg {
    flex: 0 0 auto;
}

.cwfd-trust-strip .cwfd-ts-item span {
    white-space: normal;
}

.cwfd-trust-strip .cwfd-ts-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cwfd-muted, #6b7f94);
    opacity: 0.55;
    line-height: 1;
}

@media (max-width: 640px) {
    .cwfd-trust-strip {
        column-gap: 8px;
        row-gap: 8px;
    }

    .cwfd-trust-strip .cwfd-ts-dot {
        display: none;
    }

    .cwfd-trust-strip .cwfd-ts-item {
        flex: 1 1 100%;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PRICE / REGISTER
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product .summary .price,
.cwfd-hcpp.single-product .summary p.price,
.cwfd-hcpp.single-product .summary .woocommerce-variation-price {
    background: linear-gradient(135deg, var(--cwfd-blue-soft) 0%, #dfeaf6 100%);
    border: 1px solid #c9dbee;
    border-radius: var(--cwfd-radius-sm);
    color: var(--cwfd-blue-deep);
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
    padding: 14px 20px;
    font-weight: 700;
}

.cwfd-hcpp.single-product .summary .price .amount,
.cwfd-hcpp.single-product .summary p.price .amount {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--cwfd-blue);
}

/* Short Description */
.cwfd-hcpp.single-product .summary .woocommerce-product-details__short-description {
    color: var(--cwfd-ink);
    font-size: 1.0625rem;
    line-height: 1.75;
    margin-bottom: 18px;
}

.cwfd-hcpp.single-product .summary .woocommerce-product-details__short-description strong {
    color: var(--cwfd-ink);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════
   ADD-TO-CART FORM
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product form.cart {
    align-items: center;
    background: linear-gradient(135deg, #f8fbfe 0%, #eef4fa 100%);
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
    padding: 16px;
}

.cwfd-hcpp.single-product form.cart .quantity {
    margin: 0;
}

.cwfd-hcpp.single-product form.cart .qty {
    border: 1px solid var(--cwfd-border);
    border-radius: 12px;
    color: var(--cwfd-blue-deep);
    font-weight: 700;
    min-height: 50px;
    text-align: center;
    transition: border-color var(--cwfd-transition);
    width: 72px;
}

.cwfd-hcpp.single-product form.cart .qty:focus {
    border-color: var(--cwfd-blue);
    outline: none;
    box-shadow: var(--cwfd-focus);
}

.cwfd-hcpp.single-product form.cart .single_add_to_cart_button {
    background: linear-gradient(135deg, var(--cwfd-blue) 0%, var(--cwfd-blue-deep) 100%);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(20, 93, 160, 0.22);
    color: #fff;
    font-family: var(--cwfd-font);
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    min-height: 50px;
    padding: 0 32px;
    text-transform: none;
    transition: all var(--cwfd-transition);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    flex: 1 1 180px;
}

/* CTA shimmer animation */
.cwfd-hcpp.single-product form.cart .single_add_to_cart_button::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    animation: cwfd-shimmer 3s ease-in-out infinite;
}

@keyframes cwfd-shimmer {
    0%   { left: -100%; }
    50%  { left: 150%; }
    100% { left: 150%; }
}

.cwfd-hcpp.single-product form.cart .single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(20, 93, 160, 0.30);
    background: linear-gradient(135deg, var(--cwfd-blue-vibrant) 0%, var(--cwfd-blue) 100%);
}

.cwfd-hcpp.single-product form.cart .single_add_to_cart_button:active {
    transform: translateY(0);
}

/* Out-of-stock state — style wishlist/share pills subtly so they don't hijack the CTA look */
.cwfd-hcpp.single-product .summary .yith-wcwl-add-to-wishlist a,
.cwfd-hcpp.single-product .summary .yith-wcwl-add-button > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--cwfd-bg);
    border: 1px solid var(--cwfd-border);
    border-radius: 999px;
    color: var(--cwfd-blue-deep);
    font-weight: 700;
    font-size: 0.88rem;
    padding: 8px 16px;
    text-decoration: none;
    min-height: 0;
    width: auto;
    height: auto;
    box-shadow: none;
    transition: all var(--cwfd-transition);
}

.cwfd-hcpp.single-product .summary .yith-wcwl-add-to-wishlist a:hover {
    background: var(--cwfd-blue-soft);
    border-color: var(--cwfd-blue);
}

.cwfd-hcpp.single-product .summary .yith-wcwl-add-to-wishlist {
    margin: 14px 0 0;
}

.cwfd-hcpp.single-product .summary .wc-share-buttons,
.cwfd-hcpp.single-product .summary .share-buttons {
    margin-top: 12px;
}

/* ═══════════════════════════════════════════════════════════════
   SUMMARY ENHANCEMENTS
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-sp-summary-tools {
    display: grid;
    gap: 14px;
    margin: 18px 0 0;
}

/* Badges Row */
.cwfd-hcpp .cwfd-sp-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cwfd-hcpp .cwfd-sp-badge {
    background: var(--cwfd-blue-soft);
    border: 1px solid #c9dbee;
    border-radius: 999px;
    color: var(--cwfd-blue-deep);
    display: inline-flex;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 7px 14px;
    letter-spacing: 0.01em;
    transition: all var(--cwfd-transition);
}

.cwfd-hcpp .cwfd-sp-badge:hover {
    background: #dce8f4;
    transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════════
   HIGHLIGHT PANEL & GUARANTEES
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-sp-highlight-panel,
.cwfd-hcpp .cwfd-sp-support-card,
.cwfd-hcpp.single-product .woocommerce-tabs,
.cwfd-hcpp.single-product .related.products {
    background: var(--cwfd-card);
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    box-shadow: var(--cwfd-shadow);
}

.cwfd-hcpp .cwfd-sp-highlight-panel {
    background: linear-gradient(180deg, #fcfeff 0%, #eef4fa 100%);
    padding: 20px 22px;
}

.cwfd-hcpp .cwfd-sp-kicker {
    color: var(--cwfd-blue);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.cwfd-hcpp .cwfd-sp-highlight-list {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cwfd-hcpp .cwfd-sp-highlight-list li {
    color: var(--cwfd-ink);
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.92rem;
    line-height: 1.5;
}

.cwfd-hcpp .cwfd-sp-highlight-list li::before {
    content: "✓";
    color: var(--cwfd-success-ink);
    flex: 0 0 auto;
    font-size: 0.7rem;
    font-weight: 800;
    margin-top: 3px;
    width: 18px;
    height: 18px;
    background: var(--cwfd-success-bg);
    border: 1px solid #b2e5c8;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Guarantees Strip */
.cwfd-hcpp .cwfd-sp-guarantees {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius-sm);
    overflow: hidden;
    background: var(--cwfd-bg);
}

.cwfd-hcpp .cwfd-sp-guar-item {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    padding: 10px 12px;
    border-right: 1px solid var(--cwfd-border);
}

.cwfd-hcpp .cwfd-sp-guar-item:last-child {
    border-right: 0;
}

.cwfd-hcpp .cwfd-sp-guar-item svg {
    flex-shrink: 0;
    stroke: var(--cwfd-blue);
    opacity: 0.65;
}

.cwfd-hcpp .cwfd-sp-guar-item span {
    color: var(--cwfd-ink);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ═══════════════════════════════════════════════════════════════
   FEATURES GRID — full-width 4-card section
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 0;
}

.cwfd-hcpp .cwfd-feat-card {
    background: var(--cwfd-card);
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    padding: 24px 20px;
    text-align: center;
    transition: all var(--cwfd-transition);
    box-shadow: var(--cwfd-shadow-sm);
}

.cwfd-hcpp .cwfd-feat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--cwfd-shadow);
    border-color: rgba(20, 93, 160, 0.18);
}

.cwfd-hcpp .cwfd-feat-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--cwfd-blue-soft) 0%, #d5e4f3 100%);
    border-radius: 14px;
}

.cwfd-hcpp .cwfd-feat-icon svg {
    stroke: var(--cwfd-blue);
}

.cwfd-hcpp .cwfd-feat-card h3 {
    color: var(--cwfd-blue-deep);
    font-size: 0.92rem;
    font-weight: 800;
    margin: 0 0 8px;
    line-height: 1.3;
}

.cwfd-hcpp .cwfd-feat-card p {
    color: var(--cwfd-muted);
    font-size: 0.82rem;
    line-height: 1.65;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════
   SUPPORT CARD — full-width
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-sp-support-card {
    background: linear-gradient(135deg, var(--cwfd-blue-deep) 0%, var(--cwfd-blue) 60%, var(--cwfd-blue-vibrant) 100%);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    margin-top: 0;
    padding: 24px 28px;
    position: relative;
    overflow: hidden;
}

.cwfd-hcpp .cwfd-sp-support-card::before {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    pointer-events: none;
}

.cwfd-hcpp .cwfd-sp-support-card::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 30%;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.cwfd-hcpp .cwfd-sp-support-icon {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    backdrop-filter: blur(8px);
}

.cwfd-hcpp .cwfd-sp-support-card .cwfd-sp-kicker,
.cwfd-hcpp .cwfd-sp-support-card h3,
.cwfd-hcpp .cwfd-sp-support-card p {
    color: #fff;
}

.cwfd-hcpp .cwfd-sp-support-card p {
    line-height: 1.65;
    margin: 0;
    max-width: 60ch;
    opacity: 0.88;
    font-size: 0.92rem;
}

.cwfd-hcpp .cwfd-sp-support-copy {
    flex: 1 1 280px;
    min-width: 0;
}

.cwfd-hcpp .cwfd-sp-support-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-left: auto;
    position: relative;
    z-index: 1;
}

.cwfd-hcpp .cwfd-sp-support-btn {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-weight: 700;
    font-size: 0.88rem;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 22px;
    text-decoration: none;
    transition: all var(--cwfd-transition);
    white-space: nowrap;
}

.cwfd-hcpp .cwfd-sp-support-btn--primary {
    background: #fff;
    color: var(--cwfd-blue-deep);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.cwfd-hcpp .cwfd-sp-support-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

.cwfd-hcpp .cwfd-sp-support-btn--secondary {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.24);
    color: #fff;
    backdrop-filter: blur(6px);
}

.cwfd-hcpp .cwfd-sp-support-btn--secondary:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* ═══════════════════════════════════════════════════════════════
   PRODUCT META
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product .product_meta {
    border-top: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    padding-top: 0;
}

.cwfd-hcpp.single-product .product_meta > span {
    align-items: center;
    background: var(--cwfd-bg);
    border: 1px solid var(--cwfd-border);
    border-radius: 999px;
    color: var(--cwfd-muted);
    display: inline-flex;
    gap: 5px;
    margin: 0;
    padding: 7px 12px;
    font-size: 0.82rem;
    transition: all var(--cwfd-transition);
}

.cwfd-hcpp.single-product .product_meta > span:hover {
    background: var(--cwfd-blue-soft);
}

.cwfd-hcpp.single-product .product_meta a {
    color: var(--cwfd-blue-deep);
    font-weight: 700;
    text-decoration: none;
    transition: color var(--cwfd-transition);
}

.cwfd-hcpp.single-product .product_meta a:hover {
    color: var(--cwfd-blue);
}

/* ═══════════════════════════════════════════════════════════════
   WOOCOMMERCE TABS (DESCRIPTION)
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product .woocommerce-tabs {
    margin-top: 0;
    padding: 28px 32px;
}

.cwfd-hcpp.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 22px;
    padding: 0;
    border-bottom: none;
}

.cwfd-hcpp.single-product .woocommerce-tabs ul.tabs li {
    background: transparent;
    border: 0;
    margin: 0;
    padding: 0;
}

.cwfd-hcpp.single-product .woocommerce-tabs ul.tabs li a {
    background: var(--cwfd-bg);
    border: 1px solid var(--cwfd-border);
    border-radius: 999px;
    color: var(--cwfd-blue-deep);
    display: inline-flex;
    font-weight: 700;
    font-size: 0.88rem;
    padding: 10px 20px;
    transition: all var(--cwfd-transition);
}

.cwfd-hcpp.single-product .woocommerce-tabs ul.tabs li.active a,
.cwfd-hcpp.single-product .woocommerce-tabs ul.tabs li:hover a {
    background: var(--cwfd-blue);
    border-color: var(--cwfd-blue);
    color: #fff;
    box-shadow: 0 4px 16px rgba(20, 93, 160, 0.22);
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel {
    color: var(--cwfd-ink);
    line-height: 1.85;
    font-size: 0.96rem;
}

.cwfd-hcpp.single-product .woocommerce-tabs.cwfd-tabs-ready .woocommerce-Tabs-panel {
    display: none;
}

.cwfd-hcpp.single-product .woocommerce-tabs.cwfd-tabs-ready .woocommerce-Tabs-panel.active {
    display: block;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel h2,
.cwfd-hcpp.single-product .woocommerce-Tabs-panel h3,
.cwfd-hcpp.single-product .woocommerce-Tabs-panel h4 {
    color: var(--cwfd-blue-deep);
    line-height: 1.25;
    margin: 22px 0 10px;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel h2 {
    font-size: 1.35rem;
    font-weight: 800;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel h3 {
    font-size: 1.1rem;
    font-weight: 700;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel h4 {
    border-left: 3px solid var(--cwfd-blue);
    font-size: 0.95rem;
    padding-left: 12px;
    font-weight: 700;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel hr {
    background: linear-gradient(90deg, rgba(15, 76, 151, 0.15), rgba(15, 76, 151, 0));
    border: 0;
    height: 1px;
    margin: 22px 0;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel ul {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    padding-left: 18px;
}

.cwfd-hcpp.single-product .woocommerce-Tabs-panel li::marker {
    color: var(--cwfd-blue);
}

/* Spec Boxes inside description */
.cwfd-hcpp.single-product .cwfd-spec-box {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
}

.cwfd-hcpp.single-product .cwfd-spec-grid {
    gap: 18px;
}

.cwfd-hcpp.single-product .cwfd-spec-col,
.cwfd-hcpp.single-product .cwfd-nut-table {
    background: linear-gradient(135deg, #f8fbfe 0%, #edf3f9 100%);
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    padding: 18px;
}

.cwfd-hcpp.single-product .cwfd-spec-col h3,
.cwfd-hcpp.single-product .cwfd-nut-table h3 {
    border-bottom: 0;
    color: var(--cwfd-blue-deep);
    margin-bottom: 14px;
    padding-bottom: 0;
}

.cwfd-hcpp.single-product .cwfd-check-list li {
    color: var(--cwfd-ink);
    line-height: 1.6;
    margin-bottom: 8px;
}

.cwfd-hcpp.single-product .cwfd-check-list li::before {
    color: var(--cwfd-blue);
}

.cwfd-hcpp.single-product .cwfd-nut-table table {
    border: 0;
    border-radius: var(--cwfd-radius-sm);
    overflow: hidden;
}

.cwfd-hcpp.single-product .cwfd-nut-table td {
    border-bottom-color: var(--cwfd-border);
}

.cwfd-hcpp.single-product .cwfd-nut-table td:nth-child(odd) {
    background: var(--cwfd-blue-soft);
    color: var(--cwfd-blue-deep);
}

/* ═══════════════════════════════════════════════════════════════
   DYNAMIC DESCRIPTION TAB
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-desc-dynamic {
    font-family: var(--cwfd-font);
    color: var(--cwfd-ink);
}

.cwfd-hcpp .cwfd-desc-head h2 {
    color: var(--cwfd-blue-deep);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 14px;
}

.cwfd-hcpp .cwfd-desc-brand {
    color: var(--cwfd-blue);
    font-weight: 700;
    font-size: 0.9em;
}

.cwfd-hcpp .cwfd-desc-body {
    font-size: 1.0625rem;
    line-height: 1.75;
}

.cwfd-hcpp .cwfd-desc-body p {
    margin: 0 0 14px;
}

.cwfd-hcpp .cwfd-desc-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--cwfd-radius-sm);
    margin: 8px 0;
}

/* ───────────────────────────────────────────────────────────────
   Author-HTML normalization — ONE consistent house style for the
   Product Details body across ALL products, no matter which heading
   tags or inline style="" colours/sizes each description was typed
   with. !important is intentional here: it overrides per-product
   inline styles so every product renders identically.
   ─────────────────────────────────────────────────────────────── */
.cwfd-hcpp .cwfd-desc-body h2,
.cwfd-hcpp .cwfd-desc-body h3,
.cwfd-hcpp .cwfd-desc-body h4,
.cwfd-hcpp .cwfd-desc-body h5,
.cwfd-hcpp .cwfd-desc-body h6 {
    color: var(--cwfd-blue-deep) !important;
    font-family: var(--cwfd-heading-font) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    margin: 22px 0 10px !important;
}
.cwfd-hcpp .cwfd-desc-body h2 { font-size: 1.3rem !important; }
.cwfd-hcpp .cwfd-desc-body h3 { font-size: 1.15rem !important; }
.cwfd-hcpp .cwfd-desc-body h4,
.cwfd-hcpp .cwfd-desc-body h5,
.cwfd-hcpp .cwfd-desc-body h6 { font-size: 1.02rem !important; }
.cwfd-hcpp .cwfd-desc-body > *:first-child { margin-top: 0 !important; }

.cwfd-hcpp .cwfd-desc-body ul,
.cwfd-hcpp .cwfd-desc-body ol {
    margin: 0 0 16px !important;
    padding-left: 22px !important;
}
.cwfd-hcpp .cwfd-desc-body li {
    margin: 0 0 8px !important;
    line-height: 1.7 !important;
    color: var(--cwfd-ink) !important;
}
.cwfd-hcpp .cwfd-desc-body ul li::marker {
    color: var(--cwfd-blue) !important;
}
.cwfd-hcpp .cwfd-desc-body p {
    color: var(--cwfd-ink) !important;
}
.cwfd-hcpp .cwfd-desc-body strong,
.cwfd-hcpp .cwfd-desc-body b {
    font-weight: 600 !important;
    color: var(--cwfd-ink) !important;
}
.cwfd-hcpp .cwfd-desc-body a {
    color: var(--cwfd-blue) !important;
    font-weight: 500 !important;
    text-decoration: none;
}
.cwfd-hcpp .cwfd-desc-body a:hover {
    text-decoration: underline;
}

.cwfd-hcpp .cwfd-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.cwfd-hcpp .cwfd-spec-grid--single {
    grid-template-columns: 1fr;
}

.cwfd-hcpp .cwfd-spec-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 22px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.cwfd-hcpp .cwfd-spec-list li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--cwfd-border);
    font-size: 0.92rem;
    line-height: 1.5;
}

.cwfd-hcpp .cwfd-spec-list li::before {
    display: none;
}

.cwfd-hcpp .cwfd-spec-list li strong {
    color: var(--cwfd-muted);
    font-weight: 600;
    flex: 0 0 auto;
}

.cwfd-hcpp .cwfd-spec-list li span {
    color: var(--cwfd-blue-deep);
    font-weight: 700;
    text-align: right;
}

.cwfd-hcpp .cwfd-desc-info h3,
.cwfd-hcpp .cwfd-desc-faq h3 {
    color: var(--cwfd-blue-deep);
    font-size: 1.1rem;
    font-weight: 800;
    margin: 0 0 12px;
}

.cwfd-hcpp .cwfd-faq-list {
    display: grid;
    gap: 12px;
    margin: 0;
}

.cwfd-hcpp .cwfd-faq-list dt {
    color: var(--cwfd-blue-deep);
    font-weight: 700;
    font-size: 0.98rem;
    border-left: 3px solid var(--cwfd-blue);
    padding-left: 12px;
    margin: 0 0 4px;
}

.cwfd-hcpp .cwfd-faq-list dd {
    color: var(--cwfd-ink);
    margin: 0 0 6px 15px;
    line-height: 1.7;
    font-size: 0.94rem;
}

/* Description section dividers */
.cwfd-hcpp .cwfd-desc-dynamic hr {
    background: linear-gradient(90deg, rgba(20, 93, 160, 0.22), rgba(20, 93, 160, 0));
    border: 0;
    height: 1px;
    margin: 24px 0;
}

/* Mobile: single-column spec list */
@media (max-width: 767px) {
    .cwfd-hcpp .cwfd-spec-list {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .cwfd-hcpp .cwfd-spec-list li {
        padding: 10px 0;
    }

    .cwfd-hcpp .cwfd-desc-body,
    .cwfd-hcpp.single-product .summary .woocommerce-product-details__short-description {
        font-size: 1rem;
        line-height: 1.7;
    }
}

/* ═══════════════════════════════════════════════════════════════
   RELATED PRODUCTS
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product .related.products {
    margin-top: 0;
    padding: 24px;
}

.cwfd-hcpp.single-product .related.products > h2,
.cwfd-hcpp.single-product .related.products > h3 {
    color: var(--cwfd-blue-deep);
    font-size: clamp(1.3rem, 1.8vw, 1.7rem);
    font-weight: 800;
    margin-bottom: 16px;
}

.cwfd-hcpp.single-product .related.products ul.products li.product {
    background: linear-gradient(180deg, #ffffff 0%, #f6fafe 100%);
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    box-shadow: var(--cwfd-shadow-sm);
    overflow: hidden;
    padding: 14px;
    transition: transform var(--cwfd-transition), box-shadow var(--cwfd-transition);
}

.cwfd-hcpp.single-product .related.products ul.products li.product:hover {
    box-shadow: var(--cwfd-shadow);
    transform: translateY(-4px);
}

.cwfd-hcpp.single-product .related.products ul.products li.product .button,
.cwfd-hcpp.single-product .related.products ul.products li.product .btn {
    border-radius: 999px;
    text-transform: none;
    font-size: 0.85rem;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE STICKY BAR
   ═══════════════════════════════════════════════════════════════ */
.cwfd-sp-mobile-bar {
    background: rgba(12, 35, 59, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    bottom: 16px;
    box-shadow: 0 16px 40px rgba(11, 27, 46, 0.32);
    color: #fff;
    left: 12px;
    opacity: 0;
    padding: 12px 14px;
    pointer-events: none;
    position: fixed;
    right: 12px;
    transform: translateY(120%);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 9999;
}

.cwfd-sp-mobile-visible .cwfd-sp-mobile-bar {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.cwfd-sp-mobile-bar .mobile-bar-inner {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.cwfd-sp-mobile-bar .mobile-bar-info {
    min-width: 0;
    overflow: hidden;
}

.cwfd-sp-mobile-bar .mobile-bar-title {
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cwfd-sp-mobile-bar .mobile-bar-price {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.78rem;
    line-height: 1.35;
}

.cwfd-sp-mobile-bar .mobile-bar-btn {
    background: #fff;
    border: 0;
    border-radius: 999px;
    color: var(--cwfd-blue-deep);
    cursor: pointer;
    font-weight: 800;
    font-size: 0.82rem;
    min-height: 42px;
    padding: 0 18px;
    white-space: nowrap;
    transition: all var(--cwfd-transition);
}

.cwfd-sp-mobile-bar .mobile-bar-btn:active {
    transform: scale(0.97);
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

/* ─── Mid-desktop (max-width: 1199px) — tighten grid spacing ─── */
@media (max-width: 1199px) {
    .cwfd-hcpp.single-product .product-summary-wrap > .row {
        gap: 28px !important;
    }

    .cwfd-hcpp.single-product .product-summary-wrap > .row > .summary.col-md-7,
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .col-md-6:last-child {
        padding: 28px !important;
    }

    .cwfd-hcpp .cwfd-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ─── Tablet (max-width: 991px) ─── */
@media (max-width: 991px) {
    .cwfd-hcpp.single-product .product-summary-wrap > .row {
        gap: 20px !important;
        flex-wrap: wrap !important;
    }

    .cwfd-hcpp.single-product .product-summary-wrap > .row > .summary-before.col-md-5,
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .col-md-6:first-child,
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .summary.col-md-7,
    .cwfd-hcpp.single-product .product-summary-wrap > .row > .col-md-6:last-child {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery {
        position: static !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary,
    .cwfd-hcpp.single-product .woocommerce-tabs,
    .cwfd-hcpp.single-product .related.products {
        border-radius: 18px;
        padding: 20px;
    }

    .cwfd-hcpp .cwfd-sp-support-card {
        padding: 20px;
        gap: 14px;
    }

    .cwfd-hcpp .cwfd-sp-support-icon {
        display: none;
    }

    .cwfd-hcpp .cwfd-sp-support-actions {
        margin-left: 0;
        width: 100%;
    }

    .cwfd-hcpp .cwfd-sp-support-btn {
        flex: 1 1 160px;
    }

    .cwfd-hcpp .cwfd-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* ─── Mobile (max-width: 767px) ─── */
@media (max-width: 767px) {
    .cwfd-hcpp.single-product .product_title {
        font-size: 1.55rem;
        letter-spacing: -0.02em;
    }

    .cwfd-hcpp .cwfd-trust-strip {
        gap: 4px;
    }

    .cwfd-hcpp .cwfd-ts-item {
        font-size: 0.74rem;
    }

    .cwfd-hcpp.single-product .summary .price,
    .cwfd-hcpp.single-product .summary p.price,
    .cwfd-hcpp.single-product .summary .woocommerce-variation-price {
        display: flex;
        width: 100%;
    }

    .cwfd-hcpp.single-product form.cart {
        padding: 14px;
        gap: 10px;
    }

    .cwfd-hcpp.single-product form.cart .single_add_to_cart_button {
        flex: 1 1 100%;
        width: 100%;
    }

    .cwfd-hcpp.single-product form.cart .quantity {
        flex: 0 0 auto;
    }

    .cwfd-hcpp.single-product .woocommerce-tabs {
        padding: 16px;
    }

    .cwfd-hcpp.single-product .woocommerce-tabs ul.tabs {
        gap: 6px;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }

    .cwfd-hcpp.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
        display: none;
    }

    .cwfd-hcpp.single-product .woocommerce-tabs ul.tabs li a {
        padding: 9px 14px;
        font-size: 0.82rem;
        white-space: nowrap;
    }

    .cwfd-hcpp .cwfd-sp-highlight-panel {
        padding: 16px;
    }

    .cwfd-hcpp .cwfd-sp-highlight-list li {
        font-size: 0.88rem;
        gap: 8px;
    }

    .cwfd-hcpp .cwfd-sp-badges {
        gap: 6px;
    }

    .cwfd-hcpp .cwfd-sp-badge {
        font-size: 0.78rem;
        padding: 5px 10px;
    }

    .cwfd-hcpp .cwfd-sp-support-card p {
        font-size: 0.85rem;
    }

    .cwfd-hcpp .cwfd-sp-support-btn {
        min-height: 42px;
        font-size: 0.82rem;
    }

    .cwfd-hcpp.single-product .related.products {
        padding: 16px;
    }

    .cwfd-hcpp.single-product .related.products > h2,
    .cwfd-hcpp.single-product .related.products > h3 {
        font-size: 1.2rem;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary {
        border-radius: 16px;
        padding: 16px;
    }

    .cwfd-hcpp.single-product .product_meta > span {
        font-size: 0.78rem;
        padding: 5px 10px;
    }

    .cwfd-hcpp .cwfd-sp-guarantees {
        flex-direction: column;
    }

    .cwfd-hcpp .cwfd-sp-guar-item {
        border-right: 0;
        border-bottom: 1px solid var(--cwfd-border);
        justify-content: flex-start;
        padding: 8px 12px;
    }

    .cwfd-hcpp .cwfd-sp-guar-item:last-child {
        border-bottom: 0;
    }

    .cwfd-hcpp .cwfd-features-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .cwfd-hcpp .cwfd-feat-card {
        padding: 16px 14px;
    }

    .cwfd-hcpp .cwfd-feat-card h3 {
        font-size: 0.82rem;
    }

    .cwfd-hcpp .cwfd-feat-card p {
        font-size: 0.76rem;
    }

    .cwfd-hcpp .cwfd-feat-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 10px;
    }

    .cwfd-hcpp .cwfd-feat-icon svg {
        width: 20px;
        height: 20px;
    }
}

/* ─── Small Mobile (max-width: 480px) ─── */
@media (max-width: 480px) {
    .cwfd-hcpp.single-product .product_title {
        font-size: 1.35rem;
    }

    .cwfd-hcpp .cwfd-trust-strip {
        gap: 3px;
    }

    .cwfd-hcpp .cwfd-ts-item {
        font-size: 0.7rem;
    }

    .cwfd-hcpp .cwfd-ts-dot {
        font-size: 0.75rem;
    }

    .cwfd-sp-mobile-bar {
        bottom: 10px;
        left: 8px;
        right: 8px;
        border-radius: 14px;
        padding: 10px 12px;
    }

    .cwfd-sp-mobile-bar .mobile-bar-title {
        font-size: 0.82rem;
    }

    .cwfd-sp-mobile-bar .mobile-bar-btn {
        min-height: 38px;
        padding: 0 14px;
        font-size: 0.78rem;
    }

    .cwfd-hcpp .cwfd-features-grid {
        grid-template-columns: 1fr;
    }

    .cwfd-hcpp .cwfd-feat-card {
        text-align: left;
        display: flex;
        gap: 14px;
        align-items: flex-start;
        padding: 14px;
    }

    .cwfd-hcpp .cwfd-feat-icon {
        margin: 0;
        flex-shrink: 0;
    }

    .cwfd-hcpp .cwfd-feat-card h3 {
        margin-bottom: 4px;
    }
}

/* ─── CWFD v8.6 title fit: keep pack wording visible in the H1 ─── */
@media (min-width: 992px) {
    .cwfd-hcpp.single-product .product_title,
    .single-product .froz-amazon-layout h1.product_title {
        font-size: clamp(1.55rem, 1.45vw, 1.82rem) !important;
        line-height: 1.14 !important;
        letter-spacing: 0 !important;
        max-width: 100%;
    }
}

@media (min-width: 1500px) {
    .cwfd-hcpp.single-product .product_title,
    .single-product .froz-amazon-layout h1.product_title {
        font-size: clamp(1.65rem, 1.55vw, 1.95rem) !important;
    }
}

.cwfd-hcpp.single-product .product_title .cwfd-title-pack,
.single-product .froz-amazon-layout h1.product_title .cwfd-title-pack {
    display: block;
    margin-top: 2px;
    font-size: 0.86em;
    font-weight: 800;
    line-height: 1.12;
    color: var(--cwfd-blue-deep);
}

.cwfd-hcpp.single-product .summary .share-links,
.cwfd-hcpp.single-product .summary .share-buttons,
.cwfd-hcpp.single-product .summary .wc-share-buttons,
.cwfd-hcpp.single-product .summary .product-share,
.cwfd-hcpp.single-product .summary .porto-share,
.cwfd-hcpp.single-product .summary a[href*="facebook.com/sharer"],
.cwfd-hcpp.single-product .summary a[href^="mailto:"],
body.cwfd-froz-layout .summary .share-links,
body.cwfd-froz-layout .summary .share-buttons,
body.cwfd-froz-layout .summary .wc-share-buttons,
body.cwfd-froz-layout .summary .product-share,
body.cwfd-froz-layout .summary .porto-share,
body.cwfd-froz-layout .summary a[href*="facebook.com/sharer"],
body.cwfd-froz-layout .summary a[href^="mailto:"] {
    display: none !important;
}

/* ─── Desktop: Hide mobile bar ─── */
@media (min-width: 768px) {
    .cwfd-sp-mobile-bar {
        display: none;
    }
}

/* ─── Print ─── */
@media print {
    .cwfd-sp-mobile-bar,
    .cwfd-hcpp .cwfd-sp-support-card,
    .cwfd-hcpp .cwfd-trust-strip,
    .cwfd-hcpp .cwfd-sp-guarantees,
    .cwfd-hcpp .cwfd-features-grid {
        display: none !important;
    }

    .cwfd-hcpp.single-product .woocommerce-tabs,
    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PORTO BUILDER TEMPLATE SUPPORT — .froz-amazon-layout
   Rebrands the legacy Frozberries red template to CWFD navy.
   ═══════════════════════════════════════════════════════════════ */
.froz-amazon-layout {
    --cwfd-blue: #145DA0;
    --cwfd-blue-deep: #0A3763;
    --cwfd-blue-vibrant: #1B6DBF;
    --cwfd-red: #E1251A;
    --cwfd-ink: #0A3763;
    --cwfd-muted: #6b7f94;
    --cwfd-border: #d9e5f0;
    --cwfd-soft: #eaf2fa;
    --cwfd-bg: #f8fafc;
    --cwfd-radius: 14px;
    --cwfd-shadow: 0 4px 16px rgba(10, 55, 99, 0.08);
    --froz-red: var(--cwfd-blue);
    --border-light: var(--cwfd-border);
    --bg-soft: var(--cwfd-bg);
    --text-main: var(--cwfd-ink);
    --text-muted: var(--cwfd-muted);
}

/* Title / price */
.froz-amazon-layout .product_title,
.single-product .froz-amazon-layout h1.product_title {
    font-size: clamp(1.5rem, 2.3vw, 1.875rem) !important;
    font-weight: 500;
    color: var(--cwfd-ink);
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 10px;
}
.froz-amazon-layout .froz-title-price .price,
.froz-amazon-layout .price {
    color: var(--cwfd-ink);
}
.froz-amazon-layout .froz-buybox-price .price {
    color: var(--cwfd-blue) !important;
    font-size: 2rem !important;
    font-weight: 800;
}

/* Buy box */
.froz-buy-box-inner {
    background: #fff;
    border: 1px solid var(--cwfd-border);
    border-radius: var(--cwfd-radius);
    padding: 22px;
    box-shadow: var(--cwfd-shadow);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Stock pill */
.froz-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 999px;
    width: fit-content;
}
.froz-stock--in  { background: #e8f5ed; color: #047857; }
.froz-stock--low { background: #fff4e5; color: #b45309; }
.froz-stock--oos { background: #fde8e8; color: #b91c1c; }

/* Add to cart — buy box only */
.single-product .froz-amazon-layout .single_add_to_cart_button,
.single-product [class*="froz-amazon-layout"] .single_add_to_cart_button,
body .single-product.cwfd-hcpp .froz-amazon-layout .single_add_to_cart_button {
    width: 100%;
    height: 52px;
    border-radius: 10px;
    background: var(--cwfd-blue) !important;
    color: #fff !important;
    font-weight: 700;
    font-size: 1rem;
    border: 0;
    transition: background 0.2s ease, transform 0.2s ease;
}
.froz-amazon-layout form.cart .single_add_to_cart_button:hover {
    background: var(--cwfd-blue-deep) !important;
    transform: translateY(-1px);
}

/* Meta inline (SKU / Cat / Tags) */
.froz-meta-inline {
    font-size: 0.82rem;
    color: var(--cwfd-muted);
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px dashed var(--cwfd-border);
}
.froz-meta-inline .product_meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.froz-meta-inline a {
    color: var(--cwfd-blue);
    text-decoration: none;
}
.froz-meta-inline a:hover { text-decoration: underline; }

/* Trust micro-list inside buy box */
.froz-trust {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--cwfd-muted);
}
.froz-trust li {
    padding: 0;
    margin: 0;
}

/* Attribute icon cards */
.froz-attributes-row {
    margin-top: 32px;
}
.froz-attributes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.froz-attr-card {
    background: #fff;
    border: 1px solid var(--cwfd-border);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.froz-attr-card:hover {
    box-shadow: var(--cwfd-shadow);
    transform: translateY(-1px);
}
.froz-attr-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--cwfd-soft);
    color: var(--cwfd-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    flex-shrink: 0;
}
.froz-attr-title {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--cwfd-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 2px;
}
.froz-attr-value {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--cwfd-ink);
    line-height: 1.35;
}

/* Disclaimer */
.froz-disclaimer-wrapper {
    margin-top: 40px;
    background: #fffafa;
    border: 1px solid #fce8eb;
    border-radius: 14px;
    padding: 28px;
}
.froz-disclaimer-wrapper h3,
.froz-disclaimer-title {
    color: var(--cwfd-red);
    font-size: 1.12rem;
    font-weight: 700;
    margin: 0 0 12px;
}
.froz-disclaimer-wrapper p {
    font-size: 0.88rem;
    line-height: 1.7;
    color: #4b5563;
    margin: 0 0 10px;
}
.froz-disclaimer-note {
    font-style: italic;
    color: var(--cwfd-muted);
}

/* Responsive */
@media (max-width: 991px) {
    .froz-attributes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .froz-attributes-grid { grid-template-columns: 1fr; }
    .froz-buy-box-inner { padding: 18px; }
    .froz-disclaimer-wrapper { padding: 20px; }
}

/* ═══════════════════════════════════════════════════════════════
   CWFD FROZ LAYOUT — body-scoped overrides (v5.5)
   These kick in whenever the template contains .froz-amazon-layout
   and survive Porto wpautop / wrapper variations.
   ═══════════════════════════════════════════════════════════════ */
body.cwfd-froz-layout .single_add_to_cart_button,
body.cwfd-froz-layout form.cart .single_add_to_cart_button,
body.cwfd-froz-layout .cart .button.single_add_to_cart_button {
    background: #145DA0 !important;
    background-color: #145DA0 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    min-height: 52px;
    padding: 14px 24px !important;
    box-shadow: 0 4px 14px rgba(20, 93, 160, 0.22);
    transition: background 0.2s ease, transform 0.2s ease;
}
body.cwfd-froz-layout .single_add_to_cart_button:hover,
body.cwfd-froz-layout form.cart .single_add_to_cart_button:hover {
    background: #0A3763 !important;
    background-color: #0A3763 !important;
    transform: translateY(-1px);
}

/* Buy box styling — applied whenever div.froz-buy-box-inner exists */
body.cwfd-froz-layout .froz-buy-box-inner {
    background: #fff !important;
    border: 1px solid #d9e5f0 !important;
    border-radius: 14px !important;
    padding: 22px !important;
    box-shadow: 0 4px 16px rgba(10, 55, 99, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-top: 12px;
}

/* Defeat wpautop empty <p> inside buy box */
body.cwfd-froz-layout .froz-buy-box-inner > p:empty { display: none; }
body.cwfd-froz-layout .froz-buy-box-inner > p { margin: 0; }

/* Stock pill — ensure visible even without wrapper */
body.cwfd-froz-layout .froz-stock { display: inline-flex !important; }

/* Attribute grid — applied regardless of wrapper */
body.cwfd-froz-layout .froz-attributes-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
@media (max-width: 991px) {
    body.cwfd-froz-layout .froz-attributes-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    body.cwfd-froz-layout .froz-attributes-grid { grid-template-columns: 1fr; }
}

/* Price styling inside the row */
body.cwfd-froz-layout .price,
body.cwfd-froz-layout .price .woocommerce-Price-amount {
    color: #145DA0 !important;
    font-weight: 800 !important;
}

/* Hide quantity spacing junk */
body.cwfd-froz-layout .froz-buy-box-inner .quantity {
    margin: 0 0 8px;
}

/* ─── Compact pack note ─── */
.cwfd-price-breakdown {
    margin: 8px 0 14px;
    padding: 0 0 0 12px;
    background: transparent;
    border: 0;
    border-left: 3px solid var(--cwfd-border);
    border-radius: 0;
    font-family: var(--cwfd-font);
    color: var(--cwfd-muted);
    line-height: 1.4;
}
.cwfd-price-breakdown .cwfd-pb-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 13px;
    color: var(--cwfd-muted);
    margin-bottom: 6px;
}
.cwfd-price-breakdown .cwfd-pb-row .cwfd-pb-value {
    color: var(--cwfd-ink);
    font-weight: 600;
}
.cwfd-price-breakdown .cwfd-pb-row em,
.cwfd-price-breakdown .cwfd-pb-total em {
    font-style: normal;
    font-weight: 500;
    color: var(--cwfd-muted);
    font-size: 12px;
    margin-left: 2px;
}
.cwfd-price-breakdown .cwfd-pb-calc {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 0;
    border-top: 0;
    font-size: 14px;
}
.cwfd-price-breakdown .cwfd-pb-formula {
    color: var(--cwfd-ink);
    font-weight: 700;
}
.cwfd-price-breakdown .cwfd-pb-equals {
    color: var(--cwfd-muted);
    font-weight: 700;
}
.cwfd-price-breakdown .cwfd-pb-total {
    color: var(--cwfd-blue);
    font-weight: 700;
    font-size: 17px;
    margin-left: auto;
}
.cwfd-price-breakdown .cwfd-pb-note {
    margin: 0;
    font-size: 13px;
    color: var(--cwfd-muted);
}
.cwfd-price-breakdown .cwfd-pb-box-price {
    color: var(--cwfd-ink);
    font-weight: 700;
}
@media (max-width: 480px) {
    .cwfd-price-breakdown .cwfd-pb-calc { font-size: 13px; }
    .cwfd-price-breakdown .cwfd-pb-total { font-size: 15px; margin-left: 0; }
}

/* ─── Loop / archive inline price breakdown ─── */
.cwfd-pb-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    margin-left: 6px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    background: #eaf2fa;
    color: #0A3763;
    border: 1px solid #d9e5f0;
    border-radius: 999px;
    white-space: nowrap;
    vertical-align: baseline;
}
.cwfd-pb-inline .cwfd-pb-inline-calc { font-weight: 700; }
.cwfd-pb-inline .cwfd-pb-inline-calc .amount,
.cwfd-pb-inline .cwfd-pb-inline-calc bdi { color: #145DA0; }
.cwfd-pb-inline .cwfd-pb-inline-label {
    font-weight: 500;
    color: #6b7f94;
    font-size: 11px;
}
.products li.product .price .cwfd-pb-inline,
ul.products li.product .price .cwfd-pb-inline {
    display: inline-flex;
    margin-top: 2px;
}
@media (max-width: 480px) {
    .cwfd-pb-inline { font-size: 11px; padding: 2px 6px; }
    .cwfd-pb-inline .cwfd-pb-inline-label { display: none; }
}

/* ─── "ea" tag next to the main price on single product page ─── */
.cwfd-hcpp.single-product .summary .price .cwfd-price-each {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    vertical-align: middle;
    color: #6b7f94;
    background: #eaf2fa;
    border: 1px solid #d9e5f0;
    border-radius: 999px;
    text-transform: lowercase;
    letter-spacing: 0.2px;
}

/* ─── Hide SKU / product_meta block on single product page ─── */
.cwfd-hcpp.single-product .product_meta,
.cwfd-hcpp.single-product .summary .product_meta,
.cwfd-hcpp.single-product .froz-meta-inline {
    display: none !important;
}

/* ─── Hide Why-buyers-choose-this panel everywhere it might still appear ─── */
.cwfd-hcpp .cwfd-sp-highlight-panel { display: none !important; }

/* ─── Live running-total card (inside add-to-cart form) ─── */
.cwfd-live-total {
    display: block;
    margin: 14px 0 8px;
    padding: 14px 16px;
    border: 1px solid #d9e5f0;
    background: #f5faff;
    border-radius: var(--cwfd-radius-sm, 14px);
    color: #0A3763;
    font-family: var(--cwfd-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
    transition: background 0.2s, border-color 0.2s;
}
.cwfd-live-total.has-discount {
    background: #eaf7ef;
    border-color: #b6e0c4;
}
.cwfd-live-total .cwfd-lt-main {
    display: flex;
    align-items: center;
    gap: 12px;
}
.cwfd-live-total .cwfd-lt-icon {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #d9e5f0;
    color: #145DA0;
}
.cwfd-live-total .cwfd-lt-info { flex: 1 1 auto; min-width: 0; }
.cwfd-live-total .cwfd-lt-label {
    font-size: 13px;
    font-weight: 700;
    color: #0A3763;
    line-height: 1.2;
}
.cwfd-live-total .cwfd-lt-amount {
    flex: 0 0 auto;
    font-size: 22px;
    font-weight: 800;
    color: #145DA0;
    letter-spacing: -0.3px;
}
.cwfd-live-total.has-discount .cwfd-lt-amount { color: #1b7a4a; }
.cwfd-live-total .cwfd-lt-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #d9e5f0;
    font-size: 12px;
    color: #6b7f94;
    flex-wrap: wrap;
}
.cwfd-live-total .cwfd-lt-savings {
    font-weight: 700;
    color: #1b7a4a;
    background: #d4f5e2;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
}
.cwfd-live-total .cwfd-lt-tiers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #d9e5f0;
    font-size: 11px;
}
.cwfd-live-total .cwfd-lt-tiers-label {
    font-weight: 700;
    color: #0A3763;
    margin-right: 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cwfd-live-total .cwfd-lt-tier {
    padding: 3px 9px;
    background: #fff;
    border: 1px solid #d9e5f0;
    border-radius: 999px;
    color: #6b7f94;
    font-weight: 600;
    transition: all 0.18s;
}
.cwfd-live-total .cwfd-lt-tier.active {
    background: #1b7a4a;
    border-color: #1b7a4a;
    color: #fff;
}
@media (max-width: 480px) {
    .cwfd-live-total .cwfd-lt-amount { font-size: 19px; }
    .cwfd-live-total .cwfd-lt-icon { width: 32px; height: 32px; }
}

/* ─── Guest pricing card — replaces "Register to view pricing" ─── */
.cwfd-guest-card {
    margin: 16px 0 18px;
    padding: 22px 22px 18px;
    background: linear-gradient(155deg, #ffffff 0%, #f5faff 100%);
    border: 1px solid #d9e5f0;
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(10, 55, 99, 0.08);
    color: #0A3763;
    font-family: var(--cwfd-font);
    position: relative;
    overflow: hidden;
}
.cwfd-guest-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #145DA0 0%, #1B6DBF 50%, #145DA0 100%);
    border-radius: 18px 18px 0 0;
}

.cwfd-guest-card .cwfd-gc-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}
.cwfd-guest-card .cwfd-gc-icon {
    flex: 0 0 auto;
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #145DA0;
    color: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(20, 93, 160, 0.25);
}
.cwfd-guest-card .cwfd-gc-title {
    margin: 0 0 6px;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
    color: #0A3763;
    letter-spacing: -0.2px;
}
.cwfd-guest-card .cwfd-gc-text {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: #4a6076;
}

.cwfd-guest-card .cwfd-gc-actions {
    display: flex;
    gap: 10px;
    margin: 0 0 16px;
    flex-wrap: wrap;
}
.cwfd-guest-card .cwfd-gc-btn {
    flex: 1 1 0;
    min-width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    border-radius: 999px;
    border: 1.5px solid transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    cursor: pointer;
    white-space: nowrap;
}
.cwfd-guest-card .cwfd-gc-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(20, 93, 160, 0.25);
}
.cwfd-guest-card .cwfd-gc-btn--primary {
    background: #145DA0;
    color: #fff !important;
    border-color: #145DA0;
    box-shadow: 0 6px 18px rgba(20, 93, 160, 0.28);
}
.cwfd-guest-card .cwfd-gc-btn--primary:hover {
    background: #0A3763;
    border-color: #0A3763;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(10, 55, 99, 0.32);
}
.cwfd-guest-card .cwfd-gc-btn--secondary {
    background: #fff;
    color: #145DA0 !important;
    border-color: #145DA0;
}
.cwfd-guest-card .cwfd-gc-btn--secondary:hover {
    background: #eaf2fa;
    transform: translateY(-1px);
}
.cwfd-guest-card .cwfd-gc-btn svg {
    flex: 0 0 auto;
    stroke: currentColor;
}

.cwfd-guest-card .cwfd-gc-benefits {
    list-style: none !important;
    margin: 0 0 14px;
    padding: 14px 16px;
    background: #eaf2fa;
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}
.cwfd-guest-card .cwfd-gc-benefits li {
    margin: 0;
    padding: 0;
    list-style: none !important;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    line-height: 1.35;
    color: #0A3763;
    font-weight: 500;
}
.cwfd-guest-card .cwfd-gc-benefits li::before { content: none; }
.cwfd-guest-card .cwfd-gc-benefits svg {
    flex: 0 0 auto;
    color: #1b7a4a;
    background: #d4f5e2;
    border-radius: 50%;
    padding: 3px;
    box-sizing: content-box;
}

.cwfd-guest-card .cwfd-gc-help {
    margin: 0;
    padding-top: 12px;
    border-top: 1px dashed #d9e5f0;
    font-size: 12.5px;
    color: #6b7f94;
    text-align: center;
}
.cwfd-guest-card .cwfd-gc-help a {
    color: #145DA0;
    text-decoration: none;
}
.cwfd-guest-card .cwfd-gc-help a:hover { text-decoration: underline; }

/* Tablet */
@media (max-width: 768px) {
    .cwfd-guest-card { padding: 20px 18px 16px; border-radius: 16px; }
    .cwfd-guest-card .cwfd-gc-title { font-size: 16px; }
    .cwfd-guest-card .cwfd-gc-icon { width: 40px; height: 40px; }
}
/* Mobile */
@media (max-width: 480px) {
    .cwfd-guest-card { padding: 18px 16px 14px; }
    .cwfd-guest-card .cwfd-gc-head { gap: 12px; margin-bottom: 14px; }
    .cwfd-guest-card .cwfd-gc-title { font-size: 15.5px; }
    .cwfd-guest-card .cwfd-gc-text { font-size: 13px; }
    .cwfd-guest-card .cwfd-gc-actions { flex-direction: column; gap: 8px; }
    .cwfd-guest-card .cwfd-gc-btn { width: 100%; min-width: 0; padding: 13px 16px; }
    .cwfd-guest-card .cwfd-gc-benefits {
        grid-template-columns: 1fr;
        padding: 12px 14px;
        gap: 8px;
    }
    .cwfd-guest-card .cwfd-gc-benefits li { font-size: 12px; }
}

/* ─── Safety net: hide B2BKing's own "Register to view pricing" badge on single product
       (we render our own card via action hook). Targets the common wrappers without
       affecting the broader summary content. ─── */
.cwfd-hcpp.single-product .b2bking_login_register_message,
.cwfd-hcpp.single-product .b2bking-login-register-required,
.cwfd-hcpp.single-product .bbking_logged_out_register_text,
.cwfd-hcpp.single-product .b2bking-not-logged-in-message,
.cwfd-hcpp.single-product .b2bking-not-logged-in-pricing,
.cwfd-hcpp.single-product .summary > .price:empty,
.cwfd-hcpp.single-product .summary p.price:empty {
    display: none !important;
}

/* ─── Post-add actions: View cart + Continue shopping ───
   Rendered under the CTA once an add has actually happened. The pair replaces
   the theme's lone VIEW CART slab: same pill geometry and type as the buy box
   CTA so the row belongs to the card, with View cart carrying the weight and
   Continue shopping reading as the quieter way out. */
.cwfd-cart-actions {
    margin-top: 14px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--cwfd-border, #d9e5f0);
    border-radius: var(--cwfd-radius-sm, 14px);
    box-shadow: 0 8px 26px -18px rgba(0, 62, 125, 0.5);
}

.cwfd-cart-actions__msg {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 11px;
    font-family: var(--cwfd-font, system-ui, sans-serif);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--cwfd-success-ink, #1b7a4a);
}

.cwfd-cart-actions__tick {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--cwfd-success-bg, #d4f5e2);
    color: var(--cwfd-success-ink, #1b7a4a);
}

.cwfd-cart-actions__row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cwfd-ca-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1 1 160px;
    min-width: 0;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    font-family: var(--cwfd-font, system-ui, sans-serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    text-transform: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.cwfd-ca-btn svg {
    flex: 0 0 auto;
}

.cwfd-ca-btn:hover {
    transform: translateY(-1px);
}

.cwfd-ca-btn:focus-visible {
    outline: none;
    box-shadow: var(--cwfd-focus, 0 0 0 3px rgba(20, 93, 160, 0.20));
}

.cwfd-ca-btn--cart {
    background: linear-gradient(135deg, var(--cwfd-blue, #145DA0) 0%, var(--cwfd-blue-deep, #0A3763) 100%);
    border: 1px solid transparent;
    color: #fff !important;
    box-shadow: 0 8px 22px -12px rgba(10, 55, 99, 0.75);
}

.cwfd-ca-btn--cart:hover {
    background: linear-gradient(135deg, var(--cwfd-blue-vibrant, #1B6DBF) 0%, var(--cwfd-blue, #145DA0) 100%);
    box-shadow: 0 12px 28px -12px rgba(10, 55, 99, 0.8);
    color: #fff !important;
}

.cwfd-ca-btn--shop {
    background: #fff;
    border: 1.5px solid var(--cwfd-border, #d9e5f0);
    color: var(--cwfd-blue-deep, #0A3763) !important;
}

.cwfd-ca-btn--shop:hover {
    border-color: var(--cwfd-blue, #145DA0);
    background: var(--cwfd-blue-soft, #eaf2fa);
    color: var(--cwfd-blue-deep, #0A3763) !important;
}

/* Narrow phones: tighten the box so both labels still sit on one line. */
@media (max-width: 480px) {
    .cwfd-cart-actions {
        padding: 12px;
    }

    .cwfd-ca-btn {
        padding: 0 14px;
        font-size: 13.5px;
    }
}

/* Under about 380px the two pills would each be too narrow to read, so they
   stack with View cart on top. */
@media (max-width: 380px) {
    .cwfd-ca-btn {
        flex: 1 1 100%;
    }
}

/* Whichever View cart the theme or WooCommerce still manages to inject — the
   theme's own button, or the link WooCommerce appends after an AJAX add — is
   suppressed inside the buy box only. Porto's card popup on listing pages is
   left alone; it is the only confirmation those pages have. */
.cwfd-hcpp.single-product .summary a.view-cart-btn,
.cwfd-hcpp.single-product .summary a.added_to_cart,
body.cwfd-froz-layout form.cart a.view-cart-btn,
body.cwfd-froz-layout form.cart a.added_to_cart {
    display: none !important;
}

/* ─── Quick Checkout button (logged-in members) ─── */
.cwfd-quick-checkout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    width: 100%;
    padding: 13px 22px;
    background: linear-gradient(180deg, #E1251A 0%, #B81C12 100%);
    color: #fff !important;
    font-family: var(--cwfd-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    text-decoration: none !important;
    border: none;
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(225, 37, 26, 0.28);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.cwfd-quick-checkout:hover {
    background: linear-gradient(180deg, #C71D14 0%, #9C170F 100%);
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(225, 37, 26, 0.36);
    color: #fff !important;
}
.cwfd-quick-checkout:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(225, 37, 26, 0.30), 0 8px 22px rgba(225, 37, 26, 0.28);
}
.cwfd-quick-checkout svg {
    flex: 0 0 auto;
    color: #ffd84d;
    filter: drop-shadow(0 1px 0 rgba(0,0,0,0.15));
}
@media (max-width: 480px) {
    .cwfd-quick-checkout {
        padding: 12px 18px;
        font-size: 13px;
        letter-spacing: 0.4px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   CWFD MOBILE FULL-WIDTH FIX v8.0
   Fixes Porto/WPBakery product detail page not using full mobile width.
   Desktop/tablet layout remains untouched.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    html,
    body.cwfd-hcpp.single-product {
        overflow-x: hidden !important;
    }

    body.cwfd-hcpp.single-product,
    body.cwfd-hcpp.single-product #page,
    body.cwfd-hcpp.single-product .page-wrapper,
    body.cwfd-hcpp.single-product .site,
    body.cwfd-hcpp.single-product .site-content,
    body.cwfd-hcpp.single-product .main-content,
    body.cwfd-hcpp.single-product #content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .cwfd-hcpp.single-product .main-content .container,
    .cwfd-hcpp.single-product #content > .container,
    .cwfd-hcpp.single-product .site-content > .container,
    .cwfd-hcpp.single-product div.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    .cwfd-hcpp.single-product .product-summary-wrap,
    .cwfd-hcpp.single-product .product-summary-wrap > .row,
    body.cwfd-froz-layout .froz-amazon-layout,
    body.cwfd-froz-layout .froz-amazon-layout .vc_row,
    body.cwfd-froz-layout .froz-amazon-layout .wpb_row,
    body.cwfd-froz-layout .froz-amazon-layout .row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .cwfd-hcpp.single-product .product-summary-wrap > .row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 14px !important;
    }

    .cwfd-hcpp.single-product .product-summary-wrap > .row > [class*="col-"],
    body.cwfd-froz-layout .froz-amazon-layout .vc_column_container,
    body.cwfd-froz-layout .froz-amazon-layout .wpb_column,
    body.cwfd-froz-layout .froz-amazon-layout [class*="vc_col-"],
    body.cwfd-froz-layout .froz-amazon-layout > [class*="col-"],
    body.cwfd-froz-layout .froz-amazon-layout .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        float: none !important;
        clear: both !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.cwfd-froz-layout .froz-amazon-layout .vc_column-inner,
    body.cwfd-froz-layout .froz-amazon-layout [class*="vc_col-"] > .vc_column-inner,
    body.cwfd-froz-layout .froz-amazon-layout .wpb_wrapper {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary,
    body.cwfd-froz-layout .froz-title-price,
    body.cwfd-froz-layout .froz-buy-box-inner,
    body.cwfd-froz-layout .froz-attributes-row,
    body.cwfd-froz-layout .froz-disclaimer-wrapper,
    body.cwfd-froz-layout .cwfd-live-total,
    body.cwfd-froz-layout .cwfd-quick-checkout {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.cwfd-froz-layout .froz-buy-box-inner {
        padding: 16px !important;
        border-radius: 16px !important;
    }

    .cwfd-hcpp.single-product form.cart,
    body.cwfd-froz-layout form.cart {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    .cwfd-hcpp.single-product .main-content .container,
    .cwfd-hcpp.single-product #content > .container,
    .cwfd-hcpp.single-product .site-content > .container,
    .cwfd-hcpp.single-product div.product {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.cwfd-froz-layout .froz-buy-box-inner {
        padding: 14px !important;
    }
}

/* ─── CWFD v8.3 clarity refinements ─── */
.cwfd-hcpp.single-product .summary .stock.in-stock,
body.cwfd-froz-layout .summary .stock.in-stock,
body.cwfd-froz-layout .froz-stock--in {
    display: none !important;
}

.cwfd-hcpp .cwfd-ts--shelf-life {
    color: var(--cwfd-ink);
    background: #fffaf0;
    border-color: rgba(245, 158, 11, 0.22);
}

.cwfd-hcpp .cwfd-ts--shelf-life svg {
    color: #b7791f;
}

.cwfd-hcpp.single-product .summary .price,
body.cwfd-froz-layout .summary .price {
    font-size: clamp(1.9rem, 2.4vw, 2.55rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.cwfd-price-breakdown {
    margin: 10px 0 16px;
    padding: 12px 14px;
    border: 1px solid rgba(20, 93, 160, 0.14);
    border-left: 4px solid var(--cwfd-blue);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.cwfd-price-breakdown .cwfd-pb-note {
    font-size: 15px;
    line-height: 1.45;
}

.cwfd-price-breakdown .cwfd-pb-box-price {
    color: var(--cwfd-ink);
    font-weight: 800;
}

.cwfd-pb-inline {
    margin-left: 8px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 700;
    background: #eef6ff;
    border-color: #d6e8fb;
}

.cwfd-pb-inline .cwfd-pb-inline-calc {
    font-weight: 800;
}

.cwfd-hcpp.single-product .woocommerce-product-details__short-description,
.cwfd-hcpp.single-product .woocommerce-Tabs-panel,
body.cwfd-froz-layout .woocommerce-product-details__short-description,
body.cwfd-froz-layout .woocommerce-Tabs-panel {
    font-size: 1rem;
    line-height: 1.7;
}

.cwfd-results-per-page {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    float: right;
    margin: 0 0 14px 16px;
    padding: 8px 10px;
    color: var(--cwfd-ink);
    background: #ffffff;
    border: 1px solid rgba(20, 93, 160, 0.16);
    border-radius: 999px;
    box-shadow: 0 6px 18px rgba(10, 55, 99, 0.06);
    font-family: var(--cwfd-font);
    font-size: 13px;
    font-weight: 700;
}

.cwfd-results-per-page select {
    min-width: 72px;
    height: 34px;
    padding: 0 26px 0 10px;
    color: var(--cwfd-ink);
    background-color: #f8fbfe;
    border: 1px solid rgba(20, 93, 160, 0.18);
    border-radius: 999px;
    font-weight: 800;
}

@media (max-width: 767px) {
    .cwfd-hcpp.single-product .summary .price,
    body.cwfd-froz-layout .summary .price {
        font-size: 1.9rem !important;
    }

    .cwfd-price-breakdown {
        padding: 10px 12px;
    }

    .cwfd-price-breakdown .cwfd-pb-note {
        font-size: 14px;
    }

    .cwfd-pb-inline {
        display: block;
        width: fit-content;
        max-width: 100%;
        margin: 6px auto 0;
        white-space: normal;
    }

    .cwfd-results-per-page {
        float: none;
        width: 100%;
        justify-content: center;
        margin: 0 0 14px;
    }
}


/* ═══════════════════════════════════════════════════════════════
   CWFD MOBILE REFINEMENT + FEATURES REMOVAL v8.1
   Removes lower feature cards section and makes mobile layout use
   nearly full width with cleaner spacing for Porto/WPBakery.
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp .cwfd-features-grid { display: none !important; }

@media (max-width: 767px) {
    body.cwfd-hcpp.single-product #main,
    body.cwfd-hcpp.single-product main,
    body.cwfd-hcpp.single-product .main-content-wrap,
    body.cwfd-hcpp.single-product .main-content,
    body.cwfd-hcpp.single-product .site-content,
    body.cwfd-hcpp.single-product #content,
    body.cwfd-hcpp.single-product .product-summary-wrap,
    body.cwfd-hcpp.single-product .product-summary-wrap > .row,
    body.cwfd-froz-layout .froz-amazon-layout,
    body.cwfd-froz-layout .froz-amazon-layout .vc_row,
    body.cwfd-froz-layout .froz-amazon-layout .wpb_row,
    body.cwfd-froz-layout .froz-amazon-layout .row,
    body.cwfd-froz-layout .froz-amazon-layout .vc_column_container,
    body.cwfd-froz-layout .froz-amazon-layout .wpb_column,
    body.cwfd-froz-layout .froz-amazon-layout [class*="vc_col-"] {
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .cwfd-hcpp.single-product .main-content .container,
    .cwfd-hcpp.single-product #content > .container,
    .cwfd-hcpp.single-product .site-content > .container,
    .cwfd-hcpp.single-product div.product {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary,
    body.cwfd-froz-layout .froz-title-price,
    body.cwfd-froz-layout .froz-buy-box-inner,
    body.cwfd-froz-layout .froz-attributes-row,
    body.cwfd-froz-layout .froz-disclaimer-wrapper,
    body.cwfd-froz-layout .cwfd-live-total,
    body.cwfd-froz-layout .cwfd-quick-checkout {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 14px !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary,
    body.cwfd-froz-layout .froz-title-price,
    body.cwfd-froz-layout .froz-buy-box-inner,
    body.cwfd-froz-layout .froz-disclaimer-wrapper {
        padding: 14px !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery__wrapper,
    .cwfd-hcpp.single-product .woocommerce-product-gallery .flex-viewport {
        border-radius: 12px !important;
    }

    body.cwfd-froz-layout .froz-amazon-layout .vc_column-inner,
    body.cwfd-froz-layout .froz-amazon-layout [class*="vc_col-"] > .vc_column-inner,
    body.cwfd-froz-layout .froz-amazon-layout .wpb_wrapper {
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .cwfd-hcpp.single-product .product_title,
    .single-product .froz-amazon-layout h1.product_title {
        font-size: 1.9rem !important;
        line-height: 1.1 !important;
        margin-bottom: 8px !important;
    }

    .cwfd-hcpp .cwfd-trust-strip {
        gap: 6px !important;
        margin-bottom: 12px !important;
    }

    .cwfd-hcpp .cwfd-ts-item {
        font-size: 0.76rem !important;
    }

    .cwfd-hcpp.single-product form.cart,
    body.cwfd-froz-layout form.cart {
        padding: 12px !important;
        gap: 10px !important;
    }

    .cwfd-hcpp.single-product form.cart .quantity,
    body.cwfd-froz-layout form.cart .quantity {
        margin: 0 !important;
    }

    .cwfd-hcpp.single-product form.cart .single_add_to_cart_button,
    body.cwfd-froz-layout .single_add_to_cart_button,
    body.cwfd-froz-layout form.cart .single_add_to_cart_button {
        min-height: 48px !important;
        border-radius: 12px !important;
        width: 100% !important;
    }

    .cwfd-live-total {
        margin: 12px 0 8px !important;
        padding: 12px 14px !important;
    }

    .cwfd-quick-checkout {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (max-width: 480px) {
    .cwfd-hcpp.single-product .main-content .container,
    .cwfd-hcpp.single-product #content > .container,
    .cwfd-hcpp.single-product .site-content > .container,
    .cwfd-hcpp.single-product div.product {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .cwfd-hcpp.single-product .product_title,
    .single-product .froz-amazon-layout h1.product_title {
        font-size: 1.7rem !important;
    }

    .cwfd-hcpp.single-product .woocommerce-product-gallery,
    .cwfd-hcpp.single-product div.product .summary,
    body.cwfd-froz-layout .froz-title-price,
    body.cwfd-froz-layout .froz-buy-box-inner,
    body.cwfd-froz-layout .froz-disclaimer-wrapper {
        padding: 12px !important;
        border-radius: 12px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   BUY BOX ORDER — v8.32
   The running total now renders before the Add to cart button (see the hook
   comment in cwfd-product-details-page.php), so the buy box reads:

       price breaks → running total → quantity → Add to cart

   The customer sees the amount they are about to pay immediately above the
   button that commits them to it, and the CTA is the last thing in the box on
   every screen size instead of being buried above a total card.

   `order` is set explicitly rather than left to DOM order because the Porto
   froz-amazon template assembles the same parts through shortcodes, and a
   builder edit that moves one block should not be able to put the button back
   above the total.
   ═══════════════════════════════════════════════════════════════ */
.cwfd-hcpp.single-product form.cart,
body.cwfd-froz-layout form.cart {
    align-items: center;
    row-gap: 0;
}

.cwfd-hcpp.single-product form.cart > .cwfd-qp,
body.cwfd-froz-layout form.cart > .cwfd-qp { order: 1; }

.cwfd-hcpp.single-product form.cart > .cwfd-live-total,
body.cwfd-froz-layout form.cart > .cwfd-live-total { order: 2; }

.cwfd-hcpp.single-product form.cart > .quantity,
body.cwfd-froz-layout form.cart > .quantity { order: 3; }

.cwfd-hcpp.single-product form.cart > .single_add_to_cart_button,
body.cwfd-froz-layout form.cart > .single_add_to_cart_button { order: 4; }

.cwfd-hcpp.single-product form.cart > .cwfd-bms,
.cwfd-hcpp.single-product form.cart > .cwfd-quick-checkout,
body.cwfd-froz-layout form.cart > .cwfd-bms,
body.cwfd-froz-layout form.cart > .cwfd-quick-checkout { order: 5; }

/* Post-add confirmation sits last, immediately under the CTA that produced it.
   Anything the theme or a plugin injects without an order value lands at 0 and
   floats to the top of the box, so the two stray View cart buttons are pinned
   here too — same row, same styling — rather than left to sort themselves out. */
.cwfd-hcpp.single-product form.cart > .cwfd-cart-actions,
body.cwfd-froz-layout form.cart > .cwfd-cart-actions { order: 6; }

/* The stacked blocks each take a full row of the wrapping flex line. */
.cwfd-hcpp.single-product form.cart > .cwfd-qp,
.cwfd-hcpp.single-product form.cart > .cwfd-live-total,
.cwfd-hcpp.single-product form.cart > .cwfd-bms,
.cwfd-hcpp.single-product form.cart > .cwfd-cart-actions,
body.cwfd-froz-layout form.cart > .cwfd-qp,
body.cwfd-froz-layout form.cart > .cwfd-live-total,
body.cwfd-froz-layout form.cart > .cwfd-bms,
body.cwfd-froz-layout form.cart > .cwfd-cart-actions {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Own the vertical rhythm here rather than inheriting the card's old margins,
   which were tuned for the total sitting last. */
.cwfd-hcpp.single-product form.cart > .cwfd-live-total,
body.cwfd-froz-layout form.cart > .cwfd-live-total {
    margin: 2px 0 14px;
}

.cwfd-hcpp.single-product form.cart > .cwfd-bms,
body.cwfd-froz-layout form.cart > .cwfd-bms {
    margin-top: 14px;
}

/* Quantity + CTA share one row: the stepper keeps its natural width, the button
   takes everything else. 200px of basis means it only drops to its own line on
   genuinely narrow cards. */
.cwfd-hcpp.single-product form.cart > .quantity,
body.cwfd-froz-layout form.cart > .quantity {
    flex: 0 0 auto;
    margin: 0;
}

.cwfd-hcpp.single-product form.cart > .single_add_to_cart_button,
body.cwfd-froz-layout form.cart > .single_add_to_cart_button {
    flex: 1 1 200px;
    min-width: 0;
}

/* Tablet / phone: keep the pair side by side — a 44px stepper next to a
   flexible CTA is comfortably tappable well below 480px, and stacking them
   pushed the button below the fold on smaller phones. The width:100% set for
   the button further up this file is deliberately unwound here. */
@media (max-width: 767px) {
    .cwfd-hcpp.single-product form.cart > .single_add_to_cart_button,
    body.cwfd-froz-layout form.cart > .single_add_to_cart_button,
    body.cwfd-froz-layout .single_add_to_cart_button {
        flex: 1 1 150px !important;
        width: auto !important;
        min-height: 48px !important;
        padding: 0 18px !important;
    }

    .cwfd-hcpp.single-product form.cart > .quantity,
    body.cwfd-froz-layout form.cart > .quantity {
        flex: 0 0 auto !important;
    }

    .cwfd-hcpp.single-product form.cart > .cwfd-live-total,
    body.cwfd-froz-layout form.cart > .cwfd-live-total {
        margin: 0 0 12px !important;
    }
}

/* Very narrow phones (and any card squeezed into a sidebar): stack, CTA last
   and full width so it stays the biggest tap target on the screen. */
@media (max-width: 400px) {
    .cwfd-hcpp.single-product form.cart > .quantity,
    body.cwfd-froz-layout form.cart > .quantity {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .cwfd-hcpp.single-product form.cart > .quantity .qty,
    body.cwfd-froz-layout form.cart > .quantity .qty {
        width: 100% !important;
    }

    .cwfd-hcpp.single-product form.cart > .single_add_to_cart_button,
    body.cwfd-froz-layout form.cart > .single_add_to_cart_button {
        flex: 1 1 100% !important;
        width: 100% !important;
        margin-top: 10px !important;
    }
}

/* ─── Price range: cheapest first ───
   "$5.31 – $6.25", never "$6.25 – $5.31". The dash is decorative and hidden
   from screen readers, which get the two amounts either side of it. */
.cwfd-hcpp.single-product .summary .cwfd-qp-dash,
body.cwfd-froz-layout .froz-title-price .cwfd-qp-dash {
    margin: 0 2px;
    font-weight: 400;
    opacity: 0.55;
}

/* Variable products put the same three parts inside .woocommerce-variation-add-to-cart
   rather than directly in form.cart (WooCommerce's variation-add-to-cart-button.php),
   so the row rules are repeated for that container. DOM order already matches —
   this is only about the two stacked blocks taking a full row. */
.cwfd-hcpp.single-product .woocommerce-variation-add-to-cart,
body.cwfd-froz-layout .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 0;
}

.cwfd-hcpp.single-product .woocommerce-variation-add-to-cart > .cwfd-qp,
.cwfd-hcpp.single-product .woocommerce-variation-add-to-cart > .cwfd-live-total,
.cwfd-hcpp.single-product .woocommerce-variation-add-to-cart > .cwfd-bms,
body.cwfd-froz-layout .woocommerce-variation-add-to-cart > .cwfd-qp,
body.cwfd-froz-layout .woocommerce-variation-add-to-cart > .cwfd-live-total,
body.cwfd-froz-layout .woocommerce-variation-add-to-cart > .cwfd-bms {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.cwfd-hcpp.single-product .woocommerce-variation-add-to-cart > .quantity,
body.cwfd-froz-layout .woocommerce-variation-add-to-cart > .quantity {
    flex: 0 0 auto;
    margin: 0;
}

.cwfd-hcpp.single-product .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
body.cwfd-froz-layout .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
    flex: 1 1 200px;
    min-width: 0;
}
