/**
 * Product Page Styles
 * File location: your-child-theme/assets/css/product.css
 */

/* =============================================
   VARIABLES
   ============================================= */
:root {
    --ozyn-primary:   #1a1a2e;
    --ozyn-accent:    #4CAF50;
    --ozyn-light-bg:  #f5f9f5;
    --ozyn-green-bg:  #e8f5e9;
    --ozyn-text:      #333333;
    --ozyn-muted:     #666666;
    --ozyn-border:    #e8e3e4;
    --ozyn-white:     #ffffff;
    --ozyn-radius:    12px;
    --ozyn-max-width: 1200px;
    --ozyn-gap:       2rem;
}

/* =============================================
   CONTAINER
   ============================================= */
   
.site-main {
    max-width: 100% !important;
}
   
.ozyn-container {
    max-width: var(--ozyn-max-width);
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Breadcrumb full width bar */
.ozyn-breadcrumb-bar {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #ebebeb;
    padding: 12px 0;
}

.ozyn-breadcrumb-bar .woocommerce-breadcrumb {
    font-size: 13px;
    color: #888;
    margin: 0;
    padding: 0;
    background: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.ozyn-breadcrumb-bar .woocommerce-breadcrumb a {
    color: #888;
    text-decoration: none;
    transition: color 0.2s;
}

.ozyn-breadcrumb-bar .woocommerce-breadcrumb a:hover {
    color: #1a1a2e;
}

.ozyn-trust-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    border-top: 1px solid #e8e8e6;
    padding-top: 1.25rem;
    margin-top: 1.25rem;
}

.ozyn-trust-strip__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 12px;
    color: #555;
}

.ozyn-trust-strip__item svg {
    flex-shrink: 0;
    color: #1a1a2e;
}

/* Responsive */
@media ( max-width: 480px ) {
    .ozyn-trust-strip {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }
}

/* Cart Wrap */
.ozyn-cart-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

/* Quantity Stepper */
.ozyn-qty-wrap {
    display: flex;
    align-items: center;
    border: 1.5px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    height: 50px;
}

.ozyn-qty-btn {
    width: 42px;
    height: 50px;
    background: #fff;
    border: none;
    font-size: 1.2rem;
    font-weight: 400;
    color: #1a1a2e;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    -webkit-appearance: none;
    flex-shrink: 0;
}

.ozyn-qty-btn:hover {
    background: #f5f5f5;
}

.ozyn-qty-input {
    width: 44px;
    height: 50px;
    border: none;
    border-left: 1.5px solid #ddd;
    border-right: 1.5px solid #ddd;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a2e;
    background: #fff;
    box-shadow: none;
    padding: 0;
    -moz-appearance: textfield;
    outline: none;
}

.ozyn-qty-input::-webkit-outer-spin-button,
.ozyn-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Add to Cart — outlined */
.ozyn-atc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    height: 50px;
    padding: 0 1.5rem;
    background: #ffffff;
    color: #1a1a2e;
    border: 1.5px solid #d0d0d0;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    white-space: nowrap;
    -webkit-appearance: none;
}

.ozyn-atc-btn:hover {
    background: #f5f5f5;
    border-color: #aaa;
}

.ozyn-atc-btn.loading {
    opacity: 0.7;
    pointer-events: none;
}

.ozyn-atc-btn.added {
    border-color: #22c55e;
    color: #22c55e;
}

/* Buy Now — dark filled */
.wpcbn-btn-single {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 2rem;
    background: #1a1a2e;
    color: #ffffff !important;
    border: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none !important;
    transition: background 0.2s;
    white-space: nowrap;
}

.wpcbn-btn-single:hover {
    background: #2d2d4e;
    color: #ffffff !important;
}

/* Responsive */
@media ( max-width: 480px ) {
    .ozyn-cart-wrap {
        flex-direction: column;
        align-items: stretch;
    }

    .ozyn-qty-wrap {
        width: fit-content;
    }

    .ozyn-atc-btn,
    .wpcbn-btn-single {
        width: 100%;
    }
}


a.woocommerce-product-gallery__trigger {
    display: none !important;
}
/* =============================================
   SECTION COMMON
   ============================================= */
.ozyn-product-page section {
    padding: 60px 0;
}

.ozyn-section-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ozyn-accent);
    margin-bottom: 0.5rem;
}

