/* ==========================================================================
   BBQ LORD — WooCommerce shop + product page styling
   Loaded only on WooCommerce pages. Targets WooCommerce's own class names so
   markup generated by the plugin (variations, notices, tabs) is covered.
   ========================================================================== */

.woocommerce,.woocommerce-page{font-family:var(--font-body);color:var(--ink-900)}
.woocommerce a,.woocommerce-page a{color:var(--flame-600)}
.woocommerce a:hover,.woocommerce-page a:hover{color:var(--flame-700)}

/* ---------- shared button ------------------------------------------------ */
.bbq-btn,
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt{
  --bg:var(--flame-500);--fg:#FFFDF8;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 30px;border:0;border-radius:var(--radius-pill);
  background:var(--bg);color:var(--fg);
  font-family:var(--font-body);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;text-decoration:none;line-height:1;
  transition:background .12s var(--ease-std),transform .12s var(--ease-std),box-shadow .2s var(--ease-std)}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover,
.bbq-btn:hover{background:var(--flame-600);color:#FFFDF8;box-shadow:var(--shadow-accent)}
.woocommerce .button:active,.bbq-btn:active{background:var(--flame-700);transform:scale(.97)}
.woocommerce .button.disabled,.woocommerce button.button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
:where(.woocommerce) :focus-visible{outline:3px solid var(--flame-500);outline-offset:3px}

/* ---------- badges ------------------------------------------------------- */
.bbq-badges{position:absolute;top:14px;left:14px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.bbq-badge{padding:6px 13px;border-radius:var(--radius-pill);font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1;white-space:nowrap}
.bbq-badge--flame{background:var(--flame-500);color:#FFFDF8}
.bbq-badge--dark{background:var(--brown-700);color:var(--cream-300)}
.bbq-badge--low{background:#FBF0D8;color:#7A5410}
.bbq-badge--out{background:var(--brown-100);color:var(--brown-600)}

/* ---------- shop header -------------------------------------------------- */
.bbq-shophead{padding:clamp(28px,4vw,52px) 0 clamp(20px,2.5vw,32px)}
.bbq-shophead__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.1rem,5.5vw,4rem);line-height:.96;letter-spacing:-.02em;text-transform:uppercase;color:var(--brown-700);margin:14px 0 0}
.bbq-shophead__intro{max-width:60ch;margin-top:16px;color:var(--ink-700);line-height:1.65}
.bbq-crumbs{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);margin:0}
.bbq-crumb-sep{padding:0 8px;opacity:.5}

.bbq-cats{display:flex;flex-wrap:wrap;gap:9px;margin-top:clamp(20px,2.4vw,30px)}
.bbq-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:1.5px solid rgba(43,30,23,.14);border-radius:var(--radius-pill);background:transparent;color:var(--brown-700)!important;font-weight:700;font-size:.76rem;text-decoration:none;transition:all .18s var(--ease-std)}
.bbq-chip:hover{background:var(--brown-100)}
.bbq-chip.is-on{background:var(--brown-700);border-color:var(--brown-700);color:var(--cream-200)!important}
.bbq-chip__n{font-size:.62rem;opacity:.6;font-weight:800}

/* sort + count row */
.woocommerce .woocommerce-result-count{color:var(--ink-500);font-size:.84rem;margin:0 0 18px}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select{min-height:46px;padding:0 40px 0 16px;border:1.5px solid rgba(43,30,23,.14);border-radius:var(--radius-md);background:var(--cream-100);font-family:var(--font-body);font-size:.86rem;color:var(--ink-900)}

