/* ==========================================================================
   TALLAH LUXE — WooCommerce layer
   Built entirely on WooCommerce's own markup + hooks, so it survives updates.
   ========================================================================== */

.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  list-style:none;background:var(--cream);border-inline-start:2px solid var(--gold);
  padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:var(--fs-sm);border-radius:var(--radius);
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.woocommerce-error{border-inline-start-color:var(--sale);background:#FBEEEE}
.woocommerce-message .button,.woocommerce-info .button{margin-inline-start:auto}

/* ---------- Shop toolbar ---------- */
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-block:1.25rem;border-bottom:1px solid var(--line);margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.shop-toolbar__left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.woocommerce-result-count{font-size:var(--fs-sm);color:var(--muted);margin:0}
.woocommerce-ordering select,.shop-filter select{
  appearance:none;background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  padding:.7rem 2.4rem .7rem 1rem;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;
  color:var(--plum);cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%233E2233' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center}
body.rtl .woocommerce-ordering select{background-position:left 1rem center;padding:.7rem 1rem .7rem 2.4rem}
.woocommerce-ordering select:hover{border-color:var(--gold)}
.view-toggle{display:flex;gap:.25rem}
.view-toggle button{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;
  border-radius:var(--radius);transition:all var(--t)}
.view-toggle button.is-active,.view-toggle button:hover{background:var(--plum);color:#fff;border-color:var(--plum)}

/* Category chips row */
.cat-chips{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}
.cat-chips a{white-space:nowrap;padding:.62rem 1.15rem;border:1px solid var(--line);border-radius:99px;
  font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--plum);transition:all var(--t)}
.cat-chips a:hover,.cat-chips a.is-active{background:var(--plum);color:#fff;border-color:var(--plum)}

/* ---------- Product grid ---------- */
.woocommerce ul.products,ul.products{display:grid;gap:clamp(1rem,2vw,2rem);margin:0;padding:0;list-style:none}
.columns-2 ul.products,ul.products.columns-2{grid-template-columns:repeat(2,1fr)}
.columns-3 ul.products,ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
.columns-4 ul.products,ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
.columns-5 ul.products,ul.products.columns-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1024px){ul.products.columns-4,ul.products.columns-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:420px){ul.products{grid-template-columns:1fr!important}}

ul.products li.product{position:relative;display:flex;flex-direction:column;margin:0;text-align:start;
  list-style:none}
.tl-card__media{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--cream);
  aspect-ratio:4/5;margin-bottom:1rem}
.tl-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.05s var(--e-out),opacity .6s var(--e-out)}
.tl-card__media .tl-card__img--alt{opacity:0}
li.product:hover .tl-card__media .tl-card__img--main{opacity:0;transform:scale(1.05)}
li.product:hover .tl-card__media .tl-card__img--alt{opacity:1;transform:scale(1.05)}
li.product:hover .tl-card__media:not(:has(.tl-card__img--alt)) img{transform:scale(1.07)}

.tl-card__badges{position:absolute;z-index:3;top:.85rem;inset-inline-start:.85rem;
  display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}
.tl-card__badges .badge{position:static}

.tl-card__quick{position:absolute;z-index:3;inset-inline:.75rem;bottom:.75rem;display:flex;gap:.4rem;
  opacity:0;transform:translateY(14px);transition:opacity .45s var(--e-out),transform .45s var(--e-out)}
li.product:hover .tl-card__quick,li.product:focus-within .tl-card__quick{opacity:1;transform:none}
@media(hover:none){.tl-card__quick{opacity:1;transform:none}}
.tl-card__quick .btn{flex:1;background:rgba(255,255,255,.96);color:var(--plum);border-color:transparent;
  backdrop-filter:blur(6px);padding:.85rem .8rem;font-size:10px}
.tl-card__quick .btn::before{background:var(--plum)}
.tl-card__quick .btn:hover{color:#fff}

.tl-card__wish{position:absolute;z-index:3;top:.75rem;inset-inline-end:.75rem;width:38px;height:38px;
  border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--plum);
  opacity:0;transform:scale(.7);transition:all .4s var(--e-spring)}