.ozyn-section-title {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 700;
    color: var(--ozyn-primary);
    margin-bottom: 0.5rem;
}

.ozyn-section-sub {
    color: var(--ozyn-muted);
    font-size: 0.95rem;
    margin-bottom: 2.5rem;
}

/*======================================
Gallery thumbnail
=====================================*/
/* Remove list markers from gallery thumbnails */
.woocommerce-product-gallery .flex-control-thumbs {
    list-style: none !important;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    list-style: none !important;
    counter-increment: none;
    margin: 0;
    width: calc(25% - 6px); /* 4 thumbs per row */
}

.woocommerce-product-gallery .flex-control-thumbs li::before,
.woocommerce-product-gallery .flex-control-thumbs li::marker {
    content: none !important;
    display: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs img {
    width: 100%;
    height: auto;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 6px;
    transition: border-color 0.2s;
}

.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs .flex-active {
    border-color: #000; /* your brand color */
}

/* ===== OZYN Thumbnail Slider ===== */
.ozyn-thumb-slider-wrap {
    position: relative;
    margin-top: 10px;
    padding: 0 36px; /* space for arrows */
}

.woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
    display: none;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    /*flex: 0 0 80px !important;*/
    /*width: 80px !important;*/
    scroll-snap-align: start;
    list-style: none !important;
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    /*width: 80px !important;*/
    /*height: 80px !important;*/
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid transparent;
    transition: border-color 0.2s;
    cursor: pointer;
}

.woocommerce-product-gallery .flex-control-thumbs li img:hover {
    border-color: #2d2d2d;
}

.woocommerce-product-gallery .flex-control-thumbs .flex-active img {
    border-color: #2d2d2d;
}

/* Arrow Buttons */
.ozyn-thumb-prev,
.ozyn-thumb-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: background 0.2s, opacity 0.2s;
    padding: 0;
    line-height: 1;
}

.ozyn-thumb-prev:hover,
.ozyn-thumb-next:hover {
    background: #f0f0f0;
}

.ozyn-thumb-prev.disabled,
.ozyn-thumb-next.disabled {
    opacity: 0.3;
    pointer-events: none;
}

.ozyn-thumb-prev { left: 0; }
.ozyn-thumb-next { right: 0; }

/* =============================================
   PRICE
   ============================================= */
.ozyn-hero__summary .price {
    display: flex !important;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    margin-bottom: 0.25rem !important;
}

/* Sale price (current) */
.ozyn-hero__summary .price ins {
    text-decoration: none !important;
    font-size: 1.9rem;
    font-weight: 700;
    color: #1a1a2e;
}

.ozyn-hero__summary .price ins .woocommerce-Price-amount {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1a1a2e;
}

/* Regular price (strikethrough) */
.ozyn-hero__summary .price del {
    font-size: 1rem;
    color: #999;
    opacity: 1 !important;
}

.ozyn-hero__summary .price del .woocommerce-Price-amount {
    font-size: 1rem;
    color: #999;
}

/* When no sale - single price */
.ozyn-hero__summary .price > .woocommerce-Price-amount {
    font-size: 1.9rem;
    font-weight: 700;
    color: #1a1a2e;
}

