/* ==========================================================================
   Be Queen — base, layout, components
   Mobile-first. RTL-native (logical properties throughout).
   ========================================================================== */

/* --- Reset ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bq-bg);color:var(--bq-ink);
  font-family:var(--bq-font-ui);font-size:var(--bq-fs-base);line-height:var(--bq-lh-body);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img,picture,video,svg{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--bq-accent-hover);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--bq-ink)}
h1,h2,h3,h4{margin:0 0 var(--bq-3);line-height:var(--bq-lh-tight);font-weight:700}
p{margin:0 0 var(--bq-4)}
ul,ol{margin:0 0 var(--bq-4);padding-inline-start:1.25em}

/* --- Accessibility -------------------------------------------------------- */
:focus-visible{outline:var(--bq-focus);outline-offset:2px;border-radius:4px}
:focus:not(:focus-visible){outline:none}
.bq-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bq-skip{position:absolute;inset-inline-start:-9999px;top:0;z-index:999;background:var(--bq-ink);color:#fff;padding:var(--bq-3) var(--bq-5);border-radius:0 0 var(--bq-r-cta) var(--bq-r-cta)}
.bq-skip:focus{inset-inline-start:0;color:#fff}

/* --- Layout --------------------------------------------------------------- */
.bq-container{width:100%;max-width:var(--bq-max);margin-inline:auto;padding-inline:var(--bq-gutter)}
.bq-main{padding-block:var(--bq-5) calc(var(--bq-tabbar-h) + var(--bq-8))}
@media (min-width:1024px){.bq-main{padding-block-end:var(--bq-12)}}
.bq-stack>*+*{margin-block-start:var(--bq-4)}
.bq-section{margin-block:var(--bq-8)}
.bq-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--bq-3);margin-block-end:var(--bq-4)}

/* Gradient section headings — with solid fallback for forced-colours */
.bq-heading{font-family:var(--bq-font-display);font-size:var(--bq-fs-xl);color:var(--bq-bronze);margin:0}
@supports (background-clip:text) or (-webkit-background-clip:text){
  @media (forced-colors:none){
    .bq-heading{background:var(--bq-grad-heading);-webkit-background-clip:text;background-clip:text;color:transparent}
  }
}
@media (forced-colors:active){.bq-heading{color:CanvasText;background:none}}
.bq-eyebrow{font-family:var(--bq-font-eyebrow);font-size:var(--bq-fs-sm);color:var(--bq-muted);letter-spacing:.02em}
.bq-link-all{font-size:var(--bq-fs-sm);color:var(--bq-accent-hover);white-space:nowrap}

/* --- Brand mark ----------------------------------------------------------- */
.bq-brand{display:inline-flex;align-items:center;gap:var(--bq-2);text-decoration:none;color:var(--bq-ink)}
.bq-brand__mark{inline-size:26px;block-size:26px;flex:none;color:var(--bq-accent-decor)}
.bq-brand__word{font-family:var(--bq-font-latin);font-style:italic;font-weight:600;font-size:var(--bq-fs-lg);line-height:1}

/* --- Header --------------------------------------------------------------- */
.bq-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bq-bg) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-block-end:1px solid rgba(74,44,42,.07)}
.bq-header__bar{min-block-size:var(--bq-header-h);display:flex;align-items:center;gap:var(--bq-3)}
.bq-header__actions{margin-inline-start:auto;display:flex;align-items:center;gap:var(--bq-1)}
.bq-iconbtn{display:inline-flex;align-items:center;justify-content:center;
  min-inline-size:44px;min-block-size:44px;border:0;background:transparent;color:var(--bq-ink);
  border-radius:var(--bq-r-chip);cursor:pointer;position:relative}
.bq-iconbtn:hover{background:rgba(74,44,42,.06)}
.bq-iconbtn svg{inline-size:22px;block-size:22px}
.bq-badge{position:absolute;inset-block-start:4px;inset-inline-end:2px;min-inline-size:18px;block-size:18px;
  padding-inline:5px;border-radius:var(--bq-r-chip);background:var(--bq-accent);color:#fff;
  font-size:11px;font-weight:700;line-height:18px;text-align:center}
.bq-nav{display:none}
@media (min-width:1024px){
  .bq-nav{display:block;margin-inline-start:var(--bq-6)}
  .bq-nav ul{display:flex;gap:var(--bq-5);list-style:none;margin:0;padding:0}
  .bq-nav a{color:var(--bq-ink);text-decoration:none;font-weight:500;padding-block:var(--bq-2)}
  .bq-nav a:hover,.bq-nav .current-menu-item>a{color:var(--bq-accent-hover);text-decoration:underline}
}

/* --- Bottom tab bar (mobile) --------------------------------------------- */
.bq-tabbar{position:fixed;inset-inline:0;inset-block-end:0;z-index:60;background:var(--bq-ink);
  padding-block:var(--bq-1);padding-block-end:max(var(--bq-1),env(safe-area-inset-bottom));
  display:grid;grid-template-columns:repeat(4,1fr)}
.bq-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  min-block-size:56px;color:#F3E4DC;text-decoration:none;font-size:var(--bq-fs-xs);position:relative}
.bq-tabbar a[aria-current="page"]{color:#F0C7CD}
.bq-tabbar svg{inline-size:22px;block-size:22px}
@media (min-width:1024px){.bq-tabbar{display:none}}

/* --- Buttons -------------------------------------------------------------- */
.bq-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.wp-element-button{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--bq-2);
  min-block-size:48px;padding:12px 22px;border:1px solid transparent;border-radius:var(--bq-r-cta);
  background:var(--bq-accent);color:#fff;font-family:var(--bq-font-ui);font-weight:700;font-size:var(--bq-fs-base);
  line-height:1.2;text-decoration:none;cursor:pointer;transition:background .18s ease,transform .18s ease}
.bq-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--bq-accent-hover);color:#fff}
.bq-btn:active{transform:translateY(1px)}
.bq-btn[disabled],.bq-btn.is-disabled{background:#CBB4B1;color:#fff;cursor:not-allowed}
.bq-btn--block{inline-size:100%}
.bq-btn--ghost{background:transparent;color:var(--bq-accent-hover);border-color:var(--bq-accent-decor)}
.bq-btn--ghost:hover{background:rgba(183,110,121,.10);color:var(--bq-ink)}
.bq-btn--ink{background:var(--bq-ink)}
.bq-btn--ink:hover{background:#3a221f}
.bq-btn--lg{min-block-size:54px;font-size:var(--bq-fs-lg)}

/* Sticky mobile CTA */
.bq-sticky-cta{position:fixed;inset-inline:0;inset-block-end:var(--bq-tabbar-h);z-index:55;
  background:var(--bq-surface);border-block-start:1px solid rgba(74,44,42,.08);
  padding:var(--bq-3) var(--bq-gutter);padding-block-end:max(var(--bq-3),env(safe-area-inset-bottom));
  box-shadow:0 -6px 18px rgba(0,0,0,.05)}
@media (min-width:1024px){.bq-sticky-cta{position:static;box-shadow:none;border:0;background:transparent;padding-inline:0}}

/* --- Chips / pills -------------------------------------------------------- */
.bq-chips{display:flex;gap:var(--bq-2);overflow-x:auto;padding-block-end:var(--bq-2);
  scrollbar-width:none;-ms-overflow-style:none}
.bq-chips::-webkit-scrollbar{display:none}
.bq-chip{display:inline-flex;align-items:center;min-block-size:40px;padding:8px 16px;white-space:nowrap;
  border-radius:var(--bq-r-chip);border:1px solid rgba(74,44,42,.14);background:var(--bq-surface);
  color:var(--bq-ink);text-decoration:none;font-size:var(--bq-fs-sm);font-weight:500}
.bq-chip:hover{border-color:var(--bq-accent-decor);color:var(--bq-ink)}
.bq-chip[aria-pressed="true"],.bq-chip.is-active{background:var(--bq-accent);border-color:var(--bq-accent);color:#fff}

/* --- Cards ---------------------------------------------------------------- */
.bq-card{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-4)}
.bq-card--flush{padding:0;overflow:hidden}

/* --- Product grid & card -------------------------------------------------- */
.bq-grid{display:grid;gap:var(--bq-4);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}
@media (min-width:640px){.bq-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.bq-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bq-6)}}
.bq-product{position:relative;background:var(--bq-surface);border-radius:var(--bq-r-card);
  box-shadow:var(--bq-shadow);overflow:hidden;display:flex;flex-direction:column}
.bq-product__media{position:relative;aspect-ratio:1/1;background:var(--bq-surface-2);overflow:hidden}
.bq-product__media img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .4s ease}
.bq-product:hover .bq-product__media img{transform:scale(1.04)}
.bq-product__body{padding:var(--bq-3);display:flex;flex-direction:column;gap:2px;flex:1}
.bq-product__title{font-size:var(--bq-fs-sm);font-weight:700;margin:0;line-height:1.4}
.bq-product__title a{color:var(--bq-ink);text-decoration:none}
.bq-product__title a::after{content:"";position:absolute;inset:0}   /* whole-card target */
.bq-product__meta{font-size:var(--bq-fs-xs);color:var(--bq-muted)}
.bq-product__price{font-weight:700;color:var(--bq-ink);margin-block-start:var(--bq-1)}
.bq-product__price del{color:var(--bq-muted);font-weight:400;margin-inline-start:var(--bq-2);font-size:var(--bq-fs-sm)}
.bq-product__add{position:absolute;inset-block-end:var(--bq-2);inset-inline-start:var(--bq-2);z-index:3;
  inline-size:40px;block-size:40px;padding:0;border-radius:var(--bq-r-chip);min-block-size:0;
  box-shadow:0 4px 12px rgba(74,44,42,.22)}