li.product:hover .tl-card__wish{opacity:1;transform:none}
.tl-card__wish:hover{background:var(--plum);color:#fff}
.tl-card__wish.is-on{opacity:1;transform:none;color:var(--sale)}
.tl-card__wish svg{width:17px;height:17px}
@media(hover:none){.tl-card__wish{opacity:1;transform:none}}

.tl-card__cat{font-size:10px;letter-spacing:var(--tracking-xwide);text-transform:uppercase;
  color:var(--gold);margin-bottom:.4rem;display:block}
ul.products li.product .woocommerce-loop-product__title,.tl-card__title{
  font-family:var(--font-display);font-size:1.22rem;font-weight:400;line-height:1.28;color:var(--plum);
  padding:0;margin:0 0 .45rem;transition:color var(--t)}
li.product:hover .woocommerce-loop-product__title{color:var(--gold)}
.tl-card__rating{display:flex;align-items:center;gap:.4rem;margin-bottom:.45rem;font-size:var(--fs-xs);color:var(--muted)}
.tl-card__rating .stars svg{width:13px;height:13px}
ul.products li.product .price{display:flex;align-items:baseline;gap:.6rem;color:var(--plum);
  font-size:1rem;font-weight:500;margin:0}
ul.products li.product .price del{color:var(--muted);opacity:.7;font-weight:350;font-size:.9em}
ul.products li.product .price ins{text-decoration:none;color:var(--sale);font-weight:500}
.tl-card__swatches{display:flex;gap:.35rem;margin-top:.6rem}
.tl-swatch{width:16px;height:16px;border-radius:50%;border:1px solid var(--line);
  transition:transform .3s var(--e-spring)}
.tl-swatch:hover{transform:scale(1.25)}

/* Loop add-to-cart button (WooCommerce default anchor) */
ul.products li.product .button,ul.products li.product .added_to_cart{display:none}
.tl-card__quick .added_to_cart{display:none!important}
li.product.loading .tl-card__media::before{content:"";position:absolute;inset:0;z-index:4;
  background:rgba(255,255,255,.6)}
li.product.loading .tl-card__media::after{content:"";position:absolute;z-index:5;top:50%;left:50%;
  width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid var(--sand);border-top-color:var(--gold);
  border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Single product ---------- */
.single-product .product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.5rem,4vw,4.5rem);align-items:flex-start}
@media(max-width:960px){.single-product .product{grid-template-columns:1fr}}
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery__wrapper{border-radius:var(--radius-lg);overflow:hidden}
.woocommerce-product-gallery img{border-radius:var(--radius-lg)}
.woocommerce-product-gallery__trigger{position:absolute;z-index:5;top:1rem;inset-inline-end:1rem;
  width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;
  box-shadow:var(--shadow-sm);font-size:0;transition:transform .35s var(--e-spring)}
.woocommerce-product-gallery__trigger::after{content:"⌕";font-size:20px;color:var(--plum)}
.woocommerce-product-gallery__trigger:hover{transform:scale(1.1)}
.flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.6rem;padding:0;list-style:none}
.flex-control-thumbs li{margin:0}
.flex-control-thumbs img{border-radius:var(--radius);cursor:pointer;opacity:.55;transition:opacity .3s,transform .3s}
.flex-control-thumbs img:hover,.flex-control-thumbs img.flex-active{opacity:1;transform:translateY(-2px)}

.summary.entry-summary{display:flex;flex-direction:column;gap:.9rem;position:sticky;top:calc(var(--header-h) + 24px)}
@media(max-width:960px){.summary.entry-summary{position:static}}
.product_title.entry-title{font-size:clamp(1.9rem,3vw,2.9rem);line-height:1.12}
.single-product .summary .price{font-size:1.6rem;color:var(--plum);display:flex;align-items:baseline;gap:.75rem;margin:0}
.single-product .summary .price del{color:var(--muted);font-size:.68em;opacity:.75}
.single-product .summary .price ins{text-decoration:none;color:var(--sale)}
.woocommerce-product-rating{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-sm);color:var(--muted);margin:0}
.woocommerce-product-details__short-description{color:var(--muted);line-height:1.85}
.tl-meta-row{display:flex;flex-wrap:wrap;gap:1rem 1.75rem;padding-block:1rem;border-block:1px solid var(--line);
  font-size:var(--fs-sm);color:var(--muted)}
.tl-meta-row strong{color:var(--plum);font-weight:500}
.tl-usp{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}
.tl-usp li{display:flex;align-items:center;gap:.65rem;font-size:var(--fs-sm);color:var(--muted)}
.tl-usp svg{width:17px;height:17px;color:var(--gold);flex:none}

/* Quantity + add to cart */
form.cart{display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch;margin:.5rem 0}
.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.quantity .qty{width:56px;text-align:center;border:0;background:transparent;padding:1rem .25rem;
  -moz-appearance:textfield;font-variant-numeric:tabular-nums}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:42px;align-self:stretch;display:grid;place-items:center;color:var(--plum);
  transition:background var(--t)}
