/*
 * FITSO – Single Product Page v5 (Final)
 * ALL FIXES APPLIED:
 *  1. Orange → Green everywhere (--fi-primary: #3d8c52)
 *  2. Duplicate Add to Cart button hidden
 *  3. Custom +/- quantity buttons
 *  4. Benefits section – NO background wrapper
 *  5. Step number circles – GREEN with !important
 *  6. Customer Reviews – full WooCommerce form styled
 * ─────────────────────────────────────────────────────────────────────────
 * Place at: your-theme/woocommerce/fitso-product-v4.css
 */

:root {
    --fi-primary    : #3d8c52;
    --fi-p10        : rgba(61,140,82,.10);
    --fi-p20        : rgba(61,140,82,.20);
    --fi-p30        : rgba(61,140,82,.30);
    --fi-btn        : #2e7d32;
    --fi-btn-hover  : #1b5e20;
    --fi-green      : #16a34a;
    --fi-red        : #dc2626;
    --fi-white      : #ffffff;
    --fi-s50        : #f8fafc;
    --fi-s100       : #f1f5f9;
    --fi-s200       : #e2e8f0;
    --fi-s300       : #cbd5e1;
    --fi-s400       : #94a3b8;
    --fi-s500       : #64748b;
    --fi-s600       : #475569;
    --fi-s700       : #334155;
    --fi-s800       : #1e293b;
    --fi-s900       : #0f172a;
    --fi-r          : 0.5rem;
    --fi-r-lg       : 0.75rem;
    --fi-r-xl       : 1rem;
    --fi-r-2xl      : 1.5rem;
    --fi-r-full     : 9999px;
    --fi-sh         : 0 1px 3px rgba(0,0,0,.08);
    --fi-sh-md      : 0 4px 12px rgba(0,0,0,.10);
}

.fitso-wrap *, .fitso-wrap *::before, .fitso-wrap *::after { box-sizing: border-box; }
.fitso-wrap { font-family: 'Public Sans', sans-serif; -webkit-font-smoothing: antialiased; max-width: 1280px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }

.material-symbols-outlined { font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; vertical-align: middle; line-height: 1; }
.filled-icon { font-variation-settings: 'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24; }

/* ── Breadcrumb ────────────────────────────────────────────────────── */
.fitso-bread { display:flex; align-items:center; flex-wrap:wrap; gap:.375rem; font-size:.8125rem; color:var(--fi-s500); margin-bottom:2rem; }
.fitso-bread a { color:inherit; text-decoration:none; transition:color .2s; }
.fitso-bread a:hover { color:var(--fi-primary); }
.fitso-bread .material-symbols-outlined { font-size:.875rem; }
.fitso-bread span:last-child { color:var(--fi-s900); font-weight:600; }

pxl-post-title > .wrapper {
    background-color: #f5f6f6;
    padding-block: 0px !important;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    text-align: center;
}

.single.single-product #pxl-main {
    padding-block: 0px 0px !important;
}
/* ── Hero ──────────────────────────────────────────────────────────── */
.fitso-hero { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-bottom:5rem; align-items:start; }
@media (max-width:860px) { .fitso-hero { grid-template-columns:1fr; gap:2rem; } }

/* Gallery */
.fitso-gallery { display:flex; flex-direction:column; gap:1rem; }
.fitso-gallery__main { aspect-ratio:1; border-radius:var(--fi-r-xl); overflow:hidden; background:var(--fi-white); border:1px solid var(--fi-s100); box-shadow:var(--fi-sh); }
.fitso-gallery__main img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.fitso-gallery__main:hover img { transform:scale(1.03); }
.fitso-gallery__thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.fitso-gallery__thumb { aspect-ratio:1; border-radius:var(--fi-r); overflow:hidden; border:2px solid var(--fi-s100); cursor:pointer; opacity:.7; transition:opacity .2s,border-color .2s; }
.fitso-gallery__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.fitso-gallery__thumb:hover { opacity:1; }
.fitso-gallery__thumb.active { border-color:var(--fi-primary) !important; opacity:1; }