.bq-product__add svg{inline-size:20px;block-size:20px}
.bq-product__fav{position:absolute;inset-block-start:var(--bq-2);inset-inline-end:var(--bq-2);z-index:2;
  inline-size:38px;block-size:38px;min-inline-size:38px;min-block-size:38px;background:rgba(255,251,248,.9);color:var(--bq-accent-hover)}
.bq-flag{position:absolute;inset-block-start:var(--bq-2);inset-inline-start:var(--bq-2);z-index:2;
  padding:4px 10px;border-radius:var(--bq-r-chip);font-size:var(--bq-fs-xs);font-weight:700;
  background:var(--bq-accent);color:#fff}
.bq-flag--out{background:var(--bq-ink)}

/* --- Category circles ----------------------------------------------------- */
.bq-cats{display:flex;gap:var(--bq-4);overflow-x:auto;scrollbar-width:none;padding-block-end:var(--bq-2)}
.bq-cats::-webkit-scrollbar{display:none}
.bq-cat{flex:0 0 auto;inline-size:76px;text-align:center;text-decoration:none;color:var(--bq-ink)}
.bq-cat__circle{inline-size:66px;block-size:66px;margin-inline:auto;border-radius:50%;background:var(--bq-surface);
  box-shadow:var(--bq-shadow);display:grid;place-items:center;overflow:hidden;margin-block-end:6px}
.bq-cat__circle img{inline-size:100%;block-size:100%;object-fit:cover}
.bq-cat__name{font-size:var(--bq-fs-xs);font-weight:500;line-height:1.3}

/* --- Hero ----------------------------------------------------------------- */
.bq-hero{position:relative;border-radius:var(--bq-r-card);overflow:hidden;background:var(--bq-grad-banner);color:#fff;
  padding:var(--bq-8) var(--bq-5);min-block-size:230px;display:flex;flex-direction:column;justify-content:flex-end}
.bq-hero__img{position:absolute;inset:0;z-index:0}
.bq-hero__img img{inline-size:100%;block-size:100%;object-fit:cover}
.bq-hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(74,44,42,.72) 0%,rgba(74,44,42,.15) 70%)}
.bq-hero__inner{position:relative;z-index:1;max-inline-size:34ch}
.bq-hero__eyebrow{font-family:var(--bq-font-eyebrow);font-size:var(--bq-fs-sm);opacity:.95}
.bq-hero__title{font-family:var(--bq-font-display);font-size:var(--bq-fs-2xl);color:#fff;margin-block:var(--bq-1) var(--bq-3)}
.bq-hero .bq-btn{background:var(--bq-surface);color:var(--bq-ink)}
.bq-hero .bq-btn:hover{background:#fff;color:var(--bq-ink)}
@media (min-width:1024px){.bq-hero{min-block-size:420px;padding:var(--bq-12)}.bq-hero__title{font-size:var(--bq-fs-3xl)}}

/* --- Forms ---------------------------------------------------------------- */
.bq-field{margin-block-end:var(--bq-4)}
.bq-field label,.woocommerce form .form-row label{display:block;font-size:var(--bq-fs-sm);font-weight:500;
  color:var(--bq-muted);margin-block-end:6px}
.bq-input,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],
input[type=search],input[type=url],textarea,select,.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{
  inline-size:100%;min-block-size:48px;padding:12px 14px;background:var(--bq-surface);
  border:1px solid rgba(74,44,42,.18);border-radius:var(--bq-r-input);color:var(--bq-ink);
  transition:border-color .15s ease,box-shadow .15s ease}
textarea{min-block-size:120px;line-height:var(--bq-lh-body)}
.bq-input:focus,input:focus,textarea:focus,select:focus{border-color:var(--bq-accent);box-shadow:0 0 0 3px rgba(173,90,102,.18);outline:none}
.bq-input[aria-invalid="true"],.woocommerce .woocommerce-invalid input.input-text{border-color:var(--bq-error);box-shadow:0 0 0 3px rgba(163,44,49,.14)}
.bq-error-text{display:block;color:var(--bq-error);font-size:var(--bq-fs-sm);margin-block-start:6px;font-weight:500}
.bq-hint{display:block;color:var(--bq-muted);font-size:var(--bq-fs-sm);margin-block-start:6px}
.bq-check{display:flex;align-items:flex-start;gap:var(--bq-3);font-size:var(--bq-fs-sm)}
.bq-check input{inline-size:22px;block-size:22px;margin:2px 0 0;accent-color:var(--bq-accent);flex:none}

/* --- Notices -------------------------------------------------------------- */
.bq-notice,.woocommerce-message,.woocommerce-info,.woocommerce-error{
  display:flex;gap:var(--bq-3);padding:var(--bq-4);border-radius:var(--bq-r-cta);
  background:var(--bq-surface);border-inline-start:4px solid var(--bq-info);
  box-shadow:var(--bq-shadow);margin-block-end:var(--bq-4);list-style:none}
.woocommerce-message{border-inline-start-color:var(--bq-success)}
.woocommerce-error{border-inline-start-color:var(--bq-error)}
.bq-notice--success{border-inline-start-color:var(--bq-success)}
.bq-notice--error{border-inline-start-color:var(--bq-error)}

/* --- Quantity ------------------------------------------------------------- */
.bq-qty,.quantity{display:inline-flex;align-items:center;background:var(--bq-surface-2);border-radius:var(--bq-r-chip);
  border:1px solid rgba(74,44,42,.12);overflow:hidden}
.bq-qty__btn{inline-size:44px;block-size:44px;border:0;background:transparent;color:var(--bq-ink);
  font-size:var(--bq-fs-lg);line-height:1;cursor:pointer}
.bq-qty__btn:hover{background:rgba(74,44,42,.06)}
.bq-qty input,.quantity input.qty{inline-size:48px;min-block-size:44px;text-align:center;border:0;background:transparent;
  padding:0;-moz-appearance:textfield}
.bq-qty input::-webkit-outer-spin-button,.bq-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* --- Breadcrumbs ---------------------------------------------------------- */
.bq-breadcrumb{font-size:var(--bq-fs-sm);color:var(--bq-muted);margin-block-end:var(--bq-4)}
.bq-breadcrumb a{color:var(--bq-muted)}
.bq-breadcrumb a:hover{color:var(--bq-accent-hover)}

/* --- Empty states --------------------------------------------------------- */
.bq-empty{text-align:center;padding:var(--bq-12) var(--bq-4);max-inline-size:46ch;margin-inline:auto}
.bq-empty__icon{inline-size:76px;block-size:76px;margin-inline:auto;margin-block-end:var(--bq-4);
  border-radius:50%;display:grid;place-items:center;background:var(--bq-surface);box-shadow:var(--bq-shadow);color:var(--bq-accent-decor)}
.bq-empty__icon svg{inline-size:34px;block-size:34px}
.bq-empty h1,.bq-empty h2{font-family:var(--bq-font-display);font-size:var(--bq-fs-xl);color:var(--bq-ink)}
.bq-empty p{color:var(--bq-muted)}

/* --- Accordion (FAQ / policy) -------------------------------------------- */
.bq-acc{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);overflow:hidden}
.bq-acc+.bq-acc{margin-block-start:var(--bq-3)}
.bq-acc__btn{inline-size:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--bq-3);
  padding:var(--bq-4);background:transparent;border:0;text-align:start;font-weight:700;cursor:pointer;min-block-size:56px}
.bq-acc__btn::after{content:"+";font-size:var(--bq-fs-xl);color:var(--bq-accent-hover);line-height:1;flex:none}
.bq-acc__btn[aria-expanded="true"]::after{content:"−"}
.bq-acc__panel{padding:0 var(--bq-4) var(--bq-4);color:var(--bq-muted)}
.bq-acc__panel[hidden]{display:none}

/* --- Steps / timeline (order tracking) ----------------------------------- */
.bq-steps{list-style:none;margin:0;padding:0}
.bq-steps li{position:relative;padding-inline-start:var(--bq-8);padding-block-end:var(--bq-6)}
.bq-steps li::before{content:"";position:absolute;inset-inline-start:9px;inset-block:6px 0;inline-size:2px;background:rgba(74,44,42,.15)}
.bq-steps li:last-child{padding-block-end:0}
.bq-steps li:last-child::before{display:none}
.bq-steps li::after{content:"";position:absolute;inset-inline-start:2px;inset-block-start:4px;inline-size:16px;block-size:16px;
  border-radius:50%;background:var(--bq-surface);border:2px solid rgba(74,44,42,.25)}
.bq-steps li.is-done::after{background:var(--bq-accent);border-color:var(--bq-accent)}
.bq-steps__label{font-weight:700}
.bq-steps__time{font-size:var(--bq-fs-sm);color:var(--bq-muted)}

/* --- Order / list rows ---------------------------------------------------- */
.bq-row{display:flex;align-items:center;gap:var(--bq-3);padding:var(--bq-4);background:var(--bq-surface);
  border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);text-decoration:none;color:var(--bq-ink)}
