/* =========================================================
   RAYHON - WooCommerce-only additions.
   Reuses tokens from :root in assets/css/style.css - no color/spacing
   values are redeclared here, and no rule already covered by style.css
   (.pcard, .hit, .tab, .cart-item, .qty, .seg, .field, .btn, .pmodal,
   .cart-drawer, .menu__grid, .hits__grid, .page-hero) is repeated.
   ========================================================= */

/* Consumes the `--d` custom property templates set inline on `.pcard` for
   the staggered reveal (same pattern the static design uses on [data-reveal]
   elements) - style.css declares the `pcardIn` animation but not this delay. */
.pcard{animation-delay:var(--d,0s)}

/* ============ CATALOGUE (archive-product.php) ============ */
.menu--archive{padding-top:clamp(28px,4vw,48px)}

.rayhon-pagination{display:flex;justify-content:center;margin-top:clamp(32px,4vw,48px)}
.rayhon-pagination ul{display:flex;align-items:center;gap:8px;list-style:none}
.rayhon-pagination .page-numbers{
  display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;
  border-radius:100px;border:1px solid var(--edge-2);font:600 13px/1 var(--body);color:var(--smoke);
  transition:all .3s var(--e);
}
.rayhon-pagination a.page-numbers:hover{border-color:var(--flame-2);color:var(--bone)}
.rayhon-pagination .page-numbers.current{background:var(--cta);border-color:transparent;color:#160a04}
.rayhon-pagination .page-numbers.dots{border-color:transparent}
.rayhon-pagination .page-numbers .ico{width:13px;height:13px}

/* ============ BREADCRUMBS ============ */
.rayhon-breadcrumbs{margin-bottom:clamp(20px,3vw,32px)}
.woocommerce-breadcrumb{color:var(--dim);font-size:12.5px;letter-spacing:.03em}
.woocommerce-breadcrumb a{color:var(--smoke);transition:color .3s var(--e)}
.woocommerce-breadcrumb a:hover{color:var(--bone)}

/* ============ SINGLE PRODUCT ============ */
.rayhon-product-page{padding-block:clamp(28px,4vw,56px) var(--sec-y)}
.rayhon-product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:start}

.rayhon-product__gallery .woocommerce-product-gallery__wrapper{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--edge)}
.rayhon-product__gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.rayhon-product__gallery .flex-control-thumbs{display:flex;gap:10px;margin-top:10px;list-style:none}
.rayhon-product__gallery .flex-control-thumbs li{width:76px;height:76px;border-radius:10px;overflow:hidden;border:1px solid var(--edge);cursor:pointer}
.rayhon-product__gallery .flex-control-thumbs img{aspect-ratio:1/1}
.rayhon-product__gallery .flex-control-thumbs img.flex-active{outline:2px solid var(--flame-2);outline-offset:-2px}

.rayhon-product__info{padding-top:4px}
.rayhon-product__info h1{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:clamp(26px,3vw,38px);line-height:1.1;margin:8px 0 14px}
.rayhon-product__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
.rayhon-product__state.pcard__state{position:static;display:inline-flex;background:var(--card);border:1px solid var(--edge)}
.rayhon-product__price{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.6vw,32px);color:var(--bone);margin-bottom:14px}
.rayhon-product__price .woocommerce-Price-currencySymbol{color:var(--dim);font-size:.5em;font-family:var(--body)}
.rayhon-product__excerpt{color:var(--smoke);font-size:15px;line-height:1.7;margin-bottom:22px}
.rayhon-product__form{margin-bottom:20px}
.rayhon-product__stock{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--smoke);font-size:13px;margin-bottom:24px}
.rayhon-product__stock .in-stock{color:var(--gold)}
.rayhon-product__stock .out-of-stock{color:var(--flame-3)}
.rayhon-product__sku{color:var(--dim)}
.rayhon-product__desc{border-top:1px solid var(--edge);padding-top:22px}
.rayhon-product__desc h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:18px;margin-bottom:10px}
.rayhon-product__desc p{color:var(--smoke);font-size:15px;line-height:1.7}
.rayhon-product__desc p + p{margin-top:1em}

/* Default WooCommerce add-to-cart form (simple + variable), restyled. */
.cart .quantity{display:inline-flex;margin-right:12px;vertical-align:middle}
.single_add_to_cart_button{
  display:inline-flex;align-items:center;gap:8px;padding:16px 30px;border-radius:100px;
  background:var(--cta);color:#160a04;font:700 13.5px/1 var(--body);text-transform:uppercase;letter-spacing:.02em;
  transition:background-color .3s var(--e);
}
.single_add_to_cart_button:hover{background:var(--cta-hover)}
.single_add_to_cart_button:disabled,.single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}