/* Discount badge */
.ozyn-price-meta {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

.ozyn-discount-badge {
    background: #22c55e;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 20px;
}

/* Tax info */
.ozyn-price-info {
    font-size: 12px;
    color: #888;
    margin: 0 0 1.25rem;
    line-height: 1.5;
}

/* =============================================
   QUANTITY + ADD TO CART
   ============================================= */

/* Quantity wrapper */
.ozyn-hero__summary .quantity {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
    width: fit-content;
    background: #fff;
}

.ozyn-hero__summary .quantity input.qty {
    width: 44px !important;
    height: 48px !important;
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    text-align: center !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    background: #fff !important;
    box-shadow: none !important;
    padding: 0 !important;
    -moz-appearance: textfield;
}

.ozyn-hero__summary .quantity input.qty::-webkit-outer-spin-button,
.ozyn-hero__summary .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* +/- buttons via JS injection — add this in product.js too */
.ozyn-qty-btn {
    width: 44px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    color: #1a1a2e;
    flex-shrink: 0;
    transition: background 0.15s;
    -webkit-appearance: none;
}

.ozyn-qty-btn:hover {
    background: #f5f5f5;
}

/* Cart form layout */
.ozyn-hero__summary form.cart {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

/* Add to Cart button — outlined */
.ozyn-hero__summary .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    height: 50px !important;
    padding: 0 1.5rem !important;
    background: #ffffff !important;
    color: #1a1a2e !important;
    border: 1.5px solid #d0d0d0 !important;
    border-radius: 10px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: border-color 0.2s, background 0.2s !important;
    text-decoration: none !important;
}

.ozyn-hero__summary .cart-button::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231a1a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='19' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.ozyn-hero__summary .single_add_to_cart_button:hover {
    background: #f5f5f5 !important;
    border-color: #aaa !important;
}

/* Buy Now button — dark filled */
.ozyn-hero__summary .wpcbn-btn-single {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    padding: 0 2rem !important;
    background: #1a1a2e !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    white-space: nowrap !important;
}

.ozyn-hero__summary .wpcbn-btn-single:hover {
    background: #2d2d4e !important;
}

/* Responsive */
@media ( max-width: 480px ) {
    .ozyn-hero__summary form.cart {
        flex-direction: column;
        align-items: stretch;
    }

    .ozyn-hero__summary .single_add_to_cart_button,
    .ozyn-hero__summary .wpcbn-btn-single {
        width: 100% !important;
        justify-content: center !important;
    }
}


/* =============================================
   SECTION 1: HERO
   ============================================= */
.ozyn-hero {
    padding: 40px 0;
    background: var(--ozyn-white);
}

.ozyn-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--ozyn-gap);
    align-items: start;
}

.ozyn-badge {
    display: inline-block;
    background: var(--ozyn-green-bg);
    color: var(--ozyn-accent);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 0.75rem;
}

.ozyn-hero__summary .product_title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--ozyn-primary);
    margin-bottom: 0.5rem;
}

.ozyn-short-desc {
    color: var(--ozyn-muted);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 1rem 0;
}

.ozyn-trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 1.25rem 0;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid var(--ozyn-border);
    border-radius: 14px;
}

.ozyn-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 80px;
}

.badge-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.badge-icon-wrap img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.badge-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--ozyn-text);
    text-align: center;
    line-height: 1.3;
}

.ozyn-delivery-info {
    display: flex;
    gap: 1.5rem;
    margin-top: 1rem;
    font-size: 12px;
    color: var(--ozyn-muted);
    flex-wrap: wrap;
}

/* WooCommerce add to cart button override */
/*.ozyn-hero__summary .single_add_to_cart_button {*/
/*    background: var(--ozyn-primary) !important;*/
/*    border-color: var(--ozyn-primary) !important;*/
/*    border-radius: 8px !important;*/
/*    padding: 14px 28px !important;*/
/*    font-weight: 600 !important;*/
/*    font-size: 15px !important;*/
/*}*/

.ozyn-hero__summary .woocommerce-Price-amount {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--ozyn-primary);
}

/* =============================================
   SECTION 2: KEY BENEFITS
   ============================================= */
.ozyn-benefits {
    background: #f7f7f5;
    text-align: center;
    padding: 60px 0;
    border-top: 1px solid var(--ozyn-border);
    border-bottom: 1px solid var(--ozyn-border);
}

.ozyn-benefits .ozyn-section-title {
    margin-bottom: 2.5rem;
}

.ozyn-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}

.ozyn-benefit-card {
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: 16px;
    padding: 2rem 1.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
}

.benefit-icon-wrap {
    width: 68px;
    height: 68px;
    border-radius: 18px;
    background: #eeeeec;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-bottom: 0.5rem;
}

.benefit-icon-wrap img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.ozyn-benefit-card h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}

.ozyn-benefit-card p {
    font-size: 0.82rem;
    color: #777;
    margin: 0;
    line-height: 1.5;
    text-align: center;
}

/* Responsive */
@media ( max-width: 1024px ) {
    .ozyn-benefits__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( max-width: 480px ) {
    .ozyn-benefits__grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   SECTION 3: PROBLEM / SOLUTION
   ============================================= */
.ozyn-problem-solution {
    background: var(--ozyn-white);
    padding: 80px 0;
}

.ozyn-ps__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

/* Left side */
.ozyn-ps__content {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.ozyn-ps__label--red {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #e8453c;
    margin-bottom: 0.5rem;
}

.ozyn-ps__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.25;
    margin: 0 0 0.75rem;
}

.ozyn-ps__problem-text {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 0;
}

/* Solution box with left border */
.ozyn-ps__solution-box {
    border-left: 3px solid #1a1a2e;
    background: #efefed;
    border-radius: 0 10px 10px 0;
    padding: 1.25rem 1.5rem;
}

.ozyn-ps__solution-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 0.4rem;
}

.ozyn-ps__solution-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 0.5rem;
}