.bq-row+.bq-row{margin-block-start:var(--bq-3)}
.bq-row__body{flex:1;min-inline-size:0}
.bq-row__title{font-weight:700}
.bq-row__meta{font-size:var(--bq-fs-sm);color:var(--bq-muted)}
.bq-row__chevron{color:var(--bq-muted);flex:none}
.bq-status{display:inline-block;padding:3px 12px;border-radius:var(--bq-r-chip);font-size:var(--bq-fs-xs);font-weight:700;
  background:rgba(183,110,121,.14);color:var(--bq-accent-hover)}
.bq-status--done{background:rgba(46,107,79,.12);color:var(--bq-success)}

/* --- Summary (cart / checkout totals) ------------------------------------ */
.bq-summary{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-4)}
.bq-summary__line{display:flex;justify-content:space-between;gap:var(--bq-3);padding-block:var(--bq-2);color:var(--bq-muted)}
.bq-summary__line--total{border-block-start:1px solid rgba(74,44,42,.12);margin-block-start:var(--bq-2);
  padding-block-start:var(--bq-3);color:var(--bq-ink);font-weight:700;font-size:var(--bq-fs-lg)}

/* --- Footer --------------------------------------------------------------- */
.bq-footer{background:var(--bq-ink);color:#EADFDA;margin-block-start:var(--bq-12);
  padding-block:var(--bq-10) calc(var(--bq-tabbar-h) + var(--bq-6))}