.variations{width:100%;margin-bottom:16px;border-collapse:collapse}
.variations tr + tr{margin-top:10px}
.variations td,.variations th{padding:6px 0;text-align:left;vertical-align:middle}
.variations label{font:600 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.variations select{
  padding:13px 16px;border-radius:12px;background:var(--card);border:1px solid var(--edge);min-width:200px;
  transition:border-color .3s var(--e);
}
.variations select:focus{border-color:var(--flame-2)}
.reset_variations{margin-left:10px;font-size:12.5px;color:var(--dim);text-decoration:underline;text-underline-offset:2px}
.reset_variations:hover{color:var(--flame-2)}
.woocommerce-variation-price{margin-bottom:10px}
.woocommerce-variation-availability{margin-bottom:10px;font-size:13px;color:var(--smoke)}
.woocommerce-variation-description p{color:var(--smoke);font-size:14px;margin-bottom:10px}

.rayhon-related{margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--edge)}
.rayhon-related .h2{margin-bottom:clamp(24px,3vw,36px)}

/* ============ CART PAGE ============ */
.rayhon-cart-page{padding-block:clamp(28px,4vw,56px) var(--sec-y)}
.rayhon-cart-page--empty{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}

.rayhon-cart-table-wrap{overflow-x:auto}
.rayhon-cart-table{width:100%;min-width:640px;border-collapse:collapse}
.rayhon-cart-table th{
  text-align:left;padding:0 12px 14px;font:600 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);border-bottom:1px solid var(--edge);
}
.rayhon-cart-table td{padding:18px 12px;border-bottom:1px solid var(--edge);vertical-align:middle}
.rayhon-cart-table .product-thumbnail img{width:64px;height:64px;border-radius:10px;object-fit:cover}
.rayhon-cart-table .product-name a{color:var(--bone);font:600 15px/1.3 var(--body)}
.rayhon-cart-table .product-name a:hover{color:var(--flame-1)}
.rayhon-cart-table .product-price,.rayhon-cart-table .product-subtotal{font:600 14px/1 var(--body);color:var(--bone);white-space:nowrap}
.rayhon-cart-remove{
  display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  border:1px solid var(--edge-2);color:var(--smoke);transition:all .3s var(--e);
}
.rayhon-cart-remove:hover{border-color:var(--flame-3);color:var(--flame-3)}
.rayhon-cart-remove .ico{width:12px;height:12px}
.rayhon-cart-table td.actions{padding-top:22px}

.rayhon-cart-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px;justify-content:space-between}
.rayhon-coupon{max-width:320px;flex:1}
.rayhon-coupon__row{display:flex;gap:10px}
.rayhon-coupon__row input{flex:1}

