/* ============================================================
   FUNNY FEET — 2026 product page
   Restyles Blocksy + WooCommerce + Variation Swatches + Perfect
   Brands on single products. Scoped to body.ffp, added by the PHP
   (or by funnyfeet-product.js / the console test).
   ============================================================ */
body.ffp{
  --ffa-o:#FF8A1F; --ffa-od:#F06414; --ffa-ot:#C2410C; --ffa-ink:#034220; --ffa-soft:#4F7B63;
  --ffa-green:#00803C; --ffa-greend:#005A2A; --ffa-lime:#B4F025; --ffa-sky:#3BAFFD; --ffa-sun:#FFC928; --ffa-pink:#E91ED0; --ffa-pinkt:#B8078F;
  --ffa-peach:#FFF3EA; --ffa-mist:#EAF6FF; --ffa-limet:#F2FCDD; --ffa-sunt:#FFF6D6; --ffa-line:#F1E3D8; --ffa-card:#FFF6EF;
  --ffa-display:"M PLUS Rounded 1c", system-ui, sans-serif;
  --ffa-body:"Geologica", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ffa-doodle:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20340%20340%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cg%20transform%3D%27translate%2814%2018%29%20rotate%28-12%2032%2032%29%27%3E%3Cpath%20d%3D%27M6%2044V34c0-8%204-14%2010-16h8c2%206%207%209%2014%2010l12%202c6%201%2010%205%2010%2010v4z%27%2F%3E%3Cpath%20d%3D%27M4%2044h56v3a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3z%27%2F%3E%3Cpath%20d%3D%27M28%2025l4-4M33%2027l4-4M38%2028l4-4%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28190%2010%29%20rotate%2810%2032%2032%29%27%3E%3Cpath%20d%3D%27M18%208h20v28c10%201%2018%205%2020%2012v4H16v-4c0-6%202-10%202-14z%27%2F%3E%3Cpath%20d%3D%27M18%2015h20M16%2048h42%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28120%20120%29%20rotate%28-6%2032%2032%29%27%3E%3Cpath%20d%3D%27M6%2046c0-4%204-6%2010-6h36c5%200%208%202%208%206s-3%204-8%204H12c-4%200-6-1-6-4z%27%2F%3E%3Cpath%20d%3D%27M14%2040c0-10%206-14%2012-14%204%200%206%204%206%2014M36%2040c2-8%208-10%2014-6%204%202%204%206%204%206M20%2033h8%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28250%20150%29%20rotate%2818%2032%2032%29%27%3E%3Cpath%20d%3D%27M32%208l6%2014%2015%201-12%209%204%2015-13-8-13%208%204-15-12-9%2015-1z%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%2820%20200%29%20rotate%288%2032%2032%29%27%3E%3Cpath%20d%3D%27M6%2042c0-6%206-8%2012-6%208%202%2016%202%2024%200%2010-2%2018%200%2018%206%200%204-4%206-10%206H14c-5%200-8-2-8-6z%27%2F%3E%3Cpath%20d%3D%27M22%2037c2-7%2014-7%2016%200M30%2033l-5-4v7zM30%2033l5-4v7z%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28200%20240%29%20rotate%28-20%2032%2032%29%27%3E%3Cellipse%20cx%3D%2730%27%20cy%3D%2744%27%20rx%3D%2713%27%20ry%3D%2717%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2722%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%2723%27%20cy%3D%2716%27%20r%3D%273.5%27%2F%3E%3Ccircle%20cx%3D%2731%27%20cy%3D%2713%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%2741%27%20cy%3D%2716%27%20r%3D%275.5%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28110%20280%29%27%3E%3Ccircle%20cx%3D%2710%27%20cy%3D%2710%27%20r%3D%274%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28300%2070%29%27%3E%3Ccircle%20cx%3D%2710%27%20cy%3D%2710%27%20r%3D%273%27%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%27translate%28120%2030%29%27%3E%3Cpath%20d%3D%27M4%2012c6-8%2014%208%2020%200%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  font-family:var(--ffa-body); color:var(--ffa-ink);
}
body.ffp :focus-visible{ outline:3px solid var(--ffa-sky); outline-offset:3px; border-radius:8px; }