@media (min-width:1024px){.bq-footer{padding-block-end:var(--bq-8)}}
.bq-footer a{color:#EADFDA;text-decoration:none}
.bq-footer a:hover{color:#fff;text-decoration:underline}
.bq-footer__grid{display:grid;gap:var(--bq-8);grid-template-columns:1fr}
@media (min-width:640px){.bq-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.bq-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.bq-footer h2{font-family:var(--bq-font-display);font-size:var(--bq-fs-lg);color:#fff;margin-block-end:var(--bq-3)}
.bq-footer ul{list-style:none;margin:0;padding:0}
.bq-footer li+li{margin-block-start:var(--bq-2)}
.bq-footer .bq-brand{color:#fff}
.bq-footer .bq-brand__mark{color:#E7B9BF}
.bq-footer__tagline{color:#CDBDB8;margin-block-start:var(--bq-3);max-inline-size:38ch}
.bq-social{display:flex;gap:var(--bq-2);margin-block-start:var(--bq-4);flex-wrap:wrap}
.bq-social a{inline-size:44px;block-size:44px;border-radius:50%;background:rgba(255,255,255,.08);
  display:grid;place-items:center}
.bq-social a:hover{background:rgba(255,255,255,.18)}
.bq-social svg{inline-size:20px;block-size:20px}
.bq-legal{margin-block-start:var(--bq-5);font-size:var(--bq-fs-sm);color:#BCA9A4;display:flex;flex-wrap:wrap;gap:var(--bq-2) var(--bq-5)}

/* --- Pagination ----------------------------------------------------------- */
.bq-pagination{display:flex;gap:var(--bq-2);justify-content:center;margin-block-start:var(--bq-8);flex-wrap:wrap}
.bq-pagination .page-numbers{min-inline-size:44px;min-block-size:44px;display:grid;place-items:center;padding-inline:12px;
  border-radius:var(--bq-r-chip);background:var(--bq-surface);color:var(--bq-ink);text-decoration:none;box-shadow:var(--bq-shadow)}
.bq-pagination .page-numbers.current{background:var(--bq-accent);color:#fff}

/* --- Prose (policy / about pages) ---------------------------------------- */
.bq-prose{max-inline-size:68ch}
.bq-prose h2{font-family:var(--bq-font-display);font-size:var(--bq-fs-xl);color:var(--bq-bronze);margin-block:var(--bq-8) var(--bq-3)}
.bq-prose h3{font-size:var(--bq-fs-lg);margin-block:var(--bq-6) var(--bq-2)}
.bq-prose li{margin-block-end:var(--bq-2)}

/* --- Single product ------------------------------------------------------- */
.bq-pdp{display:grid;gap:var(--bq-6)}
@media (min-width:1024px){.bq-pdp{grid-template-columns:1.1fr 1fr;gap:var(--bq-12);align-items:start}}
.bq-pdp__gallery img{inline-size:100%;border-radius:var(--bq-r-card)}
.bq-pdp__title{font-family:var(--bq-font-display);font-size:var(--bq-fs-2xl)}
.bq-pdp__price{font-size:var(--bq-fs-xl);font-weight:700;color:var(--bq-accent-hover)}
.bq-pdp__rating{display:flex;align-items:center;gap:var(--bq-2);color:var(--bq-muted);font-size:var(--bq-fs-sm)}
.bq-swatches{display:flex;gap:var(--bq-2);flex-wrap:wrap}
.bq-swatch{inline-size:36px;block-size:36px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px rgba(74,44,42,.2);cursor:pointer}
.bq-swatch[aria-pressed="true"]{border-color:var(--bq-accent);box-shadow:0 0 0 2px var(--bq-accent)}

/* --- WooCommerce resets we keep minimal --------------------------------- */
.woocommerce .quantity .qty{background:transparent}
.woocommerce-breadcrumb{font-size:var(--bq-fs-sm);color:var(--bq-muted);margin-block-end:var(--bq-4)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


/* --- Footer icon sizing fix ------------------------------------------- */
.bq-footer li{display:flex;align-items:flex-start;gap:var(--bq-2)}
.bq-footer nav li{display:list-item}
.bq-footer li svg{inline-size:18px;block-size:18px;flex:none;margin-block-start:.45em;opacity:.85}
.bq-footer .bq-social svg{inline-size:20px;block-size:20px;margin:0}
.bq-icon{inline-size:1.15em;block-size:1.15em;flex:none;vertical-align:-.18em}

.bq-brand__logo{max-block-size:40px;inline-size:auto;object-fit:contain}
@media (min-width:1024px){.bq-brand__logo{max-block-size:48px}}
.bq-footer .bq-brand__logo{max-block-size:44px}

/* === Fix pass — 15 Aug === */
.bq-heading{line-height:1.75;padding-block-start:.12em;overflow:visible}
.bq-hero__title{line-height:1.7;padding-block-start:.1em}
.bq-pdp__title{line-height:1.7;padding-block-start:.1em}
@media (min-width:1024px){.bq-nav{margin-inline:auto}.bq-header__bar{gap:var(--bq-4)}}
.bq-legal ul{display:flex;gap:var(--bq-5);flex-wrap:wrap;list-style:none;margin:0;padding:0}
.bq-legal ul li{display:inline-flex;margin-block-start:0}
.bq-legal li svg{display:none}
.woocommerce ul.products,ul.products{display:grid;gap:var(--bq-4);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0;float:none}
@media (min-width:640px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.woocommerce ul.products,ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bq-6)}}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,ul.products li.product{inline-size:auto!important;float:none!important;margin:0!important;padding:0;clear:none!important}
.woocommerce ul.products li.product::before,.woocommerce ul.products li.product::after{display:none}
.related,.upsells,.cross-sells{margin-block-start:var(--bq-12)}
.related>h2,.upsells>h2,.cross-sells>h2,.woocommerce-tabs h2,#reviews h2,.woocommerce-Reviews-title{font-family:var(--bq-font-display);font-size:var(--bq-fs-xl);color:var(--bq-bronze);line-height:1.75;margin-block-end:var(--bq-5)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,.woocommerce .single_add_to_cart_button,.woocommerce button.button.alt.disabled,.wc-block-components-button{background:var(--bq-accent);color:#fff;border-radius:var(--bq-r-cta);min-block-size:52px;padding:14px 26px;font-family:var(--bq-font-ui);font-weight:700;border:1px solid transparent;box-shadow:none;text-shadow:none}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce .single_add_to_cart_button:hover{background:var(--bq-accent-hover);color:#fff}
.woocommerce button.button.alt.disabled,.woocommerce button.button:disabled{background:#CBB4B1;color:#fff;opacity:1}
.woocommerce .button.wc-forward,.woocommerce .checkout-button{background:var(--bq-accent);color:#fff}
.bq-pdp__gallery .woocommerce-product-gallery{margin:0}
.bq-pdp__gallery img{border-radius:var(--bq-r-card)}
.bq-pdp__gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--bq-2);list-style:none;margin:var(--bq-3) 0 0;padding:0}
.bq-pdp__gallery .flex-control-thumbs li{inline-size:auto;margin:0;float:none}
.bq-pdp__gallery .flex-control-thumbs img{border-radius:12px;opacity:.75;cursor:pointer;aspect-ratio:1;object-fit:cover}
.bq-pdp__gallery .flex-control-thumbs img.flex-active,.bq-pdp__gallery .flex-control-thumbs img:hover{opacity:1;outline:2px solid var(--bq-accent)}
.woocommerce-product-gallery__trigger{inset-inline-end:var(--bq-3);inset-inline-start:auto}
.bq-pdp .price{font-size:var(--bq-fs-xl);font-weight:700;color:var(--bq-accent-hover)}
.bq-pdp .stock{font-size:var(--bq-fs-sm);color:var(--bq-muted)}
.bq-pdp form.cart{display:flex;gap:var(--bq-3);align-items:center;flex-wrap:wrap;margin:0}
.bq-pdp form.cart .button{flex:1;min-inline-size:180px}
.bq-pdp .variations{inline-size:100%;border-collapse:collapse;margin-block-end:var(--bq-4)}
.bq-pdp .variations th,.bq-pdp .variations td{display:block;text-align:start;padding:0 0 var(--bq-2)}
.bq-pdp .variations th label{font-size:var(--bq-fs-sm);font-weight:500;color:var(--bq-muted)}
.bq-pdp .reset_variations{font-size:var(--bq-fs-sm)}
.woocommerce-variation-price{margin-block-end:var(--bq-3)}
.woocommerce-tabs ul.tabs{display:flex;gap:var(--bq-2);list-style:none;margin:0 0 var(--bq-5);padding:0;border:0;flex-wrap:wrap}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs::after,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li{background:var(--bq-surface);border:1px solid rgba(74,44,42,.12);border-radius:var(--bq-r-chip);margin:0;padding:0}
.woocommerce-tabs ul.tabs li a{display:block;padding:10px 20px;color:var(--bq-ink);font-weight:500;text-decoration:none}
.woocommerce-tabs ul.tabs li.active{background:var(--bq-accent);border-color:var(--bq-accent)}
.woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce-tabs .panel{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-5)}
#reviews .commentlist{list-style:none;margin:0;padding:0}
#reviews .comment_container{display:flex;gap:var(--bq-3);background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-4);margin-block-end:var(--bq-3)}
#reviews .comment_container img.avatar{inline-size:44px;block-size:44px;border-radius:50%;position:static;float:none;padding:0;border:0}
.star-rating,.woocommerce .star-rating{color:var(--bq-accent-decor)}
.woocommerce table.shop_table{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);border:0;overflow:hidden;border-collapse:collapse}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;border-block-end:1px solid rgba(74,44,42,.08);padding:var(--bq-4)}
.woocommerce table.shop_table img{inline-size:64px;border-radius:12px}
.woocommerce-cart-form__cart-item .product-remove a.remove{color:var(--bq-error)!important;font-size:1.4em}
.cart_totals h2,.woocommerce-checkout-review-order h3,#order_review_heading{font-family:var(--bq-font-display);font-size:var(--bq-fs-lg);color:var(--bq-bronze);line-height:1.75}
.woocommerce-checkout #payment{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow)}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:var(--bq-4)}
.woocommerce-checkout #payment div.form-row{padding:var(--bq-4)}
.woocommerce-checkout #payment div.payment_box{background:var(--bq-surface-2);border-radius:var(--bq-r-input)}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 var(--bq-6);padding:0;display:flex;gap:var(--bq-2);flex-wrap:wrap}
.woocommerce-MyAccount-navigation li a{display:inline-flex;align-items:center;min-block-size:44px;padding:8px 16px;border-radius:var(--bq-r-chip);background:var(--bq-surface);color:var(--bq-ink);text-decoration:none;border:1px solid rgba(74,44,42,.12)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--bq-accent);border-color:var(--bq-accent);color:#fff}
@media (min-width:1024px){.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:var(--bq-8);align-items:start}.woocommerce-MyAccount-navigation ul{flex-direction:column}.woocommerce-MyAccount-navigation li a{inline-size:100%}}
.woocommerce span.onsale{background:var(--bq-accent);color:#fff;border-radius:var(--bq-r-chip);min-block-size:0;line-height:1;padding:6px 12px;font-weight:700;inset-inline-start:var(--bq-2);inset-block-start:var(--bq-2);inset-inline-end:auto;margin:0}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{position:static;margin-inline-end:var(--bq-2)}

/* === Cart card rebuild === */
.woocommerce-cart .woocommerce{max-inline-size:760px;margin-inline:auto}
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents{display:block;background:transparent;box-shadow:none}
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead{display:none}
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tbody{display:block}
.woocommerce-cart tr.woocommerce-cart-form__cart-item{display:grid;grid-template-columns:84px 1fr auto;gap:var(--bq-2) var(--bq-4);align-items:center;background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-4);margin-block-end:var(--bq-3);position:relative}
.woocommerce-cart tr.woocommerce-cart-form__cart-item td{display:block;border:0;padding:0}
.woocommerce-cart td.product-remove{position:absolute;inset-inline-end:var(--bq-3);inset-block-start:var(--bq-3)}
.woocommerce-cart td.product-remove a.remove{inline-size:32px;block-size:32px;display:grid;place-items:center;border-radius:50%;background:var(--bq-surface-2)}
.woocommerce-cart td.product-thumbnail{grid-row:span 2}
.woocommerce-cart td.product-thumbnail img{inline-size:84px;block-size:84px;object-fit:cover;border-radius:14px}
.woocommerce-cart td.product-name{grid-column:2/4;padding-inline-end:var(--bq-8);font-weight:700;line-height:1.5}
.woocommerce-cart td.product-name a{color:var(--bq-ink);text-decoration:none}
.woocommerce-cart td.product-name .variation{font-size:var(--bq-fs-sm);color:var(--bq-muted);font-weight:400}
.woocommerce-cart td.product-price{display:none}
.woocommerce-cart td.product-quantity{grid-column:2}
.woocommerce-cart td.product-subtotal{grid-column:3;text-align:end;font-weight:700;font-size:var(--bq-fs-lg)}
.woocommerce-cart td.actions{border:0;background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-4);display:flex;gap:var(--bq-3);flex-wrap:wrap;align-items:center}
.woocommerce-cart td.actions .coupon{display:flex;gap:var(--bq-2);flex:1;min-inline-size:240px;margin:0;padding:0;border:0}
.woocommerce-cart td.actions .coupon label{display:none}
.woocommerce-cart td.actions .coupon .input-text{flex:1;min-inline-size:0;margin:0}
.woocommerce-cart td.actions button[name="update_cart"]{background:transparent;color:var(--bq-accent-hover);border:1px solid var(--bq-accent-decor)}
.woocommerce-cart td.actions button[name="update_cart"][disabled]{opacity:.5;color:var(--bq-muted);border-color:rgba(74,44,42,.2)}
.cart-collaterals{margin-block-start:var(--bq-6)}
.cart-collaterals .cart_totals{inline-size:100%;float:none}
.cart-collaterals .cart_totals>h2{font-family:var(--bq-font-display);font-size:var(--bq-fs-lg);color:var(--bq-bronze);line-height:1.75}
.cart-collaterals table.shop_table{display:block;background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-4)}
.cart-collaterals table.shop_table tbody{display:block}
.cart-collaterals table.shop_table tr{display:flex;justify-content:space-between;gap:var(--bq-4);padding-block:var(--bq-2);border:0}
.cart-collaterals table.shop_table th,.cart-collaterals table.shop_table td{border:0;padding:0;color:var(--bq-muted);font-weight:500;text-align:start}
.cart-collaterals table.shop_table td{text-align:end}
.cart-collaterals table.shop_table tr.order-total{border-block-start:1px solid rgba(74,44,42,.12);padding-block-start:var(--bq-3)}
.cart-collaterals table.shop_table tr.order-total th,.cart-collaterals table.shop_table tr.order-total td{color:var(--bq-ink);font-weight:700;font-size:var(--bq-fs-lg)}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.wc-proceed-to-checkout{padding:0;margin-block-start:var(--bq-4)}
.wc-proceed-to-checkout a.checkout-button{inline-size:100%;font-size:var(--bq-fs-lg);min-block-size:56px;margin:0}
.cart-collaterals .cross-sells{inline-size:100%;float:none;margin-block-start:var(--bq-12)}

/* === Sticky footer: short pages must not leave a gap === */
body.bq{display:flex;flex-direction:column;min-block-size:100vh}
.bq-main{flex:1 0 auto}
.bq-footer{flex:none}

/* === Load more === */
.bq-loadmore{display:flex;flex-direction:column;align-items:center;gap:var(--bq-2);margin-block-start:var(--bq-8)}
.bq-loadmore .bq-btn{min-inline-size:220px}
.bq-loadmore__status{margin:0;font-size:var(--bq-fs-sm);color:var(--bq-muted);min-block-size:1.5em}

/* === Checkout === */
.woocommerce-checkout .woocommerce{max-inline-size:1000px;margin-inline:auto}
.woocommerce-checkout .col2-set{display:grid;gap:var(--bq-4);inline-size:100%;float:none}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{inline-size:100%;float:none;margin:0}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review{background:var(--bq-surface);border-radius:var(--bq-r-card);
  box-shadow:var(--bq-shadow);padding:var(--bq-5);margin-block-end:var(--bq-4)}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-family:var(--bq-font-display);
  font-size:var(--bq-fs-lg);color:var(--bq-bronze);line-height:1.75;margin-block-end:var(--bq-4)}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;gap:var(--bq-3)}
@media (min-width:768px){.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr 1fr}
 .woocommerce-checkout .form-row-wide,.woocommerce-checkout #billing_address_1_field{grid-column:1/-1}}
.woocommerce-checkout form .form-row{padding:0;margin:0}
.woocommerce-checkout #order_review table.shop_table{display:block;background:transparent;box-shadow:none;padding:0}
.woocommerce-checkout #order_review table.shop_table thead{display:none}
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot{display:block}
.woocommerce-checkout #order_review table.shop_table tr{display:flex;justify-content:space-between;gap:var(--bq-4);
  padding-block:var(--bq-3);border-block-end:1px solid rgba(74,44,42,.08)}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{border:0;padding:0;text-align:start;font-weight:500;color:var(--bq-muted)}
.woocommerce-checkout #order_review table.shop_table td{text-align:end;color:var(--bq-ink)}
.woocommerce-checkout #order_review tr.order-total{border:0;padding-block-start:var(--bq-4)}
.woocommerce-checkout #order_review tr.order-total th,.woocommerce-checkout #order_review tr.order-total td{
  color:var(--bq-ink);font-weight:700;font-size:var(--bq-fs-lg)}