.rayhon-cart-collaterals{display:flex;justify-content:flex-end;margin-top:clamp(28px,3.5vw,40px)}
.rayhon-cart-totals{width:min(100%,380px);background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:clamp(20px,2.5vw,28px)}
.rayhon-cart-totals h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:17px;margin-bottom:16px}
.rayhon-cart-totals-table{width:100%;border-collapse:collapse}
.rayhon-cart-totals-table th,.rayhon-cart-totals-table td{padding:11px 0;text-align:left;font-size:14px;border-top:1px solid var(--edge)}
.rayhon-cart-totals-table tr:first-child th,.rayhon-cart-totals-table tr:first-child td{border-top:0}
.rayhon-cart-totals-table th{color:var(--smoke);font-weight:500}
.rayhon-cart-totals-table td{text-align:right;color:var(--bone);font-weight:600}
.rayhon-cart-totals-table .order-total th,.rayhon-cart-totals-table .order-total td{
  font-family:var(--display);text-transform:uppercase;font-size:15px;padding-top:16px;
}
.rayhon-cart-totals-table .order-total td{color:var(--flame-1);font-size:20px}
.wc-proceed-to-checkout{margin-top:18px}
.wc-proceed-to-checkout .checkout-button{
  display:flex;align-items:center;justify-content:center;width:100%;padding:18px 32px;border-radius:100px;
  background:var(--cta);color:#160a04;font:700 13.5px/1 var(--body);text-transform:uppercase;letter-spacing:.02em;
  transition:background-color .3s var(--e);
}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--cta-hover)}
.woocommerce-shipping-calculator{margin-top:10px;font-size:13px}
.woocommerce-shipping-calculator a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.shipping-calculator-form{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.shipping-calculator-form select,.shipping-calculator-form input{
  padding:11px 14px;border-radius:10px;background:var(--card-2);border:1px solid var(--edge);width:100%;
}
.shipping-calculator-form button{
  align-self:flex-start;padding:9px 18px;border-radius:100px;border:1px solid var(--edge-2);font:600 12.5px/1 var(--body);
}
.shipping-calculator-form button:hover{border-color:var(--flame-2)}

/* ============ CHECKOUT ============ */
/* page.php's .page-hero is a full marketing hero (up to 58px, generous
   padding) built for content pages like "Доставка та оплата". Sitting right
   above the dense transactional form here, it read as oversized and out of
   register with the rest of the page - checkout gets a smaller, tighter
   heading of its own instead, scoped to WooCommerce's own body class so no
   other page.php page is affected. */
/* .page-hero's default top padding is calc(var(--sec-y) + 70px) - the +70px
   clears the fixed header, so it stays; only the space below the heading
   shrinks. */
body.woocommerce-checkout .page-hero{padding-bottom:20px}
body.woocommerce-checkout .page-hero__eyebrow{margin-bottom:8px}
body.woocommerce-checkout .page-hero h1{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.01em}
body.woocommerce-checkout .page-hero p{display:none}

.rayhon-checkout-page{padding-block:clamp(32px,4vw,64px) var(--sec-y)}
.rayhon-checkout-page .rayhon-checkout__shell{width:calc(100% - 48px)!important;max-width:1400px!important}
.rayhon-checkout__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:clamp(28px,5vw,72px);align-items:start}
.rayhon-checkout,.rayhon-checkout *{min-width:0}
.rayhon-checkout__fields{background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,0) 42%),var(--card);border:1px solid var(--edge);border-radius:var(--r-lg);padding:clamp(24px,3vw,38px)}
.rayhon-checkout__summary{position:sticky;top:92px;background:linear-gradient(145deg,rgba(238,166,69,.12),transparent 38%),var(--card);border:1px solid var(--edge-2);border-radius:var(--r-lg);padding:clamp(22px,2.5vw,30px);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.rayhon-checkout__summary h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:17px;margin-bottom:16px}

.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3{
  font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:16px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--edge);
}
.woocommerce-billing-fields .form-row,.woocommerce-shipping-fields .form-row,.woocommerce-additional-fields .form-row{margin-bottom:16px}
.rayhon-checkout .form-row-first,.rayhon-checkout .form-row-last{width:calc(50% - 8px);float:none;display:inline-block;vertical-align:top}
.rayhon-checkout .form-row-first{margin-right:12px}
.rayhon-checkout .form-row-wide{clear:both;width:100%}
.woocommerce-billing-fields label,.woocommerce-shipping-fields label,.woocommerce-additional-fields label{
  display:block;font:600 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:8px;
}
.woocommerce-billing-fields .required,.woocommerce-shipping-fields .required,.woocommerce-additional-fields .required{color:var(--flame-2);text-decoration:none}
.woocommerce-billing-fields input.input-text,.woocommerce-billing-fields select,.woocommerce-billing-fields textarea,
.woocommerce-shipping-fields input.input-text,.woocommerce-shipping-fields select,.woocommerce-shipping-fields textarea,
.woocommerce-additional-fields input.input-text,.woocommerce-additional-fields select,.woocommerce-additional-fields textarea,
#order_comments{
  width:100%;min-height:50px;padding:15px 18px;border-radius:12px;background:var(--graphite)!important;color:var(--bone)!important;border:1px solid var(--edge);
  transition:border-color .3s var(--e),background-color .3s var(--e);
}
.rayhon-checkout input.input-text,.rayhon-checkout select,.rayhon-checkout textarea{background:var(--graphite)!important;color:var(--bone)!important;border-color:var(--edge)!important;box-shadow:none!important}
.rayhon-checkout select{appearance:auto!important}
.rayhon-checkout .select2-container{width:100%!important}
.rayhon-checkout .select2-container--default .select2-selection--single{height:52px;background:var(--graphite)!important;border:1px solid var(--edge)!important;border-radius:12px!important}
.rayhon-checkout .select2-container--default .select2-selection__rendered{color:var(--bone)!important;line-height:50px!important;padding-left:16px!important}
.rayhon-checkout .select2-container--default .select2-selection__arrow{height:50px!important}
.woocommerce-billing-fields input.input-text:focus,.woocommerce-shipping-fields input.input-text:focus,
.woocommerce-additional-fields input.input-text:focus,#order_comments:focus{border-color:var(--flame-2);background:var(--card-2)}
.woocommerce-invalid input.input-text,.woocommerce-invalid select{border-color:var(--flame-3)}
.woocommerce-billing-fields select:focus,.woocommerce-shipping-fields select:focus,.woocommerce-additional-fields select:focus{border-color:var(--flame-2);background:var(--card-2);outline:0}
.woocommerce-account-fields,.woocommerce-shipping-fields__field-wrapper{margin-top:6px}
#ship-to-different-address{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--smoke);margin-bottom:16px}