/* ---------- product grid ------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(var(--bbq-cols,3),minmax(0,1fr));gap:clamp(16px,2vw,26px);margin:0 0 clamp(32px,4vw,56px);padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}
@media(max-width:900px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr}}

.bbq-card{position:relative;display:flex!important;flex-direction:column;background:var(--cream-100);border:1px solid rgba(43,30,23,.12);border-radius:22px;overflow:hidden;transition:transform .35s var(--ease-out),box-shadow .35s}
.bbq-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(43,30,23,.16)}
.bbq-card__media{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--cream-400)}
.bbq-card__media img{width:100%;height:100%;object-fit:cover;margin:0;transition:transform .55s var(--ease-out)}
.bbq-card:hover .bbq-card__media img{transform:scale(1.05)}
/* the whole card is one WooCommerce link; keep it filling the media box */
.bbq-card__media a,.bbq-card__media .woocommerce-LoopProduct-link{display:block;height:100%}
.bbq-card__body{display:flex;flex-direction:column;gap:7px;padding:20px 22px 22px;flex:1}
.bbq-card__cat{font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--flame-600)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-display);font-weight:700;font-size:1.12rem;line-height:1.25;color:var(--brown-700);padding:0;margin:0}
.woocommerce ul.products li.product .price{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--brown-700);margin:0}
.woocommerce ul.products li.product .price del{opacity:.5;font-size:.85em;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--flame-600)}
.bbq-card__foot{margin-top:auto;padding-top:16px}
.woocommerce ul.products li.product .button{min-height:44px;padding:0 20px;font-size:.68rem;margin:0}
/* star ratings */
.woocommerce .star-rating{color:var(--flame-500);font-size:.9em;margin:2px 0}

/* ---------- product page ------------------------------------------------- */
.bbq-pdp{padding-block:clamp(20px,3vw,40px)}
.bbq-pdp__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,64px);align-items:start}
@media(max-width:980px){.bbq-pdp__grid{grid-template-columns:1fr;gap:28px}}

.bbq-pdp__media{position:relative;position:sticky;top:clamp(16px,4vw,96px)}
@media(max-width:980px){.bbq-pdp__media{position:static}}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product div.images img{border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;margin:0;float:none}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:var(--radius-md);opacity:.62;transition:opacity .2s}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1}

.bbq-pdp__card{background:var(--cream-100);border:1px solid rgba(43,30,23,.12);border-radius:var(--radius-xl);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-sm)}
.bbq-pdp__eyebrow{font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--flame-600);margin:18px 0 10px}
.bbq-pdp__title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1;letter-spacing:-.02em;color:var(--brown-700);margin:0 0 14px}
.bbq-pdp .bbq-crumbs{margin-bottom:4px}

.woocommerce div.product p.price,
.woocommerce div.product span.price{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--brown-700);margin:6px 0 18px;line-height:1.1}
.woocommerce div.product p.price del{opacity:.45;font-size:.6em;font-weight:400}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--flame-600)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-700);line-height:1.65;margin-bottom:24px}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:10px}

/* stock line */
.woocommerce div.product .stock{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.woocommerce div.product .stock.in-stock{color:var(--success-500)}
.woocommerce div.product .stock.out-of-stock{color:var(--danger-500)}

/* quantity + add to cart */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 0}
.woocommerce div.product form.cart .quantity{display:flex;align-items:center;gap:2px;background:var(--cream-400);border-radius:var(--radius-pill);padding:5px}
.woocommerce .quantity input.qty{width:52px;height:42px;border:0;background:transparent;text-align:center;font-family:var(--font-body);font-weight:700;font-size:.95rem;color:var(--brown-700);-moz-appearance:textfield}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bbq-qty-btn{width:38px;height:38px;display:grid;place-items:center;border:1.5px solid rgba(43,30,23,.18);border-radius:50%;background:var(--cream-100);color:var(--brown-700);font-size:1rem;font-weight:700;line-height:1;cursor:pointer;transition:all .16s var(--ease-std)}
.bbq-qty-btn:hover{background:var(--brown-700);border-color:var(--brown-700);color:var(--cream-200)}
.woocommerce div.product form.cart .button{flex:1 1 200px}

