/*
Theme Name: Wander Ridge
Theme URI: https://wanderidge.com
Author: Wander Ridge
Description: Custom block theme for Wander Ridge — 3D printer filament storage systems. Fully editable sections, drag-and-drop layout, WooCommerce ready.
Version: 1.6.6
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wanderridge
Tags: block-theme, e-commerce, woocommerce
*/

/* ===== Base ===== */
body{
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
}
a{ transition: color .2s ease; }

/* ===== Buttons ===== */
.wp-block-button__link{
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(243,88,0,.28);
  transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-button__link:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(243,88,0,.36);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  box-shadow: none;
  border-width: 2px;
}

/* ===== Header ===== */
.wr-header{
  position: sticky;
  top: 0;
  z-index: 99;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #EEE7DE;
}
.wr-header .wp-block-navigation a:hover{ color: var(--wp--preset--color--orange); }

/* ===== Cards & hover lifts ===== */
.wr-card{
  transition: transform .25s ease, box-shadow .25s ease;
}
.wr-card:hover{
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(23,24,26,.09);
}

/* ===== Marquee strip ===== */
.wr-strip{
  overflow: hidden;
  white-space: nowrap;
}
.wr-strip p{
  display: inline-block;
  animation: wr-marquee 22s linear infinite;
  padding-left: 100%;
}
@keyframes wr-marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce){
  .wr-strip p{ animation: none; padding-left: 0; }
}