.ozyn-ps__solution-text {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.65;
    margin: 0;
}

/* Right: green gradient image card */
.ozyn-ps__image-card {
    background: linear-gradient(145deg, #e8f5d0, #d4edaa);
    border-radius: 20px;
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.ozyn-ps__image-card img {
    max-width: 200px;
    width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 8px 24px rgba(0,0,0,0.12));
}

/* Responsive */
@media ( max-width: 768px ) {
    .ozyn-ps__inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .ozyn-ps__image-card {
        min-height: 280px;
        order: -1; /* image upar aajayegi mobile mein */
    }
}

/* =============================================
   SECTION 4: INGREDIENTS
   ============================================= */
.ozyn-ingredients {
    background: #f7f7f5;
    padding: 70px 0;
    text-align: center;
    border-top: 1px solid var(--ozyn-border);
    border-bottom: 1px solid var(--ozyn-border);
}

.ozyn-ingredients .ozyn-section-title {
    margin-bottom: 0.4rem;
}

.ozyn-ingredients .ozyn-section-sub {
    margin-bottom: 2.5rem;
}

.ozyn-ingredients__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    text-align: left;
}

.ozyn-ingredient-card {
    background: #ffffff;
    border: 1px solid #e8e8e6;
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    transition: box-shadow 0.2s;
}

.ozyn-ingredient-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

