/* ==========================================================
   PEPTORIA — product page, top section (breadcrumb, gallery,
   summary). The page is drawn by Blocksy + WooCommerce, with
   CartFlows Variation Swatches for the size buttons; Blocksy
   styles these through variables and its dynamic CSS, hence
   the .single-product prefix and the occasional !important.
   ========================================================== */
.single-product{--pg-tint:#EAF3EE;--pg-soft:#F3F6F4}

/* Breadcrumb */
.single-product .ct-breadcrumbs{--theme-text-transform:none;--theme-letter-spacing:0;--theme-font-size:13px;--theme-font-weight:400;margin:24px 0 22px;font-family:var(--font);color:var(--slate)}
.single-product .ct-breadcrumbs a{color:var(--green);text-decoration:none}
.single-product .ct-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}

/* Columns */
.single-product .product-entry-wrapper{--product-gallery-width:52%;font-family:var(--font);color:var(--ink)}
@media (min-width:1000px){.single-product .product-entry-wrapper .entry-summary{margin-inline-start:5%}}
.single-product .product-entry-wrapper .woocommerce-product-gallery,.single-product .product-entry-wrapper .entry-summary{margin-bottom:48px}

/* Gallery */
.single-product .ct-product-gallery-container .flexy{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--pg-soft)}
.single-product .ct-product-gallery-container .flexy-arrow-prev,.single-product .ct-product-gallery-container .flexy-arrow-next{border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(6,55,31,.15)}
.single-product .ct-product-gallery-container .flexy-pills{margin-top:12px}
.single-product .ct-product-gallery-container .flexy-pills ol{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0!important;padding:0!important;transform:none!important}
.single-product .ct-product-gallery-container .flexy-pills li{width:auto!important;margin:0!important;padding:0!important;list-style:none;cursor:pointer;opacity:1}
.single-product .ct-product-gallery-container .flexy-pills li .ct-media-container{display:block;aspect-ratio:1/1;overflow:hidden;background:#fff;border:1.5px solid var(--line);border-radius:12px;opacity:.65;transition:opacity .15s,border-color .15s,box-shadow .15s}
.single-product .ct-product-gallery-container .flexy-pills li .ct-media-container img{width:100%;height:100%;object-fit:cover;border-radius:0}
.single-product .ct-product-gallery-container .flexy-pills li:hover .ct-media-container{opacity:1}
.single-product .ct-product-gallery-container .flexy-pills li.active .ct-media-container{opacity:1;border-color:var(--green);box-shadow:0 0 0 3px var(--pg-tint)}
.single-product .ct-product-gallery-container .flexy-pills li::after{display:none}

/* Title + price range */
.single-product .entry-summary .product_title{margin:0 0 10px!important;font-family:var(--font)!important;font-size:clamp(30px,3.2vw,42px)!important;line-height:1.1!important;letter-spacing:-.02em!important;font-weight:700!important;color:var(--ink)!important;text-transform:none!important}
.single-product .entry-summary>.price{--theme-font-size:18px;margin:0 0 26px!important;padding:0 0 24px;border-bottom:1px solid var(--line);font-family:var(--font)!important;font-size:18px!important;font-weight:600!important;color:var(--slate)!important}
.single-product .entry-summary>.price *{color:inherit!important;font-weight:inherit}
.single-product .entry-summary .ct-product-divider{display:none}
.single-product .entry-summary .woocommerce-product-details__short-description{margin:-8px 0 24px;font-size:15px;line-height:1.6;color:var(--slate)}

/* Size picker */
.single-product .entry-summary table.variations{width:100%;margin:0!important;border:0!important;background:none}
.single-product .entry-summary table.variations :is(tbody,tr,th,td){display:block;padding:0!important;border:0!important;background:none!important;text-align:left}
.single-product .entry-summary table.variations tr+tr{margin-top:18px}
.single-product .entry-summary table.variations th.label{display:block!important;margin:0 0 10px}
.single-product .entry-summary table.variations th.label .cfvsw-selected-label{font-weight:500;color:var(--slate)}
.single-product .entry-summary table.variations th.label .cfvsw-selected-label:not(:empty)::before{content:":";margin-right:6px;color:var(--ink);font-weight:600}
.single-product .entry-summary table.variations th.label label{font-size:14px!important;font-weight:600!important;color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important}
.single-product .entry-summary table.variations select{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background-color:#fff;font:inherit;font-size:15px;color:var(--ink)}
.single-product .entry-summary .cfvsw-swatches-container{display:flex!important;flex-wrap:wrap;gap:10px;margin:0!important;padding:0!important;justify-content:flex-start!important}
.single-product .entry-summary .cfvsw-swatches-option{min-width:84px!important;height:50px!important;margin:0!important;padding:0 18px!important;display:flex!important;align-items:center;justify-content:center;background:#fff!important;border:0!important;border-radius:12px!important;box-shadow:0 0 0 1px var(--line)!important;font-size:15px!important;font-weight:600!important;color:var(--ink)!important;cursor:pointer;transition:box-shadow .15s,background-color .15s}
.single-product .entry-summary .cfvsw-swatches-option .cfvsw-swatch-inner{padding:0!important;background:none!important;font:inherit!important;color:inherit!important;box-shadow:none!important;border:0!important}
.single-product .entry-summary .cfvsw-swatches-option:hover{box-shadow:0 0 0 1px #9FB3A6!important}
.single-product .entry-summary .cfvsw-swatches-option.cfvsw-selected-swatch{background:var(--pg-tint)!important;color:var(--green)!important;box-shadow:0 0 0 2px var(--green)!important}
.single-product .entry-summary .reset_variations{display:inline-block;margin-top:12px;font-size:13px;color:var(--slate)!important;text-decoration:underline;text-underline-offset:3px}

/* Selected price + stock */
.single-product .entry-summary .single_variation_wrap{margin-top:24px}
.single-product .entry-summary .woocommerce-variation.single_variation{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 18px}
.single-product .entry-summary .woocommerce-variation-price .price{--theme-font-size:32px;margin:0!important;font-family:var(--font)!important;font-size:32px!important;font-weight:700!important;letter-spacing:-.01em;color:var(--ink)!important}
.single-product .entry-summary .woocommerce-variation-price .price *{color:inherit!important}
.single-product .entry-summary .woocommerce-variation-description:empty{display:none}
.single-product .entry-summary .stock{display:inline-flex;align-items:center;gap:7px;margin:0!important;padding:5px 12px;border-radius:999px;font-size:13px!important;font-weight:600}
.single-product .entry-summary .stock::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.single-product .entry-summary .stock.in-stock{background:var(--pg-tint);color:var(--green)!important}
.single-product .entry-summary .stock.out-of-stock{background:#FBEEE8;color:#A2421D!important}

/* Quantity + Add to cart */
.single-product .entry-summary .ct-cart-actions{flex-wrap:nowrap;gap:12px;align-items:stretch}
.single-product .entry-summary .ct-cart-actions .quantity{--quantity-height:56px;--quantity-width:140px;--quantity-initial-color:transparent;--quantity-hover-color:var(--pg-soft);--quantity-arrows-initial-color:var(--ink);--quantity-arrows-hover-color:var(--green);--quantity-icon-size:11px;flex:0 0 auto;margin:0!important;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.single-product .entry-summary .ct-cart-actions .quantity input.qty{--theme-form-field-border-initial-color:transparent;--theme-form-field-border-focus-color:transparent;border:0!important;background:transparent;font-size:16px;font-weight:600;color:var(--ink);box-shadow:none}
.single-product .entry-summary .ct-cart-actions .quantity :is(.ct-increase,.ct-decrease){border-radius:0}
.single-product .entry-summary .single_add_to_cart_button{flex:1 1 auto;height:56px!important;min-height:56px!important;margin:0!important;border:0!important;border-radius:12px!important;background:var(--green)!important;color:#fff!important;font-family:var(--font);font-size:16px!important;font-weight:700!important;letter-spacing:.01em;text-transform:none!important;box-shadow:0 10px 20px -10px rgba(11,107,58,.7);transition:background-color .15s,transform .15s}
.single-product .entry-summary .single_add_to_cart_button:hover{background:var(--green-700)!important;transform:translateY(-1px)}
.single-product .entry-summary .single_add_to_cart_button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.single-product .entry-summary .single_add_to_cart_button.disabled{opacity:.5!important;transform:none;box-shadow:none}

/* Trust card (includes/product-page.php) */
.pg-trust{margin:28px 0 0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px}
.pg-trust ul{list-style:none;margin:0;padding:0}
.pg-trust li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center;margin:0;padding:14px 18px;border-bottom:1px solid var(--line)}
.pg-trust li:last-child{border-bottom:0}
.pg-trust ul+.pg-trust-ruo{border-top:1px solid var(--line)}
.pg-trust-ico{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--pg-tint);color:var(--green)}
.pg-trust-ico svg{width:18px;height:18px}
.pg-trust strong{display:block;font-size:14px;line-height:1.35;color:var(--ink)}
.pg-trust li span:not(.pg-trust-ico){display:block;font-size:13px;line-height:1.45;color:var(--slate)}
.pg-trust a{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pg-trust-ruo{display:flex;gap:10px;align-items:flex-start;margin:0;padding:13px 18px;background:#FBF6EA;font-size:13px;line-height:1.5;color:#5B4A1F}
.pg-trust-ruo svg{flex:0 0 16px;width:16px;height:16px;margin-top:2px;color:var(--gold)}
.pg-trust-ruo b{color:#3F3313}

/* Categories / brand */
.single-product .entry-summary .product_meta{display:grid;gap:6px;margin:22px 0 0;font-size:13px;color:var(--slate)}
.single-product .entry-summary .product_meta,.single-product .entry-summary .product_meta *{text-transform:none!important;letter-spacing:0!important}
.single-product .entry-summary .product_meta>span{font-weight:600;color:var(--ink)}
.single-product .entry-summary .product_meta a{font-weight:500;color:var(--green)!important;text-decoration:none}
.single-product .entry-summary .product_meta a:hover{text-decoration:underline}

@media (max-width:999.98px){
  .single-product .product-entry-wrapper .woocommerce-product-gallery,.single-product .product-entry-wrapper .entry-summary{margin-bottom:28px}
  .single-product .ct-product-gallery-container .flexy-pills ol{gap:8px}
}
@media (max-width:479.98px){
  .single-product .entry-summary .ct-cart-actions .quantity{--quantity-width:120px}
}
@media (prefers-reduced-motion:reduce){.single-product .product-entry-wrapper *{transition:none!important}}