/* Details */
.fitso-details { display:flex; flex-direction:column; }

/* FIX 1: Badge – GREEN */
.fitso-pill-badge { display:inline-block; padding:.25rem .875rem; border-radius:var(--fi-r-full); background:var(--fi-p10) !important; color:var(--fi-primary) !important; font-size:.6875rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:.875rem; width:fit-content; }

/* Hide WooCommerce's own orange .onsale bubble */
.fitso-wrap .onsale,
.single-product span.onsale { display:none !important; }

.fitso-h1 { font-size:clamp(1.75rem,4vw,2.75rem); font-weight:900; line-height:1.1; letter-spacing:-.03em; color:var(--fi-s900); margin:0 0 1.25rem; }

.fitso-meta-row { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin-bottom:1.25rem; }
.fitso-stars { display:flex; align-items:center; gap:.125rem; color:var(--fi-primary) !important; }
.fi-star { font-size:1.125rem; color:var(--fi-primary) !important; }
.fi-rating-num { margin-left:.25rem; font-size:.875rem; font-weight:700; color:var(--fi-s900); }
.fi-reviews { font-size:.875rem; color:var(--fi-s400); }
.fi-sep { width:1px; height:1rem; background:var(--fi-s200); }
.fi-stock { display:flex; align-items:center; gap:.3rem; font-size:.875rem; font-weight:700; }
.fi-stock .material-symbols-outlined { font-size:.9375rem; }
.fi-stock.in  { color:var(--fi-green) !important; }
.fi-stock.out { color:var(--fi-red) !important; }