/* Top row: icon circle + name */
.ozyn-ingredient-card__top {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.ingredient-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eeeeec;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ingredient-icon-wrap img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.ozyn-ingredient-card h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

.ozyn-ingredient-card p {
    font-size: 0.83rem;
    color: #777;
    margin: 0;
    line-height: 1.5;
    padding-left: 0; /* desc full width mein */
}

/* Responsive */
@media ( max-width: 1024px ) {
    .ozyn-ingredients__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( max-width: 480px ) {
    .ozyn-ingredients__grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   SECTION 5: RESULTS
   ============================================= */
.ozyn-results {
    background: var(--ozyn-white);
    padding: 70px 0;
    text-align: center;
}

.ozyn-results .ozyn-section-title {
    margin-bottom: 0.4rem;
}

.ozyn-results .ozyn-section-sub {
    margin-bottom: 2.5rem;
}

.ozyn-results__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    text-align: left;
}

.ozyn-result-card {
    background: #ffffff;
    border: 1px solid #e8e8e6;
    border-radius: 16px;
    padding: 1.75rem 1.75rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    transition: box-shadow 0.2s;
}

.ozyn-result-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

.result-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #eeeeec;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.result-icon-wrap img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.ozyn-result-card h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

.ozyn-result-card p {
    font-size: 0.85rem;
    color: #777;
    margin: 0;
    line-height: 1.55;
}

/* Responsive */
@media ( max-width: 600px ) {
    .ozyn-results__grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   SECTION 6: HOW TO USE
   ============================================= */
.ozyn-how-to-use {
    background: #f7f7f5;
    padding: 70px 0;
    text-align: center;
    border-top: 1px solid var(--ozyn-border);
    border-bottom: 1px solid var(--ozyn-border);
}

.ozyn-how-to-use .ozyn-section-label {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    margin-bottom: 0.4rem;
}

.ozyn-how-to-use .ozyn-section-title {
    margin-bottom: 2.5rem;
}

/* Remove the connecting line — not in this design */
.ozyn-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    position: static;
}


.ozyn-step {
    background: #ffffff;
    border: 1px solid #e8e8e6;
    border-radius: 16px;
    padding: 2rem 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
    transition: box-shadow 0.2s;
}

.ozyn-step:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

.ozyn-step__number {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #1a1a2e;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: 0.5px;
}

.ozyn-step h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.3;
}

.ozyn-step p {
    font-size: 0.83rem;
    color: #777;
    margin: 0;
    line-height: 1.6;
    text-align: center;
}

/* Responsive */
@media ( max-width: 1024px ) {
    .ozyn-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( max-width: 480px ) {
    .ozyn-steps {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   SECTION 7: BANNER STRIP
   ============================================= */
.ozyn-banner-strip {
    background: var(--ozyn-white);
    padding: 48px 0;
}


.ozyn-banner__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.ozyn-banner__content {
    flex: 1;
}

.ozyn-banner__card {
    background: var(--ozyn-green-bg);
    padding: 56px;
    border-radius: 20px;
}
.banner-icon {
    font-size: 2rem;
    display: block;
    margin-bottom: 0.75rem;
}

.ozyn-banner__content h3 {
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 700;
    color: var(--ozyn-primary);
    margin-bottom: 0.5rem;
}

.ozyn-banner__content p {
    color: var(--ozyn-muted);
    margin: 0;
}

.ozyn-banner__img img {
    max-width: 160px;
}

/* =============================================
   REVIEWS SECTION
   ============================================= */
.ozyn-reviews {
    background: #f7f7f5;
    padding: 70px 0;
    text-align: center;
    border-top: 1px solid var(--ozyn-border);
    border-bottom: 1px solid var(--ozyn-border);
}

.ozyn-reviews .ozyn-section-title {
    margin-bottom: 2.5rem;
}

.ozyn-reviews__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    text-align: left;
}

.ozyn-review-card {
    background: #ffffff;
    border: 1px solid #e8e8e6;
    border-radius: 16px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: box-shadow 0.2s;
}

.ozyn-review-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

/* Stars */
.ozyn-review-stars {
    display: flex;
    gap: 2px;
}

/* Review text */
.ozyn-review-text {
    font-size: 0.875rem;
    color: #333;
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

/* Author row */
.ozyn-review-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid #f0f0ee;
}

/* Avatar circle with initial */
.ozyn-review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8e8e6;
    color: #555;
    font-size: 0.875rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ozyn-review-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1a1a2e;
}

/* Responsive */
@media ( max-width: 1024px ) {
    .ozyn-reviews__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( max-width: 480px ) {
    .ozyn-reviews__grid {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   RELATED PRODUCTS
   ============================================= */
.ozyn-related {
    background: var(--ozyn-white);
    padding: 60px 0;
}

/* Header row */
.ozyn-related__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.75rem;
}

.ozyn-related__title {
    font-size: clamp(1.3rem, 2.5vw, 1.75rem);
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}

.ozyn-related__view-all {
    font-size: 0.875rem;
    font-weight: 500;
    color: #555;
    text-decoration: none;
    transition: color 0.2s;
    white-space: nowrap;
}

.ozyn-related__view-all:hover {
    color: #1a1a2e;
}

/* Grid */
.ozyn-related__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

/* Card */
.ozyn-related-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e8e8e6;
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}

.ozyn-related-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

/* Pastel image area */
.ozyn-related-card__img-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    min-height: 220px;
    text-decoration: none;
    border-radius: 16px 16px 0 0;
    transition: opacity 0.2s;
}

.ozyn-related-card__img-wrap:hover {
    opacity: 0.92;
}

.ozyn-related-card__img {
    width: 100%;
    height: auto;
    object-fit: contain !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Info area */
.ozyn-related-card__info {
    padding: 1rem 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
}

.ozyn-related-card__name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a2e;
    margin: 0;
    line-height: 1.35;
}

.ozyn-related-card__name a {
    color: inherit;
    text-decoration: none;
}

.ozyn-related-card__name a:hover {
    color: #1a1a2e;
}

.ozyn-related-card__price {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 0.25rem;
}

.ozyn-related-card__price .woocommerce-Price-amount {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1a1a2e;
}

.ozyn-related-card__price del {
    opacity: 0.5;
    font-weight: 400;
}

/* View button */
.ozyn-related-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border: 1.5px solid #e0e0e0;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #1a1a2e;
    text-decoration: none;
    margin-top: auto;
    transition: border-color 0.2s, background 0.2s;
}

.ozyn-related-card__btn:hover {
    border-color: #1a1a2e;
    background: #f5f5f5;
    color: #1a1a2e;
}

/* Responsive */
@media ( max-width: 1024px ) {
    .ozyn-related__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( max-width: 480px ) {
    .ozyn-related__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .ozyn-related-card__img-wrap {
        min-height: 160px;
    }

    .ozyn-related-card__img {
        width: 80px !important;
        height: 80px !important;
    }
}

/* =============================================
   SECTION 10: ACCORDION
   ============================================= */
.ozyn-product-details {
    background: var(--ozyn-white);
}

.ozyn-accordion {
    border-top: 1px solid var(--ozyn-border);
}

.ozyn-accordion__item {
    border-bottom: 1px solid var(--ozyn-border);
}

.ozyn-accordion__toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ozyn-primary);
    text-align: left;
}