.woocommerce-checkout-review-order-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-bottom:20px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  padding:11px 0;text-align:left;font-size:14px;border-top:1px solid var(--edge);
}
.woocommerce-checkout-review-order-table thead th{border-top:0;color:var(--dim);font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase}
.woocommerce-checkout-review-order-table .product-name{width:68%;color:var(--bone);overflow-wrap:anywhere;word-break:normal}
.woocommerce-checkout-review-order-table .product-total,.woocommerce-checkout-review-order-table td{color:var(--bone);text-align:right}
.woocommerce-checkout-review-order-table .order-total td{font-family:var(--display);color:var(--flame-1);font-size:19px}

.woocommerce-checkout-payment{background:var(--card-2);border:1px solid var(--edge);border-radius:var(--r);padding:18px}
.payment_methods{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.payment_methods li{padding:12px 14px;border:1px solid var(--edge);border-radius:10px}
.payment_methods li label{color:var(--bone);font:600 14px/1.3 var(--body);display:flex;align-items:center;gap:10px}
.payment_box{width:100%;margin-top:10px;padding:12px 14px;background:var(--graphite)!important;border-radius:10px;color:var(--smoke)!important;font-size:13px;line-height:1.55;overflow-wrap:anywhere;word-break:normal}
#place_order,.place-order .button{
  width:100%;padding:18px 32px;border-radius:100px;background:var(--cta);color:#160a04;
  font:700 13.5px/1 var(--body);text-transform:uppercase;letter-spacing:.02em;transition:background-color .3s var(--e);
}
#place_order:hover{background:var(--cta-hover);transform:translateY(-1px)}
#place_order:disabled{opacity:.6}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:28px;padding-top:26px;border-top:1px solid var(--edge)}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:14px;font-size:13px;color:var(--smoke)}
.woocommerce-privacy-policy-text{margin-bottom:14px;color:var(--smoke);font-size:13px;line-height:1.55}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}

/* Coupon prompt and form are injected before the checkout form by WooCommerce. */
.woocommerce-form-coupon-toggle .woocommerce-info{align-items:flex-start;max-width:100%;background:var(--card-2);border-color:var(--edge-2)}
.woocommerce-form-coupon-toggle .showcoupon{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.woocommerce-form-coupon{display:flex;align-items:flex-end;gap:12px;max-width:620px;margin:0 0 28px;padding:18px 20px;border:1px solid var(--edge-2);border-radius:var(--r);background:var(--card-2)}
.woocommerce-form-coupon .form-row{margin:0;flex:1}
.woocommerce-form-coupon label{display:block;margin-bottom:8px;color:var(--dim);font:600 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase}
.woocommerce-form-coupon .input-text{width:100%;padding:13px 15px;border:1px solid var(--edge);border-radius:10px;background:var(--graphite)!important;color:var(--bone)!important}
.woocommerce-form-coupon .button{padding:13px 18px;border:1px solid var(--edge-2);border-radius:100px;color:var(--bone);font:600 12px/1 var(--body);letter-spacing:.04em;text-transform:uppercase}
.woocommerce-form-coupon .button:hover{border-color:var(--flame-2)}

/* Loading state WooCommerce toggles on the checkout form/order-review block. */
.processing,.blockUI.blockOverlay{position:relative;opacity:.5;pointer-events:none}

/* Woo notices, restyled to match .form__ok / .field.is-bad language. */
.woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-notices-wrapper .woocommerce-error{
  list-style:none;display:flex;flex-direction:column;gap:6px;padding:16px 20px;border-radius:12px;
  background:var(--card);border:1px solid var(--edge);color:var(--bone);font-size:14px;margin-bottom:20px;
}
.woocommerce-error{border-color:var(--flame-3);color:var(--flame-1)}
.woocommerce-message{border-color:var(--flame-2)}
.woocommerce-error a,.woocommerce-message a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}

