/* ff-pdp.css  --  Fairfields PDP Amazon-fidelity layer (STAGING)
   Task card: s5-category-pdp-001
   Reuses the homepage Amazon tokens (generate_homepage.py): white ground,
   #131921 stack, #007185 teal links, #B12704 price red, #FEBD69 amber, Ember
   font. Everything is scoped under .single-product and .ff-* so it never
   restyles the rest of the Electro theme. !important guards defend our own
   surfaces against dark-mode / theme overrides only. */

:root{
  --ff-ink:#0F1111; --ff-link:#007185; --ff-linkH:#C7511F; --ff-bg:#ffffff;
  --ff-line:#D5D9D9; --ff-line2:#e7e9ec; --ff-muted:#565959; --ff-red:#B12704;
  --ff-green:#007600; --ff-amber:#FEBD69; --ff-amberD:#F3A847; --ff-dark:#131921;
  --ff-radius:8px; --ff-radius-sm:6px;
  --ff-font:"Amazon Ember","Amazon Ember Display",Arial,"Helvetica Neue",Helvetica,sans-serif;
}

/* ---- About-this-item bullets (summary column) ---- */
.single-product .ff-about{margin:10px 0 6px}
.single-product .ff-sec-h{font:700 15px/1.3 var(--ff-font);color:var(--ff-ink)!important;margin:0 0 8px}
.single-product .ff-bullets{margin:0;padding-left:20px;list-style:disc}
.single-product .ff-bullets li{font:400 13.5px/1.5 var(--ff-font);color:#333!important;margin:6px 0}
.single-product .ff-bullets sup{font-size:.7em}

/* ---- dual buy-box extra (under Woo's native price) ---- */
.single-product .ff-buybox-extra{margin:10px 0 14px;padding:12px 0 0;border-top:1px solid var(--ff-line2)}
.single-product .ff-moq-line{display:flex;gap:10px;align-items:baseline;background:#f3f6f8;
  border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);padding:9px 12px}
.single-product .ff-moq-line__tag{flex:0 0 auto;font:700 10.5px/1 var(--ff-font);letter-spacing:.08em;
  text-transform:uppercase;color:#111!important;background:var(--ff-amber);border-radius:4px;padding:4px 7px}
.single-product .ff-moq-line__body{font:400 13px/1.45 var(--ff-font);color:var(--ff-ink)!important}
.single-product .ff-moq-line__body b{font-weight:700}
.single-product .ff-moq-line__vat{color:var(--ff-muted);font-size:11.5px}
.single-product .ff-quote-link{display:inline-block;margin-top:8px;font:700 13px/1 var(--ff-font);
  color:var(--ff-link)!important}
.single-product .ff-quote-link:hover{color:var(--ff-linkH)!important;text-decoration:underline}
.single-product .ff-ref-note{margin:10px 0 0;font:400 11.5px/1.5 var(--ff-font);color:var(--ff-muted)!important}
.single-product .ff-ref-note b{color:var(--ff-ink)!important}

/* ---- honest badges (no stars) ---- */
.single-product .ff-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.single-product .ff-badge{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--ff-font);
  color:#0f4b57!important;background:#eef7f9;border:1px solid #bfe0e6;border-radius:999px;padding:6px 11px}
.single-product .ff-badge__tick{color:var(--ff-green);font-weight:800}

/* ---- full-width sections (spec table, bundles, related) ---- */
.single-product .ff-section{background:var(--ff-bg)!important;border:1px solid var(--ff-line);
  border-radius:var(--ff-radius);padding:22px 24px;margin:22px 0}
.single-product .ff-section__h{font:700 20px/1.2 var(--ff-font);color:var(--ff-ink)!important;margin:0 0 4px}
.single-product .ff-section__sub{font:400 12.5px/1.4 var(--ff-font);color:var(--ff-muted)!important;margin:0 0 16px}

/* spec table -- two-column spec groups (prototype anatomy) */
.single-product .ff-spec-cols{columns:2;column-gap:40px}
.single-product .ff-spec-group{break-inside:avoid;margin-bottom:20px}
.single-product .ff-spec-group__t{font:700 13.5px/1.3 var(--ff-font);color:var(--ff-dark)!important;
  margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--ff-line2)}