.qty-btn:hover{background:var(--cream)}
.single_add_to_cart_button{flex:1;min-width:200px;
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1.05rem 2.2rem;border:1px solid var(--plum);background:var(--plum);color:#fff;
  font-size:var(--fs-xs);font-weight:500;letter-spacing:var(--tracking-wide);text-transform:uppercase;
  border-radius:var(--radius);cursor:pointer;position:relative;overflow:hidden;isolation:isolate;
  transition:color var(--t),border-color var(--t),transform var(--t),box-shadow var(--t)}
.single_add_to_cart_button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gold);
  transform:translateY(101%);transition:transform .5s var(--e-out)}
.single_add_to_cart_button:hover::before{transform:translateY(0)}
.single_add_to_cart_button:hover{border-color:var(--gold);transform:translateY(-2px)}
.tl-buy-row{display:flex;gap:.75rem;flex-wrap:wrap}
.tl-wa-buy{flex:1;min-width:200px}

/* Variations */
.variations{width:100%;border:0}
.variations tr{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem}
.variations th,.variations td{padding:0;border:0;text-align:start;display:block}
.variations label{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.variations select{width:100%;appearance:none;border:1px solid var(--line);border-radius:var(--radius);
  padding:.95rem 2.5rem .95rem 1rem;background:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%233E2233' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center}
.reset_variations{font-size:var(--fs-xs);color:var(--muted);text-decoration:underline}
.woocommerce-variation-price{margin-bottom:.75rem}

/* Sticky mobile/desktop add-to-cart bar */
.sticky-atc{position:fixed;inset-inline:0;bottom:0;z-index:44;background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -8px 30px -18px rgba(62,34,51,.35);
  transform:translateY(100%);transition:transform .5s var(--e-out)}
.sticky-atc.is-visible{transform:none}
.sticky-atc__inner{max-width:var(--maxw);margin-inline:auto;padding:.75rem var(--gutter);
  display:flex;align-items:center;gap:1rem}
.sticky-atc img{width:52px;height:64px;object-fit:cover;border-radius:var(--radius)}
.sticky-atc__info{flex:1;min-width:0}
.sticky-atc__info strong{display:block;font-family:var(--font-display);font-size:1.05rem;color:var(--plum);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-atc__info span{font-size:var(--fs-sm);color:var(--gold)}
@media(max-width:640px){.sticky-atc img{display:none}}

/* Tabs */
.woocommerce-tabs{margin-top:clamp(3rem,6vw,5rem);grid-column:1/-1}
.wc-tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:2rem;padding:0}
.wc-tabs li{margin:0}
.wc-tabs li a{display:block;padding:1rem 1.4rem;font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);
  text-transform:uppercase;color:var(--muted);position:relative;transition:color var(--t)}
.wc-tabs li a::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--gold);
  transform:scaleX(0);transition:transform .4s var(--e-out)}
.wc-tabs li.active a,.wc-tabs li a:hover{color:var(--plum)}
.wc-tabs li.active a::after{transform:scaleX(1)}
.woocommerce-Tabs-panel{max-width:var(--maxw-narrow);animation:tabin .5s var(--e-out)}
@keyframes tabin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.woocommerce-Tabs-panel h2{font-size:var(--fs-h3);margin-bottom:1rem}
.shop_attributes th{width:200px;color:var(--plum);font-weight:500;text-align:start}
.shop_attributes th,.shop_attributes td{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.shop_attributes p{margin:0}

/* Reviews */
.woocommerce-Reviews .commentlist{display:flex;flex-direction:column;gap:1.5rem}
.woocommerce-Reviews .comment_container{display:flex;gap:1rem;background:var(--cream);
  padding:1.5rem;border-radius:var(--radius-lg)}
.woocommerce-Reviews img.avatar{width:48px;height:48px;border-radius:50%;flex:none}
.comment-form-rating .stars a{color:var(--gold)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.wpcf7 input,.wpcf7 textarea{
  width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);
  padding:.95rem 1.1rem;transition:border-color var(--t),box-shadow var(--t)}
.comment-form input:focus,.comment-form textarea:focus,
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}

/* Upsells / related */
.related.products,.upsells.products,.cross-sells{margin-top:clamp(3rem,6vw,5.5rem);grid-column:1/-1}
.related.products>h2,.upsells.products>h2,.cross-sells>h2{
  font-size:var(--fs-h3);margin-bottom:1.75rem;display:flex;align-items:center;gap:1rem}
