/*
Theme Name: BUC Perfumes
Theme URI: https://buc.satenterprises.com/
Author: AZ Digital Works
Author URI: https://buc.satenterprises.com/
Description: Custom WordPress + WooCommerce theme for BUC (Bold, Unique, Classy) perfumes & attar. Fully responsive (mobile, tablet, laptop, desktop), built around the BUC homepage, Shop, Men's/Women's Fragrance, Attar, Unisex, About, Contact and single product designs.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: buc
Tags: woo-commerce, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* =========================================================
   0. RESET & BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
:root{
	--buc-cream:#FFFDFB;
	--buc-ink:#3B2A20;
	--buc-ink-soft:#5A463A;
	--buc-muted:#7A6558;
	--buc-body:#6B584B;
	--buc-border:#EADBD1;
	--buc-border-soft:#F0DFD4;
	--buc-peach:#F3D8CA;
	--buc-peach-light:#FBF1EA;
	--buc-pink:#FCEBE2;
	--buc-accent:#A24E1C;
	--buc-orange:#F5A96C;
	--buc-brown:#4A362B;
	--buc-gold:#E89A3C;
	--buc-radius:6px;
	--buc-radius-lg:14px;
	--buc-max:1240px;
}
html{ scroll-behavior:smooth; }
body{
	margin:0;
	background:var(--buc-cream);
	color:var(--buc-ink);
	font-family:'Jost', Arial, sans-serif;
	font-size:15px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:'Cormorant Garamond', Georgia, serif; font-weight:600; margin:0; color:var(--buc-ink); }
a{ color:var(--buc-ink); text-decoration:none; }
a:hover{ color:var(--buc-accent); }
img{ max-width:100%; height:auto; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button, input, textarea, select{ font-family:'Jost', Arial, sans-serif; }
button{ cursor:pointer; }
.buc-wrap{ max-width:var(--buc-max); margin:0 auto; padding:0 24px; }
.buc-section{ padding:72px 0 24px; }
.buc-section-tight{ padding:48px 0 8px; }
.screen-reader-text{ position:absolute !important; left:-9999px; top:-9999px; }

/* =========================================================
   1. ANNOUNCEMENT BAR
   ========================================================= */
.buc-announce{ position:relative; height:40px; background:var(--buc-peach); overflow:hidden; font-size:13px; color:var(--buc-ink); }
.buc-announce-track{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:0; animation:bucAnnounceFade 8s infinite; }
.buc-announce-track + .buc-announce-track{ animation-delay:4s; }
@keyframes bucAnnounceFade{
	0%{ opacity:0; transform:translateY(14px); }
	6%{ opacity:1; transform:translateY(0); }
	44%{ opacity:1; transform:translateY(0); }
	50%{ opacity:0; transform:translateY(-14px); }
	100%{ opacity:0; transform:translateY(-14px); }
}
.buc-announce-social{ position:absolute; right:24px; top:0; bottom:0; display:flex; align-items:center; gap:14px; }
.buc-announce-social a{ display:flex; }

/* =========================================================
   2. HEADER
   ========================================================= */