/* ---------- breadcrumb ---------- */
body.ffp .hero-section{ margin-bottom:18px !important; padding:0 !important; }
body.ffp .ct-breadcrumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font:400 14px var(--ffa-body) !important; color:var(--ffa-soft) !important; text-transform:none !important; letter-spacing:0 !important; }
body.ffp .ct-breadcrumbs a{ color:inherit !important; text-decoration:none; }
body.ffp .ct-breadcrumbs a:hover{ color:var(--ffa-ot) !important; text-decoration:underline; }
body.ffp .ct-breadcrumbs svg{ opacity:.5; }
body.ffp .ct-breadcrumbs .last-item{ max-width:min(60vw,420px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ---------- gallery ---------- */
body.ffp .product-entry-wrapper{ column-gap:48px !important; align-items:start; }
body.ffp .woocommerce-product-gallery{ align-self:start; }
@media (min-width:1000px){ body.ffp .woocommerce-product-gallery{ position:sticky; top:150px; } }
body.ffp .woocommerce-product-gallery .flexy-view{ border-radius:32px; background:var(--ffa-card); overflow:hidden; }
body.ffp .woocommerce-product-gallery .flexy-view .ct-media-container{ aspect-ratio:1/1 !important; padding:8%; background:var(--ffa-card) !important; border-radius:0 !important; }
body.ffp .woocommerce-product-gallery .flexy-view img{ width:100% !important; height:100% !important; object-fit:contain !important; aspect-ratio:auto !important; mix-blend-mode:multiply; }
body.ffp .flexy-arrow-prev, body.ffp .flexy-arrow-next{ width:46px !important; height:46px !important; border-radius:50% !important; background:#fff !important; color:var(--ffa-ink) !important;
  box-shadow:0 1px 0 rgba(3,66,32,.04), 0 12px 30px -12px rgba(3,66,32,.25); opacity:1 !important; }
body.ffp .woocommerce-product-gallery__trigger{ background:#fff !important; border-radius:50% !important; box-shadow:0 4px 14px rgba(3,66,32,.12); }
body.ffp .flexy-pills ol{ gap:10px !important; margin-top:12px !important; }
body.ffp .flexy-pills li{ width:84px !important; aspect-ratio:1; border-radius:16px !important; background:var(--ffa-card) !important; border:2px solid transparent !important; padding:6px !important;
  opacity:1 !important; overflow:hidden; transition:border-color .2s; cursor:pointer; }
body.ffp .flexy-pills li:hover{ border-color:var(--ffa-ink) !important; }
body.ffp .flexy-pills li.active{ border-color:var(--ffa-o) !important; }
body.ffp .flexy-pills li .ct-media-container{ background:var(--ffa-card) !important; border-radius:0 !important; height:100%; }
body.ffp .flexy-pills li img{ width:100% !important; height:100% !important; object-fit:contain !important; mix-blend-mode:multiply; }
body.ffp .ffp-badges{ position:absolute; left:16px; top:16px; z-index:3; display:flex; flex-direction:column; gap:6px; align-items:flex-start; pointer-events:none; }
body.ffp .ffp-badges span{ font:800 13px var(--ffa-display); padding:6px 12px; border-radius:99px; color:var(--ffa-ink); }
body.ffp .ffp-badges .lights{ background:var(--ffa-sun); }
body.ffp .ffp-badges .anat{ background:var(--ffa-lime); }
body.ffp .ffp-badges .sale{ background:var(--ffa-pink); color:#fff; }

/* ---------- summary ---------- */
body.ffp .entry-summary-items > *{ margin-top:0 !important; margin-bottom:18px !important; }
body.ffp .entry-summary-items > .ffp-brand{ margin-bottom:12px !important; }
body.ffp .entry-summary-items > .product_title{ margin-bottom:14px !important; }
body.ffp .ffp-brand{ display:inline-flex; align-items:center; gap:10px; align-self:flex-start; width:max-content; background:#fff; border:2px solid var(--ffa-line); border-radius:99px; padding:5px 14px 5px 5px;
  font:600 13px var(--ffa-body); letter-spacing:.08em; text-transform:uppercase; color:var(--ffa-ot) !important; text-decoration:none !important; margin-bottom:-4px; }
body.ffp .ffp-brand:hover{ border-color:var(--ffa-ink); }
body.ffp .ffp-brand img{ width:30px; height:30px; border-radius:50%; object-fit:contain; background:#fff; }
body.ffp .pwb-single-product-brands{ display:none !important; }
body.ffp .product_title{ font:800 clamp(26px,3vw,36px)/1.15 var(--ffa-display) !important; color:var(--ffa-ink) !important; letter-spacing:-.01em; text-transform:none !important; margin:0 !important; }
body.ffp .entry-summary > .price, body.ffp .entry-summary-items > .price{ display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; font:900 40px/1 var(--ffa-display) !important; color:var(--ffa-ink) !important; margin:0 !important; }
body.ffp .entry-summary-items > .price del{ order:2; font:500 18px var(--ffa-body); color:#8d8d8d; opacity:1; }
body.ffp .entry-summary-items > .price ins{ order:1; color:var(--ffa-pinkt); text-decoration:none; background:none; }
body.ffp .woocommerce-product-details__short-description{ color:var(--ffa-soft); font-size:16.5px; line-height:1.6; }
body.ffp .woocommerce-product-details__short-description p{ margin:0 0 12px; }
body.ffp .woocommerce-product-details__short-description strong{ color:var(--ffa-ink); }
body.ffp .woocommerce-product-details__short-description .span16, body.ffp .woocommerce-product-details__short-description #product_detail_page{ display:none !important; }
/* feature icons inside the short description (e.g. "Με φωτάκια", dinosaur) */
body.ffp .woocommerce-product-details__short-description p:has(> a > img){ display:flex; flex-wrap:wrap; gap:10px; }
body.ffp .woocommerce-product-details__short-description p > a > img{ width:84px; height:84px; object-fit:contain; border-radius:18px; border:2px solid var(--ffa-line); background:#fff; padding:6px; margin:0; display:block; }
body.ffp .ct-product-divider{ display:none !important; }

/* add to cart box */
body.ffp .ct-product-add-to-cart{ background:#fff; border:2px solid var(--ffa-green); box-shadow:0 7px 0 var(--ffa-green); border-radius:28px; padding:22px; }
body.ffp .ct-product-add-to-cart form.cart{ margin:0 !important; }
body.ffp table.variations, body.ffp table.variations tbody, body.ffp table.variations tr, body.ffp table.variations th, body.ffp table.variations td{ display:block; border:0 !important; padding:0 !important; margin:0; background:none !important; width:auto; }
body.ffp table.variations tr th.label{ display:block !important; margin-bottom:12px !important; }
body.ffp table.variations th.label label{ font:800 17px var(--ffa-display) !important; color:var(--ffa-ink) !important; text-transform:none !important; letter-spacing:0 !important; margin:0; }
body.ffp table.variations th.label .cfvsw-selected-label{ display:none; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-container{ width:100% !important; display:grid !important; grid-template-columns:repeat(auto-fill,minmax(58px,1fr)); gap:8px !important; margin-bottom:12px; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option{ height:52px; min-width:0 !important; margin:0 !important; padding:0 !important; border-radius:14px !important; border:2px solid var(--ffa-line) !important;
  background:#fff !important; box-shadow:none !important; outline:0 !important; display:grid !important; place-items:center; cursor:pointer; transition:border-color .15s, background .15s; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option .cfvsw-swatch-inner{ font:800 18px var(--ffa-display) !important; color:var(--ffa-ink) !important; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option:hover{ border-color:var(--ffa-ink) !important; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option.cfvsw-selected-swatch{ background:var(--ffa-o) !important; border-color:var(--ffa-o) !important; box-shadow:0 4px 0 var(--ffa-od) !important; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option[class*="disable"]{ background:#fafafa !important; border-color:#eee !important; cursor:not-allowed; opacity:1 !important; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option[class*="disable"]::before, body.ffp .ct-product-add-to-cart .cfvsw-swatches-option[class*="disable"]::after{ display:none !important; }
body.ffp .ct-product-add-to-cart .cfvsw-swatches-option[class*="disable"] .cfvsw-swatch-inner{ color:#b3b3b3 !important; text-decoration:line-through; }
body.ffp .ct-product-add-to-cart .reset_variations{ display:none !important; }
body.ffp .single_variation_wrap .woocommerce-variation{ margin:0 0 12px; }
body.ffp .woocommerce-variation-price{ display:none; }                       /* same price as above */
body.ffp .woocommerce-variation-availability p.stock{ margin:0; font:600 14px var(--ffa-body); color:var(--ffa-green) !important; }
body.ffp .woocommerce-variation-availability p.stock.out-of-stock{ color:var(--ffa-pinkt) !important; }
body.ffp .ffp-err{ display:none; margin:0 0 12px; font:600 14px var(--ffa-body); color:var(--ffa-pinkt); }
body.ffp .ffp-err.show{ display:block; }
body.ffp .ct-cart-actions{ display:flex !important; gap:10px; align-items:stretch; flex-wrap:nowrap; }
body.ffp .ct-cart-actions .quantity{ height:56px !important; min-width:126px; border:2px solid var(--ffa-line) !important; border-radius:99px !important; background:var(--ffa-peach) !important; }
body.ffp .ct-cart-actions .quantity input{ background:transparent !important; border:0 !important; font:800 17px var(--ffa-display) !important; color:var(--ffa-ink) !important; box-shadow:none !important; }
body.ffp .ct-cart-actions .quantity .ct-increase, body.ffp .ct-cart-actions .quantity .ct-decrease{ border:0 !important; color:var(--ffa-ink) !important; }
body.ffp .single_add_to_cart_button{ flex:1; height:56px !important; min-height:0 !important; display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
  font:800 17px var(--ffa-display) !important; letter-spacing:0 !important; text-transform:none !important; color:var(--ffa-ink) !important; background:var(--ffa-o) !important; border:0 !important;
  border-radius:99px !important; box-shadow:0 5px 0 var(--ffa-od) !important; opacity:1 !important; transition:transform .15s, box-shadow .15s; }
body.ffp .single_add_to_cart_button:hover{ transform:translateY(-2px); box-shadow:0 7px 0 var(--ffa-od) !important; }
body.ffp .single_add_to_cart_button:active{ transform:translateY(3px); box-shadow:0 2px 0 var(--ffa-od) !important; }
body.ffp .single_add_to_cart_button::after{ content:"→"; font-weight:800; }
body.ffp .single_add_to_cart_button.loading::after{ content:"…"; }

/* links under the box (added by the JS) */
body.ffp .ffp-trust{ display:grid; gap:10px; }
body.ffp .ffp-trust a{ display:flex; align-items:center; gap:14px; padding:12px 16px; border-radius:18px; background:var(--t); color:var(--ffa-ink) !important; text-decoration:none !important; font-weight:500; transition:transform .15s; }
body.ffp .ffp-trust a:hover{ transform:translateX(4px); }
body.ffp .ffp-trust i{ font-style:normal; width:40px; height:40px; border-radius:12px; background:#fff; display:grid; place-items:center; font-size:19px; flex:none; }
body.ffp .ffp-trust b{ display:block; font:800 15px var(--ffa-display); }
body.ffp .ffp-trust small{ display:block; color:var(--ffa-soft); font-size:13px; }
body.ffp .ffp-trust .go{ margin-left:auto; font:800 14px var(--ffa-display); }

/* product code + categories */
body.ffp .product_meta, body.ffp .product_meta *{ text-transform:none !important; letter-spacing:0 !important; }
body.ffp .product_meta{ display:grid !important; gap:8px; font:400 14px var(--ffa-body) !important; color:var(--ffa-soft) !important; text-transform:none !important; letter-spacing:0 !important; border:0 !important; padding:0 !important; }
body.ffp .product_meta > span{ display:block; margin:0 !important; }
body.ffp .product_meta .sku{ color:var(--ffa-ink); font-weight:600; }
body.ffp .product_meta .posted_in{ display:flex !important; flex-wrap:wrap; gap:6px; align-items:center; }
body.ffp .product_meta .posted_in a{ display:inline-block; padding:5px 12px; border-radius:99px; background:var(--ffa-mist); color:var(--ffa-ink) !important; font-weight:500; text-decoration:none !important; font-size:13.5px; }
body.ffp .product_meta .posted_in a:hover{ background:var(--ffa-lime); }
body.ffp .product_meta .tagged_as{ display:none !important; }

/* ---------- details tabs ---------- */
body.ffp .woocommerce-tabs{ position:relative; isolation:isolate; background:var(--ffa-peach); padding:56px 0 !important; margin-top:56px !important; border:0 !important; }
body.ffp .woocommerce-tabs::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(255,138,31,.12);
  -webkit-mask-image:var(--ffa-doodle); mask-image:var(--ffa-doodle); -webkit-mask-size:340px; mask-size:340px; }
body.ffp .woocommerce-tabs ul.tabs{ display:flex !important; flex-wrap:wrap; gap:8px; justify-content:flex-start !important; border:0 !important; margin-bottom:18px !important; padding:0 !important; }
body.ffp .woocommerce-tabs ul.tabs::before, body.ffp .woocommerce-tabs ul.tabs::after{ display:none !important; }
body.ffp .woocommerce-tabs ul.tabs li{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
body.ffp .woocommerce-tabs ul.tabs li::before, body.ffp .woocommerce-tabs ul.tabs li::after{ display:none !important; }
body.ffp .woocommerce-tabs ul.tabs li a{ display:block; font:800 16px var(--ffa-display) !important; letter-spacing:0 !important; text-transform:none !important; padding:12px 20px !important; border-radius:99px;
  background:#fff; border:2px solid var(--ffa-line); color:var(--ffa-ink) !important; text-decoration:none !important; }
body.ffp .woocommerce-tabs ul.tabs li a:hover{ border-color:var(--ffa-ink); }
body.ffp .woocommerce-tabs ul.tabs li.active a{ background:var(--ffa-green); border-color:var(--ffa-green); color:#fff !important; }
body.ffp .woocommerce-tabs > article{ width:var(--theme-container-width, min(100% - 32px, 1240px)); max-width:var(--theme-normal-container-max-width, 1290px); margin-inline:auto; }
body.ffp .woocommerce-Tabs-panel{ background:#fff; border-radius:28px; padding:30px !important; max-width:900px; font-size:16.5px; line-height:1.7; color:var(--ffa-ink); margin:0 !important; }
body.ffp .woocommerce-Tabs-panel > h2:first-child{ display:none; }
body.ffp .woocommerce-Tabs-panel .span16{ display:none !important; }
body.ffp .woocommerce-product-attributes{ width:100%; border:0 !important; margin:0 !important; }
body.ffp .woocommerce-product-attributes th, body.ffp .woocommerce-product-attributes td{ text-align:left; padding:14px 4px !important; border:0 !important; border-bottom:1px solid var(--ffa-line) !important; background:none !important; }
body.ffp .woocommerce-product-attributes tr:last-child th, body.ffp .woocommerce-product-attributes tr:last-child td{ border-bottom:0 !important; }
body.ffp .woocommerce-product-attributes th{ width:180px; font:800 15px var(--ffa-display) !important; color:var(--ffa-ink) !important; text-transform:none !important; }
body.ffp .woocommerce-product-attributes td p{ margin:0; }
body.ffp .woocommerce-product-attributes td a{ display:inline-block; margin:2px 4px 2px 0; padding:3px 10px; border-radius:8px; background:var(--ffa-mist); color:var(--ffa-ink) !important; font-weight:500; text-decoration:none !important; }
body.ffp #tab-pwb_tab-content{ display:flex; align-items:center; gap:18px; }
body.ffp #tab-pwb_tab-content h3{ order:2; margin:0; font:800 20px var(--ffa-display); color:var(--ffa-ink); }
body.ffp #tab-pwb_tab-content img{ width:72px; height:72px; border-radius:20px; border:2px solid var(--ffa-line); object-fit:contain; padding:8px; display:block; }
body.ffp #reviews .woocommerce-Reviews-title{ font:800 20px var(--ffa-display) !important; color:var(--ffa-ink) !important; margin:0 0 8px !important; }
body.ffp #reviews .woocommerce-noreviews, body.ffp #reviews .must-log-in{ margin:0 0 6px; color:var(--ffa-soft); }
body.ffp #reviews a{ color:var(--ffa-ot) !important; font-weight:600; text-decoration:underline; }
body.ffp #reviews .comment-reply-title{ font:800 17px var(--ffa-display) !important; color:var(--ffa-ink); }

/* ---------- related products ---------- */
body.ffp section.related{ margin-top:56px !important; }
body.ffp section.related > h2{ margin:0 0 22px !important; font:800 clamp(28px,3.6vw,40px)/1.08 var(--ffa-display) !important; color:var(--ffa-ink) !important; text-transform:none !important; letter-spacing:-.01em !important; text-align:left !important; }
body.ffp section.related > h2 .ffp-kicker{ display:flex; align-items:center; gap:10px; font:600 14px var(--ffa-body); letter-spacing:0; color:var(--ffa-ot); margin-bottom:10px; }
body.ffp .ffp-toes{ display:inline-flex; gap:3px; align-items:flex-end; }
body.ffp .ffp-toes i{ display:block; border-radius:50%; }
body.ffp .ffp-toes i:nth-child(1){ width:7px; height:7px; background:#F0331C; }
body.ffp .ffp-toes i:nth-child(2){ width:8px; height:8px; background:var(--ffa-o); }
body.ffp .ffp-toes i:nth-child(3){ width:9px; height:9px; background:var(--ffa-sun); }
body.ffp .ffp-toes i:nth-child(4){ width:10px; height:10px; background:var(--ffa-sky); }
body.ffp .ffp-toes i:nth-child(5){ width:13px; height:13px; background:var(--ffa-pink); }
body.ffp section.related ul.products{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; }

/* ---------- product cards (same as the shop pages) ---------- */
body.ffp ul.products{ gap:18px !important; margin:0 !important; }
body.ffp ul.products li.product{ position:relative; display:flex !important; flex-direction:column; gap:0; padding:10px 10px 14px !important; margin:0 !important; background:#fff;
  border:1.5px solid var(--ffa-line); border-radius:20px; transition:transform .2s, box-shadow .2s, border-color .2s; text-align:left; }
body.ffp ul.products li.product:hover{ transform:translateY(-4px); box-shadow:0 1px 0 rgba(3,66,32,.04), 0 12px 30px -12px rgba(3,66,32,.22); border-color:transparent; }
body.ffp ul.products li.product figure{ order:0; position:relative; margin:0 !important; border-radius:14px; overflow:hidden; background:var(--ffa-card); aspect-ratio:1/1; }
body.ffp ul.products li.product figure .ct-media-container{ display:block; width:100%; height:100%; padding:6%; background:transparent !important; border-radius:0 !important; }
body.ffp ul.products li.product figure img{ width:100% !important; height:100% !important; object-fit:contain !important; aspect-ratio:auto !important; mix-blend-mode:multiply; }
body.ffp .ffa-brand{ order:1; margin:12px 4px 2px; font:600 12px var(--ffa-body); letter-spacing:.08em; text-transform:uppercase; color:var(--ffa-ot); }
body.ffp ul.products li.product .woocommerce-loop-product__title{ order:2; margin:2px 4px 0 !important; font:500 14.5px/1.35 var(--ffa-body) !important; color:var(--ffa-ink) !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; text-transform:none !important; }
body.ffp ul.products li.product .woocommerce-loop-product__title a{ color:inherit !important; text-decoration:none; }
body.ffp ul.products li.product .price{ order:3; margin:8px 4px 0 !important; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; font:800 19px var(--ffa-display) !important; color:var(--ffa-ink) !important; }
body.ffp ul.products li.product .price del{ order:2; font:500 13.5px var(--ffa-body); color:#8d8d8d; opacity:1; }
body.ffp ul.products li.product .price ins{ order:1; color:var(--ffa-pinkt); text-decoration:none; background:none; }
body.ffp ul.products li.product .cfvsw_variations_form{ order:4; margin:10px 4px 0 !important; }
body.ffp ul.products li.product .cfvsw_variations_form table, body.ffp ul.products li.product .cfvsw_variations_form td{ border:0 !important; padding:0 !important; margin:0 !important; background:none !important; }
body.ffp .cfvsw-shop-container{ display:flex !important; flex-wrap:wrap; gap:4px !important; justify-content:flex-start !important; }
body.ffp .cfvsw-shop-container .cfvsw-swatches-option{ min-width:26px !important; min-height:0 !important; margin:0 !important; padding:5px 4px !important; border:0 !important; border-radius:7px !important;
  background:var(--ffa-mist) !important; box-shadow:none !important; outline:0 !important; }
body.ffp .cfvsw-shop-container .cfvsw-swatch-inner{ font:500 11.5px/1 var(--ffa-body) !important; color:var(--ffa-ink) !important; text-align:center; }
body.ffp .cfvsw-shop-container .cfvsw-swatches-option:hover{ background:var(--ffa-lime) !important; }
body.ffp .cfvsw-shop-container .cfvsw-selected-swatch{ background:var(--ffa-o) !important; }
body.ffp .cfvsw-shop-container [class*="disable"], body.ffp .cfvsw-shop-container [class*="blur"]{ background:transparent !important; box-shadow:inset 0 0 0 1px #ececec !important; opacity:1 !important; }
body.ffp .cfvsw-shop-container [class*="disable"]::before, body.ffp .cfvsw-shop-container [class*="disable"]::after{ display:none !important; }
body.ffp .cfvsw-shop-container [class*="disable"] .cfvsw-swatch-inner, body.ffp .cfvsw-shop-container [class*="blur"] .cfvsw-swatch-inner{ color:#b3b3b3 !important; text-decoration:line-through; }
body.ffp ul.products .reset_variations{ display:none !important; }
/* badges: discount (Advanced Woo Labels), sold out (Blocksy), lights/anatomical (JS) */
body.ffp ul.products .advanced-woo-labels{ top:8px !important; left:8px !important; width:auto !important; gap:5px; flex-direction:column !important; align-items:flex-start; }
body.ffp ul.products .awl-label-text{ background:var(--ffa-pink) !important; border-radius:99px !important; padding:4px 9px !important; font:800 12px var(--ffa-display) !important; color:#fff !important; }
body.ffp ul.products .awl-product-label{ font-size:12px !important; }
body.ffp ul.products .out-of-stock-badge{ top:auto !important; bottom:8px !important; left:8px !important; right:auto !important; background:#fff !important; color:var(--ffa-ink) !important;
  border-radius:99px !important; padding:5px 10px !important; font:700 12px var(--ffa-body) !important; box-shadow:0 2px 8px rgba(0,0,0,.08); z-index:3; }
body.ffp ul.products li.product.outofstock figure img{ opacity:.55; }
body.ffp .ffa-badges{ position:absolute; z-index:4; left:8px; top:8px; display:flex; flex-direction:column; gap:5px; align-items:flex-start; pointer-events:none; }
body.ffp .advanced-woo-labels ~ .ffa-badges, body.ffp .ffa-badges.has-awl{ top:38px; }
body.ffp .ffa-badges span{ font:800 12px var(--ffa-display); padding:4px 9px; border-radius:99px; color:var(--ffa-ink); }
body.ffp .ffa-badges .lights{ background:var(--ffa-sun); }
body.ffp .ffa-badges .anat{ background:var(--ffa-lime); }



/* ---------- sticky buy bar (phones, added by the JS) ---------- */
body.ffp .ffp-bar{ display:none; }
@media (max-width:689px){
  body.ffp .ffp-bar{ display:flex; position:fixed; left:0; right:0; bottom:0; z-index:150; align-items:center; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom));
    background:#fff; border-top:1px solid var(--ffa-line); box-shadow:0 -10px 30px -16px rgba(3,66,32,.3); transform:translateY(110%); transition:transform .3s; }
  body.ffp .ffp-bar.show{ transform:none; }
  body.ffp .ffp-bar .pr{ font:900 22px var(--ffa-display); color:var(--ffa-ink); }
  body.ffp .ffp-bar .pr small{ display:block; font:500 12px var(--ffa-body); color:var(--ffa-soft); }
  body.ffp .ffp-bar button{ margin-left:auto; height:48px; padding:0 20px; border:0; border-radius:99px; background:var(--ffa-o); color:var(--ffa-ink); font:800 15px var(--ffa-display); box-shadow:0 4px 0 var(--ffa-od); cursor:pointer; }
}

/* ---------- responsive ---------- */
@media (max-width:999px){
  body.ffp section.related ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.ffp .flexy-pills li{ width:64px !important; border-radius:12px !important; }
}
@media (max-width:689px){
  body.ffp .ct-product-add-to-cart{ padding:18px; }
  body.ffp .ct-cart-actions{ flex-wrap:wrap; }
  body.ffp .single_add_to_cart_button{ flex-basis:100%; }
  body.ffp .woocommerce-product-gallery .flexy-view{ border-radius:24px; }
  body.ffp .woocommerce-tabs{ padding:40px 0 !important; }
  body.ffp .woocommerce-tabs ul.tabs{ flex-wrap:nowrap !important; overflow-x:auto; scrollbar-width:none; margin-inline:-16px !important; padding:0 16px !important; }
  body.ffp .woocommerce-tabs ul.tabs{ flex-direction:row !important; }
  body.ffp .woocommerce-tabs ul.tabs li{ flex:none !important; width:auto !important; }
  body.ffp .woocommerce-tabs ul.tabs li a{ padding:10px 16px !important; font-size:15px !important; }
  body.ffp .woocommerce-Tabs-panel{ padding:20px !important; border-radius:22px; }
  body.ffp .woocommerce-product-attributes th{ width:110px; }
  body.ffp .entry-summary-items > .price{ font-size:34px !important; }
}
@media (prefers-reduced-motion:reduce){ body.ffp *{ transition:none !important; } }