button.ozyn-accordion__toggle:hover {
    color: var(--ozyn-primary);
    background: transparent;
}

button.ozyn-accordion__toggle::focus {
    color: var(--ozyn-primary);
    background: transparent;
}

.ozyn-accordion__toggle span {
    font-size: 1.5rem;
    line-height: 1;
    transition: transform 0.3s;
}

.ozyn-accordion__toggle.active span {
    transform: rotate(45deg);
}

.ozyn-accordion__content {
    display: none;
    padding: 0 0 1.25rem;
    color: var(--ozyn-muted);
    font-size: 0.9rem;
    line-height: 1.7;
}

/* =============================================
   SECTION 11: CTA STRIP
   ============================================= */
.ozyn-cta-strip {
    background: #0f1f35;
    padding: 80px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Subtle dot pattern background */
.ozyn-cta-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient( circle, rgba(255,255,255,0.04) 1px, transparent 1px );
    background-size: 28px 28px;
    pointer-events: none;
}

.ozyn-cta-strip .ozyn-container {
    position: relative;
    z-index: 1;
}

.ozyn-cta-strip h2 {
    color: #ffffff;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 700;
    margin-bottom: 0.75rem;
    line-height: 1.2;
}

.ozyn-cta-strip p {
    color: rgba(255,255,255,0.6);
    font-size: 0.95rem;
    margin-bottom: 2rem;
}

.ozyn-cta-form {
    display: flex;
    justify-content: center;
}

.ozyn-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    height: 54px;
    padding: 0 2rem;
    background: #ffffff;
    color: #0f1f35;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    white-space: nowrap;
    -webkit-appearance: none;
}

/* Hide WooCommerce price styling inside button */
.ozyn-cta-btn .woocommerce-Price-amount,
.ozyn-cta-btn ins,
.ozyn-cta-btn .price {
    color: #0f1f35 !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.ozyn-cta-btn del {
    display: none !important;
}

.ozyn-cta-btn:hover {
    background: #ffffff;
    transform: translateY(-1px);
    color: #0f1f35;
}
.ozyn-cta-btn svg {
    flex-shrink: 0;
}

/* =============================================
   STICKY ADD TO CART BAR
   ============================================= */
.ozyn-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--ozyn-white);
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
    z-index: 9999;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    display: none;
}

.ozyn-sticky-bar.visible {
    transform: translateY(0);
}

.ozyn-sticky-bar__inner {
    max-width: var(--ozyn-max-width);
    margin: 0 auto;
    padding: 12px 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ozyn-sticky-bar__info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ozyn-sticky-bar__info img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
}

.ozyn-sticky-bar__info strong {
    display: block;
    font-size: 0.875rem;
    color: var(--ozyn-primary);
}

.ozyn-sticky-bar__info span {
    font-size: 0.875rem;
    color: var(--ozyn-accent);
    font-weight: 600;
}

.ozyn-sticky-btn {
    background: var(--ozyn-primary) !important;
    color: var(--ozyn-white) !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    white-space: nowrap;
    text-decoration: none;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media ( max-width: 1024px ) {
    .ozyn-benefits__grid,
    .ozyn-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .ozyn-steps::before { display: none; }

    .ozyn-ingredients__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ozyn-related .products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media ( max-width: 768px ) {
    .ozyn-hero__inner,
    .ozyn-ps__inner {
        grid-template-columns: 1fr;
    }

    .ozyn-results__grid {
        grid-template-columns: 1fr;
    }

    .ozyn-banner__inner {
        flex-direction: column;
        text-align: center;
    }

    .ozyn-sticky-bar {
        display: block;
    }
}

@media ( max-width: 480px ) {
    .ozyn-benefits__grid,
    .ozyn-steps,
    .ozyn-ingredients__grid {
        grid-template-columns: 1fr;
    }

    .ozyn-related .products {
        grid-template-columns: 1fr !important;
    }
}