.single-product .ff-spec-table{width:100%;border-collapse:collapse;font:400 13px/1.4 var(--ff-font)}
.single-product .ff-spec-table th{text-align:left;font-weight:400;color:var(--ff-muted)!important;
  padding:6px 12px 6px 0;vertical-align:top;width:48%}
.single-product .ff-spec-table td{padding:6px 0;color:var(--ff-ink)!important;font-weight:500;vertical-align:top}
.single-product .ff-spec-table tr:nth-child(odd) th,
.single-product .ff-spec-table tr:nth-child(odd) td{background:#fafbfc}
.single-product .ff-attrib{margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  font:400 11.5px/1.4 var(--ff-font);color:var(--ff-muted)!important}
.single-product .ff-attrib__badge{font-weight:700;color:var(--ff-link)!important;border:1px solid var(--ff-line);
  border-radius:5px;padding:2px 8px;background:#fff}

/* related / bundles rail (3-up) */
.single-product .ff-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.single-product .ff-rail-card{border:1px solid var(--ff-line);border-radius:var(--ff-radius);background:#fff!important;
  transition:box-shadow .15s,transform .1s}
.single-product .ff-rail-card:hover{box-shadow:0 4px 16px rgba(15,17,17,.10);transform:translateY(-2px)}
.single-product .ff-rail-card__link{display:block;padding:16px;color:var(--ff-ink)!important}
.single-product .ff-rail-card__link:hover{text-decoration:none}
.single-product .ff-rail-card__media{display:flex;align-items:center;justify-content:center;height:150px;
  margin-bottom:12px;overflow:hidden}
.single-product .ff-rail-card__media img{max-height:150px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.single-product .ff-rail-card__title{display:block;font:400 13.5px/1.4 var(--ff-font);color:var(--ff-ink)!important;
  margin:0 0 8px;min-height:38px}
.single-product .ff-rail-card:hover .ff-rail-card__title{color:var(--ff-linkH)!important;text-decoration:underline}
.single-product .ff-rail-card__price{display:block;font:700 17px/1.1 var(--ff-font);color:var(--ff-red)!important}
.single-product .ff-rail-card__cta{display:inline-block;margin-top:10px;font:700 12.5px/1 var(--ff-font);
  color:var(--ff-link)!important}

/* ---- suppress every rating/review artefact on the PDP (DMCC) ---- */
.single-product .star-rating,
.single-product .woocommerce-product-rating,
.single-product .woocommerce-review-link,
.single-product #reviews,
.single-product .comment-form-rating,
.single-product .woocommerce-Reviews{display:none!important}

/* ---- hide the theme's built-in related/up-sell (only our honest rail shows) ---- */
.single-product .related.products,
.single-product .up-sells.upsells,
.single-product .upsells.products{display:none!important}

@media (max-width:900px){
  .single-product .ff-spec-cols{columns:1}
  .single-product .ff-rail{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .single-product .ff-rail{grid-template-columns:1fr}
  .single-product .ff-moq-line{flex-direction:column;gap:6px}
}

/* remote gallery (engine-created products) */
.ff-gallery{float:left;width:48%;margin-right:2%}
.ff-gallery__main img{width:100%;border:1px solid #D5D9D9;border-radius:4px;background:#fff}
.ff-gallery__thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ff-gallery__thumbs img{width:56px;height:56px;object-fit:contain;border:1px solid #D5D9D9;border-radius:4px;background:#fff;cursor:pointer}
body.ff-has-remote-gallery .woocommerce-product-gallery{display:none!important}
.ff-remote-img{width:100%;height:auto;object-fit:contain}

/* kill theme-rendered zero-star ratings everywhere (DMCC: no reviews exist) */
.product-rating,.star-rating,.woocommerce-product-rating{display:none!important}
/* sections hooked into summary need full clear */
.ff-section{clear:both;width:100%;margin-top:26px}