.woocommerce-checkout #payment{background:transparent;box-shadow:none}
.woocommerce-checkout #payment ul.payment_methods{padding:0;margin:0 0 var(--bq-4);list-style:none}
.woocommerce-checkout #payment ul.payment_methods li{background:var(--bq-surface-2);border-radius:var(--bq-r-input);
  padding:var(--bq-3) var(--bq-4);margin-block-end:var(--bq-2)}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline;font-weight:700;color:var(--bq-ink);margin:0}
.woocommerce-checkout #payment div.form-row.place-order{padding:0;margin:0}
.woocommerce-checkout #place_order{inline-size:100%;min-block-size:56px;font-size:var(--bq-fs-lg)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin-block-end:var(--bq-4);font-size:var(--bq-fs-sm)}
.woocommerce-checkout-review-order-table .product-name{font-weight:700;color:var(--bq-ink)}
.woocommerce-checkout .woocommerce-form-login,.woocommerce-checkout .woocommerce-form-coupon{
  background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-5);border:0}

/* Checkout field grid: Woo floats form rows, which breaks CSS grid */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>.form-row{float:none;inline-size:auto;margin:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{inline-size:auto;float:none}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>#billing_country_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>#billing_address_1_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>#billing_address_2_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper>#billing_email_field{grid-column:1/-1}

/* === Mobile cart: neutralise Woo's responsive-table takeover === */
@media screen and (max-width:768px){
  .woocommerce-cart table.shop_table_responsive tr td::before,
  .woocommerce-cart table.shop_table tr td::before,
  .cart-collaterals table.shop_table tr td::before,
  .cart-collaterals table.shop_table tr th::before{content:none!important;display:none!important}

  .woocommerce-cart tr.woocommerce-cart-form__cart-item{
    display:grid!important;grid-template-columns:72px 1fr auto;align-items:center}
  .woocommerce-cart tr.woocommerce-cart-form__cart-item td{
    display:block!important;text-align:start!important;clear:none!important;float:none!important;padding:0!important}
  .woocommerce-cart td.product-thumbnail{display:block!important;grid-row:span 2}
  .woocommerce-cart td.product-thumbnail img{inline-size:72px!important;block-size:72px;object-fit:cover;border-radius:14px;display:block}
  .woocommerce-cart td.product-price{display:none!important}
  .woocommerce-cart td.product-name{grid-column:2/4;padding-inline-end:var(--bq-8)!important}
  .woocommerce-cart td.product-quantity{grid-column:2}
  .woocommerce-cart td.product-subtotal{grid-column:3;text-align:end!important}
  .woocommerce-cart td.product-remove{position:absolute;inset-inline-end:var(--bq-3);inset-block-start:var(--bq-3);inline-size:auto!important}

  .woocommerce-cart td.actions{display:flex!important;flex-direction:column;align-items:stretch;gap:var(--bq-3)}
  .woocommerce-cart td.actions .coupon{inline-size:100%;flex-direction:row}
  .woocommerce-cart td.actions .coupon .button{flex:none;white-space:nowrap}
  .woocommerce-cart td.actions button[name="update_cart"]{inline-size:100%}

  /* Totals: label on one side, value on the other */
  .cart-collaterals table.shop_table tbody{display:block!important}
  .cart-collaterals table.shop_table tr{display:flex!important;justify-content:space-between;gap:var(--bq-4);
    align-items:flex-start;text-align:start!important}
  .cart-collaterals table.shop_table th{display:block!important;flex:0 0 auto;text-align:start!important}
  .cart-collaterals table.shop_table td{display:block!important;flex:1;text-align:end!important}
  .cart-collaterals table.shop_table td[data-title]{text-align:end!important}
  .woocommerce-shipping-totals td{text-align:end!important}
  .woocommerce-shipping-methods li{margin:0;line-height:1.6}
  .woocommerce-shipping-destination{margin-block:var(--bq-1) 0;color:var(--bq-muted)}
  .shipping-calculator-button{display:inline-block;margin-block-start:var(--bq-1)}
}

.cart-collaterals table.shop_table{inline-size:100%;box-sizing:border-box}
.cart-collaterals .cart_totals>h2{text-align:start}
@media screen and (max-width:768px){
 .cart-collaterals table.shop_table{inline-size:100%}
 .woocommerce-cart .woocommerce{max-inline-size:100%}
}

/* Woo's layout CSS sets .woocommerce .cart-collaterals .cart_totals{width:48%;float:right} */
.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals{inline-size:100%}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells{inline-size:100%;width:100%;float:none}
.woocommerce .cart-collaterals .cart_totals table.shop_table{inline-size:100%;width:100%;box-sizing:border-box}
.woocommerce .cart-collaterals .cart_totals>h2{text-align:start}

/* === Mobile cart: beat woocommerce-smallscreen-rtl (it loads after us) === */
@media screen and (max-width:768px){
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-name{
    text-align:right!important;padding-inline-end:0!important;padding-inline-start:var(--bq-8)!important;
    line-height:1.5;overflow-wrap:anywhere}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-price{
    display:none!important}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-subtotal{
    text-align:left!important}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-quantity{
    text-align:right!important}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-thumbnail{
    display:block!important;text-align:center!important}

  /* remove button sits in the top-left corner of the card (RTL) */
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td.product-remove{
    inset-inline-end:auto;inset-inline-start:var(--bq-3);text-align:center!important}

  /* Coupon: input takes the full row, button under it */
  body.woocommerce-cart .woocommerce td.actions .coupon{flex-wrap:wrap;gap:var(--bq-2)}
  body.woocommerce-cart .woocommerce td.actions .coupon .input-text{flex:1 1 100%;inline-size:100%;min-inline-size:0}
  body.woocommerce-cart .woocommerce td.actions .coupon .button{flex:1 1 100%;inline-size:100%}

  /* Totals: labels hard-right, values hard-left, same width as the cards */
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table th{text-align:right!important}
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table td{text-align:left!important}
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table tr{align-items:baseline}
}

/* === Cart corrections === */
/* 1. My own generic "td{display:block}" outranked the price-hiding rule. */
.woocommerce-cart tr.woocommerce-cart-form__cart-item td.product-price{display:none!important}

/* 2. The actions row was a shrink-to-fit table-row, so it never matched the cards. */
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tr:last-child{display:block;inline-size:100%}
.woocommerce-cart td.actions{display:flex!important;inline-size:100%;box-sizing:border-box}

/* 3. Coupon input needs room for its placeholder. */
.woocommerce-cart td.actions .coupon{display:flex;flex:1 1 340px;gap:var(--bq-2);align-items:center}
.woocommerce-cart td.actions .coupon .input-text{flex:1 1 auto;inline-size:auto;min-inline-size:180px}
.woocommerce-cart td.actions .coupon .button{flex:0 0 auto}
.woocommerce-cart td.actions button[name="update_cart"]{flex:0 0 auto;margin-inline-start:auto}

/* 4. Totals rows sat flush against the card edge (padding on <table> is ignored here). */
.woocommerce .cart-collaterals .cart_totals table.shop_table{padding:0;overflow:hidden}
.woocommerce .cart-collaterals .cart_totals table.shop_table tr{padding:var(--bq-3) var(--bq-5)}
.woocommerce .cart-collaterals .cart_totals table.shop_table tr:first-child{padding-block-start:var(--bq-5)}
.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total{padding-block-end:var(--bq-5)}
.woocommerce .cart-collaterals .cart_totals table.shop_table th,
.woocommerce .cart-collaterals .cart_totals table.shop_table td{background:transparent}

@media screen and (max-width:768px){
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table tr{padding:var(--bq-3) var(--bq-4)}
  body.woocommerce-cart .woocommerce td.actions{flex-direction:column;align-items:stretch}
  body.woocommerce-cart .woocommerce td.actions button[name="update_cart"]{margin-inline-start:0;inline-size:100%}
}

/* === Mobile coupon: reset the desktop flex-basis (it became a height) === */
@media screen and (max-width:768px){
  body.woocommerce-cart .woocommerce td.actions{display:flex!important;flex-direction:column;align-items:stretch;
    gap:var(--bq-3);padding:var(--bq-4)}
  body.woocommerce-cart .woocommerce td.actions .coupon{flex:0 0 auto!important;inline-size:100%;
    flex-direction:row;flex-wrap:nowrap;gap:var(--bq-2);align-items:center}
  body.woocommerce-cart .woocommerce td.actions .coupon .input-text{flex:1 1 auto!important;inline-size:auto;min-inline-size:0}
  body.woocommerce-cart .woocommerce td.actions .coupon .button{flex:0 0 auto!important;inline-size:auto;white-space:nowrap;padding-inline:18px}
  body.woocommerce-cart .woocommerce td.actions button[name="update_cart"]{flex:0 0 auto!important;inline-size:100%;margin:0}

  /* No stray cell backgrounds behind the product name */
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td,
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr.woocommerce-cart-form__cart-item td a{
    background:transparent!important;background-color:transparent!important}
}

/* ==========================================================================
   Product gallery — enforce 1:1 and rebuild the thumbnail strip
   ========================================================================== */
.bq-pdp__gallery .woocommerce-product-gallery{position:relative;margin:0;float:none;inline-size:100%}
.bq-pdp__gallery .woocommerce-product-gallery__wrapper{margin:0}

/* Every gallery frame is a square; portrait/landscape files are cropped to fit. */
.bq-pdp__gallery .woocommerce-product-gallery__image,
.bq-pdp__gallery .woocommerce-product-gallery__wrapper>div{
  aspect-ratio:1/1;overflow:hidden;border-radius:var(--bq-r-card);background:var(--bq-surface-2)}
.bq-pdp__gallery .woocommerce-product-gallery__image img,
.bq-pdp__gallery .woocommerce-product-gallery__wrapper img{
  inline-size:100%!important;block-size:100%!important;object-fit:cover;object-position:center;
  border-radius:var(--bq-r-card);display:block}

/* FlexSlider positions the thumb nav absolutely, which collapsed it to 12px dots. */
.bq-pdp__gallery .flex-control-nav,
.bq-pdp__gallery .flex-control-thumbs{
  position:static!important;inline-size:100%!important;block-size:auto!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--bq-2);
  margin:var(--bq-3) 0 0!important;padding:0!important;list-style:none;overflow:visible;float:none}