/* ============ THANK YOU ============ */
.rayhon-thankyou-page{padding-block:clamp(28px,4vw,56px) var(--sec-y)}
.rayhon-thankyou{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;max-width:520px;margin-inline:auto}
.rayhon-thankyou__status{font:600 15px/1.4 var(--body);color:var(--flame-1)}
.rayhon-thankyou__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.rayhon-order-overview{width:100%;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--edge)}
.rayhon-order-overview li{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--edge);font-size:14px}
.rayhon-order-overview li span{color:var(--dim)}
.rayhon-order-overview li strong{color:var(--bone)}

/* ============ CART DRAWER additions (no analog in the static design) ============ */
.cart-note{font-size:12.5px;color:var(--dim);line-height:1.5}
.quick-order-error{font-size:13px;color:var(--flame-3);margin-top:-6px}
.rayhon-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* ============ PRODUCT PAGE: clearance under the fixed header ============ */
.rayhon-product-page,.rayhon-cart-page,.menu--archive{padding-top:clamp(112px,11vw,140px)}
.rayhon-breadcrumbs{margin-bottom:clamp(18px,2.4vw,28px)}
.woocommerce-breadcrumb{line-height:1.6}

/* ============ PRODUCT PAGE: photo slider ============ */
.rayhon-product__gallery .rgal__stage{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--edge);background:var(--card)}
.rayhon-product__gallery .rgal__slide{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1)}
.rayhon-product__gallery .rgal__slide.is-on{opacity:1;z-index:1}
.rgal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgb(10 9 8 / .55);backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / .16);color:var(--bone);transition:background-color .3s var(--e),border-color .3s var(--e)}
.rgal__nav:hover{background:rgb(10 9 8 / .8);border-color:var(--flame-2)}
.rgal__nav .ico{width:15px;height:15px}
.rgal__nav--prev{left:14px}.rgal__nav--prev .ico{transform:scaleX(-1)}
.rgal__nav--next{right:14px}
.rgal__dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:8px}
.rgal__dot{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255 / .38);transition:background-color .3s var(--e),transform .3s var(--e)}
.rgal__dot.is-on{background:var(--bone);transform:scale(1.2)}