/* variations */
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:6px;border-collapse:separate;border-spacing:0 12px}
.woocommerce div.product form.cart .variations th{text-align:left;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);padding-right:14px;vertical-align:middle}
.woocommerce div.product form.cart .variations select{min-height:48px;padding:0 40px 0 14px;border:1.5px solid rgba(43,30,23,.14);border-radius:var(--radius-md);background:var(--cream-100);font-family:var(--font-body);font-size:.9rem;width:100%}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:10px}
.woocommerce div.product form.cart .reset_variations{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

/* promise rows */
.bbq-promise{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid rgba(43,30,23,.12);display:grid;gap:11px}
.bbq-promise li{position:relative;padding-left:26px;font-size:.86rem;color:var(--ink-700);line-height:1.45}
.bbq-promise li::before{content:"";position:absolute;left:0;top:.42em;width:12px;height:7px;border-left:2px solid var(--flame-500);border-bottom:2px solid var(--flame-500);transform:rotate(-45deg)}

/* meta */
.woocommerce div.product .product_meta{margin-top:22px;padding-top:18px;border-top:1px solid rgba(43,30,23,.12);font-size:.8rem;color:var(--ink-500);display:grid;gap:7px}
.woocommerce div.product .product_meta>span{display:block}

/* ---------- tabs -------------------------------------------------------- */
.woocommerce div.product .woocommerce-tabs{margin-top:clamp(40px,5vw,80px)}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:clamp(16px,2.5vw,34px);padding:0;margin:0 0 26px;border-bottom:1px solid rgba(43,30,23,.12)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:0 0 13px;font-family:var(--font-body);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500)!important;box-shadow:inset 0 -3px 0 transparent;transition:color .18s,box-shadow .18s}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--brown-700)!important;box-shadow:inset 0 -3px 0 var(--flame-500)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:74ch;line-height:1.7;color:var(--ink-700);margin:0}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--brown-700);margin:0 0 14px}
.woocommerce table.shop_attributes th{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500)}
.woocommerce table.shop_attributes td{font-style:normal;color:var(--ink-900)}

/* related / upsells */
.woocommerce .related>h2,.woocommerce .upsells>h2,.woocommerce section.related>h2{font-family:var(--font-display);font-weight:900;font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;letter-spacing:-.02em;color:var(--brown-700);margin:clamp(40px,5vw,72px) 0 24px}

/* ---------- notices ----------------------------------------------------- */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error{border-top:0;border-radius:var(--radius-md);background:var(--brown-700);color:var(--cream-200);padding:16px 20px;font-size:.88rem;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before{display:none}
.woocommerce .woocommerce-message .button,.woocommerce .woocommerce-info .button{min-height:40px;padding:0 18px;font-size:.66rem;margin-left:auto}
.woocommerce .woocommerce-error{background:var(--danger-500)}

/* ---------- mobile sticky add-to-cart ----------------------------------- */
.bbq-sticky{position:fixed;left:0;right:0;bottom:0;z-index:95;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(43,30,23,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(247,241,230,.14);transform:translateY(110%);transition:transform .4s var(--ease-out)}
.bbq-sticky.is-in{transform:none}
.bbq-sticky__in{display:flex;align-items:center;gap:14px;max-width:640px;margin:0 auto}
.bbq-sticky__meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.bbq-sticky__name{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brown-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bbq-sticky__price{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--cream-100);line-height:1.1}
.bbq-sticky__price del{display:none}
.bbq-sticky__in .bbq-btn{margin-left:auto;flex:none;min-height:46px;padding:0 24px;font-size:.7rem}
@media(min-width:981px){.bbq-sticky{display:none!important}}

@media(prefers-reduced-motion:reduce){
  .bbq-card,.bbq-card__media img,.bbq-sticky,.bbq-btn,.woocommerce .button{transition:none!important}
  .bbq-card:hover{transform:none}
  .bbq-card:hover .bbq-card__media img{transform:none}
}

/* full-theme additions */
.bbq-shop .wrap{padding-bottom:clamp(56px,7vw,96px)}
.nav-solid-always .bbq-pdp__media{top:calc(var(--nav-h-compact) + 24px)}
.admin-bar.nav-solid-always .bbq-pdp__media{top:calc(var(--nav-h-compact) + 56px)}