.bq-pdp__gallery .flex-control-thumbs li{
  inline-size:auto!important;block-size:auto!important;margin:0!important;float:none!important;display:block}
.bq-pdp__gallery .flex-control-thumbs li img{
  inline-size:100%!important;block-size:auto!important;aspect-ratio:1/1;object-fit:cover;
  border-radius:12px;opacity:.6;cursor:pointer;transition:opacity .15s ease,outline-color .15s ease;
  outline:2px solid transparent;outline-offset:2px;display:block}
.bq-pdp__gallery .flex-control-thumbs li img:hover{opacity:.85}
.bq-pdp__gallery .flex-control-thumbs li img.flex-active{opacity:1;outline-color:var(--bq-accent)}

/* Zoom trigger */
.bq-pdp__gallery .woocommerce-product-gallery__trigger{
  position:absolute;z-index:3;inset-block-start:var(--bq-3);inset-inline-end:var(--bq-3);inset-inline-start:auto;
  inline-size:42px;block-size:42px;border-radius:50%;background:var(--bq-surface);color:var(--bq-ink);
  display:grid;place-items:center;box-shadow:var(--bq-shadow);font-size:0;text-indent:0}
.bq-pdp__gallery .woocommerce-product-gallery__trigger::after{content:"⌕";font-size:22px;line-height:1}
.bq-pdp__gallery .woocommerce-product-gallery__trigger img{display:none}

/* ==========================================================================
   Product page layout polish
   ========================================================================== */
.bq-pdp{align-items:start}
@media (min-width:1024px){.bq-pdp{grid-template-columns:1fr 1fr;gap:var(--bq-12)}}
.bq-pdp__summary{display:flex;flex-direction:column;gap:var(--bq-3)}
.bq-pdp__title{margin:0}
.bq-pdp__summary .bq-product__meta a{color:var(--bq-accent-hover)}
.bq-pdp__price,.bq-pdp .price{margin:0}
.bq-pdp .bq-prose{margin:0;color:var(--bq-muted)}
.bq-pdp .bq-prose p{margin-block-end:var(--bq-2)}
.bq-pdp form.cart{margin-block-start:var(--bq-2)}

/* Tabs sit under the two columns, aligned to the start of the page */
.woocommerce-tabs{margin-block-start:var(--bq-12);clear:both}
.woocommerce-tabs ul.tabs{justify-content:flex-start;padding-inline:0!important;margin-inline:0}
.woocommerce-tabs ul.tabs::before{display:none!important}
.woocommerce-tabs .panel{margin:0}
.woocommerce-tabs .panel h2:first-child{margin-block-start:0}

/* Woo's layout CSS pins .summary to 48% and floats it — we use a grid column. */
.woocommerce div.product .bq-pdp__summary,
.woocommerce-page div.product .bq-pdp__summary{inline-size:100%;width:100%;float:none;margin:0}
.woocommerce div.product .bq-pdp__gallery,
.woocommerce-page div.product .bq-pdp__gallery{inline-size:100%;width:100%;float:none;margin:0}
.woocommerce div.product .bq-pdp__summary form.cart{inline-size:100%}
.woocommerce div.product .bq-pdp__summary .bq-btn,
.woocommerce div.product .bq-pdp__summary .single_add_to_cart_button{inline-size:100%}

/* The review form was rendering six identical rating rows. */
.comment-form-rating p.stars{display:flex;gap:6px;align-items:center;margin:0 0 var(--bq-3)}
.comment-form-rating p.stars~p.stars{display:none!important}
.comment-form-rating label{display:block;margin-block-end:var(--bq-2);font-weight:500;color:var(--bq-muted)}
#reviews #respond{background:var(--bq-surface-2);border-radius:var(--bq-r-card);padding:var(--bq-5);margin-block-start:var(--bq-5)}
#reviews .comment-reply-title{font-weight:700;display:block;margin-block-end:var(--bq-3)}
#reviews .comment-form-comment textarea{inline-size:100%}
#reviews .form-submit input[type=submit]{inline-size:auto;min-inline-size:200px}
.woocommerce-noreviews{color:var(--bq-muted)}

/* The gallery image sits inside an <a> with no height, so height:100% was 0. */
.bq-pdp__gallery .woocommerce-product-gallery__image>a,
.bq-pdp__gallery .woocommerce-product-gallery__wrapper>div>a,
.bq-pdp__gallery .woocommerce-product-gallery__wrapper .flex-viewport,
.bq-pdp__gallery .woocommerce-product-gallery__wrapper li,
.bq-pdp__gallery .woocommerce-product-gallery__wrapper li>a{
  display:block;inline-size:100%;block-size:100%}
.bq-pdp__gallery .flex-viewport{aspect-ratio:1/1;border-radius:var(--bq-r-card);overflow:hidden}
.bq-pdp__gallery .woocommerce-product-gallery__wrapper{block-size:100%}

/* Woo: .woocommerce div.product div.summary{width:48%;float:right} = (0,3,2).
   Ours needs to match or exceed that, so we qualify with both classes. */
.woocommerce div.product div.summary.bq-pdp__summary,
.woocommerce-page div.product div.summary.bq-pdp__summary{
  inline-size:100%;width:100%;float:none;margin:0;clear:none}
.woocommerce div.product .bq-pdp__gallery div.images,
.woocommerce div.product .bq-pdp__gallery div.woocommerce-product-gallery,
.woocommerce-page div.product .bq-pdp__gallery div.images{
  inline-size:100%;width:100%;float:none;margin:0}
.woocommerce div.product .bq-pdp{display:grid}

/* Thumbs fill the row regardless of how many photos a product has */
.bq-pdp__gallery .flex-control-nav,
.bq-pdp__gallery .flex-control-thumbs{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))!important}

/* === My account: Woo floats nav/content at 30%/68%, which broke the grid === */
.woocommerce-account .woocommerce{inline-size:100%;display:block}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{float:none;inline-size:100%;width:100%;margin:0}
.woocommerce-account .woocommerce-MyAccount-content{background:var(--bq-surface);border-radius:var(--bq-r-card);
  box-shadow:var(--bq-shadow);padding:var(--bq-5);box-sizing:border-box}
.woocommerce-account .woocommerce-MyAccount-content>p:first-child{margin-block-start:0}
.woocommerce-account .woocommerce-MyAccount-navigation{margin-block-end:var(--bq-5)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:var(--bq-2);
  list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:inline-flex;align-items:center;
  min-block-size:44px;padding:8px 18px;border-radius:var(--bq-r-chip);background:var(--bq-surface);
  color:var(--bq-ink);text-decoration:none;border:1px solid rgba(74,44,42,.12);white-space:nowrap}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--bq-accent);
  border-color:var(--bq-accent);color:#fff}

@media (min-width:1024px){
  .woocommerce-account .woocommerce{display:grid;grid-template-columns:250px minmax(0,1fr);
    gap:var(--bq-8);align-items:start}
  .woocommerce-account .woocommerce-MyAccount-navigation{margin:0}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{flex-direction:column}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{inline-size:100%;justify-content:flex-start}
}

/* Account tables (orders, downloads) */
.woocommerce-account table.shop_table{inline-size:100%;box-sizing:border-box}
.woocommerce-account .woocommerce-Address{background:var(--bq-surface-2);border-radius:var(--bq-r-card);
  padding:var(--bq-4);margin-block-end:var(--bq-3)}
.woocommerce-account .woocommerce-Addresses{display:grid;gap:var(--bq-4)}
@media (min-width:768px){.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:var(--bq-3)}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{margin:0;font-size:var(--bq-fs-lg)}

/* Account / cart / checkout pages render through page.php (.bq-prose caps at 68ch) */
.woocommerce-account .bq-prose,
.woocommerce-cart .bq-prose,
.woocommerce-checkout .bq-prose,
.woocommerce-page .bq-prose{max-inline-size:none}
@media (min-width:1024px){
  .woocommerce-account .woocommerce{grid-template-columns:250px minmax(0,1fr)}
  .woocommerce-account .woocommerce-MyAccount-navigation{grid-column:1}
  .woocommerce-account .woocommerce-MyAccount-content{grid-column:2}
}

/* === Login / register (logged-out my-account) === */
.woocommerce-account:not(.logged-in) .woocommerce{display:block;inline-size:100%}
.woocommerce-account .u-columns.col2-set,
.woocommerce-account .woocommerce .col2-set{display:grid;gap:var(--bq-5);inline-size:100%;float:none}
@media (min-width:768px){
  .woocommerce-account .u-columns.col2-set,
  .woocommerce-account .woocommerce .col2-set{grid-template-columns:1fr 1fr}
}
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2{inline-size:100%!important;width:100%!important;float:none!important;margin:0;max-inline-size:none}
.woocommerce-account form.login,
.woocommerce-account form.register{background:var(--bq-surface);border-radius:var(--bq-r-card);
  box-shadow:var(--bq-shadow);border:0;padding:var(--bq-5);margin:0;block-size:100%;box-sizing:border-box}