/* ============ PRODUCT PAGE: buy box (state, quantity, add) ============ */
.rbuy{display:grid;gap:18px}
.rbuy__states{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rbuy__label{font:600 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.rbuy__seg{display:inline-flex;width:auto;max-width:100%}
.rbuy__seg .seg__btn{flex:none;padding:11px 24px;cursor:pointer}
.rbuy__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rbuy .qty{display:inline-flex;align-items:center;height:52px;padding:0 6px;gap:2px;flex:none}
.rbuy .qty button{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .3s var(--e)}
.rbuy .qty button:hover{background:var(--card-2)}
.rbuy .qty button .ico{width:13px;height:13px}
.rbuy .qty input{width:46px;height:38px;padding:0;text-align:center;background:transparent;border:0;outline:0;color:var(--bone);font:600 16px/1 var(--body);-moz-appearance:textfield;appearance:textfield}
.rbuy .qty input::-webkit-outer-spin-button,.rbuy .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rbuy__add{flex:1 1 220px;max-width:340px;min-height:52px;padding:0 30px;justify-content:center;white-space:nowrap}

/* Buy buttons that already have their product in the cart: outlined, they open the drawer. */
.pcard .pcard__add.is-in-cart,.rbuy__add.is-in-cart,.pmodal .btn.is-in-cart{background:transparent!important;color:var(--bone)!important;border:1px solid var(--flame-2)!important}
.pcard .pcard__add.is-in-cart:hover,.rbuy__add.is-in-cart:hover,.pmodal .btn.is-in-cart:hover{background:rgb(255 122 26 / .12)!important}

/* Fallback: WooCommerce's own form (other variable products) in the site's style, not the default purple. */
body .single_add_to_cart_button.button.alt,body .single_add_to_cart_button.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:100px;border:0;background:var(--cta);color:#160a04;font:700 13.5px/1 var(--body);text-transform:uppercase;letter-spacing:.02em}
body .single_add_to_cart_button.button.alt:hover{background:var(--cta-hover);color:#160a04}
.cart:not(.variations_form) .quantity,.variations_form .quantity{display:inline-flex}

/* ============ PRICE PER 100 G ============
   Populated only once a product has ACF `weight_grams` set - see
   rayhon_product_price_per_100g_html() in inc/woocommerce.php. Reuses the
   dim/small currency-label look `.pcard__price span` already declares in
   style.css, just forced onto its own line. */
.pcard__price100{display:block;margin-top:2px}
.rayhon-product__price100{display:block;color:var(--dim);font-size:clamp(13px,1.4vw,15px);font-family:var(--body);font-weight:600;margin-top:8px}

/* ============ WEIGHT / MANAGER-CONFIRMS NOTE (single product) ============ */
.rayhon-product__weight-note{color:var(--smoke);font-size:13.5px;margin-bottom:8px}
.rayhon-product__manager-note{display:flex;align-items:flex-start;gap:8px;color:var(--dim);font-size:12.5px;line-height:1.5;margin-bottom:20px;padding:10px 14px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card)}
.rayhon-product__manager-note .ico{flex:none;width:15px;height:15px;margin-top:1px;color:var(--flame-2)}

/* ============ STAR RATING (rayhon_stars_html() in inc/helpers.php) ============ */
.rayhon-stars{display:inline-flex;gap:2px}
.rayhon-stars__i{width:14px;height:14px;color:var(--edge-2)}
.rayhon-stars__i--on{color:var(--gold)}
.rayhon-product__rating{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--smoke);font-size:13px;text-decoration:none;transition:color .3s var(--e)}
.rayhon-product__rating:hover{color:var(--bone)}

/* ============ FAQ ACCORDION (home + per-product) ============ */
.faq-section{padding-block:var(--sec-y)}
/* Home FAQ: heading in the left column, accordion in the right. */
.faq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.faq-grid .sec__head{margin-bottom:0;position:sticky;top:110px}
.faq-grid .faq{max-width:none}
@media (max-width:960px){
  .faq-grid{grid-template-columns:1fr;gap:0}
  .faq-grid .sec__head{position:static;margin-bottom:clamp(34px,5vw,60px)}
}
.faq{display:flex;flex-direction:column;gap:12px;max-width:820px}
.faq--compact{max-width:none;margin-top:18px}
.faq__item{border:1px solid var(--edge);border-radius:var(--r);background:var(--card);overflow:hidden;transition:border-color .3s var(--e)}
.faq__item[open]{border-color:var(--edge-2)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;font-family:var(--display);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.01em;color:var(--bone)}
.faq__q::-webkit-details-marker{display:none}
.faq__q .ico{flex:none;width:16px;height:16px;color:var(--flame-2);transition:transform .3s var(--e)}
.faq__item[open] .faq__q .ico{transform:rotate(45deg)}
.faq__a{padding:0 22px 20px;color:var(--smoke);font-size:14.5px;line-height:1.7}
.faq__a p{margin-bottom:10px}
.faq__a p:last-child{margin-bottom:0}
.rayhon-product-faq{border-top:1px solid var(--edge);padding-top:32px;margin-top:32px}
.rayhon-product-faq h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:18px;margin-bottom:14px}

/* ============ REVIEWS (single product) ============ */
.rayhon-reviews{border-top:1px solid var(--edge);padding-top:32px;margin-top:32px;max-width:820px}
.rayhon-reviews h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:18px;margin-bottom:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.rayhon-reviews__count{font-family:var(--body);text-transform:none;font-weight:600;font-size:13.5px;color:var(--dim)}
.rayhon-reviews__list{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;list-style:none}
.rayhon-review{border:1px solid var(--edge);border-radius:var(--r);background:var(--card);padding:18px 20px}
.rayhon-review__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.rayhon-review__author{font-weight:700;font-size:13.5px;color:var(--bone)}
.rayhon-review__date{margin-left:auto;color:var(--dim);font-size:12px}
.rayhon-review__text{color:var(--smoke);font-size:14px;line-height:1.7}
.rayhon-reviews__empty{color:var(--dim);font-size:14px;margin-bottom:24px}
.rayhon-reviews__form-inner.form{max-width:520px}
.rayhon-reviews__form .comment-form-rating{display:flex;flex-direction:column;gap:8px;margin-bottom:2px}
.rayhon-reviews__form .comment-form-rating label{font:600 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.rayhon-reviews__form select#rating{
  width:auto;min-width:160px;padding:12px 16px;border-radius:12px;background:var(--card);border:1px solid var(--edge);
  color:var(--bone);font:600 13px/1 var(--body);
}
.rayhon-reviews__form select#rating:focus{border-color:var(--flame-2);background:var(--card-2)}
.rayhon-reviews__form .logged-in-as{display:none}