.related.products>h2::after,.upsells.products>h2::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- Cart ---------- */
.woocommerce-cart-form__contents{width:100%}
.woocommerce-cart-form__contents th{font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);
  text-transform:uppercase;color:var(--muted);font-weight:500;padding:1rem .75rem;
  border-bottom:1px solid var(--line);text-align:start}
.woocommerce-cart-form__contents td{padding:1.25rem .75rem;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce-cart-form__contents .product-thumbnail img{width:88px;border-radius:var(--radius)}
.product-remove a{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--cream);color:var(--plum);font-size:16px;transition:all var(--t)}
.product-remove a:hover{background:var(--sale);color:#fff;transform:rotate(90deg)}
.cart-collaterals{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2.5rem}
.cart_totals{background:var(--cream);padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--radius-lg)}
.cart_totals h2{font-size:var(--fs-h3);margin-bottom:1.25rem}
.cart_totals table th,.cart_totals table td{padding:.85rem 0;border-bottom:1px solid var(--line);text-align:start}
.cart_totals .order-total td{font-size:1.25rem;color:var(--plum);border-bottom:0}
.wc-proceed-to-checkout{margin-top:1.5rem}
.coupon{display:flex;gap:.5rem;flex-wrap:wrap}
.coupon input{flex:1;min-width:160px}

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:1.5rem}
form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(1.5rem,4vw,3.5rem);align-items:flex-start}
@media(max-width:900px){form.checkout{grid-template-columns:1fr}}
#order_review_heading,#order_review{grid-column:2}
@media(max-width:900px){#order_review_heading,#order_review{grid-column:1}}
#order_review{background:var(--cream);padding:clamp(1.25rem,2.5vw,2rem);border-radius:var(--radius-lg);
  position:sticky;top:calc(var(--header-h) + 20px)}
.woocommerce-checkout h3{font-size:var(--fs-h3);margin-bottom:1.25rem}
.woocommerce form .form-row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;padding:0}
.woocommerce form .form-row label{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  padding:.75rem 0;border-bottom:1px solid var(--line);text-align:start;font-size:var(--fs-sm)}
.wc_payment_methods li{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:.6rem;
  background:var(--white);transition:border-color var(--t)}
.wc_payment_methods li:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}
.payment_box{font-size:var(--fs-sm);color:var(--muted);margin-top:.6rem}
#place_order{width:100%;padding:1.15rem;background:var(--plum);color:#fff;border:1px solid var(--plum);
  font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;
  border-radius:var(--radius);cursor:pointer;transition:background var(--t),transform var(--t)}
#place_order:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}

/* Checkout progress steps */
.checkout-steps{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;
  margin-bottom:clamp(2rem,4vw,3rem)}
.checkout-steps li{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-xs);
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.checkout-steps li::after{content:"";width:clamp(24px,5vw,60px);height:1px;background:var(--line)}
.checkout-steps li:last-child::after{display:none}
.checkout-steps li b{width:26px;height:26px;border-radius:50%;background:var(--cream);color:var(--muted);
  display:grid;place-items:center;font-size:11px}
.checkout-steps li.is-active{color:var(--plum)}
.checkout-steps li.is-active b{background:var(--plum);color:#fff}
.checkout-steps li.is-done b{background:var(--gold);color:#fff}

/* Mini cart items */
.tl-mini-item{display:flex;gap:1rem;padding-block:1rem;border-bottom:1px solid var(--line)}
.tl-mini-item img{width:74px;height:92px;object-fit:cover;border-radius:var(--radius);flex:none}
.tl-mini-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}
.tl-mini-item__title{font-family:var(--font-display);font-size:1.05rem;color:var(--plum);line-height:1.25}
.tl-mini-item__meta{font-size:var(--fs-xs);color:var(--muted)}
.tl-mini-item__remove{align-self:flex-start;font-size:var(--fs-xs);color:var(--muted);text-decoration:underline}
.tl-mini-item__remove:hover{color:var(--sale)}
.cart-empty-state{text-align:center;padding:3rem 0;color:var(--muted)}
.cart-empty-state svg{width:52px;height:52px;color:var(--sand);margin-inline:auto;margin-bottom:1rem}

/* Account */
.woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2rem}
.woocommerce-MyAccount-navigation li a{display:block;padding:.75rem 1.15rem;border:1px solid var(--line);
  border-radius:99px;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;transition:all var(--t)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{
  background:var(--plum);color:#fff;border-color:var(--plum)}

/* Pagination */
.woocommerce-pagination ul,.pagination{display:flex;justify-content:center;gap:.4rem;
  margin-top:clamp(2.5rem,5vw,4rem);border:0;padding:0}
.woocommerce-pagination li{border:0}
.woocommerce-pagination a,.woocommerce-pagination span,.page-numbers{
  min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);
  border-radius:var(--radius);font-size:var(--fs-sm);transition:all var(--t)}
.woocommerce-pagination .current,.page-numbers.current,.woocommerce-pagination a:hover{
  background:var(--plum);color:#fff;border-color:var(--plum)}

/* Filters sidebar */
.shop-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:flex-start}
@media(max-width:1024px){.shop-layout{grid-template-columns:1fr}.shop-sidebar{display:none}
  .shop-sidebar.is-open{display:block;position:fixed;inset:0;z-index:76;background:var(--white);
    overflow:auto;padding:calc(var(--header-h) + 1rem) var(--gutter) 2rem}}
.shop-sidebar .widget{padding-block:1.25rem;border-bottom:1px solid var(--line)}
.shop-sidebar .widget-title,.shop-sidebar h2{font-family:var(--font-body);font-size:var(--fs-xs);
  letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--plum);font-weight:600;margin-bottom:.85rem}