.woocommerce-account .u-columns h2{font-family:var(--bq-font-display);font-size:var(--bq-fs-xl);
  color:var(--bq-bronze);line-height:1.75;margin-block-end:var(--bq-3);text-align:start}
.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row{inline-size:100%;float:none;padding:0;margin:0 0 var(--bq-4)}
.woocommerce-account form.login label,
.woocommerce-account form.register label{display:block;margin-block-end:6px}
.woocommerce-account form.login .woocommerce-form-login__submit,
.woocommerce-account form.register .woocommerce-form-register__submit{inline-size:100%;margin:0}
.woocommerce-account .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:var(--bq-2);
  margin-block-end:var(--bq-4);font-size:var(--bq-fs-sm)}
.woocommerce-account .woocommerce-form-login__rememberme input{inline-size:20px;block-size:20px;margin:0}
.woocommerce-account .lost_password{margin:var(--bq-3) 0 0;text-align:center;font-size:var(--bq-fs-sm)}
.woocommerce-account .woocommerce-privacy-policy-text{font-size:var(--bq-fs-sm);color:var(--bq-muted)}
.woocommerce-account .password-input,.woocommerce-account .woocommerce-password-hint{inline-size:100%;display:block}
.woocommerce-account .show-password-input{inset-inline-end:14px;inset-inline-start:auto}


/* =========================================================================
   Account — audit Phase 2 (nine screens to four)
   ========================================================================= */
.bq-account-home{display:block}
.bq-account-block{padding:var(--bq-5);margin-block-end:var(--bq-4)}
.bq-account-block:last-child{margin-block-end:0}
.bq-account-block>.bq-heading{margin-block:0 var(--bq-3)}
.bq-account-block .bq-section__head{margin-block-end:var(--bq-3)}
.bq-account-block .bq-section__head .bq-heading{margin:0}
.bq-account-form .bq-btn,
.bq-address-form .bq-btn{margin-block-start:var(--bq-4)}
.bq-address{font-style:normal;line-height:1.9;color:var(--bq-ink);margin:0}
.bq-account-block .bq-empty{padding-block:var(--bq-6)}

/* Collapsible password block */
.bq-details{border:1px solid rgba(74,44,42,.14);border-radius:var(--bq-r-input);margin-block:var(--bq-4);background:var(--bq-surface-2)}
.bq-details__summary{cursor:pointer;padding:var(--bq-3) var(--bq-4);font-weight:500;color:var(--bq-ink);list-style:none;display:flex;align-items:center;justify-content:space-between;min-block-size:44px}
.bq-details__summary::-webkit-details-marker{display:none}
.bq-details__summary::after{content:"+";font-size:var(--bq-fs-lg);color:var(--bq-accent);line-height:1}
.bq-details[open] .bq-details__summary::after{content:"−"}
.bq-details__summary:focus-visible{outline:var(--bq-focus)}
.bq-details__panel{padding:0 var(--bq-4) var(--bq-4)}

/* The account address form reuses WooCommerce rows; keep them full width */
.bq-address-form .form-row{inline-size:100%;float:none;padding:0;margin-block-end:var(--bq-4)}
.bq-address-form .form-row-first,
.bq-address-form .form-row-last{inline-size:100%}

/* Cart busy state while a quantity change is applied */
.bq-cart--busy{position:relative;opacity:.55;pointer-events:none;transition:opacity .15s ease}
.bq-cart--busy::after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:34px;block-size:34px;margin:-17px 0 0 -17px;border:3px solid rgba(173,90,102,.25);border-block-start-color:var(--bq-accent);border-radius:50%;animation:bq-spin .7s linear infinite}
@keyframes bq-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.bq-cart--busy::after{animation-duration:2s}}

/* Product page: availability + trust block */
.bq-stock{display:flex;align-items:center;gap:8px;margin-block:var(--bq-3) 0;font-size:var(--bq-fs-sm);color:var(--bq-success);font-weight:500}
.bq-stock__dot{inline-size:8px;block-size:8px;border-radius:50%;background:var(--bq-success);flex:0 0 auto}
.bq-trust{list-style:none;margin:var(--bq-4) 0 0;padding:var(--bq-4);background:var(--bq-surface-2);border-radius:var(--bq-r-card);display:grid;gap:var(--bq-3)}
.bq-trust__item{display:flex;align-items:flex-start;gap:var(--bq-3);font-size:var(--bq-fs-sm);line-height:1.6;color:var(--bq-muted)}
.bq-trust__icon{flex:0 0 auto;inline-size:20px;block-size:20px;color:var(--bq-accent-decor)}
.bq-trust__icon svg{inline-size:20px;block-size:20px;display:block}
.bq-trust a{color:var(--bq-muted);text-decoration:underline;text-underline-offset:3px}
.bq-trust a:hover{color:var(--bq-accent-hover)}