.fitso-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:.625rem; margin-bottom:1rem; }
.fi-price-now { font-size:1.875rem; font-weight:700; color:var(--fi-s900); }
.fi-price-now .woocommerce-Price-amount { font-size:inherit !important; font-weight:inherit !important; color:inherit !important; }
.fi-price-was { font-size:1.125rem; font-weight:400; color:var(--fi-s400); text-decoration:line-through; }
.fi-price-off { font-size:.875rem; font-weight:700; color:var(--fi-green); background:#f0fdf4; padding:.125rem .5rem; border-radius:.25rem; }

.fitso-excerpt { font-size:.9375rem; color:var(--fi-s600); line-height:1.65; margin-bottom:1.5rem; }
.fitso-excerpt p { margin:0; }

/* ══════════════════════════════════════════════════════════════════════
   PURCHASE — FIX 2 (no duplicate) + FIX 3 (custom qty)
══════════════════════════════════════════════════════════════════════ */
.fitso-purchase { padding-top:1.5rem; border-top:1px solid var(--fi-s200); display:flex; flex-direction:column; gap:1rem; }

.fitso-purchase form.cart { display:flex !important; gap:1rem; align-items:center; flex-wrap:wrap; }

/* FIX 2: kill the theme's extra Add to Cart link */
.fitso-purchase form.cart a.button,
.fitso-purchase form.cart a.single_add_to_cart_button,
.fitso-purchase > a.button,
.fitso-purchase > a.add_to_cart_button { display:none !important; }

/* FIX 3: hide default WC quantity, show our custom wrapper */
.fitso-purchase .quantity { display:none !important; }

.fi-qty-wrap { display:flex !important; align-items:center; border:1px solid var(--fi-s200); border-radius:var(--fi-r-lg); overflow:hidden; height:3.5rem; background:var(--fi-white); flex-shrink:0; }
.fi-qty-btn { width:3rem; height:3.5rem; background:transparent; border:none; font-size:1.5rem; font-weight:300; color:var(--fi-s700); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s; }
.fi-qty-btn:hover { background:var(--fi-s100); }
.fi-qty-input { width:3rem; text-align:center; border:none !important; outline:none !important; font-family:'Public Sans',sans-serif !important; font-size:1.125rem !important; font-weight:700 !important; color:var(--fi-s900) !important; background:transparent !important; -moz-appearance:textfield !important; padding:0 !important; height:100% !important; }
.fi-qty-input::-webkit-outer-spin-button,
.fi-qty-input::-webkit-inner-spin-button { -webkit-appearance:none !important; }

/* Add to Cart button */
.fitso-purchase .single_add_to_cart_button,
.fitso-purchase button[type="submit"],
.fitso-purchase input[type="submit"] {
    flex:1 !important; min-width:160px !important; height:3.5rem !important;
    background:var(--fi-btn) !important; color:#fff !important;
    font-family:'Public Sans',sans-serif !important; font-size:.9375rem !important; font-weight:700 !important;
    border:none !important; border-radius:var(--fi-r-lg) !important; cursor:pointer !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    gap:.5rem !important; transition:background .2s, transform .1s !important; letter-spacing:.01em !important; text-decoration:none !important;
}
.fitso-purchase .single_add_to_cart_button:hover { background:var(--fi-btn-hover) !important; }
.fitso-purchase .single_add_to_cart_button:active { transform:scale(.97) !important; }

/* Buy Now */
.fi-buynow-form { width:100%; margin:0; padding:0; }
.fi-buy-now { width:100%; height:3.5rem; background:transparent; color:var(--fi-s900); border:2px solid var(--fi-s900); border-radius:var(--fi-r-lg); font-family:'Public Sans',sans-serif; font-size:.9375rem; font-weight:700; cursor:pointer; transition:background .2s; display:flex; align-items:center; justify-content:center; }
.fi-buy-now:hover { background:var(--fi-s100); }

/* ══════════════════════════════════════════════════════════════════════
   SECTIONS (shared)
══════════════════════════════════════════════════════════════════════ */
.fitso-section { padding:4rem 0; border-top:1px solid var(--fi-s200); }
.fitso-section-title { font-size:clamp(1.5rem,3vw,2rem); font-weight:900; text-align:center; letter-spacing:-.03em; color:var(--fi-s900); margin:0 0 3rem; }

/* What's Inside */
.fitso-inside__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
@media (min-width:560px) { .fitso-inside__grid { grid-template-columns:repeat(4,1fr); } }
.fi-ingredient { text-align:center; }
.fi-ingredient__icon { width:6rem; height:6rem; margin:0 auto 1rem; border-radius:var(--fi-r-full); background:var(--fi-p10) !important; border:2px solid var(--fi-p20) !important; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.fi-ingredient:hover .fi-ingredient__icon { background:var(--fi-p20) !important; }
.fi-ingredient__icon .material-symbols-outlined { font-size:2.5rem; color:var(--fi-primary) !important; }
.fi-ingredient__name { font-size:.9375rem; font-weight:700; color:var(--fi-s900); line-height:1.3; }

/* FIX 4: Why You'll Love It – transparent background */
.fitso-benefits { background:transparent !important; border-radius:0; padding:4rem 0; border-top:1px solid var(--fi-s200); margin-left:0 !important; margin-right:0 !important; }
.fitso-benefits__grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:600px) { .fitso-benefits__grid { grid-template-columns:repeat(3,1fr); } }
.fi-benefit { background:var(--fi-white); border:1px solid var(--fi-s100); border-radius:var(--fi-r-2xl); padding:2rem; box-shadow:var(--fi-sh); transition:box-shadow .2s; }
.fi-benefit:hover { box-shadow:var(--fi-sh-md); }
.fi-benefit__icon { margin-bottom:1rem; }
.fi-benefit__icon .material-symbols-outlined { font-size:1.875rem; color:var(--fi-primary) !important; }
.fi-benefit__title { font-size:1.125rem; font-weight:700; color:var(--fi-s900); margin:0 0 .75rem; }
.fi-benefit__desc  { font-size:.9375rem; color:var(--fi-s600); line-height:1.6; margin:0; }

/* FIX 5: How to Prepare – GREEN circles */
.fitso-steps { margin-bottom:5rem; }
.fitso-steps__track { max-width:900px; margin:0 auto; position:relative; }
.fitso-steps__line { display:none; position:absolute; top:2.5rem; left:0; right:0; height:2px; background:var(--fi-s200); z-index:0; }
@media (min-width:600px) { .fitso-steps__line { display:block; } }
.fitso-steps__grid { display:grid; grid-template-columns:1fr; gap:2rem; position:relative; z-index:1; }
@media (min-width:600px) { .fitso-steps__grid { grid-template-columns:repeat(3,1fr); } }
.fi-step { text-align:center; }
.fi-step__num { width:5rem; height:5rem; border-radius:var(--fi-r-full); background:var(--fi-primary) !important; background-color:var(--fi-primary) !important; color:#fff !important; font-size:1.5rem; font-weight:900; display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; box-shadow:0 8px 20px var(--fi-p30) !important; }
.fi-step__label { font-size:1.125rem; font-weight:700; color:var(--fi-s900); margin:0 0 .5rem; }
.fi-step__desc  { font-size:.875rem; color:var(--fi-s500); line-height:1.5; margin:0; }

/* About */
.fitso-desc__body { max-width:820px; margin:0 auto; font-size:.9375rem; color:var(--fi-s600); line-height:1.7; }
.fitso-desc__body h2, .fitso-desc__body h3 { color:var(--fi-s900); font-weight:700; margin:1.5rem 0 .5rem; }
.fitso-desc__body p { margin-bottom:1rem; }
.fitso-desc__body ul { list-style:disc; padding-left:1.5rem; }
.fitso-desc__body li { margin-bottom:.4rem; }

/* FIX 6: Customer Reviews – full WooCommerce form */
.fitso-reviews { max-width:820px; margin-left:auto; margin-right:auto; }
.fitso-reviews .woocommerce-Reviews { display:block !important; }
.fitso-reviews ol.commentlist { list-style:none !important; padding:0 !important; margin:0 0 2rem !important; }
.fitso-reviews ol.commentlist li { margin:0 !important; padding:0 !important; }
.fitso-reviews .comment-body { padding:1.5rem 0 !important; border-bottom:1px solid var(--fi-s200) !important; }
.fitso-reviews .woocommerce-review__author { font-weight:700 !important; color:var(--fi-s900) !important; }
.fitso-reviews .woocommerce-review__published-date { font-size:.8125rem !important; color:var(--fi-s400) !important; }
.fitso-reviews .star-rating { color:var(--fi-primary) !important; margin-bottom:.5rem !important; }
.fitso-reviews .star-rating span::before { color:var(--fi-primary) !important; }
.fitso-reviews .description p { color:var(--fi-s600) !important; line-height:1.6 !important; margin:0 !important; }
.fitso-reviews .woocommerce-noreviews { color:var(--fi-s500) !important; margin-bottom:2rem !important; }

.fitso-reviews #review_form_wrapper,
.fitso-reviews #review_form,
.fitso-reviews #respond { display:block !important; }
.fitso-reviews #respond { margin-top:2rem !important; padding-top:2rem !important; border-top:1px solid var(--fi-s200) !important; }
.fitso-reviews #reply-title { font-size:1.25rem !important; font-weight:700 !important; color:var(--fi-s900) !important; margin:0 0 1.5rem !important; display:block !important; }

.fitso-reviews .stars a { color:var(--fi-s300) !important; font-size:1.5rem !important; text-decoration:none !important; }
.fitso-reviews .stars a:hover,
.fitso-reviews .stars.selected a { color:var(--fi-primary) !important; }

.fitso-reviews .comment-form label { display:block !important; font-weight:600 !important; font-size:.875rem !important; color:var(--fi-s700) !important; margin-bottom:.375rem !important; }
.fitso-reviews .comment-form input[type="text"],
.fitso-reviews .comment-form input[type="email"],
.fitso-reviews .comment-form textarea { display:block !important; width:100% !important; padding:.75rem 1rem !important; border:1px solid var(--fi-s200) !important; border-radius:var(--fi-r) !important; font-family:'Public Sans',sans-serif !important; font-size:.9375rem !important; color:var(--fi-s900) !important; background:var(--fi-white) !important; transition:border-color .2s !important; outline:none !important; margin-bottom:1rem !important; }
.fitso-reviews .comment-form input:focus,
.fitso-reviews .comment-form textarea:focus { border-color:var(--fi-primary) !important; }
.fitso-reviews .comment-form textarea { min-height:120px !important; resize:vertical !important; }
.fitso-reviews .comment-notes { font-size:.8125rem !important; color:var(--fi-s500) !important; margin-bottom:1.25rem !important; display:block !important; }

.fitso-reviews #submit {
    display:inline-flex !important; align-items:center !important;
    background:var(--fi-btn) !important; color:#fff !important; border:none !important;
    padding:.75rem 2rem !important; border-radius:var(--fi-r-lg) !important;
    font-family:'Public Sans',sans-serif !important; font-weight:700 !important; font-size:.9375rem !important;
    cursor:pointer !important; transition:background .2s !important;
}
.fitso-reviews #submit:hover { background:var(--fi-btn-hover) !important; }

/* Related Products */
.fitso-wrap .onsale,
.single-product span.onsale,
.fi-rel-card .onsale { display:none !important; }

.fitso-related__hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:2.5rem; }
.fitso-related__title { font-size:1.5rem; font-weight:900; letter-spacing:-.03em; margin:0; }
.fitso-related__all { display:flex; align-items:center; gap:.25rem; color:var(--fi-primary) !important; font-size:.875rem; font-weight:700; text-decoration:none; }
.fitso-related__all:hover { text-decoration:underline; }
.fitso-related__all .material-symbols-outlined { font-size:.875rem; }