.shop-sidebar ul li{padding:.32rem 0;font-size:var(--fs-sm);color:var(--muted)}
.shop-sidebar ul li a:hover{color:var(--gold)}
.filter-toggle{display:none}
@media(max-width:1024px){.filter-toggle{display:inline-flex}}

/* Onsale ribbon default kill (we use our own badges) */
span.onsale{display:none}

/* ==========================================================================
   BUILT-IN CATALOGUE (no WooCommerce required)
   ========================================================================== */
.badge--order{background:var(--gold-soft);color:var(--plum)}
.price--ask{color:var(--muted);font-style:italic}

/* Product detail page */
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.5rem,4vw,4rem);align-items:flex-start;margin-top:clamp(1rem,3vw,2rem)}
@media(max-width:960px){.pdp{grid-template-columns:1fr}}
.pdp__gallery img{border-radius:var(--radius-lg);width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--cream)}
.pdp__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.6rem}
.pdp__thumbs img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);opacity:.55;cursor:pointer;
  transition:opacity .3s,transform .3s var(--e-out)}
.pdp__thumbs img:hover,.pdp__thumbs img.is-active{opacity:1;transform:translateY(-2px)}
.pdp__summary{display:flex;flex-direction:column;gap:.9rem;position:sticky;top:calc(var(--header-h) + 24px)}
@media(max-width:960px){.pdp__summary{position:static}}
.pdp__summary .product_title{font-size:clamp(1.9rem,3vw,2.9rem);line-height:1.12}
.pdp__price{font-size:1.55rem;color:var(--plum);font-variant-numeric:tabular-nums}
.pdp__price .price{display:flex;align-items:baseline;gap:.75rem;font-size:inherit}
.pdp__price del{color:var(--muted);font-size:.68em;opacity:.75}
.pdp__price ins{text-decoration:none;color:var(--sale)}
.pdp__short{color:var(--muted);line-height:1.85}
.pdp__short p{margin:0}

/* Ordering buttons */
.tl-order{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}
.tl-order .btn{flex:1 1 190px;justify-content:center}
.tl-order .btn svg{width:18px;height:18px;flex:none}
.btn--wa{--btn-bg:#25D366;--btn-fg:#fff;--btn-bd:#25D366}
.btn--wa::before{background:#1da851}
.btn--wa:hover{border-color:#1da851}
.tl-order-note{font-size:var(--fs-sm);color:var(--muted);margin-top:.25rem;line-height:1.7}

/* Card quick-actions in catalogue mode */
.tl-card__quick .btn.sq{flex:0 0 auto;padding:.85rem .9rem}
.tl-card__quick .btn.sq svg{width:16px;height:16px}

/* Tabs (shared with the WooCommerce layout) */
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1.75rem;padding:0}
.tabs button{padding:1rem 1.4rem;font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);
  text-transform:uppercase;color:var(--plum);position:relative}
.tabs button::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--gold);
  transform:scaleX(0);transition:transform .4s var(--e-out)}
.tabs button.is-active::after{transform:scaleX(1)}
.tabpanel{max-width:var(--maxw-narrow)}

/* Related heading */
.related.products>h2{font-size:var(--fs-h3);margin-bottom:1.75rem;display:flex;align-items:center;gap:1rem}
.related.products>h2::after{content:"";flex:1;height:1px;background:var(--line)}

/* Result count in the catalogue toolbar */
.shop-filter{margin-inline-start:auto}