/* Products archive: category filter chips */
.bq-filter{display:flex;flex-wrap:wrap;gap:var(--bq-2);margin-block-end:var(--bq-5)}
.bq-filter .bq-chip.is-active{background:var(--bq-accent);color:#fff;border-color:var(--bq-accent)}
.bq-filter .bq-chip.is-active:hover{background:var(--bq-accent-hover);border-color:var(--bq-accent-hover)}

/* Neutral until touched — see app.js */
form.checkout .form-row.bq-untouched.woocommerce-invalid input.input-text,
form.checkout .form-row.bq-untouched.woocommerce-invalid select,
form.checkout .form-row.bq-untouched.woocommerce-invalid .select2-selection,
form.checkout .form-row.bq-untouched.woocommerce-validated input.input-text,
form.checkout .form-row.bq-untouched.woocommerce-validated select,
form.checkout .form-row.bq-untouched.woocommerce-validated .select2-selection{border-color:rgba(74,44,42,.18);box-shadow:none}

/* Untouched fields stay neutral even against WooCommerce's own validation CSS */
form.checkout .form-row.bq-untouched.woocommerce-invalid input.input-text,
form.checkout .form-row.bq-untouched.woocommerce-invalid textarea,
form.checkout .form-row.bq-untouched.woocommerce-invalid select,
form.checkout .form-row.bq-untouched.woocommerce-invalid .select2-container,
form.checkout .form-row.bq-untouched.woocommerce-invalid .select2-selection,
form.checkout .form-row.bq-untouched.woocommerce-validated input.input-text,
form.checkout .form-row.bq-untouched.woocommerce-validated textarea,
form.checkout .form-row.bq-untouched.woocommerce-validated select,
form.checkout .form-row.bq-untouched.woocommerce-validated .select2-container,
form.checkout .form-row.bq-untouched.woocommerce-validated .select2-selection{border-color:rgba(74,44,42,.18)!important;box-shadow:none!important}

/* Contact form (Contact Form 7) inherits the theme's form system */
.bq-prose .wpcf7{background:var(--bq-surface);border-radius:var(--bq-r-card);box-shadow:var(--bq-shadow);padding:var(--bq-5);margin-block:var(--bq-4) var(--bq-6)}
.bq-prose .wpcf7 p{margin:0}
.bq-prose .wpcf7 .bq-field{margin-block-end:var(--bq-4)}
.bq-prose .wpcf7 .bq-field label{display:block;font-size:var(--bq-fs-sm);font-weight:500;color:var(--bq-muted);margin-block-end:6px}
.bq-prose .wpcf7 .wpcf7-not-valid-tip{color:var(--bq-error);font-size:var(--bq-fs-sm);margin-block-start:6px;display:block}
.bq-prose .wpcf7 .wpcf7-response-output{margin:var(--bq-4) 0 0;padding:var(--bq-3) var(--bq-4);border-radius:var(--bq-r-input);border:1px solid rgba(74,44,42,.14);font-size:var(--bq-fs-sm)}
.bq-prose .wpcf7 form.sent .wpcf7-response-output{border-color:var(--bq-success);color:var(--bq-success)}
.bq-prose .wpcf7 form.invalid .wpcf7-response-output,
.bq-prose .wpcf7 form.failed .wpcf7-response-output{border-color:var(--bq-error);color:var(--bq-error)}
.bq-prose .wpcf7 .wpcf7-spinner{margin-inline-start:var(--bq-2)}


/* =========================================================================
   Accessibility & design consistency — audit Phases 4 and 5
   ========================================================================= */

/* WCAG 2.5.5: the product-card icon buttons sat at 38–40px, on the boundary */
.bq-product__fav{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px}
.bq-product__add{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px}

/* Wishlist state must not be carried by colour alone: the saved heart fills in
   and gains a check, so it reads without colour perception too. */
.bq-product__fav[aria-pressed="true"]{color:var(--bq-accent)}
.bq-product__fav[aria-pressed="true"] svg{fill:currentColor}

/* One radius system: the account nav matched chips, not the buttons beside it */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{border-radius:var(--bq-r-cta)}

/* One heading treatment: WooCommerce-generated headings pick up the gradient */
.woocommerce-MyAccount-content h2:not(.bq-heading),
.woocommerce div.product .woocommerce-tabs h2,
.woocommerce #reviews h2,
.woocommerce #reviews h3,
.woocommerce .cart_totals h2,
.woocommerce .cross-sells > h2,
.woocommerce .related > h2,
.woocommerce .upsells > h2{
	font-family:var(--bq-font-display);
	background:var(--bq-grad-heading);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent
}

/* Login / register: live status region and a submit busy state */
.bq-form-status{margin-block-end:var(--bq-4)}
.bq-btn[aria-busy="true"],
button[aria-busy="true"].woocommerce-button,
button[aria-busy="true"].woocommerce-Button{opacity:.72;pointer-events:none}
.bq-btn[aria-busy="true"]::after,
button[aria-busy="true"].woocommerce-button::after,
button[aria-busy="true"].woocommerce-Button::after{content:"";display:inline-block;inline-size:14px;block-size:14px;margin-inline-start:8px;border:2px solid rgba(255,255,255,.45);border-block-start-color:#fff;border-radius:50%;vertical-align:-2px;animation:bq-spin .7s linear infinite}

/* Header nav links and chips reach the 44px target too */
.bq-nav a,
.bq-nav li > a{min-block-size:44px;display:inline-flex;align-items:center}
.bq-chip{min-block-size:44px;display:inline-flex;align-items:center}


/* WooCommerce's own password reveal, sized and placed for this design */
.password-input{position:relative;display:block}
.password-input input{padding-inline-end:52px}
.show-password-input{position:absolute;inset-inline-end:10px;inset-block-start:50%;transform:translateY(-50%);inline-size:32px;block-size:32px;min-inline-size:32px;border:0;background:transparent;cursor:pointer;opacity:.55;padding:0}
.show-password-input:hover,
.show-password-input.display-password{opacity:1}
.show-password-input:focus-visible{outline:var(--bq-focus);border-radius:var(--bq-r-chip)}

/* Remaining touch targets measured at 390px */
.bq-brand{display:inline-flex;align-items:center;min-block-size:44px}
.bq-link-all{display:inline-flex;align-items:center;min-block-size:44px}
.woocommerce a.remove,
.woocommerce-cart a.remove{inline-size:44px;block-size:44px;line-height:44px;font-size:20px;display:inline-flex;align-items:center;justify-content:center}
.show-password-input{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px}
.password-input input{padding-inline-end:56px}

/* Product ratings were briefly rendering the literal fallback "SSSSS" while
   WooCommerce's star font loaded from the CDN. Serving it from this domain
   with font-display:block means the glyphs are simply absent until ready. */
@font-face{
	font-family:star;
	src:url('/wp-content/plugins/woocommerce/assets/fonts/star.woff') format('woff');
	font-weight:400;
	font-style:normal;
	font-display:block
}


/* =========================================================================
   Logged-out account: one card at a time.
   Two side-by-side forms made the page read as two competing tasks, and the
   columns broke apart on some widths. Sign in is the primary job; creating an
   account is one button away.
   ========================================================================= */
.woocommerce-account:not(.logged-in) .bq-prose{max-inline-size:520px;margin-inline:auto}
.woocommerce-account:not(.logged-in) .bq-prose > h1.bq-heading{text-align:center}
.woocommerce-account:not(.logged-in) .woocommerce{max-inline-size:520px;margin-inline:auto}

.woocommerce-account .u-columns.col2-set.bq-auth,
.woocommerce-account .woocommerce .col2-set.bq-auth{display:block;grid-template-columns:none;gap:0}
.bq-auth .u-column2{display:none}
.bq-auth.is-register .u-column1{display:none}
.bq-auth.is-register .u-column2{display:block}
.woocommerce-account .u-columns.bq-auth h2{text-align:center;margin-block-end:var(--bq-4)}

.bq-auth__alt{margin:var(--bq-5) 0 0;padding-block-start:var(--bq-4);border-block-start:1px solid rgba(74,44,42,.12);text-align:center}
.bq-auth__alt span{display:block;color:var(--bq-muted);font-size:var(--bq-fs-sm);margin-block-end:var(--bq-3)}
.bq-auth__alt .bq-btn{inline-size:100%}

/* The privacy note belongs under the button, not shouting above it */
.bq-auth .woocommerce-privacy-policy-text{font-size:var(--bq-fs-sm);color:var(--bq-muted);margin-block-end:var(--bq-4)}

/* "تذكرني" — the checkbox is 20px by convention; the label carries the touch area */
.woocommerce-account .woocommerce-form-login__rememberme{min-block-size:44px;padding-block:6px;cursor:pointer}


/* =========================================================================
   Login / register page: drop the redundant page title, hide the honeypot
   ========================================================================= */

/* «حسابي» duplicated the card heading below it. Kept for screen readers and
   search engines so the page still has exactly one h1. */
.woocommerce-account:not(.logged-in) .bq-prose > h1.bq-heading{
	position:absolute;
	inline-size:1px;
	block-size:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip-path:inset(50%);
	white-space:nowrap;
	border:0
}

/* Honeypot — off-screen rather than display:none, which bots detect */
.bq-hp{
	position:absolute!important;
	inset-inline-start:-9999px!important;
	inline-size:1px!important;
	block-size:1px!important;
	overflow:hidden!important
}

/* Password hint sits under the confirm field */
.woocommerce-form-register .bq-hint{margin-block:-8px var(--bq-4)}

/* =========================================================================
   Checkout: the saved address, not a second copy of the form
   ========================================================================= */
body.bq-address-locked .woocommerce-billing-fields{display:none}
body.bq-address-locked #customer_details{display:block}

.bq-checkout-address{padding:var(--bq-5);margin-block-end:var(--bq-4)}
.bq-checkout-address .bq-section__head{margin-block-end:var(--bq-3)}
.bq-checkout-address .bq-heading{margin:0;font-size:var(--bq-fs-lg)}
.bq-checkout-address .bq-address{margin:0;line-height:1.9}
.bq-checkout-address__meta{display:flex;flex-wrap:wrap;gap:var(--bq-2) var(--bq-5);margin:var(--bq-3) 0 0;color:var(--bq-muted);font-size:var(--bq-fs-sm)}
.bq-checkout-address__meta span{display:inline-block}

/* =========================================================================
   Product gallery: make a blowout impossible.
   1.1fr is minmax(auto,1.1fr) — a wide image inside can push the track past
   its share and squash the summary column. minmax(0,...) plus a hard cap on
   the gallery means no image, variation swap or slider measurement can do it.
   ========================================================================= */
@media (min-width:1024px){
	.bq-pdp{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
}
.bq-pdp__gallery,
.bq-pdp__summary{min-inline-size:0}
.bq-pdp__gallery{max-inline-size:620px}
.bq-pdp__gallery img{max-inline-size:100%}
/* Not the wrapper or the slides: FlexSlider sets the track's width to the
   combined width of every photo, and capping it collapses the slider so only
   the first image can ever show. */
.bq-pdp__gallery .woocommerce-product-gallery,
.bq-pdp__gallery .flex-viewport{max-inline-size:100%}

/* PayPal's button block sat left of centre in the payment box */
#payment .ppc-button-wrapper,
.woocommerce-checkout .ppc-button-wrapper{inline-size:100%;margin-inline:auto;display:flex;flex-direction:column;align-items:center}
#payment .ppc-button-wrapper > *{inline-size:100%;max-inline-size:100%}


/* =========================================================================
   Gallery: stack the photos, don't slide them.
   FlexSlider shows one photo by translating a horizontal track. In RTL that
   translation is wrong for every slide after the first, so thumbnails 2-6
   moved the track off the edge of the column and the frame went blank.
   Stacking every photo in one grid cell removes the translation from the
   equation; app.js decides which one is visible.
   ========================================================================= */
.bq-pdp__gallery .flex-viewport{overflow:hidden}
.bq-pdp__gallery .woocommerce-product-gallery__wrapper{display:grid!important;grid-template-columns:100%;transform:none!important;inline-size:100%!important;inset-inline:auto!important;margin:0!important;padding:0!important}
.bq-pdp__gallery .woocommerce-product-gallery__wrapper > *{grid-row:1;grid-column:1;inline-size:100%!important;max-inline-size:100%!important;float:none!important;margin:0!important;position:relative!important;inset:auto!important;opacity:0!important;pointer-events:none;transition:opacity .18s ease}
.bq-pdp__gallery .woocommerce-product-gallery__wrapper > .bq-show{opacity:1!important;pointer-events:auto}
.bq-pdp__gallery .flex-control-thumbs img.bq-thumb-active{opacity:1;outline:2px solid var(--bq-accent)}
@media (prefers-reduced-motion:reduce){.bq-pdp__gallery .woocommerce-product-gallery__wrapper > *{transition:none}}

/* =========================================================================
   Products page filters: one catalogue, two axes.
   Category and occasion used to be separate archive pages showing the same
   grid. They are filters now.
   ========================================================================= */
.bq-filter-row{display:flex;align-items:center;gap:var(--bq-3);flex-wrap:wrap;margin-block-end:var(--bq-3)}
.bq-filter-row__label{font-size:var(--bq-fs-sm);font-weight:600;color:var(--bq-muted);flex:0 0 auto;min-inline-size:56px}
.bq-filter-row .bq-filter{margin-block-end:0;flex:1 1 auto}
.bq-filter-clear{margin:0 0 var(--bq-5);font-size:var(--bq-fs-sm)}
.bq-filter-clear a{color:var(--bq-accent-hover);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-block-size:44px}
@media (max-width:600px){
	.bq-filter-row{display:block}
	.bq-filter-row__label{display:block;margin-block-end:6px}
}