.buc-header{ position:relative; z-index:40; background:var(--buc-cream); border-bottom:1px solid var(--buc-border); }
.buc-header-row{ max-width:var(--buc-max); margin:0 auto; padding:10px 24px 0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
.buc-search-form{ display:flex; align-items:center; gap:8px; max-width:240px; border:1px solid var(--buc-border); border-radius:999px; padding:0 14px; height:44px; background:#fff; }
.buc-search-form input[type="search"]{ border:0; outline:0; background:transparent; font-size:13px; flex:1; min-width:0; color:var(--buc-ink); }
.buc-search-form button{ border:0; background:transparent; padding:0; display:flex; }
.buc-logo{ display:block; justify-self:center; }
.buc-logo img{ height:68px; width:auto; }
.buc-header-actions{ display:flex; justify-content:flex-end; align-items:center; gap:22px; font-size:13px; }
.buc-header-actions a{ display:flex; align-items:center; gap:6px; }
.buc-cart-count{ display:inline-flex; align-items:center; justify-content:center; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--buc-brown); color:#fff; font-size:10px; margin-left:2px; }
.buc-menu-toggle{ display:none; border:0; background:transparent; align-items:center; justify-content:center; width:44px; height:44px; padding:0; }

.buc-nav{ display:flex; justify-content:center; align-items:center; gap:34px; padding:6px 24px 8px; font-size:13px; font-weight:500; }
.buc-nav > li{ position:relative; }
.buc-nav > li > a{ display:inline-flex; align-items:center; gap:6px; height:44px; }
.buc-nav .buc-caret{ transition:transform .15s ease; }
.buc-nav li:hover > .buc-caret, .buc-nav li.buc-open > .buc-caret{ transform:rotate(180deg); }

.buc-submenu{ display:none; position:absolute; top:100%; left:-14px; min-width:210px; background:#fff; border:1px solid var(--buc-border); border-radius:10px; box-shadow:0 12px 30px rgba(59,42,32,.12); padding:8px; z-index:50; text-align:left; }
.buc-nav li:hover > .buc-submenu, .buc-nav li.buc-open > .buc-submenu{ display:block; }
.buc-submenu li{ position:relative; }
.buc-submenu a{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 14px; height:44px; border-radius:6px; font-size:13px; font-weight:500; }
.buc-submenu a:hover{ background:var(--buc-peach-light); }
.buc-subsubmenu{ display:none; position:absolute; top:-9px; left:calc(100% + 4px); min-width:200px; background:#fff; border:1px solid var(--buc-border); border-radius:10px; box-shadow:0 12px 30px rgba(59,42,32,.12); padding:8px; }
.buc-submenu li:hover > .buc-subsubmenu, .buc-submenu li.buc-open > .buc-subsubmenu{ display:block; }

/* =========================================================
   3. MOBILE OFF-CANVAS MENU
   ========================================================= */
.buc-mobile-panel{ position:fixed; inset:0 0 0 auto; width:min(86vw,360px); background:#fff; transform:translateX(100%); transition:transform .25s ease; z-index:100; overflow-y:auto; box-shadow:-10px 0 30px rgba(0,0,0,.15); }
.buc-mobile-panel.is-open{ transform:translateX(0); }
.buc-mobile-overlay{ position:fixed; inset:0; background:rgba(59,42,32,.35); opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:90; }
.buc-mobile-overlay.is-open{ opacity:1; pointer-events:auto; }
.buc-mobile-head{ display:flex; justify-content:space-between; align-items:center; padding:18px; border-bottom:1px solid var(--buc-border); }
.buc-mobile-close{ border:0; background:transparent; width:40px; height:40px; }
.buc-mobile-nav{ padding:8px 10px 30px; }
.buc-mobile-nav li{ border-bottom:1px solid var(--buc-border-soft); }
.buc-mobile-nav a{ display:flex; justify-content:space-between; align-items:center; padding:14px 10px; font-size:15px; font-weight:500; }
.buc-mobile-nav .buc-sub-toggle{ background:transparent; border:0; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
.buc-mobile-nav ul{ display:none; padding-left:14px; }
.buc-mobile-nav li.buc-open > ul{ display:block; }
.buc-mobile-nav .buc-sub-toggle svg{ transition:transform .2s ease; }
.buc-mobile-nav li.buc-open > a .buc-sub-toggle svg{ transform:rotate(180deg); }

/* =========================================================
   4. BUTTONS / CHIPS / BADGES
   ========================================================= */
.buc-btn{ display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 28px; border-radius:999px; font-size:13px; font-weight:600; letter-spacing:.5px; border:0; }
.buc-btn-dark{ background:var(--buc-brown); color:#fff; }
.buc-btn-dark:hover{ background:#3a2a21; color:#fff; }
.buc-btn-light{ background:#fff; color:var(--buc-ink); }
.buc-btn-light:hover{ background:#f6ede6; color:var(--buc-ink); }
.buc-btn-orange{ background:var(--buc-orange); color:var(--buc-ink); }
.buc-btn-orange:hover{ background:#f29a52; color:var(--buc-ink); }
.buc-btn-block{ width:100%; height:54px; }
.buc-chip{ display:inline-flex; align-items:center; height:44px; padding:0 22px; border-radius:999px; font-size:13px; font-weight:500; white-space:nowrap; background:#fff; border:1px solid var(--buc-border); color:var(--buc-ink); }
.buc-chip.is-active{ background:var(--buc-brown); border-color:var(--buc-brown); color:#fff; }
.buc-badge{ display:inline-flex; align-items:center; gap:10px; min-height:44px; border:1px solid var(--buc-border); border-radius:999px; padding:0 16px; font-size:12px; background:#fff; }

/* =========================================================
   5. HERO
   ========================================================= */
.buc-hero{ position:relative; background:#7A6A60; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 54%; align-items:center; }
.buc-hero-text{ padding:64px 32px 64px 56px; display:flex; flex-direction:column; gap:18px; align-items:flex-start; max-width:560px; justify-self:end; box-sizing:border-box; color:#fff; }
.buc-hero-eyebrow{ font-size:12px; letter-spacing:4px; font-weight:500; }
.buc-hero h1{ color:#fff; font-size:56px; line-height:1.1; }
.buc-hero p{ margin:0; font-size:16px; line-height:1.7; }
.buc-hero img{ width:100%; height:auto; }

/* =========================================================
   6. COLLECTION CIRCLES / CAROUSEL
   ========================================================= */
.buc-track{ display:flex; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.buc-track::-webkit-scrollbar{ display:none; }
.buc-track > *{ scroll-snap-align:start; }
.buc-grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.buc-circle-card{ display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
.buc-circle-card img, .buc-circle-card .buc-circle-placeholder{ width:100%; max-width:270px; aspect-ratio:1/1; border-radius:50%; object-fit:cover; display:block; }
.buc-circle-placeholder{ background:var(--buc-peach-light); display:flex; align-items:center; justify-content:center; }
.buc-circle-card .buc-circle-label{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:22px; }
.buc-circle-card .buc-circle-sub{ font-size:13px; color:var(--buc-muted); margin-top:-10px; }

/* =========================================================
   7. PRODUCT CARDS
   ========================================================= */
.buc-pcard{ text-align:center; }
.buc-pcard img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:var(--buc-radius); }
.buc-pcard .buc-pname{ font-size:14px; font-weight:500; margin-top:12px; line-height:1.35; min-height:38px; display:block; }
.buc-pcard .buc-psub{ font-size:12px; color:var(--buc-muted); margin-top:2px; }
.buc-pcard .buc-pprice{ font-size:14px; color:var(--buc-accent); font-weight:500; margin-top:6px; }
.buc-pcard .buc-btn{ margin-top:10px; height:44px; padding:0 22px; font-size:12px; }

/* =========================================================
   8. WHY BUC
   ========================================================= */
.buc-why{ background:var(--buc-peach-light); margin-top:64px; padding:72px 24px; }
.buc-why-inner{ max-width:var(--buc-max); margin:0 auto; display:grid; grid-template-columns:1fr 1.25fr; gap:56px; align-items:center; }
.buc-why h2{ font-size:42px; line-height:1.15; margin-bottom:18px; }
.buc-why p{ margin:0; font-size:16px; line-height:1.8; color:var(--buc-ink-soft); max-width:440px; }
.buc-why-cards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.buc-why-card{ background:#fff; border:1px solid var(--buc-border-soft); border-radius:var(--buc-radius-lg); padding:24px; display:flex; flex-direction:column; gap:12px; }
.buc-why-icon{ width:48px; height:48px; border-radius:50%; background:var(--buc-peach); display:flex; align-items:center; justify-content:center; }
.buc-why-card h3{ font-size:18px; }
.buc-why-card p{ margin:0; font-size:13px; line-height:1.6; color:var(--buc-body); }

/* =========================================================
   9. FIND YOUR SCENT
   ========================================================= */
.buc-scent a{ display:block; text-align:center; }
.buc-scent img{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:var(--buc-radius-lg); }
.buc-scent h3{ font-size:18px; margin:16px 0 6px; }
.buc-scent p{ margin:0; font-size:13px; line-height:1.6; color:var(--buc-body); }

/* =========================================================
   10. PROMO SPLIT
   ========================================================= */
.buc-promo{ margin-top:64px; background:var(--buc-pink); display:grid; grid-template-columns:1fr 1fr; }
.buc-promo img{ width:100%; height:100%; min-height:340px; object-fit:cover; }
.buc-promo-text{ display:flex; flex-direction:column; justify-content:center; gap:14px; padding:48px 56px; box-sizing:border-box; }
.buc-promo-text h2{ font-size:32px; line-height:1.25; }
.buc-promo-eyebrow{ font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--buc-brown); }
.buc-why p + p{ margin-top:14px; }
.buc-promo-text p{ margin:0; font-size:15px; line-height:1.7; color:var(--buc-ink-soft); }

/* =========================================================
   11. REVIEWS
   ========================================================= */
/* Reviews (real customer reviews) */
.buc-reviews{ background:#fff; padding:72px 0 56px; text-align:center; }
.buc-reviews h2{ font-size:32px; margin-bottom:14px; }
.buc-stars{ color:var(--buc-gold); letter-spacing:2px; white-space:nowrap; }
.buc-stars .buc-star-off{ color:#E6D7CC; }
.buc-rsummary{ display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:32px; }
.buc-ravg{ font-family:'Playfair Display',serif; font-size:34px; font-weight:600; color:var(--buc-ink); line-height:1; }
.buc-rsummary .buc-stars{ font-size:18px; }
.buc-reviews-count{ font-size:13px; color:var(--buc-muted); }
.buc-rcard{ background:#fff; border-radius:12px; padding:26px 24px 22px; border:1px solid var(--buc-border-soft); text-align:left; display:flex; flex-direction:column; gap:14px; box-shadow:0 2px 14px rgba(59,42,32,.05); }
.buc-rcard .buc-stars{ font-size:16px; }
.buc-rcard .buc-rtext{ margin:0; font-size:14.5px; line-height:1.75; color:var(--buc-ink-soft); flex:1; }
.buc-rfoot{ display:flex; align-items:center; gap:12px; border-top:1px solid var(--buc-border-soft); padding-top:16px; }
.buc-ravatar{ width:40px; height:40px; border-radius:50%; background:var(--buc-peach); color:var(--buc-brown); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:15px; flex:0 0 40px; }
.buc-rname{ font-size:14px; font-weight:600; color:var(--buc-ink); }
.buc-rmeta{ font-size:12px; color:var(--buc-muted); display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:2px; }
.buc-rmeta a{ color:var(--buc-muted); text-decoration:underline; }
.buc-rverified{ color:#4E7A4B; font-weight:500; }
.buc-carousel-wrap{ position:relative; }
.buc-arrow{ width:44px; height:44px; border-radius:50%; border:1px solid var(--buc-border); background:#fff; display:flex; align-items:center; justify-content:center; padding:0; }
.buc-arrow-prev{ position:absolute; left:-18px; top:34%; z-index:2; }
.buc-arrow-next{ position:absolute; right:-18px; top:34%; z-index:2; }
.buc-dots{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:18px; }
.buc-dots span{ width:8px; height:8px; border-radius:50%; background:var(--buc-border); display:block; }
.buc-dots span.is-active{ background:var(--buc-ink); }

/* =========================================================
   14. FOOTER
   ========================================================= */
.buc-footer{ background:var(--buc-peach); padding:56px 24px 0; }
.buc-footer-grid{ max-width:var(--buc-max); margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr 1fr 1.6fr; gap:48px; font-size:13px; }
.buc-footer-grid h3{ font-size:17px; margin:0 0 14px; }
.buc-footer-links{ display:flex; flex-direction:column; gap:10px; line-height:1.4; }
.buc-footer-social{ display:flex; gap:12px; margin-top:20px; flex-wrap:wrap; }
.buc-footer-social a{ width:44px; height:44px; border-radius:50%; background:var(--buc-cream); display:flex; align-items:center; justify-content:center; }
.buc-footer-sub{ display:flex; gap:8px; }
.buc-footer-sub input[type="email"]{ flex:1; min-width:0; height:44px; box-sizing:border-box; border:1px solid #E2C3B1; border-radius:999px; padding:0 16px; background:var(--buc-cream); font-size:13px; color:var(--buc-ink); outline:0; }
.buc-footer-sub button{ height:44px; border:0; border-radius:999px; background:var(--buc-brown); color:#fff; font-size:13px; font-weight:500; padding:0 20px; }
.buc-footer-bottom{ max-width:var(--buc-max); margin:48px auto 0; border-top:1px solid #E2C3B1; padding:22px 0; text-align:center; font-size:13px; color:var(--buc-brown); }

/* =========================================================
   15. BREADCRUMB / PAGE BANNER
   ========================================================= */
.buc-page-banner{ background:var(--buc-peach-light); padding:28px 24px 44px; text-align:center; }
.buc-breadcrumb{ display:flex; justify-content:center; align-items:center; gap:10px; font-size:13px; color:var(--buc-muted); flex-wrap:wrap; margin-bottom:24px; }
.buc-breadcrumb a{ color:var(--buc-muted); }
.buc-breadcrumb .is-current{ color:var(--buc-ink); font-weight:500; }
.buc-page-banner h1{ font-size:54px; line-height:1.1; margin-bottom:24px; }
.buc-cat-intro{ padding:56px 24px 0; text-align:center; }
.buc-cat-intro .buc-wrap{ max-width:760px; }
.buc-cat-intro h2{ font-size:34px; line-height:1.2; margin-bottom:18px; }
.buc-cat-intro p{ font-size:15px; line-height:1.85; color:var(--buc-ink-soft); margin-bottom:14px; }

/* =========================================================
   16. ACCORDIONS (details/summary)
   ========================================================= */
.buc-acc{ border-bottom:1px solid var(--buc-border); }
.buc-acc summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; font-size:15px; font-weight:500; }
.buc-acc summary::-webkit-details-marker{ display:none; }
.buc-acc[open] summary svg{ transform:rotate(180deg); }
.buc-acc-body{ padding:0 0 20px; font-size:14px; line-height:1.75; color:var(--buc-ink-soft); }

/* =========================================================
   17. SINGLE PRODUCT
   ========================================================= */
.buc-pgrid{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:start; }
.buc-gallery{ display:flex; gap:16px; align-items:flex-start; }
.buc-gallery-thumbs{ display:flex; flex-direction:column; gap:12px; }
.buc-thumb{ display:block; width:84px; height:84px; object-fit:cover; border-radius:6px; border:1px solid var(--buc-border); box-sizing:border-box; cursor:pointer; }
.buc-thumb.is-active{ border:2px solid var(--buc-ink); }
.buc-gallery-main{ flex:1; min-width:0; border:1px solid var(--buc-border); border-radius:6px; overflow:hidden; background:#fff; }
.buc-gallery-main img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
.buc-qty{ display:inline-flex; align-items:center; border:1px solid #E2C3B1; border-radius:999px; height:48px; background:#fff; margin-bottom:16px; }
.buc-qty button{ width:48px; height:46px; border:0; background:transparent; font-size:20px; color:var(--buc-ink); }
.buc-qty input{ min-width:36px; max-width:40px; text-align:center; font-size:15px; font-weight:500; border:0; background:transparent; -moz-appearance:textfield; }
.buc-qty input::-webkit-inner-spin-button, .buc-qty input::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }

/* =========================================================
   18. FAQ
   ========================================================= */
.buc-faq{ background:var(--buc-pink); padding:72px 24px 80px; }
.buc-faq-inner{ max-width:780px; margin:0 auto; }
.buc-faq-inner h2{ font-size:34px; text-align:center; margin-bottom:36px; }

/* =========================================================
   19. WOOCOMMERCE OVERRIDES
   ========================================================= */
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; list-style:none; margin:0; padding:0; }
.woocommerce ul.products li.product{ text-align:center; }
.woocommerce ul.products li.product img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:var(--buc-radius); margin-bottom:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:14px; font-weight:500; margin:0 0 4px; }
.woocommerce ul.products li.product .price{ font-size:14px; color:var(--buc-accent); font-weight:500; }
.woocommerce ul.products li.product .button{ display:inline-flex; align-items:center; justify-content:center; margin-top:10px; border:0; border-radius:999px; background:var(--buc-orange); color:var(--buc-ink); font-size:12px; font-weight:600; padding:0 22px; height:44px; }
.woocommerce ul.products li.product .button:hover{ background:#f29a52; }
.woocommerce span.onsale{ background:var(--buc-brown); }
.woocommerce nav.woocommerce-pagination ul{ border:0; gap:8px; display:flex; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ border:1px solid var(--buc-border); border-radius:999px; }

.woocommerce div.product .summary{ padding-left:0; }
.woocommerce div.product .summary h1.product_title{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:38px; line-height:1.2; margin:0 0 20px; }
.woocommerce div.product p.price, .woocommerce div.product span.price{ font-size:26px; font-weight:500; color:var(--buc-accent); }
.woocommerce div.product .buc-price-label{ font-size:12px; color:var(--buc-muted); margin-bottom:2px; }
.woocommerce div.product form.cart{ margin-top:22px; display:flex; flex-direction:column; gap:16px; }
.woocommerce div.product form.cart .quantity{ margin-bottom:0; }
.woocommerce div.product .single_add_to_cart_button{ width:100%; height:54px; border-radius:999px; background:var(--buc-orange); color:var(--buc-ink); font-size:15px; font-weight:600; border:0; }
.woocommerce div.product .single_add_to_cart_button:hover{ background:#f29a52; }
.buc-buy-now{ width:100%; height:54px; border-radius:999px; background:var(--buc-brown); color:#fff; font-size:15px; font-weight:600; border:0; display:flex; align-items:center; justify-content:center; }
.woocommerce .woocommerce-tabs{ border-top:1px solid var(--buc-border); margin-top:28px; }
.woocommerce .woocommerce-tabs ul.tabs{ display:none; }
.woocommerce .woocommerce-tabs .panel{ padding:0 0 20px; font-size:14px; line-height:1.75; color:var(--buc-ink-soft); }
.woocommerce div.product .related.products{ max-width:var(--buc-max); margin:72px auto 24px; padding:0 24px; }
.woocommerce div.product .related.products > h2{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:30px; margin:0 0 28px; }
.woocommerce #reviews #comments ol.commentlist{ list-style:none; margin:0; padding:0; }

/* =========================================================
   20. CONTACT PAGE
   ========================================================= */
.buc-contact-grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:56px; align-items:start; }
.buc-contact-item{ display:flex; align-items:flex-start; gap:14px; }
.buc-contact-icon{ width:44px; height:44px; flex-shrink:0; border-radius:50%; background:var(--buc-peach); display:flex; align-items:center; justify-content:center; }
.buc-contact-label{ font-size:12px; color:var(--buc-muted); }
.buc-contact-value{ font-size:15px; font-weight:500; margin-top:2px; }
.buc-form{ display:flex; flex-direction:column; gap:16px; background:#fff; border:1px solid var(--buc-border-soft); border-radius:16px; padding:32px; box-sizing:border-box; }
.buc-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.buc-form label{ display:block; font-size:13px; margin-bottom:6px; }
.buc-form input[type="text"], .buc-form input[type="email"], .buc-form textarea{ height:48px; box-sizing:border-box; border:1px solid #E2C3B1; border-radius:10px; padding:0 16px; background:#fff; font-size:14px; color:var(--buc-ink); outline:0; width:100%; }
.buc-form textarea{ height:auto; padding:14px 16px; resize:vertical; }
.buc-form-success{ background:#F0F7EE; border:1px solid #BFE0B6; color:#2E5B22; padding:14px 18px; border-radius:10px; font-size:14px; }
.buc-form-error{ background:#FBEAEA; border:1px solid #E7B9B9; color:#7A2222; padding:14px 18px; border-radius:10px; font-size:14px; }

/* =========================================================
   21. ABOUT / UNISEX
   ========================================================= */
.buc-ab2{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.buc-ab4{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.buc-unisex{ max-width:640px; margin:0 auto; padding:88px 24px 112px; text-align:center; }
.buc-unisex-eyebrow{ font-size:12px; letter-spacing:3px; color:var(--buc-accent); font-weight:500; margin-bottom:14px; }

/* =========================================================
   22. RESPONSIVE — TABLET (<=1024px)
   ========================================================= */
@media (max-width:1024px){
	.buc-hero-text h1{ font-size:44px; }
	.buc-why-inner{ grid-template-columns:1fr; }
	.buc-pgrid{ grid-template-columns:1fr; }
	.buc-ab2{ grid-template-columns:1fr; }
	.buc-contact-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   23. RESPONSIVE — TABLET (<=900px) : header becomes burger + carousels
   ========================================================= */
@media (max-width:900px){
	.buc-grid4, .buc-ab4, .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); }
	.buc-grid6{ grid-template-columns:repeat(3,1fr); }
	.buc-promo, .buc-footer-grid{ grid-template-columns:1fr; }
	.buc-footer-grid{ grid-template-columns:1fr 1fr; }
	.buc-header-row{ grid-template-columns:auto auto auto; padding:8px 16px; }
	.buc-search-form{ display:none; }
	.buc-nav{ display:none; }
	.buc-menu-toggle{ display:flex; }
	.buc-logo img{ height:56px; }
	.buc-hero{ grid-template-columns:1fr; }
	.buc-hero-text{ padding:36px 20px 32px; justify-self:stretch; max-width:none; }
	.buc-hero h1{ font-size:36px; }

	/* turn static grids into swipeable carousels on small screens */
	.buc-grid4.buc-swipe, .buc-ab4.buc-swipe{ display:flex; overflow-x:auto; gap:18px; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
	.buc-grid4.buc-swipe::-webkit-scrollbar, .buc-ab4.buc-swipe::-webkit-scrollbar{ display:none; }
	.buc-grid4.buc-swipe > *{ flex:0 0 200px; scroll-snap-align:start; }
	.woocommerce ul.products{ gap:18px; }
}

/* =========================================================
   24. RESPONSIVE — MOBILE (<=600px)
   ========================================================= */
@media (max-width:600px){
	.buc-grid4, .buc-ab4, .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:16px; }
	.buc-grid6{ grid-template-columns:repeat(3,1fr); gap:10px; }
	.buc-section{ padding:40px 0 8px; }
	.buc-why{ padding:44px 20px; }
	.buc-why h2{ font-size:30px; }
	.buc-why-cards{ grid-template-columns:1fr; }
	.buc-why-card{ flex-direction:row; align-items:flex-start; padding:18px; }
	.buc-page-banner h1{ font-size:36px; }
	.buc-cat-intro{ padding:36px 20px 0; }
	.buc-cat-intro h2{ font-size:24px; }
	.buc-promo-text{ padding:32px 20px; }
	.buc-promo-text h2{ font-size:24px; }
	.buc-footer-grid{ grid-template-columns:1fr 1fr; gap:28px 20px; }
	.buc-footer-grid > div:first-child, .buc-footer-grid > div:last-child{ grid-column:1 / -1; }
	.buc-hero h1{ font-size:30px; }
	.buc-form-row{ grid-template-columns:1fr; }
	.woocommerce ul.products{ grid-template-columns:repeat(2,1fr); gap:14px; }
	.buc-arrow-prev, .buc-arrow-next{ display:none; }
}
@media (max-width:420px){
	.buc-hide-sm{ display:none; }
	.buc-header-actions{ gap:14px; }
}

/* =========================================================
   25. WOOCOMMERCE GALLERY — thumbnails beside the image + arrows
   ========================================================= */
/* Gallery: thumbnails in a column on the left, big image on the right, round arrows on the image */
.buc-product-gallery-wrap .woocommerce-product-gallery{ position:relative; display:flex; gap:16px; align-items:flex-start; border:0; overflow:visible; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-viewport{ order:2; flex:1; min-width:0; border:1px solid var(--buc-border-soft); border-radius:14px; overflow:hidden; background:#fff; }
.buc-product-gallery-wrap .woocommerce-product-gallery__wrapper{ margin:0; padding:0; }
.buc-product-gallery-wrap .woocommerce-product-gallery__image{ margin:0; }
.buc-product-gallery-wrap .woocommerce-product-gallery__image img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs{ order:1; display:flex; flex-direction:column; gap:12px; width:84px; flex:0 0 84px; margin:0; padding:0; list-style:none; max-height:620px; overflow-y:auto; scrollbar-width:none; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{ display:none; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs li{ width:84px; margin:0; padding:0; float:none; list-style:none; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs img{ width:84px; height:84px; object-fit:cover; border-radius:12px; border:1px solid var(--buc-border); opacity:.7; cursor:pointer; display:block; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs img.flex-active{ border:2px solid var(--buc-ink); opacity:1; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-direction-nav{ position:absolute; top:0; left:100px; width:calc(100% - 100px); aspect-ratio:1/1; margin:0; padding:0 12px; list-style:none; display:flex; align-items:center; justify-content:space-between; pointer-events:none; z-index:5; box-sizing:border-box; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-direction-nav li{ margin:0; padding:0; list-style:none; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-direction-nav a{ position:static !important; display:flex !important; align-items:center; justify-content:center; width:38px; height:38px; margin:0; border-radius:50%; background:#fff; border:1px solid var(--buc-border); box-shadow:0 2px 8px rgba(59,42,32,.12); opacity:1 !important; text-indent:0; font-size:0; pointer-events:auto; cursor:pointer; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-direction-nav a.flex-disabled{ opacity:.35 !important; pointer-events:none; }
.buc-product-gallery-wrap .woocommerce-product-gallery .flex-direction-nav a::before{ content:none !important; }
.buc-product-gallery-wrap .woocommerce-product-gallery__trigger{ top:14px; right:14px; z-index:6; }
.buc-ptagline{ margin:18px 0 0; text-align:center; font-size:11.5px; line-height:1.7; letter-spacing:1.6px; text-transform:uppercase; color:var(--buc-muted); }
@media (max-width:700px){
	.buc-product-gallery-wrap .woocommerce-product-gallery{ flex-direction:column; }
	.buc-product-gallery-wrap .woocommerce-product-gallery .flex-viewport{ order:1; width:100%; }
	.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs{ order:2; flex-direction:row; width:100%; flex-basis:auto; max-height:none; overflow-x:auto; overflow-y:hidden; }
	.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs li, .buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs img{ width:68px; }
	.buc-product-gallery-wrap .woocommerce-product-gallery .flex-control-thumbs img{ height:68px; }
	.buc-product-gallery-wrap .woocommerce-product-gallery .flex-direction-nav{ left:0; width:100%; }
}