.fitso-related__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
@media (min-width:900px) { .fitso-related__grid { grid-template-columns:repeat(4,1fr); } }

.fi-rel-card { background:var(--fi-white); border:1px solid var(--fi-s100); border-radius:var(--fi-r-2xl); padding:1rem; box-shadow:var(--fi-sh); transition:box-shadow .2s; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.fi-rel-card:hover { box-shadow:var(--fi-sh-md); }
.fi-rel-card__img { display:block; aspect-ratio:1; border-radius:var(--fi-r-xl); overflow:hidden; background:var(--fi-s100); margin-bottom:1rem; }
.fi-rel-card__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.fi-rel-card:hover .fi-rel-card__img img { transform:scale(1.08); }
.fi-rel-card__name { font-size:.875rem; font-weight:700; line-height:1.35; margin:0 0 .5rem; flex:1; }
.fi-rel-card__name a { color:var(--fi-s900); text-decoration:none; }
.fi-rel-card__name a:hover { color:var(--fi-primary); }
.fi-rel-card__price { font-weight:700; color:var(--fi-primary) !important; margin:0 0 1rem; font-size:.9375rem; }
.fi-rel-card__price .woocommerce-Price-amount { color:inherit !important; }
.fi-rel-card__btn { display:block !important; width:100% !important; padding:.625rem 0 !important; text-align:center !important; background:var(--fi-s900) !important; color:#fff !important; font-family:'Public Sans',sans-serif !important; font-size:.75rem !important; font-weight:700 !important; border-radius:var(--fi-r) !important; text-decoration:none !important; border:none !important; cursor:pointer !important; transition:background .2s !important; }
.fi-rel-card__btn:hover { background:var(--fi-primary) !important; }

@media (max-width:560px) {
    .fitso-wrap { padding:1.5rem 1rem 3rem; }
    .fitso-h1   { font-size:1.625rem; }
    .fi-ingredient__icon { width:4.5rem; height:4.5rem; }
    .fi-ingredient__icon .material-symbols-outlined { font-size:2rem; }
    .fitso-steps__line { display:none; }
}