@media (max-width:640px){
  .rayhon-product-page,.rayhon-cart-page,.menu--archive{padding-top:104px}
  .rgal__nav{width:36px;height:36px}
  .rgal__nav--prev{left:10px}.rgal__nav--next{right:10px}
  .rbuy__seg{display:flex;width:100%}
  .rbuy__seg .seg__btn{flex:1;padding-inline:12px}
  .rbuy__row{flex-wrap:nowrap;gap:10px}
  .rbuy__add{flex:1 1 auto;max-width:none;min-width:0;padding:0 16px;font-size:12.5px}
  .rbuy .qty input{width:38px}
  /* Popup: keep the availability badge clear of the close button. */
  .pmodal .pmodal__badge{right:auto!important;left:12px!important}
}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
  .rayhon-product{grid-template-columns:1fr}
  .rayhon-checkout__grid{grid-template-columns:1fr}
  .rayhon-checkout__summary{position:static}
  .rayhon-cart-collaterals{justify-content:stretch}
  .rayhon-cart-totals{width:100%}
}
@media (max-width:640px){
  /* The desktop table becomes a compact card per product, avoiding side scroll. */
  .rayhon-cart-table-wrap{overflow:visible}
  .rayhon-cart-table,.rayhon-cart-table tbody,.rayhon-cart-table tr,.rayhon-cart-table td{display:block;width:100%;min-width:0}
  .rayhon-cart-table thead{display:none}
  .rayhon-cart-table tbody{display:flex;flex-direction:column;gap:14px}
  .rayhon-cart-table tr.rayhon-cart-item{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;row-gap:10px;padding:14px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card)}
  .rayhon-cart-table tr.rayhon-cart-item td{padding:0;border:0}
  .rayhon-cart-table .product-thumbnail{grid-column:1;grid-row:1 / span 3}
  .rayhon-cart-table .product-thumbnail img{width:72px;height:72px}
  .rayhon-cart-table .product-name{grid-column:2;padding-right:30px!important}
  .rayhon-cart-table .product-name a{font-size:14px}
  .rayhon-cart-table .product-price,.rayhon-cart-table .product-quantity,.rayhon-cart-table .product-subtotal{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:2;font-size:13px}
  .rayhon-cart-table .product-price::before,.rayhon-cart-table .product-quantity::before,.rayhon-cart-table .product-subtotal::before{content:attr(data-title);color:var(--dim);font:600 10px/1 var(--body);letter-spacing:.08em;text-transform:uppercase}
  .rayhon-cart-table .product-remove{position:absolute;top:10px;right:10px;width:auto}
  .rayhon-cart-table .product-remove .rayhon-cart-remove{width:28px;height:28px}
  .rayhon-cart-table tr:not(.rayhon-cart-item){border:0}
  .rayhon-cart-table td.actions{padding:6px 0 0}
  .rayhon-cart-actions{flex-direction:column;align-items:stretch}
  .rayhon-coupon{max-width:none}
  .rayhon-coupon__row{align-items:stretch}
  .rayhon-coupon__row .btn{padding-inline:16px;white-space:nowrap}
  .rayhon-cart-totals{padding:20px 16px}
  .woocommerce-form-coupon{flex-direction:column;align-items:stretch}
  .woocommerce-form-coupon .button{width:100%;min-height:44px}
  .rayhon-checkout__summary{padding:20px 16px}
  .rayhon-checkout__fields{padding:20px 16px}
  .rayhon-checkout .form-row-first,.rayhon-checkout .form-row-last{display:block;width:100%;margin-right:0}
  .woocommerce-checkout-review-order-table .product-name{padding-right:12px}
  .woocommerce-checkout-payment{padding:14px}
  .payment_methods li{padding:12px}
  .payment_box{padding:12px;font-size:12.5px;line-height:1.5}
  #place_order,.place-order .button{min-height:52px;padding-inline:18px}
  .rayhon-thankyou__actions{flex-direction:column;width:100%}
}