/* ===== WooCommerce product grids (shortcode + blocks) ===== */
.woocommerce ul.products li.product,
.wc-block-grid__product{
  background: #fff;
  border: 1px solid #F0E8DE;
  border-radius: 18px;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
  text-align: left;
  padding: 0 0 1.2em 0 !important;
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(23,24,26,.1);
}
.woocommerce ul.products li.product img,
.wc-block-grid__product img{
  border-radius: 0;
  margin-bottom: .8em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{
  font-size: 16px;
  font-weight: 700;
  padding: 0 18px;
  color: var(--wp--preset--color--ink);
  /* Uniform 2-line titles: short titles reserve the same height, long ones clamp */
  line-height: 1.35;
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price{
  font-size: 18px;
  font-weight: 900;
  color: var(--wp--preset--color--ink);
  padding: 0 18px;
}
.woocommerce ul.products li.product .price del{ opacity: .45; font-weight: 500; }
.woocommerce ul.products li.product .star-rating{ margin: 0 18px .4em; }
.woocommerce ul.products li.product .button,
.wc-block-grid__product .add_to_cart_button{
  margin: .6em 18px 0;
  background: var(--wp--preset--color--orange-light);
  color: var(--wp--preset--color--orange-dark);
  border-radius: 99px;
  font-weight: 700;
  border: none;
}
.woocommerce ul.products li.product .button:hover{
  background: var(--wp--preset--color--orange);
  color: #fff;
}
.woocommerce span.onsale{
  background: var(--wp--preset--color--orange);
  border-radius: 99px;
  font-weight: 700;
  min-height: auto;
  line-height: 1;
  padding: 7px 14px;
}

/* Single product */
.woocommerce div.product .woocommerce-product-gallery img{ border-radius: 18px; }
.woocommerce div.product p.price{ font-size: 26px; font-weight: 900; color: var(--wp--preset--color--ink); }
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit{
  background: var(--wp--preset--color--orange);
  color: #fff;
  border-radius: 99px;
  font-weight: 800;
  padding: .9em 2.2em;
}
.woocommerce div.product form.cart .button:hover{ background: var(--wp--preset--color--orange-dark); }
.woocommerce div.product .quantity .qty{ border-radius: 12px; border: 1.5px solid #E5DCD2; padding: .7em; }

/* Notices */
.woocommerce-message, .woocommerce-info{
  border-top-color: var(--wp--preset--color--orange);
  border-radius: 12px;
}
.woocommerce-message::before, .woocommerce-info::before{ color: var(--wp--preset--color--orange); }

/* ===== Forms ===== */
input[type="email"], input[type="text"], input[type="tel"], textarea{
  border-radius: 12px;
  border: 1.5px solid #E5DCD2;
  padding: .8em 1em;
  font-family: inherit;
}

/* Product grids inside wide groups should span the wide width, not content width */
.wp-block-group.alignwide.is-layout-constrained > .woocommerce{
  max-width: var(--wp--style--global--wide-size) !important;
}

/* ===== Product grid: tight 18px gap (match category cards) ===== */
.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 0 0 1em;
}
.woocommerce ul.products li.product{
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  content: none !important;
  display: none !important;
}
.woocommerce ul.products.columns-3{ grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.columns-2{ grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px){
  .woocommerce ul.products, .woocommerce ul.products.columns-3{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .woocommerce ul.products, .woocommerce ul.products.columns-3{ grid-template-columns: 1fr; }
}

/* ===== Footer links: brighter for contrast ===== */
.has-footer-background-color a{ color: #D8D3CD; }
.has-footer-background-color a:hover{ color: var(--wp--preset--color--orange); }

/* ============================================================
   Premium product page (v2)
   ============================================================ */
.single-product .wr-eyebrow-sm{
  font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase;
  color: #9C948C; font-weight: 600; margin-bottom: 16px;
}
/* Title & summary */
.single-product h1.product_title,
.single-product h1.wp-block-post-title{
  font-weight: 900; letter-spacing: -1.2px;
  font-size: clamp(32px, 3.2vw, 44px); line-height: 1.08;
}
.single-product .wp-block-woocommerce-product-price,
.single-product .wc-block-components-product-price{
  font-size: 19px; font-weight: 500; color: var(--wp--preset--color--ink);
  padding: 22px 0; border-top: 1px solid #E5DDD2; border-bottom: 1px solid #E5DDD2;
  margin: 22px 0 4px; display:block;
}
.single-product div.product .summary{ max-width: 480px; }
.single-product div.product p.price{
  font-size: 19px; font-weight: 500; color: var(--wp--preset--color--ink);
  padding: 22px 0; border-top: 1px solid #E5DDD2; border-bottom: 1px solid #E5DDD2;
  margin: 22px 0 4px;
}
.single-product div.product p.price del{ opacity:.4; font-weight:400; }
.single-product .woocommerce-product-details__short-description{
  color:#57504A; font-size:16px; line-height:1.65;
}
/* Gallery */
.single-product .wp-block-woocommerce-product-image-gallery{ width:100% !important; max-width:none !important; }
.single-product .woocommerce-product-gallery{ width:100% !important; }
.single-product .woocommerce-product-gallery img{
  border-radius: 4px; background: #F7F2EB; width:100%; height:auto;
}
/* Thumbnail strip: one row, uniform squares, arrow-scroll on overflow */
.wr-thumb-wrap{ position:relative; margin-top:12px; }
.single-product .flex-control-thumbs{
  display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important;
  gap:10px; margin:0 !important; padding:0;
  scroll-behavior:smooth; scrollbar-width:none;
}
.single-product .flex-control-thumbs::-webkit-scrollbar{ display:none; }
.single-product .flex-control-thumbs li{
  flex:0 0 88px; width:88px !important; height:88px; margin:0 !important;
  list-style:none; float:none !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  width:88px; height:88px; object-fit:cover; background:#F7F2EB;
  border-radius:3px; opacity:.55; transition:.2s; cursor:pointer;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover{ opacity:1; }
.wr-thumb-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:50%; border:1px solid #E5DCD2;
  background:#fff; color:var(--wp--preset--color--ink);
  font-size:20px; line-height:1; cursor:pointer; font-family:inherit;
  display:none; align-items:center; justify-content:center;
  box-shadow:0 2px 12px rgba(23,24,26,.14); z-index:5; padding:0 0 2px;
}
.wr-thumb-nav.wr-prev{ left:-8px; }
.wr-thumb-nav.wr-next{ right:-8px; }
.wr-thumb-nav:hover{ border-color:var(--wp--preset--color--orange); color:var(--wp--preset--color--orange); }
/* Variations: hide native select once pills exist */
.wr-has-pills table.variations select{ display:none !important; }
.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price{
  border:none; padding:0; margin:0; display:inline;
}
.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart{ flex-wrap:wrap; }
.single-product div.product .single_add_to_cart_button{ white-space:nowrap; }
.wr-has-pills table.variations .reset_variations{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#9C948C; }
table.variations th.label{ display:none; }
table.variations, table.variations td{ border:none; padding:0; }
table.variations,
table.variations tbody,
table.variations tr,
table.variations td{ display:block; width:100%; }
.wr-pills{ display:grid; grid-template-columns:1fr; gap:8px; margin:6px 0 4px; width:100%; }
.wr-pill{
  display:flex; justify-content:space-between; align-items:center;
  border:1px solid #E5DDD2; border-radius:3px; padding:13px 16px;
  background:#fff; cursor:pointer; font-family:inherit; font-size:14px;
  font-weight:500; color:var(--wp--preset--color--ink); transition:.15s; text-align:left;
}
.wr-pill em{ font-style:normal; font-size:13.5px; color:#9C948C; }
.wr-pill small{ font-size:13px; font-weight:400; color:#9C948C; margin-left:8px; }
.wr-pill.on small{ color:rgba(255,255,255,.75); }
.wr-pill.on em{ font-weight:600; }
.wr-pill:hover{ border-color:var(--wp--preset--color--orange); }
.wr-pill.on{ border-color:var(--wp--preset--color--orange); background:var(--wp--preset--color--orange); color:#fff; }
.wr-pill.on em{ color:rgba(255,255,255,.6); }
/* Buy row */
.single-product div.product form.cart{ margin-top:24px; }
/* Layout: gallery 2/3, buy column 1/3 */
.single-product main > .wp-block-columns.alignwide{ column-gap:25px !important; }
.single-product main > .wp-block-columns.alignwide > .wp-block-column:first-child{ flex:3 1 0 !important; }
.single-product main > .wp-block-columns.alignwide > .wp-block-column:last-child{ flex:2 1 0 !important; }
.single-product div.product .summary{ max-width: none; }
/* Quantity: − input + */
.single-product form.cart .quantity{
  display:flex; align-items:center; border:1px solid #E5DCD2;
  border-radius:3px; height:54px; overflow:hidden; background:#fff;
}
.single-product form.cart .quantity .qty{
  border:none; border-radius:0; width:42px; height:100%;
  text-align:center; font-weight:700; font-size:15px;
  -moz-appearance:textfield; appearance:textfield;
}
.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.wr-qty-btn{
  width:40px; height:100%; border:none; background:none;
  font-size:18px; cursor:pointer; color:#57504A; font-family:inherit; line-height:1;
}
.wr-qty-btn:hover{ color:var(--wp--preset--color--orange); }
.single-product div.product form.cart .button,
.single-product div.product .single_add_to_cart_button{
  background: var(--wp--preset--color--orange); color:#fff;
  border-radius:3px; font-size:13.5px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  padding: 0 40px; height:54px; width: auto; flex:1;
  box-shadow: 0 10px 26px rgba(243,88,0,.25);
  transition: background .25s ease;
}
.single-product div.product form.cart .button:hover{ background: var(--wp--preset--color--orange-dark); transform:none; }
.single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart{ display:flex; gap:10px; }
.wr-trust-note{ margin-top:14px; font-size:13px; color:#9C948C; width:100%; }
/* Meta */
.single-product .product_meta,
.single-product .wp-block-woocommerce-product-meta{ display:none; }
/* No hover zoom — image enlarges only via click (lightbox) */
.single-product .zoomImg{ display:none !important; }
.single-product .woocommerce-product-gallery__image{ cursor:pointer; }
/* Rating row */
.wr-rating{ display:flex; align-items:center; gap:10px; margin:16px 0 0; }
.wr-rating b{ font-weight:700; font-size:15px; color:var(--wp--preset--color--ink); }
.wr-rating i{ font-style:normal; color:#D8D0C6; font-weight:400; }
.wr-stars{ position:relative; display:inline-block; font-size:18px; letter-spacing:2px; line-height:1; color:#E9E1D6; }
.wr-stars > span{
  position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap;
  color:#EDA906;
}
.single-product form.cart .woocommerce-variation-price{ display:none; }
/* Accordion */
.wr-acc{ margin-top:30px; }
.wr-acc details{ border-top:1px solid #E5DDD2; }
.wr-acc details:last-child{ border-bottom:1px solid #E5DDD2; }
.wr-acc summary{
  padding:16px 0; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  font-weight:600; cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; align-items:center;
}
.wr-acc summary::-webkit-details-marker{ display:none; }
.wr-acc summary::after{ content:"+"; font-size:17px; font-weight:300; color:#9C948C; }
.wr-acc details[open] summary::after{ content:"−"; }
.wr-acc p{ color:#57504A; font-size:14px; padding-bottom:18px; line-height:1.7; }
/* Editorial description section */
/* Details + Specifications side by side */
.wr-detail-specs{
  display:grid; grid-template-columns:3fr 2fr; gap:70px; align-items:start;
  max-width:1880px; margin:0 auto; padding:90px 24px;
}
.wr-detail-specs .wr-pd-desc,
.wr-detail-specs .wr-specs{ padding:0; }
.wr-detail-specs .wr-pd-desc-inner{ max-width:none; margin:0; }
.wr-detail-specs .wr-eyebrow-sm{ font-size:22px; letter-spacing:3px; margin-bottom:22px; }
.wr-detail-specs .wr-spec-grid{ grid-template-columns:1fr; column-gap:0; }
@media (max-width:900px){ .wr-detail-specs{ grid-template-columns:1fr; gap:50px; } }
.wr-pd-desc{ padding:90px 24px; }
.wr-pd-desc-inner{ max-width:760px; margin:0 auto; }
.wr-pd-desc h2{ font-weight:900; letter-spacing:-1px; }
/* Kit / Bags-only switcher */
.wr-siblings{ display:flex; gap:8px; margin:0 0 18px; }
.wr-sib{
  border:1px solid #E5DCD2; border-radius:3px; padding:9px 18px;
  font-size:12px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600;
  color:#57504A; transition:.15s;
}
a.wr-sib:hover{ border-color:var(--wp--preset--color--orange); color:var(--wp--preset--color--orange); }
.wr-sib.on{
  border-color:var(--wp--preset--color--orange);
  background:var(--wp--preset--color--orange-light);
  color:var(--wp--preset--color--orange-dark);
}
/* Kit ⇄ Refill cross-sell bar (below variations, above Add to Cart) */
.wr-kitbar{
  margin:18px 0; padding:14px 16px;
  display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:12px;
  border:1px solid #F3C7AD; border-radius:16px;
  background:
    radial-gradient(circle at 100% 0%,rgba(243,88,0,.11),transparent 34%),
    linear-gradient(180deg,#FFF9F5 0%,#FFF2E9 100%);
}
.wr-kitbar-icon{
  width:38px; height:38px; border-radius:13px;
  background:#fff; border:1px solid #F3C7AD; position:relative;
  box-shadow:0 8px 18px rgba(52,31,12,.06);
}
.wr-kitbar-icon::before{
  content:""; position:absolute; left:9px; right:9px; top:9px;
  height:5px; border-radius:999px; background:var(--wp--preset--color--orange);
}
.wr-kitbar-icon::after{
  content:""; position:absolute; left:11px; right:11px; bottom:8px;
  height:16px; border-radius:6px; background:#181A1B;
}
.wr-kitbar-copy{ min-width:0; }
.wr-kitbar-copy strong{
  display:block; color:#181A1B; font-weight:900; font-size:14px; line-height:1.15; letter-spacing:-.02em;
}
.wr-kitbar-copy span{
  display:block; margin-top:4px; color:#756B63; font-size:12.5px; line-height:1.4;
}
.wr-kitbar-btn{
  flex:0 0 auto; min-height:38px; padding:0 15px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px; background:var(--wp--preset--color--orange); color:#fff;
  font-weight:900; font-size:11.5px; line-height:1; white-space:nowrap;
  text-transform:uppercase; letter-spacing:.04em; transition:.18s ease;
}
.wr-kitbar-btn:hover{
  background:var(--wp--preset--color--orange-dark); color:#fff; transform:translateY(-1px);
}
@media(max-width:640px){
  .wr-kitbar{ grid-template-columns:38px 1fr; }
  .wr-kitbar-btn{ grid-column:1 / -1; width:100%; }
}
/* Accordion bullet list (In the box) */
.wr-acc ul{ list-style:none; padding:0 0 18px; margin:0; }
.wr-acc ul li{ padding:6px 0 6px 24px; position:relative; color:#57504A; font-size:14px; }
.wr-acc ul li::before{
  content:""; position:absolute; left:4px; top:14px; width:6px; height:6px;
  border-radius:50%; background:var(--wp--preset--color--orange);
}
/* Specifications */
.wr-specs{ padding:0 24px 90px; }
.wr-spec-grid{ display:grid; grid-template-columns:1fr 1fr; column-gap:60px; }
.wr-spec{
  display:flex; justify-content:space-between; gap:20px;
  padding:14px 0; border-bottom:1px solid #EFE8DE; font-size:14px;
}
.wr-spec span:first-child{ color:#9C948C; }
.wr-spec span:last-child{ font-weight:600; text-align:right; color:var(--wp--preset--color--ink); }
@media (max-width:700px){ .wr-spec-grid{ grid-template-columns:1fr; } }
.wr-pd-desc p{ color:#57504A; font-size:16px; line-height:1.75; }
.wr-pd-desc ul{ list-style:none; padding:0; margin-top:26px; }
.wr-pd-desc li{ padding:14px 0 14px 36px; position:relative; color:#57504A; font-size:15.5px; border-bottom:1px solid #EFE8DE; }
.wr-pd-desc li::before{
  content:"✓"; position:absolute; left:0; top:14px; width:22px; height:22px;
  background:var(--wp--preset--color--orange-light); color:var(--wp--preset--color--orange);
  border-radius:6px; font-weight:900; font-size:12px;
  display:flex; align-items:center; justify-content:center;
}
.wr-pd-desc li strong{ color:var(--wp--preset--color--ink); }
/* Five Product Details (foil product page) */
.wr-five{
  background:var(--wp--preset--color--cream);
  margin:0 calc(50% - 50vw); max-width:1880px;
  padding:90px 24px;
}
.wr-five-inner{ max-width:1880px; margin:0 auto; }
.wr-five-eyebrow{
  color:var(--wp--preset--color--orange);
  font-family:'Montserrat', sans-serif; font-weight:900; font-size:12px;
  text-transform:uppercase; letter-spacing:.11em; margin:0 0 14px;
}
.wr-five-inner > h2{ max-width:720px; margin:0; }
.wr-five-sub{ color:var(--wp--preset--color--body); font-size:15px; margin:14px 0 0; }
.wr-five-grid{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; margin-top:42px;
}
.wr-five-card img{
  width:100%; aspect-ratio:4/5; object-fit:cover; display:block;
  border-radius:16px; background:#F7F2EB; border:1px solid #F0E8DE;
}
.wr-five-label{
  margin:16px 0 6px;
  font-family:'Montserrat', sans-serif; font-weight:800; font-size:11px;
  letter-spacing:1.5px; text-transform:uppercase;
  color:var(--wp--preset--color--orange);
}
.wr-five-card h3{ font-size:17px; margin:0 0 8px; }
.wr-five-text{ font-size:13.5px; line-height:1.6; color:var(--wp--preset--color--body); margin:0; }
@media (max-width:980px){ .wr-five-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px){ .wr-five-grid{ grid-template-columns:1fr; } }
/* Brand statement */
.wr-statement{
  background:#F7F2EB; text-align:center; padding:100px 24px;
  margin:0 calc(50% - 50vw); width:100vw; max-width:none !important;
}
.wr-statement h2{
  font-weight:900;
  font-size:clamp(26px,3.4vw,44px); line-height:1.25; letter-spacing:-.5px;
  max-width:820px; margin:0 auto;
}
.wr-statement h2 em{ font-style:italic; color:var(--wp--preset--color--orange); }
/* Related — Pairs well with */
.single-product .related.products{ padding:90px 0 40px; }
.single-product .related.products > h2{
  font-weight:900;
  font-size:clamp(24px,2.6vw,34px); letter-spacing:-1px; margin-bottom:36px;
}
.single-product .related.products ul.products{ grid-template-columns:repeat(3,1fr); }
.single-product .related.products li.product{ border:none; background:transparent; }
.single-product .related.products li.product img{ border-radius:4px; background:#F7F2EB; }
.single-product .related.products li.product .button{ display:none; }
/* Breadcrumb */
.single-product .wp-block-woocommerce-product-collection h2.wp-block-heading{
  font-weight:900;
  font-size:clamp(24px,2.6vw,34px); letter-spacing:-1px; margin:80px 0 36px;
}
.single-product .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button,
.single-product .wp-block-woocommerce-product-collection .wc-block-components-product-button{ display:none; }
.single-product .wp-block-woocommerce-product-collection img{ border-radius:4px; background:#F7F2EB; }
.single-product .woocommerce-breadcrumb{
  font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#9C948C; margin:26px 0 30px;
}
.single-product .woocommerce-breadcrumb a{ color:#57504A; }

/* ===== Product Collection cards (shop / category / related): hover lift ===== */
li.wc-block-product{
  background:#fff; border-radius:18px; overflow:hidden; padding-bottom:18px;
  transition: transform .25s ease, box-shadow .25s ease;
}
li.wc-block-product:hover{
  transform: translateY(-5px);
  box-shadow: 0 16px 34px rgba(23,24,26,.09);
}

/* ===== Support / Refund forms ===== */
.wr-form{ max-width:1100px; }
.wr-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.wr-field{ margin-bottom:20px; }
.wr-field label{
  display:block; font-size:12px; letter-spacing:1.5px; text-transform:uppercase;
  font-weight:600; color:#57504A; margin-bottom:8px;
}
.wr-field input, .wr-field select, .wr-field textarea{
  width:100%; border:1px solid #E5DCD2; border-radius:3px;
  padding:13px 16px; font-family:inherit; font-size:15px; background:#fff;
}
.wr-field input:focus, .wr-field select:focus, .wr-field textarea:focus{
  outline:none; border-color:var(--wp--preset--color--orange);
}
.wr-form-submit{
  background:var(--wp--preset--color--orange); color:#fff; border:none;
  border-radius:3px; padding:16px 44px; font-size:13.5px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; font-family:inherit; cursor:pointer;
  box-shadow:0 10px 26px rgba(243,88,0,.25); transition:background .25s ease;
}
.wr-form-submit:hover{ background:var(--wp--preset--color--orange-dark); }
.wr-form-note{ margin-top:22px; font-size:14px; color:#9C948C; }
/* Required-field asterisks in brand orange (custom forms + WooCommerce) */
.wr-req,
.woocommerce form .required,
abbr.required,
.wc-block-components-checkout-step .wc-block-components-text-input.is-required label::after{
  color: var(--wp--preset--color--orange) !important;
  text-decoration: none !important;
  border: none !important;
}
.wr-form-success{
  background:var(--wp--preset--color--orange-light); border:1px solid var(--wp--preset--color--orange);
  border-radius:6px; padding:18px 22px; margin-bottom:28px; font-size:15px;
}
@media (max-width:600px){ .wr-form-row{ grid-template-columns:1fr; } }

/* ============================================================
   Collection pages (wrc-)
   ============================================================ */
.wrc-crumb, .wrc-crumb a{ font-size:13px; color:#9C948C; }
.wrc-crumb a:hover{ color:var(--wp--preset--color--orange); }
.wrc-chip{
  border:1px solid #EEE3D6; border-radius:14px;
  background:rgba(255,255,255,.72); padding:14px 16px;
  box-shadow:0 10px 26px rgba(23,24,26,.05);
}
.wrc-chip strong{ display:block; font-size:16px; margin-bottom:2px; }
.wrc-chip span{ font-size:14px; color:#9C948C; }
.wrc-badge{
  display:inline-block; padding:7px 12px; border:1px solid #FFD0B7;
  border-radius:99px; background:var(--wp--preset--color--orange-light);
  color:var(--wp--preset--color--orange); font-weight:900; font-size:11px;
  text-transform:uppercase; letter-spacing:.6px;
}
.wrc-icon{
  width:52px; height:52px; display:grid; place-items:center;
  border-radius:16px; background:var(--wp--preset--color--orange-light);
  color:var(--wp--preset--color--orange); font-weight:900; font-size:19px;
}
.wrc-num{
  width:32px; height:32px; display:grid; place-items:center;
  border-radius:50%; background:var(--wp--preset--color--orange);
  color:#fff; font-weight:900; font-size:13px;
}
.wrc-include{
  border:1px solid #F0E8DE; border-radius:12px;
  background:var(--wp--preset--color--cream); padding:12px 14px;
  font-size:13px; font-weight:700; color:var(--wp--preset--color--body);
}
.wrc-compare{
  width:100%; border:1px solid #F0E8DE; border-radius:18px;
  border-collapse:separate; border-spacing:0; overflow:hidden; background:#fff;
}
.wrc-compare th, .wrc-compare td{ padding:16px 20px; text-align:center; border-bottom:1px solid #F0E8DE; }
.wrc-compare th{ background:var(--wp--preset--color--orange-light); font-weight:900; font-size:14px; }
.wrc-compare td{ font-size:14.5px; color:var(--wp--preset--color--body); }
.wrc-compare tr:last-child td{ border-bottom:0; }
.wrc-yes{ color:var(--wp--preset--color--orange); font-weight:900; }
.wrc-faq details{
  border:1px solid #F0E8DE; border-radius:16px; background:#fff;
  padding:18px 22px; margin-bottom:12px;
}
.wrc-faq summary{
  cursor:pointer; font-weight:800; font-size:20px; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.wrc-faq summary::-webkit-details-marker{ display:none; }
.wrc-faq summary::after{ content:"+"; font-size:19px; font-weight:300; color:#9C948C; }
.wrc-faq details[open] summary::after{ content:"−"; }
.wrc-faq details p{ margin:10px 0 0; font-size:14px; line-height:1.65; color:var(--wp--preset--color--body); }
.wrc-spec-row{
  display:flex; justify-content:space-between; gap:20px;
  padding:15px 0; border-bottom:1px solid #EFE8DE; font-size:14.5px;
}
.wrc-spec-row span:first-child{ color:#9C948C; }
.wrc-spec-row span:last-child{ font-weight:700; text-align:right; }
/* Configuration rows (name left, note right) */
.wrc-config{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  background:var(--wp--preset--color--cream); border:1px solid #F0E8DE;
  border-radius:12px; padding:15px 18px; 
}
.wrc-config strong{ font-size:15px; color:var(--wp--preset--color--ink); }
.wrc-config span{ font-size:13.5px; color:#9C948C; text-align:right; }
/* Card image cropped to 16:9 (compact product card header) */
.wrc-card-img img{ width:100%; height:auto; aspect-ratio:10/7; object-fit:cover; }
/* U-shape collection: setup card images at 10:7 */
.page-id-181 .wp-block-image.is-resized.has-custom-border{ width:100%; }
.page-id-181 .wp-block-image.is-resized.has-custom-border img{ width:100% !important; height:auto !important; aspect-ratio:10/7 !important; object-fit:cover; }
/* Hero image cropped to a fixed 4:3 ratio (matches U-Shape hero height) */
.wrc-img-43 .wp-block-image{ margin:0; }
.wrc-img-43 .wp-block-image img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
/* Hero image column: image fills exactly the text column height */
.wrc-stretch-img{ position:relative; min-height:320px; }
.wrc-stretch-img .wp-block-image{ position:absolute; inset:0; height:100%; margin:0; }
.wrc-stretch-img .wp-block-image img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:781px){
  .wrc-stretch-img .wp-block-image{ position:static; height:auto; }
  .wrc-stretch-img .wp-block-image img{ height:auto; }
}
/* Equal-height cards: bottom-align the View Full Details buttons regardless of row count */
.wp-block-column.wr-card{ display:flex; flex-direction:column; }
.wp-block-column.wr-card > .wp-block-buttons{ margin-top:auto !important; padding-top:18px; }

/* Embedded buy cards (Single Product block) on collection pages */
.wp-block-woocommerce-single-product img{ border-radius:14px; background:#F7F2EB; }
.wp-block-woocommerce-single-product .wp-block-post-title{
  font-size:20px; font-weight:800; letter-spacing:-.02em; margin:18px 0 4px; line-height:1.2;
}
.wp-block-woocommerce-single-product .wp-block-post-title a{ color:var(--wp--preset--color--ink); }
.wp-block-woocommerce-single-product .wp-block-post-title a:hover{ color:var(--wp--preset--color--orange); }
.wp-block-woocommerce-single-product .wp-block-woocommerce-product-price,
.wp-block-woocommerce-single-product .wc-block-components-product-price{
  font-size:18px; font-weight:900 !important; display:block; margin:2px 0 6px;
  color:var(--wp--preset--color--ink); text-align:left !important; padding-left:0 !important;
}
.wp-block-woocommerce-single-product .wp-block-woocommerce-product-price *{
  font-weight:900 !important; margin-left:0 !important; padding-left:0 !important;
}
/* Options: reserve 4 rows so side-by-side cards align */
.wp-block-woocommerce-single-product .wr-pills{ min-height:216px; align-content:start; }
.wp-block-woocommerce-single-product .wr-pill{ min-height:48px; }
/* Compact quantity control */
.wp-block-woocommerce-single-product form.cart .quantity{
  display:flex; align-items:center; height:46px; overflow:hidden;
  border:1.5px solid #E5DCD2; border-radius:99px; background:#fff;
}
.wp-block-woocommerce-single-product form.cart div.quantity .qty{
  width:38px; height:100%; border:none; border-radius:0; padding:0;
  text-align:center; font-weight:700; font-size:14px;
  -moz-appearance:textfield; appearance:textfield;
}
.wp-block-woocommerce-single-product form.cart div.quantity .qty::-webkit-outer-spin-button,
.wp-block-woocommerce-single-product form.cart div.quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.wp-block-woocommerce-single-product .wr-qty-btn{
  width:30px; height:100%; border:none; background:none;
  font-size:16px; cursor:pointer; color:#57504A; font-family:inherit; line-height:1;
}
.wp-block-woocommerce-single-product .wr-qty-btn:hover{ color:var(--wp--preset--color--orange); }
/* Header mini-cart: orange round count bubble */
.wc-block-mini-cart__badge{
  background:var(--wp--preset--color--orange) !important;
  color:#fff !important;
  border:none !important;
  border-radius:99px !important;
  font-weight:800 !important;
}
.wp-block-woocommerce-single-product form.cart{ margin-top:14px; }
.wp-block-woocommerce-single-product form.cart table.variations select{
  width:100%; border:1.5px solid #E5DCD2; border-radius:12px; padding:.7em 1em;
  font-family:inherit; font-size:14px; background:#fff; margin:8px 0; cursor:pointer;
}
.wp-block-woocommerce-single-product form.cart .reset_variations{ font-size:12px; color:#9C948C; }
.wp-block-woocommerce-single-product .woocommerce-variation-price{ display:none; }
.wp-block-woocommerce-single-product form.cart .woocommerce-variation-add-to-cart,
.wp-block-woocommerce-single-product form.cart:not(.variations_form){
  display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:10px;
}
.wp-block-woocommerce-single-product form.cart .single_add_to_cart_button{
  background:var(--wp--preset--color--orange); color:#fff; border:none; border-radius:99px;
  font-weight:800; font-size:15px; padding:.95em 2em; cursor:pointer; flex:1;
  font-family:inherit; transition:background .2s ease;
  box-shadow:0 10px 26px rgba(243,88,0,.22);
}
.wp-block-woocommerce-single-product form.cart .single_add_to_cart_button:hover{
  background:var(--wp--preset--color--orange-dark);
}
.wp-block-woocommerce-single-product form.cart .single_add_to_cart_button.disabled{ opacity:.5; }
.wp-block-woocommerce-single-product .added_to_cart{
  display:inline-block; margin-top:10px; font-weight:700; font-size:14px;
  color:var(--wp--preset--color--orange);
}
.wp-block-woocommerce-single-product .stock{ font-size:13px; }

/* ===== Utility ===== */
.wr-rounded{ border-radius: 18px; overflow: hidden; }
.wr-rounded-lg{ border-radius: 28px; overflow: hidden; }
.wr-shadow{ box-shadow: 0 14px 34px rgba(23,24,26,.13); }

/* ============================================================
   Foil product page (ID 30) — HTML-matched design
   ============================================================ */
html{ scroll-behavior:smooth; }
#specification,#features,#included,#why-foil,#before-use,#faq,#reviews{ scroll-margin-top:120px; }

/* --- Purchase card (right column) --- */
.single-product main > .wp-block-columns.alignwide > .wp-block-column:last-child{
  background:#fff; border:1px solid #E8DCCD; border-radius:28px;
  box-shadow:0 24px 70px rgba(24,26,27,.10);
  padding:34px; align-self:flex-start; position:sticky; top:98px;
}
.single-product h1.product_title,
.single-product h1.wp-block-post-title{
  font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:clamp(34px,2.6vw,48px); line-height:1; letter-spacing:-.052em;
  margin-bottom:12px;
}
.single-product .woocommerce-product-details__short-description{
  color:#4A4038; font-size:17px; line-height:1.62;
}
/* Summary checklist */
.wrf-summary{ display:grid; gap:9px; margin:20px 0 0; }
.wrf-summary-item{ display:flex; gap:9px; color:#4A4038; font-size:13.5px; font-weight:700; align-items:flex-start; }
.wrf-checkdot{
  width:20px; height:20px; flex:0 0 20px; display:grid; place-items:center;
  border-radius:50%; background:#FFF0E8; color:#F35800; font-size:11px; font-weight:900;
}
.wrf-divider{ height:1px; background:#E8DCCD; margin:23px 0; }
/* Hide the variation reset ("Clear") link */
.single-product .reset_variations{ display:none !important; }
.wrf-variants{ display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.wrf-variant{
  min-height:61px; padding:8px; border:1px solid #E8DCCD; border-radius:11px;
  background:#fff; display:block; text-align:center;
  font-family:'Montserrat',sans-serif; font-weight:850; font-size:13px; line-height:1.2;
  color:var(--wp--preset--color--ink);
}
.wrf-variant small{ display:block; margin-top:4px; color:#756D65; font-family:'Manrope',system-ui,sans-serif; font-weight:700; font-size:10px; line-height:1.2; }
.wrf-variant.active{ border-color:#F35800; background:#FFF1E8; color:#F35800; }
/* Price row */
.single-product .wp-block-woocommerce-product-price,
.single-product div.product p.price{
  border:none; padding:0; margin:14px 0 2px;
}
.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price,
.single-product div.product p.price{
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:25px; line-height:1.15;
  color:var(--wp--preset--color--ink);
}
/* Tighten the Klarna note and add a divider between it and the description */
.single-product .wp-block-woocommerce-product-price + .StripeElement{ height:22px !important; overflow:hidden; }
.single-product .wp-block-post-excerpt{ border-top:1px solid #E8DCCD; padding-top:23px; margin-top:20px; }
/* Policy grid */
.wrf-policy-grid{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:22px; }
.wrf-policy{ padding:14px 16px; border:1px solid #E8DCCD; border-radius:13px; background:#FFF9F2; }
.wrf-policy-link{ color:#F35800; font-weight:750; text-decoration:none; transition:color .15s ease; }
.wrf-policy-link:hover{ color:#D94D00; text-decoration:underline; }
.wrf-policy strong{ display:block; margin-bottom:4px; font-family:'Montserrat',sans-serif; font-weight:850; font-size:12px; line-height:1.25; color:var(--wp--preset--color--ink); }
.wrf-policy span{ display:block; color:#756D65; font-size:11.5px; line-height:1.45; }
@media (max-width:760px){ .wrf-variants{ grid-template-columns:repeat(2,1fr); } }

/* --- Shared section shells --- */
.wrf-wrap{ width:min(1880px,95vw); margin:0 auto; }
.wrf-section{
  padding:80px 0; margin:0 calc(50% - 50vw); width:100vw; max-width:none;
}
.wrf-section-white{ background:rgba(255,255,255,.62); border-top:1px solid #E8DCCD; border-bottom:1px solid #E8DCCD; }
.wrf-section-dark{ background:#17191A; }
.wrf-section-dark h2, .wrf-section-dark h3{ color:#fff; }
.wrf-section-dark .wrf-section-head > p{ color:#D5D5D5; }
.wrf-eyebrow{
  margin-bottom:14px; color:#F35800;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:12px;
  text-transform:uppercase; letter-spacing:.11em;
}
.wrf-section h2, .wrf-features h2, .wrf-included h2{
  font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:clamp(31px,3.2vw,54px); line-height:1.06; letter-spacing:-.052em; margin:0 0 15px;
}
.wrf-section h3, .wrf-features h3, .wrf-included h3{
  font-family:'Montserrat',sans-serif; font-weight:850;
  font-size:22px; line-height:1.18; letter-spacing:-.03em; margin:0 0 9px;
}
.wrf-section-head{
  display:grid; grid-template-columns:1fr .8fr; gap:48px; align-items:end; margin-bottom:40px;
}
.wrf-section-head > p{ color:#4A4038; margin:0; }
.wrf-card{ background:#fff; border:1px solid #E8DCCD; border-radius:24px; box-shadow:0 12px 34px rgba(24,26,27,.06); }
@media (max-width:1050px){ .wrf-section-head{ grid-template-columns:1fr; gap:16px; align-items:start; } }

/* --- View by Section nav --- */
.wrf-nav{
  padding:42px 0 46px; margin:0 calc(50% - 50vw); width:100vw; max-width:none;
  background:#181A1B; border-top:4px solid #F35800;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 42px rgba(24,26,27,.14);
}
.wrf-nav-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.wrf-nav-titles{ display:grid; gap:7px; }
.wrf-nav-kicker{
  color:#F35800; font-family:'Montserrat',sans-serif; font-weight:900; font-size:11px;
  text-transform:uppercase; letter-spacing:.14em; line-height:1;
}
.wrf-nav-head h3{
  margin:0; color:#fff; font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:28px; line-height:1.1; letter-spacing:-.03em;
}
.wrf-nav-head p{ max-width:440px; margin:0; color:#C8CBCB; font-size:14px; line-height:1.5; text-align:right; }
.wrf-nav-buttons{ width:100%; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:22px; }
.wrf-nav-btn{
  width:100%; min-height:74px; padding:12px 14px;
  display:flex; align-items:center; justify-content:flex-start; gap:10px; text-align:left;
  border:1px solid rgba(255,255,255,.12); border-radius:14px;
  background:#F8F4ED; color:#181A1B;
  box-shadow:0 8px 18px rgba(0,0,0,.13);
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:12.5px; line-height:1.28;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.wrf-nav-index{
  width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center;
  border-radius:50%; background:#F35800; color:#fff;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:10px; line-height:1;
}
.wrf-nav-btn::after{ content:"→"; margin-left:auto; color:#F35800; font-size:16px; line-height:1; }
.wrf-nav-btn:hover, .wrf-nav-btn:focus-visible{
  transform:translateY(-3px); border-color:#F35800; background:#F35800; color:#fff; outline:none;
}
.wrf-nav-btn:hover .wrf-nav-index, .wrf-nav-btn:focus-visible .wrf-nav-index{ background:#fff; color:#F35800; }
.wrf-nav-btn:hover::after, .wrf-nav-btn:focus-visible::after{ color:#fff; }
@media (max-width:1280px){ .wrf-nav-buttons{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:760px){
  .wrf-nav-head{ display:block; }
  .wrf-nav-head p{ margin-top:12px; text-align:left; }
  .wrf-nav-buttons{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wrf-nav-btn{ min-height:66px; }
}
@media (max-width:460px){ .wrf-nav-buttons{ grid-template-columns:1fr; } }

/* --- Specification --- */
.wrf-spec-layout{ max-width:1500px; margin:0 auto; }
.wrf-spec-head{ max-width:900px; margin-bottom:34px; }
.wrf-spec-head p{ max-width:820px; font-size:16px; color:#4A4038; margin:0; }
.wrf-spec-card{ padding:38px 42px; }
.wrf-spec-columns{ display:grid; grid-template-columns:1fr 1fr; gap:0 52px; }
.wrf-spec-list{ display:grid; }
.wrf-spec-row{
  display:grid; grid-template-columns:minmax(170px,.78fr) 1.22fr; gap:24px;
  padding:15px 0; border-bottom:1px solid #E8DCCD;
}
.wrf-spec-row:last-child{ border-bottom:0; }
.wrf-spec-name{ color:#756D65; font-size:14px; font-weight:750; }
.wrf-spec-value{ color:#4A4038; font-size:14px; }
@media (max-width:900px){
  .wrf-spec-columns{ grid-template-columns:1fr; gap:0; }
  .wrf-spec-list:first-child .wrf-spec-row:last-child{ border-bottom:1px solid #E8DCCD; }
  .wrf-spec-card{ padding:26px 22px; }
}

/* --- Five features (taupe band) --- */
.wrf-features{
  padding:80px 0; margin:0 calc(50% - 50vw); width:100vw; max-width:none;
  background:#B99F89;
}
.wrf-features-head{ max-width:1050px; margin-bottom:36px; }
.wrf-features-head .wrf-eyebrow, .wrf-features-head h2{ color:#fff; }
.wrf-features-head p{ color:rgba(255,255,255,.9); font-size:16px; margin:0; }
.wrf-feature-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.wrf-feature-card{ min-width:0; }
.wrf-feature-image{
  aspect-ratio:4/5; overflow:hidden; border-radius:18px; background:#EEEAE5;
  box-shadow:0 16px 34px rgba(24,26,27,.13);
}
.wrf-feature-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.wrf-feature-copy{ padding:18px 2px 0; }
.wrf-feature-copy span{
  display:block; margin-bottom:8px; color:#FFF0E8;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:11px;
  text-transform:uppercase; letter-spacing:.08em; line-height:1;
}
.wrf-feature-copy h3{ color:#fff; font-size:19px; }
.wrf-feature-copy p{ color:rgba(255,255,255,.9); font-size:13.5px; line-height:1.56; margin:0; }
@media (max-width:1320px){ .wrf-feature-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px){
  .wrf-feature-grid{ grid-template-columns:1fr; }
  .wrf-feature-image{ aspect-ratio:16/11; }
}
/* Four-feature variant */
.wrf-feature-grid.wrf-features-4up{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1320px){ .wrf-feature-grid.wrf-features-4up{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){ .wrf-feature-grid.wrf-features-4up{ grid-template-columns:1fr; } }

/* --- What's included --- */
.wrf-included{
  padding:80px 0; margin:0 calc(50% - 50vw); width:100vw; max-width:none;
  background:#EFE7DD; border-top:1px solid #E8DCCD; border-bottom:1px solid #E8DCCD;
}
.wrf-included-head{ max-width:1050px; margin-bottom:36px; }
.wrf-included-head p{ color:#4A4038; font-size:16px; margin:0; }
.wrf-included-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.wrf-included-card{ min-width:0; }
.wrf-included-image{
  aspect-ratio:4/3; overflow:hidden; border-radius:18px; background:#fff;
  border:1px solid #E8DCCD; box-shadow:0 16px 34px rgba(24,26,27,.09);
}
.wrf-included-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.wrf-included-copy{ padding:18px 2px 0; }
.wrf-included-copy span{
  display:block; margin-bottom:8px; color:#F35800;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:11px;
  text-transform:uppercase; letter-spacing:.08em; line-height:1;
}
.wrf-included-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.wrf-included-top span{ margin-bottom:0; }
.wrf-qty{
  font-style:normal; display:inline-flex; align-items:center; padding:3px 11px;
  border:1px solid rgba(243,88,0,.35); border-radius:999px; background:#FFF1E8; color:#F35800;
  font-family:'Montserrat',sans-serif; font-weight:850; font-size:11px; line-height:1.4;
}
.wrf-included-copy h3{ font-size:19px; }
.wrf-included-copy p{ font-size:13.5px; line-height:1.56; color:#4A4038; margin:0; }
@media (max-width:1100px){ .wrf-included-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){
  .wrf-included-grid{ grid-template-columns:1fr; }
  .wrf-included-image{ aspect-ratio:16/11; }
}
/* Two-item variant: image + copy side by side, image keeps the same 4-column size */
.wrf-included-grid.wrf-included-2up{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.wrf-included-2up .wrf-included-card{ display:flex; align-items:center; gap:26px; }
.wrf-included-2up .wrf-included-image{ flex:0 0 calc(50% - 13px); }
.wrf-included-2up .wrf-included-copy{ padding:0; flex:1; min-width:0; }
@media (max-width:760px){
  .wrf-included-2up .wrf-included-card{ display:block; }
  .wrf-included-2up .wrf-included-copy{ padding:18px 2px 0; }
}

/* --- Why foil (comparison) --- */
.wrf-why-visual{
  width:100%; max-width:1350px; margin:0 auto; padding:38px 42px;
  border:1px solid #E8DCCD; border-radius:28px;
  box-shadow:0 24px 70px rgba(24,26,27,.10); background:#fff;
}
.wrf-comparison-title{
  margin:0 0 18px; font-family:'Montserrat',sans-serif; font-weight:900;
  font-size:28px; line-height:1.08; letter-spacing:-.04em;
}
.wrf-comparison-sub{ margin:0 0 18px; color:#756D65; font-size:14px; line-height:1.55; }
.wrf-comp-table{ border:1px solid #E8DCCD; border-radius:18px; overflow:hidden; background:#fff; }
.wrf-comp-head, .wrf-comp-row{ display:grid; grid-template-columns:28% 36% 36%; }
.wrf-comp-head{ background:#F8F3EB; }
.wrf-comp-head div, .wrf-comp-row div{ padding:14px 16px; font-size:13.5px; line-height:1.45; }
.wrf-comp-head div{
  font-family:'Montserrat',sans-serif; font-weight:850; font-size:12px; line-height:1.2;
  text-transform:uppercase; letter-spacing:.04em; color:var(--wp--preset--color--ink);
}
.wrf-comp-row{ border-top:1px solid #E8DCCD; }
.wrf-comp-row div:first-child{ color:#756D65; font-weight:750; }
.wrf-comp-head > div:nth-child(3), .wrf-comp-row > div:nth-child(3){ background:#FFF5EE; }
.wrf-comp-head > div:nth-child(3){ color:#F35800; }
.wrf-comp-badge{
  display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:11px; line-height:1;
}
.wrf-comp-badge-clear{ background:#F4F4F4; color:#4B4B4B; }
.wrf-comp-badge-foil{ background:#FFF1E8; color:#F35800; }
.wrf-comparison-note{ margin:18px 0 0; color:#4A4038; font-size:13.5px; line-height:1.6; }
@media (max-width:1050px){
  .wrf-comp-head, .wrf-comp-row{ grid-template-columns:1fr; }
  .wrf-comp-head div:first-child{ display:none; }
  .wrf-comp-row div{ padding:10px 14px; }
  .wrf-comp-row div:first-child{
    background:#FBF7F1; font-family:'Montserrat',sans-serif; font-weight:850; font-size:12px;
    line-height:1.25; text-transform:uppercase; letter-spacing:.04em;
    color:var(--wp--preset--color--ink);
  }
  .wrf-why-visual{ padding:24px 18px; }
  .wrf-comparison-title{ font-size:24px; }
}

/* --- Must do before use (dark) --- */
.wrf-before-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.wrf-before-card{
  padding:26px; border-radius:24px;
  background:#252C33; border:1px solid rgba(255,255,255,.09);
  box-shadow:0 14px 32px rgba(0,0,0,.24);
}
.wrf-before-card h3{ color:#F8F7F3; }
.wrf-before-card p{ color:#C7CED5; font-size:13.5px; margin:0; }
.wrf-before-num{
  width:36px; height:36px; display:grid; place-items:center; margin-bottom:16px; border-radius:50%;
  background:#F35800; color:#fff;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:12px; line-height:1;
  box-shadow:0 5px 12px rgba(243,88,0,.28);
}
@media (max-width:1050px){ .wrf-before-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px){ .wrf-before-grid{ grid-template-columns:1fr; } }

/* --- FAQ --- */
.wrf-faq-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; }
.wrf-faq-grid > div:first-child p{ color:#4A4038; margin:0; }
.wrf-faq-list{ display:grid; gap:12px; }
.wrf-faq-list details{ padding:19px 21px; border:1px solid #E8DCCD; border-radius:16px; background:#fff; }
.wrf-faq-list summary{
  cursor:pointer; font-family:'Montserrat',sans-serif; font-weight:850; font-size:15px; line-height:1.35;
  color:var(--wp--preset--color--ink); list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.wrf-faq-list summary::-webkit-details-marker{ display:none; }
.wrf-faq-list summary::after{ content:"+"; font-size:17px; font-weight:300; color:#756D65; }
.wrf-faq-list details[open] summary::after{ content:"−"; }
.wrf-faq-list details p{ margin:10px 0 0; font-size:14px; color:#4A4038; line-height:1.6; }
@media (max-width:1050px){ .wrf-faq-grid{ grid-template-columns:1fr; gap:24px; } }

/* --- Customer reviews --- */
.wrf-review-summary{ display:grid; grid-template-columns:.7fr 1.3fr; gap:28px; align-items:start; }
.wrf-rating-card{ padding:36px; text-align:center; }
.wrf-rating-big{ font-family:'Montserrat',sans-serif; font-weight:900; font-size:58px; line-height:1; color:var(--wp--preset--color--ink); }
.wrf-rating-stars{ margin:12px 0; }
.wrf-stars-base{
  position:relative; display:inline-block; font-size:24px; letter-spacing:.12em; line-height:1; color:#E9E1D6;
}
.wrf-stars-base > span{
  position:absolute; left:0; top:0; overflow:hidden; white-space:nowrap; color:#F2A100;
}
.wrf-rating-card p{ font-size:13px; color:#4A4038; margin:0; }
.wrf-review-placeholder{
  min-height:320px; padding:32px; display:flex; align-items:center; justify-content:center;
  text-align:center; border:1px dashed #CDBEAF; border-radius:24px; background:#fff;
  color:#756D65; font-weight:750;
}
/* WooCommerce review list inside the reviews section */
.wrf-review-area .woocommerce-Reviews{ background:#fff; border:1px solid #E8DCCD; border-radius:24px; padding:28px; }
.wrf-review-area .woocommerce-Reviews-title{ font-size:18px; font-weight:850; font-family:'Montserrat',sans-serif; margin:0 0 16px; }
.wrf-review-area ol.commentlist{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.wrf-review-area ol.commentlist li{ border:1px solid #EFE8DE; border-radius:16px; padding:16px 18px; }
.wrf-review-area ol.commentlist li img.avatar{
  width:38px; height:38px; border-radius:50%; float:left; margin-right:12px;
}
.wrf-review-area .comment-text p{ font-size:14px; color:#4A4038; }
.wrf-review-area .comment-text .meta{ font-size:12.5px; color:#756D65; }
.wrf-review-area .star-rating{ float:right; }
.wrf-review-area #review_form_wrapper{ margin-top:22px; }
.wrf-review-area .comment-reply-title{ font-weight:850; font-family:'Montserrat',sans-serif; font-size:15px; }
.wrf-review-area .comment-form label{ display:block; font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:600; color:#57504A; margin-bottom:6px; }
.wrf-review-area .comment-form input[type="text"],
.wrf-review-area .comment-form input[type="email"],
.wrf-review-area .comment-form textarea{
  width:100%; border:1px solid #E8DCCD; border-radius:10px; padding:11px 14px; font-family:inherit;
}
.wrf-review-area .comment-form .submit{
  background:#F35800; color:#fff; border:none; border-radius:9px;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:13.5px;
  padding:14px 26px; cursor:pointer; transition:background .18s ease;
}
.wrf-review-area .comment-form .submit:hover{ background:#D94D00; }
@media (max-width:1050px){ .wrf-review-summary{ grid-template-columns:1fr; } }

/* Prevent horizontal scroll from full-bleed foil sections */
body.single-product{ overflow-x:hidden; }

/* Foil page: variation pills rendered as the HTML variant grid (auto-synced with backend variations) */
.single-product .wr-pills{ grid-template-columns:repeat(auto-fit,minmax(90px,1fr)); gap:9px; margin:0 0 4px; }
.single-product .wr-pill{ display:block; text-align:center; min-height:61px; padding:8px; border:1px solid #E8DCCD; border-radius:11px; font-family:'Montserrat',sans-serif; font-weight:850; font-size:13px; line-height:1.2; color:var(--wp--preset--color--ink); transition:background .15s ease, border-color .15s ease, color .15s ease; }
.single-product .wr-pill small{ display:block; margin:3px 0 0; font-size:10px; font-weight:700; color:#756D65; font-family:'Manrope',system-ui,sans-serif; }
.single-product .wr-pill em{ display:block; margin-top:2px; font-style:normal; font-size:11px; font-weight:700; color:#756D65; }
.single-product .wr-pill:hover{ border-color:#F35800; background:#F35800; color:#fff; }
.single-product .wr-pill:hover small, .single-product .wr-pill:hover em{ color:rgba(255,255,255,.85); }
.single-product .wr-pill.on{ border-color:#F35800; background:#FFF1E8; color:#F35800; }
.single-product .wr-pill.on small, .single-product .wr-pill.on em{ color:#F35800; }
.single-product .wr-pill.on:hover{ background:#F35800; color:#fff; }
.single-product .wr-pill.on:hover small, .single-product .wr-pill.on:hover em{ color:rgba(255,255,255,.85); }
@media (max-width:760px){ .single-product .wr-pills{ grid-template-columns:repeat(2,1fr); } }

/* ===== Variation selector cards — uniform across all product pages =====
   Forces the compact "count + price" card grid (matches the approved design)
   regardless of per-page CSS optimization. */
body.single-product .wr-pills{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(88px,1fr)) !important;
  gap:9px !important;
  min-height:0 !important;
  margin:8px 0 4px !important;
}
body.single-product .wr-pill{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:64px;
  padding:10px 8px;
  border:1px solid #E8DCCD;
  border-radius:12px;
  background:#fff;
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:14px;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--wp--preset--color--ink);
  transition:border-color .15s ease, background .15s ease;
}
body.single-product .wr-pill > span{ display:block; }
body.single-product .wr-pill small{ display:none !important; }
body.single-product .wr-pill em{
  display:block; margin-top:5px; font-style:normal;
  font-family:'Manrope',system-ui,sans-serif;
  font-size:12px; font-weight:600; color:#9C948C;
}
body.single-product .wr-pill:hover{ border-color:#F35800; background:#fff; color:var(--wp--preset--color--ink); }
body.single-product .wr-pill.on{ border-color:#F35800 !important; background:#FFF3EA !important; color:var(--wp--preset--color--ink) !important; }
body.single-product .wr-pill.on em{ color:#9C948C; }
@media(max-width:640px){
  body.single-product .wr-pills{ grid-template-columns:repeat(2,1fr) !important; }
}
/* Tighten the gap between the variation cards and the cross-sell bar */
body.single-product form.cart table.variations{ margin-bottom:0 !important; }
body.single-product form.cart table.variations td.value{ padding-bottom:4px !important; }
body.single-product .wr-pills{ margin-bottom:0 !important; }
body.single-product .wr-kitbar{ margin-top:8px !important; }