/* ============ WEIGHT PICKER (.wsel) ============
   Every product is sold by weight: chips for quick picks plus a stepper for
   any other weight. Logic in assets/js/shop.js, rules in inc/weight.php. */
.wsel{display:flex;flex-direction:column;gap:10px;margin:6px 0 4px}
.wsel__label{font:600 10.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.wsel__chips{display:flex;flex-wrap:wrap;gap:8px}
.wsel__chip{padding:10px 16px;border-radius:100px;border:1px solid var(--edge-2);background:transparent;color:var(--smoke);font:600 13px/1 var(--body);cursor:pointer;transition:all .25s var(--e)}
.wsel__chip:hover{border-color:var(--flame-2);color:var(--bone)}
.wsel__chip.is-on{background:var(--cta);border-color:var(--cta);color:#160a04}
.wsel__custom{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;border:1px solid var(--edge-2);border-radius:100px;padding:3px}
.wsel__dec,.wsel__inc{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bone);font:600 18px/1 var(--body);cursor:pointer;transition:background-color .25s var(--e)}
.wsel__dec:hover,.wsel__inc:hover{background:var(--card-2)}
.wsel__input{width:64px;height:34px;padding:0;text-align:right;background:transparent;border:0;outline:0;color:var(--bone);font:600 15px/1 var(--body);-moz-appearance:textfield;appearance:textfield}
.wsel__input::-webkit-outer-spin-button,.wsel__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.wsel__unit{color:var(--dim);font:600 13px/1 var(--body);margin:0 6px 0 3px}

.pmodal__pricebox{display:flex;flex-direction:column;gap:4px;min-width:0}
.pmodal__price span{font-size:.55em;color:var(--dim);font-family:var(--body);font-weight:600}
.pmodal__per{color:var(--dim);font:600 12px/1.3 var(--body)}
.pmodal__per b,.rayhon-product__price100 b{color:var(--bone);font-weight:700}
.pmodal__page{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:14px;color:var(--gold);font:600 13px/1 var(--body);text-decoration:underline;text-underline-offset:4px}
.pmodal__page .ico{width:13px;height:13px}
.pmodal__page:hover{color:var(--flame-1)}
.btn.is-added,.rbuy__add.is-added{background:transparent!important;color:var(--bone)!important;border:1px solid var(--flame-2)!important}
.rayhon-product__price span{font-size:.5em;color:var(--dim);font-family:var(--body);font-weight:600}
.rbuy .wsel{margin:4px 0 14px}
.cart-item__w{display:inline-block;margin-top:5px;padding:3px 9px;border-radius:100px;background:var(--card-2);color:var(--gold);font:600 11.5px/1.2 var(--body)}

/* ============ PRODUCT PAGE: perks + facts ============ */
.rperks{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:clamp(36px,5vw,64px) 0 0;padding:0}
.rperks li{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--edge);border-radius:var(--r);background:var(--charcoal);color:var(--smoke);font:600 13.5px/1.35 var(--body)}
.rperks .ico{flex:none;width:22px;height:22px;color:var(--flame-2)}
.rfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(28px,4vw,48px)}
.rfacts__box{padding:clamp(20px,2.4vw,30px);border:1px solid var(--edge);border-radius:var(--r-lg);background:var(--charcoal)}
.rfacts__box h2{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:16px;margin-bottom:14px}
.rfacts__box p{color:var(--smoke);font-size:14.5px;line-height:1.7}
.rfacts__box p + p{margin-top:.8em}
.nutr{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nutr div{padding:12px 14px;border-radius:12px;background:var(--card);display:flex;flex-direction:column;gap:6px}
.nutr dt{font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.nutr dd{margin:0;color:var(--smoke);font:600 13px/1 var(--body)}
.nutr dd b{color:var(--bone);font:600 20px/1 var(--display)}
.rfacts__box p.rfacts__hint{margin-top:12px;font-size:12.5px;color:var(--dim)}
.rayhon-product__desc h3{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:14px;margin:18px 0 8px}
.rayhon-product__desc ul{margin:8px 0 0 1.1em;color:var(--smoke);font-size:15px;line-height:1.7}
@media (max-width:980px){.rperks{grid-template-columns:repeat(2,minmax(0,1fr))}.rfacts{grid-template-columns:1fr}}
@media (max-width:520px){.rperks{grid-template-columns:1fr}.wsel__chip{padding:10px 13px}.pmodal__foot{flex-wrap:wrap}}
