/* ============================================================
   CMS PAGES — standalone stylesheet (immune to CSS cleaners)
   Loaded via functions.php after the main theme style.css
   ============================================================ */

/* Layout containers */
.page-content{border:0;max-width:var(--maxw);margin:0 auto;padding:5rem 2.4rem}
.page-content > * + *{margin-top:5rem}
.page-block{border:0;max-width:880px;margin:0 auto;padding:4rem 0}
.page-content p{font-size:.95rem;line-height:1.8;color:var(--muted);margin-bottom:1rem}
.page-content p:last-child{margin-bottom:0}
.page-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.page-grid-2 p{font-size:.95rem;line-height:1.8;color:var(--muted);margin-bottom:1rem}
.page-img-wrap img{width:100%;border-radius:0;background:var(--ivory-2);display:block}

/* Values grid */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.value-card{padding:2rem}
.value-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--espresso);margin-bottom:.6rem}
.value-card p{color:var(--muted);font-size:.92rem;line-height:1.7}
.value-num{font-family:var(--serif);font-size:2.4rem;color:var(--gold);display:block;margin-bottom:.6rem;letter-spacing:-.02em;line-height:1}

/* Awards */
.awards-list{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.award-item{display:flex;gap:1.6rem;padding:1.2rem 1.6rem;background:var(--ivory-2);align-items:baseline}
.award-item strong{font-family:var(--serif);font-size:1.2rem;color:var(--gold);white-space:nowrap;min-width:3.2rem}
.award-item span{color:var(--muted);font-size:.9rem}

/* Big quote */
.big-quote{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--espresso);text-align:center;max-width:700px;margin:0 auto;font-style:italic;line-height:1.5;padding:1rem 0}

/* CTA block — unified bottom call-to-action (no border) */
.cta-block{background:var(--ivory);max-width:640px;margin:4rem auto 0;padding:3rem 2.8rem;text-align:center}
.cta-block h2{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--espresso);letter-spacing:-.01em;line-height:1.25;margin-bottom:1.4rem}
.cta-block p{color:var(--muted);font-size:.95rem;max-width:420px;margin:0 auto 1.4rem;line-height:1.7}
.cta-block .btn{display:inline-block}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.contact-info .info-block{padding:0;margin-bottom:1.6rem}
.contact-info .info-block h4{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso);margin-bottom:.3rem;font-weight:600}
.contact-info .info-block p{color:var(--muted);font-size:.92rem;line-height:1.7}
.social-links{display:flex;gap:.8rem;margin-top:.8rem}
.social-links a{display:inline-block;padding:.4rem .8rem;border:1px solid var(--line);color:var(--muted);font-size:.82rem;text-decoration:none;transition:color .3s,border-color .3s}
.social-links a:hover{color:var(--gold);border-color:var(--gold)}
.contact-form-wrap{padding:0}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field{display:flex;flex-direction:column;gap:.3rem}
.form-field label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--espresso);font-weight:500}
.form-field input,.form-field textarea{background:var(--ivory-2);border:1px solid var(--line);padding:.8rem 1rem;font-family:var(--sans);font-size:.92rem;color:var(--espresso);outline:none;transition:border-color .3s}
.form-field input:focus,.form-field textarea:focus{border-color:var(--gold)}
.form-msg{display:none;padding:.8rem;text-align:center;font-size:.9rem;color:var(--espresso);border:1px solid var(--line)}

/* FAQ — luxury editorial accordion cards */
.faq-section{padding:3.2rem 0;max-width:880px;margin-left:auto;margin-right:auto;border-bottom:1px solid var(--line)}
.faq-section:last-of-type{border-bottom:none}
.faq-cat{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1.6rem;display:flex;align-items:center;gap:.9rem}
.faq-cat::after{content:'';flex:1;height:1px;background:var(--line)}
.faq-q{font-family:var(--serif);font-size:1.45rem;color:var(--espresso);font-weight:500;margin-bottom:1rem;background:var(--ivory-2);border:1px solid var(--line);border-radius:3px;transition:border-color .3s,background .3s,box-shadow .3s}
.faq-q:hover{border-color:rgba(176,137,79,.55)}
.faq-q[open]{border-color:var(--gold);background:#fff;box-shadow:0 6px 24px rgba(27,22,17,.06)}
.faq-q summary{list-style:none;cursor:pointer;position:relative;padding:1.3rem 3.4rem 1.3rem 1.8rem;display:flex;align-items:center;gap:1.2rem}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::before,.faq-q summary::after{content:'';position:absolute;right:1.9rem;top:50%;background:var(--gold);transition:opacity .3s,transform .3s}
.faq-q summary::before{width:1.6px;height:15px;transform:translateY(-50%)}
.faq-q summary::after{width:15px;height:1.6px;transform:translateY(-50%)}
.faq-q[open] > summary::before{opacity:0;transform:translateY(-50%) rotate(90deg)}
.faq-section p{color:var(--muted);font-size:1.08rem;line-height:1.85;margin:0;padding:.1rem 3.4rem 1.6rem 1.8rem;max-width:760px}
.faq-q[open] summary ~ p{animation:faqFade .35s ease both}
@keyframes faqFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Journal */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.journal-card{background:var(--ivory-2);transition:box-shadow .3s}
.journal-card:hover{box-shadow:0 4px 20px rgba(27,22,17,.08)}
.journal-card__img{aspect-ratio:4/5;overflow:hidden}
.journal-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.journal-card:hover .journal-card__img img{transform:scale(1.05)}
.journal-card__body{padding:1.2rem 1.4rem 1.6rem}
.journal-card__body h3{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--espresso);margin-bottom:.3rem}
.journal-card__body p{color:var(--muted);font-size:.85rem;line-height:1.6}
.journal-featured{display:grid;grid-template-columns:1.2fr 1fr;gap:2.4rem;align-items:center;background:var(--ivory-2);margin-bottom:2rem}
.journal-featured__img{overflow:hidden}
.journal-featured__img img{width:100%;height:100%;object-fit:cover;display:block}
.journal-featured__text{padding:1.4rem 2rem}
.journal-featured__text h2{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--espresso);margin-bottom:.5rem}
.journal-featured__text p{color:var(--muted);font-size:.92rem;line-height:1.7}
.newsletter__form{display:flex;gap:.6rem;max-width:400px;margin:1.2rem auto 0}

/* Sustainability stats */
.sus-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}
.sus-stat{text-align:center;padding:1.6rem}
.sus-stat strong{font-family:var(--serif);font-size:2.4rem;color:var(--gold);display:block;letter-spacing:-.02em}
.sus-stat span{color:var(--muted);font-size:.85rem;display:block;margin-top:.3rem}

/* Stockists */
.stockist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.stockist-card{padding:1.6rem;border:1px solid var(--line);transition:border-color .3s}
.stockist-card:hover{border-color:var(--gold)}
.stockist-card h3{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--espresso);margin-bottom:.4rem}
.stockist-card p{color:var(--muted);font-size:.85rem;line-height:1.6}
.stockist-card a{color:var(--gold);text-decoration:none;font-size:.85rem}

/* Policies (Shipping / Returns) */
.policy-list{padding:0;list-style:none}
.policy-list li{padding:1rem 1.4rem;margin-bottom:.6rem;background:var(--ivory-2);color:var(--muted);font-size:.92rem;line-height:1.7}
.policy-item{margin-bottom:1.2rem}
.policy-item h3{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--espresso);margin-bottom:.3rem}
.policy-item p{color:var(--muted);font-size:.92rem;line-height:1.7}
.policy-table{width:100%;border-collapse:collapse;margin:1rem 0}
.policy-table th,.policy-table td{padding:.8rem 1rem;text-align:left;border:1px solid var(--line);font-size:.85rem}
.policy-table th{background:var(--ivory-2);color:var(--espresso);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.policy-table td{color:var(--muted)}
.return-highlight{background:var(--ivory-2);padding:1.4rem 2rem;color:var(--espresso);font-size:.92rem;line-height:1.7;margin:1rem 0;border-left:3px solid var(--gold)}

/* Responsive CMS pages */
@media(max-width:768px){
  .page-grid-2,.values-grid,.contact-grid,.journal-grid,.stockist-grid,.awards-list{grid-template-columns:1fr}
  .journal-featured{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .sus-stats{grid-template-columns:1fr}
  .page-content > * + *{margin-top:3rem}
  .page-block{padding:2rem 0}
  .page-content{padding:3rem 2rem}
  .faq-section{padding:2.2rem 0}
  .faq-cat{margin-bottom:1.1rem}
  .faq-q{font-size:1.22rem;margin-bottom:.8rem}
  .faq-q summary{padding:1.05rem 2.9rem 1.05rem 1.3rem}
  .faq-q summary::before,.faq-q summary::after{right:1.4rem}
  .faq-section p{font-size:1rem;padding:.1rem 1.3rem 1.3rem}
}


/* ============================================================
   CHECKOUT PAGE (WooCommerce Blocks) — Luxury Redesign
   Warm ivory · espresso ink · champagne gold · editorial serif
   ------------------------------------------------------------
   CRITICAL: <body> carries the .woocommerce-checkout class, so the
   bare ".woocommerce-checkout" selector would shrink the WHOLE page
   (incl. the header). All layout lives on the real Blocks container
   (.wp-block-woocommerce-checkout). Never scope width to body.
   ============================================================ */

/* Page background only — must NOT constrain width */
body.woocommerce-checkout{background:var(--ivory)}

/* Let the blocks container own the width (defuse any wrapper limits) */
body.woocommerce-checkout .page-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce{margin:0 !important;padding:0 !important;max-width:none !important}

/* Full-bleed header on checkout */
body.woocommerce-checkout .site-header,
body.woocommerce-checkout .utility,
body.woocommerce-checkout .header__bar{width:100%;max-width:none !important}

/* ---- Container: override .alignwide, center with comfy width ---- */
.wp-block-woocommerce-checkout.alignwide.wc-block-checkout{
  max-width:1440px !important;
  margin:0 auto !important;
  padding:3.5rem 4rem 6rem !important;
  background:transparent;
}

/* ---- Two columns ---- */
.wp-block-woocommerce-checkout-fields-block{
  width:62% !important;
  padding-right:4% !important;
  box-sizing:border-box;
}
.wp-block-woocommerce-checkout-totals-block{
  width:38% !important;
  padding-left:3% !important;
  box-sizing:border-box;
  position:sticky;
  top:100px;
}

/* ---- Section steps ---- */
.wc-block-components-checkout-step{
  background:none !important;
  border:none !important;
  margin:0 0 2.8rem !important;
  padding:0 !important;
}
.wc-block-components-checkout-step__title{
  font-family:var(--serif) !important;
  font-size:1.6rem !important;
  font-weight:400 !important;
  color:var(--espresso) !important;
  margin:0 0 1.4rem !important;
  letter-spacing:-.01em;
  display:block !important;
}
.wc-block-components-checkout-step__title:before{content:none !important} /* hide default step number */
.wc-block-checkout__billing-fields > .wc-block-components-checkout-step__title,
.wc-block-checkout__shipping-fields > .wc-block-components-checkout-step__title{
  font-size:1.25rem !important;
  margin-top:2rem !important;
}

/* ---- Form fields (WC floating-label; keep mechanics, brand colors) ---- */
.wc-block-components-text-input,
.wc-block-components-select-input{margin-bottom:1.1rem !important}
.wc-block-components-text-input input,
.wc-block-components-select-input select,
.wc-block-components-text-input textarea{
  background:var(--ivory-2) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  color:var(--espresso) !important;
  font-family:var(--sans) !important;
  font-size:.94rem !important;
  height:54px !important;
  box-shadow:none !important;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease) !important;
}
.wc-block-components-text-input textarea{height:auto !important;min-height:96px}
.wc-block-components-text-input input:focus,
.wc-block-components-select-input select:focus,
.wc-block-components-text-input textarea:focus{
  outline:0 !important;
  border-color:var(--gold) !important;
  box-shadow:0 0 0 1px var(--gold) !important;
  background:var(--ivory-2) !important;
}
/* Floating label — brand the look, keep native position */
.wc-block-components-text-input label{
  color:var(--muted) !important;
  font-family:var(--sans) !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  font-size:.72rem !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label{color:var(--gold) !important}
.wc-block-components-text-input.has-error input{border-color:#cc4b4b !important}
.wc-block-components-text-input.has-error label{color:#cc4b4b !important}
/* Select chevron */
.wc-block-components-select-input select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B0894F' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 1rem center !important;
  padding-right:2.6rem !important;
  cursor:pointer;
}
/* Checkbox / radio accents */
.wc-block-components-checkbox input[type=checkbox]{accent-color:var(--gold) !important}

/* ---- Order summary sidebar (totals block) as a card ---- */
.wp-block-woocommerce-checkout-totals-block{
  background:var(--ivory-2);
  border:1px solid var(--line);
  border-radius:3px;
  padding:2.2rem 2rem !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button,
.wc-block-components-order-summary__button-text{
  font-family:var(--serif) !important;
  font-size:1.35rem !important;
  font-weight:400 !important;
  color:var(--espresso) !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--serif) !important;
  color:var(--espresso) !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--espresso) !important;
  font-weight:600;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:1.1rem;
}
/* product thumbnail in summary */
.wc-block-components-order-summary-item__image img,
.wc-block-components-product-metadata__thumbnail img{
  border-radius:3px !important;
  border:1px solid var(--line) !important;
}

/* ---- Place order button ---- */
.wc-block-components-checkout-place-order-button{
  background:var(--espresso) !important;
  color:var(--ivory) !important;
  border:0 !important;
  border-radius:3px !important;
  font-family:var(--sans) !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  padding:1.1rem 2rem !important;
  width:100% !important;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(27,22,17,.18) !important;
  transition:background .4s var(--ease),box-shadow .4s var(--ease) !important;
}
.wc-block-components-checkout-place-order-button:hover{
  background:var(--gold) !important;
  box-shadow:0 8px 28px rgba(176,137,79,.3) !important;
}

/* ---- Payment methods (radio cards) ---- */
.wc-block-checkout__payment-method{
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  background:var(--ivory) !important;
  margin-bottom:.7rem !important;
  padding:0 !important;
  transition:border-color .3s var(--ease),background .3s var(--ease) !important;
}
.wc-block-checkout__payment-method.is-selected{
  border-color:var(--gold) !important;
  background:linear-gradient(135deg,var(--ivory),rgba(176,137,79,.05)) !important;
}
.wc-block-components-radio-control__input:checked{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}
.wc-block-components-payment-method-label,
.wc-block-checkout__payment-method .wc-block-components-radio-control__label{
  font-family:var(--sans) !important;
  font-weight:500 !important;
  color:var(--espresso) !important;
}

/* ---- Express payment (Apple Pay / Google Pay etc.) ---- */
.wc-block-checkout__express-payment .wc-block-components-button{
  background:var(--espresso) !important;
  color:var(--ivory) !important;
  border-radius:3px !important;
}

/* ---- Links / notices ---- */
.wc-block-checkout__login-prompt a,
.wc-block-checkout__return-to-cart-button{
  color:var(--gold) !important;
  text-decoration:underline !important;
  font-size:.85rem;
}
.wc-block-components-notice-banner{
  border-radius:3px !important;
}
.wc-block-components-notice-banner.is-error{
  border-left:4px solid var(--rose) !important;
  background:linear-gradient(135deg,#fff9f8,var(--ivory-2)) !important;
  color:var(--ink) !important;
}
.wc-block-components-notice-banner.is-success{
  border-left:4px solid #6b9e78 !important;
  background:linear-gradient(135deg,#f4faf6,var(--ivory-2)) !important;
}

/* ---- Responsive ---- */
@media(max-width:900px){
  .wp-block-woocommerce-checkout.alignwide.wc-block-checkout{
    flex-direction:column !important;
    padding:2.5rem 3rem 5rem !important;
  }
  .wp-block-woocommerce-checkout-fields-block,
  .wp-block-woocommerce-checkout-totals-block{width:100% !important;padding:0 !important}
  .wp-block-woocommerce-checkout-totals-block{position:static !important;margin-top:2.5rem !important}
}
@media(max-width:640px){
  .wp-block-woocommerce-checkout.alignwide.wc-block-checkout{padding:1.5rem 2rem 4.5rem !important}
  .wc-block-components-checkout-step__title{font-size:1.4rem !important}
  .wc-block-components-checkout-place-order-button{padding:.95rem 1.5rem !important;font-size:.78rem !important}
  .wp-block-woocommerce-checkout-totals-block{padding:1.6rem 1.4rem !important}
}
/* ============================================================
   Drearirean · My Account / Login — Split Immersive (v4, site-native)
   Appended 2026-07-10 · template: woocommerce/myaccount/form-login.php
   Mirrors the theme's own .btn / .account / .page-hero components:
   boxed inputs, serif-400 titles, gold eyebrow, native solid button.
   v3: wider right panel (5fr/7fr), model+product hero image.
   v4: larger form typography and bigger input/dialog boxes.
   ============================================================ */

/* full-bleed breakout past the .woocommerce 560px wrapper */
.dr-auth{
  width:100vw;
  position:relative;
  left:50%;
  margin-left:-50vw;
  display:grid;
  grid-template-columns:5fr 7fr;
  min-height:calc(100vh - 140px);
  background:var(--ivory);
}
.woocommerce-account .woocommerce:has(.dr-auth){
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* ---------- LEFT: brand hero (editorial, espresso) ---------- */
.dr-auth__hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:clamp(48px,6vw,88px);
  background:var(--espresso);
  color:var(--ivory);
}
.dr-auth__hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.30;
  filter:saturate(.85) contrast(1.02);
}
.dr-auth__hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(27,22,17,.45) 0%, rgba(27,22,17,.80) 100%);
}
.dr-auth__hero-inner{
  position:relative;
  z-index:2;
  max-width:360px;
}
.dr-auth__brand{
  display:inline-block;
  margin-bottom:clamp(40px,6vw,64px);
}
.dr-auth__logo{
  height:30px;
  width:auto;
  opacity:.95;
}
.dr-auth__eyebrow{
  font-family:var(--sans);
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 1.4rem;
}
.dr-auth__headline{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(1.9rem,2.6vw,2.5rem);
  line-height:1.14;
  letter-spacing:.01em;
  margin:0 0 1.4rem;
  color:var(--ivory);
}
.dr-auth__lede{
  font-family:var(--sans);
  font-weight:300;
  font-size:.95rem;
  line-height:1.75;
  color:rgba(250,246,240,.72);
  margin:0 0 1.8rem;
  max-width:34ch;
}
.dr-auth__signoff{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0;
}

/* ---------- RIGHT: form panel (ivory) ---------- */
.dr-auth__panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(56px,7vw,96px) clamp(48px,7vw,108px);
  background:var(--ivory);
}
.dr-auth__panel-inner{
  width:100%;
  max-width:520px;
}
.dr-auth__form-eyebrow{
  font-family:var(--sans);
  font-size:.8rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 .9rem;
}
.dr-auth .woocommerce h2{
  font-family:var(--serif) !important;
  font-weight:400 !important;
  font-size:clamp(2.3rem,3.4vw,3rem) !important;
  letter-spacing:.01em !important;
  color:var(--ink) !important;
  text-align:left !important;
  margin:0 0 2.4rem !important;
}

/* fields — boxed, matching the site's .account input */
.dr-auth .woocommerce-form-login.login p,
.dr-auth .woocommerce-form-register.register p{
  margin-bottom:1.5rem !important;
}
.dr-auth .woocommerce-form-login.login label,
.dr-auth .woocommerce-form-register.register label{
  display:block !important;
  font-family:var(--sans) !important;
  font-size:.84rem !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--muted) !important;
  margin-bottom:.5rem !important;
}
.dr-auth .woocommerce-form-login.login input[type=text],
.dr-auth .woocommerce-form-login.login input[type=password],
.dr-auth .woocommerce-form-register.register input{
  width:100% !important;
  padding:1.1rem 1.2rem !important;
  font-family:var(--sans) !important;
  font-size:1rem !important;
  color:var(--ink) !important;
  background:var(--ivory) !important;
  border:1px solid var(--line) !important;
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .3s var(--ease) !important;
}
.dr-auth .woocommerce-form-login.login input:focus,
.dr-auth .woocommerce-form-register.register input:focus{
  border-color:var(--gold) !important;
}
.dr-auth .woocommerce-form-login.login .required{
  color:var(--gold) !important;
}

/* remember me + lost password */
.dr-auth .woocommerce-form-login.login .woocommerce-form__label-for-checkbox{
  display:inline-flex !important;
  align-items:center !important;
  gap:.5rem !important;
  margin:.2rem 0 .4rem !important;
}
.dr-auth .woocommerce-form-login.login .woocommerce-form__label-for-checkbox input{
  accent-color:var(--gold) !important;
  width:15px !important;
  height:15px !important;
}
.dr-auth .woocommerce-form-login.login .woocommerce-form__label-for-checkbox span{
  font-size:.9rem !important;
  color:var(--muted) !important;
  letter-spacing:.02em !important;
}
.dr-auth .woocommerce-form-login.login .lost_password{
  text-align:right !important;
  margin:.2rem 0 .4rem !important;
}
.dr-auth .woocommerce-form-login.login .lost_password a{
  font-size:.88rem !important;
  letter-spacing:.04em !important;
  color:var(--gold) !important;
  text-decoration:none !important;
  border-bottom:1px solid transparent !important;
  transition:border-color .25s !important;
}
.dr-auth .woocommerce-form-login.login .lost_password a:hover{
  border-color:var(--gold-soft) !important;
}

/* button — mirrors the site's .btn--solid */
.dr-auth .woocommerce-form-login.login button.button,
.dr-auth .woocommerce-form-register.register button.button{
  width:100% !important;
  margin-top:.6rem !important;
  display:inline-block !important;
  font-family:var(--sans) !important;
  font-size:.84rem !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  color:var(--ivory) !important;
  background:var(--espresso) !important;
  border:0 !important;
  border-radius:0 !important;
  padding:1.15rem 2.2rem !important;
  cursor:pointer !important;
  box-shadow:none !important;
  transition:background .4s var(--ease), letter-spacing .4s var(--ease) !important;
}
.dr-auth .woocommerce-form-login.login button.button:hover,
.dr-auth .woocommerce-form-register.register button.button:hover{
  background:var(--gold) !important;
  letter-spacing:.24em !important;
}

/* notices */
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info{
  max-width:560px;
  margin:110px auto 0 !important;
}

/* ---------- responsive: stack, hide hero ---------- */
@media (max-width:900px){
  .dr-auth{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .dr-auth__hero{
    display:none;
  }
  .dr-auth__panel{
    padding:84px 24px 64px;
    min-height:calc(100vh - 120px);
  }
  .dr-auth .woocommerce h2{
    text-align:center !important;
  }
  .dr-auth__form-eyebrow{
    text-align:center;
  }
  .woocommerce-account .woocommerce-error,
  .woocommerce-account .woocommerce-message,
  .woocommerce-account .woocommerce-info{
    margin-top:96px !important;
  }
}

/* =========================================================
   STOCKISTS PAGE — Luxury editorial redesign (2026-07-10)
   ========================================================= */
.page-hero--stockists .page-hero__inner{padding-bottom:3.5rem}
.page-hero--stockists .page-hero__divider{
  width:1px;
  height:64px;
  background:linear-gradient(180deg, rgba(201,168,106,0), var(--gold-soft) 35%, rgba(201,168,106,0));
  margin:2.2rem auto 0;
}

.stockist-marquee{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--ivory-2);
  padding:1.15rem 0;
}

.stockist-marquee__track{
  display:flex;
  gap:4.5rem;
  white-space:nowrap;
  width:max-content;
  animation:stockist-scroll 32s linear infinite;
  font-family:var(--serif);
  font-style:italic;
  font-size:1.2rem;
  color:var(--muted);
  letter-spacing:.02em;
}

.stockist-marquee__track span{
  position:relative;
  padding-right:4.5rem;
}

.stockist-marquee__track span::after{
  content:"•";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:var(--gold);
  opacity:.55;
  font-style:normal;
}

@keyframes stockist-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

.page-content--stockists{
  padding:5rem 2.4rem;
}

.page-block--stockists{
  max-width:1200px;
  margin:0 auto;
  padding:0;
}

.stockist-section__head{
  text-align:center;
  margin-bottom:3.8rem;
}

.stockist-section__head .eyebrow{
  display:block;
  margin-bottom:1rem;
  color:var(--gold);
  letter-spacing:.18em;
}

.stockist-section__head p{
  max-width:680px;
  margin:1.5rem auto 0;
  color:var(--muted);
  line-height:1.8;
  font-size:.96rem;
}

.stockist-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.6rem;
  align-items:stretch;
}

.stockist-card{
  position:relative;
  background:var(--ivory);
  border:1px solid var(--line);
  padding:2rem 1.8rem;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}

.stockist-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, var(--gold), var(--gold-soft));
  opacity:0;
  transition:opacity .35s var(--ease);
}

.stockist-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 42px rgba(27,22,17,.09);
  border-color:var(--gold);
}

.stockist-card:hover::before{
  opacity:1;
}

.stockist-card__header{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:1.4rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid rgba(27,22,17,.08);
}

.stockist-card__icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  color:var(--gold);
  opacity:.85;
}

.stockist-card__icon svg{
  width:100%;
  height:100%;
  display:block;
}

.stockist-card h3{
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:500;
  color:var(--espresso);
  letter-spacing:.02em;
  margin:0;
}

.stockist-card__list{
  list-style:none;
  padding:0;
  margin:0;
}

.stockist-card__list li{
  position:relative;
  padding:.55rem 0 .55rem 1rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.65;
  border-bottom:1px solid rgba(27,22,17,.05);
}

.stockist-card__list li:last-child{
  border-bottom:none;
}

.stockist-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.9rem;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
  opacity:.7;
}

.stockist-card__list strong{
  color:var(--espresso);
  font-weight:500;
}

.stockist-card__list a{
  color:var(--gold);
  text-decoration:none;
  border-bottom:1px solid rgba(176,137,79,.35);
  transition:border-color .25s, color .25s;
}

.stockist-card__list a:hover{
  color:var(--espresso);
  border-bottom-color:var(--espresso);
}

.stockist-card__note{
  font-style:italic;
  opacity:.9;
}

.stockist-cta{
  margin-top:6rem;
  background:var(--ivory-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.stockist-cta__inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:3rem;
  align-items:center;
  padding:5rem 2.4rem;
}

.stockist-cta__text .eyebrow{
  color:var(--gold);
  display:block;
  margin-bottom:1rem;
  letter-spacing:.18em;
}

.stockist-cta__text .section-title{
  color:var(--espresso);
  margin-bottom:1rem;
}

.stockist-cta__text p{
  color:var(--muted);
  max-width:520px;
  line-height:1.8;
  margin:0;
}

.stockist-cta__action{
  display:flex;
  justify-content:flex-end;
}

.stockist-cta__action .btn--gold{
  padding:1rem 2.2rem;
  letter-spacing:.18em;
}

@media(max-width:1100px){
  .stockist-grid{grid-template-columns:repeat(2,1fr)}
  .stockist-cta__inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:2rem;
  }
  .stockist-cta__action{justify-content:center}
  .stockist-cta__text p{margin:0 auto}
}

@media(max-width:768px){
  .page-content--stockists{padding:3rem 1.6rem}
  .stockist-grid{grid-template-columns:1fr}
  .stockist-section__head{margin-bottom:2.6rem}
  .stockist-card{padding:1.6rem}
  .stockist-cta__inner{padding:3.5rem 1.6rem}
  .stockist-cta{margin-top:4rem}
  .stockist-marquee__track{gap:2.6rem;font-size:1.05rem}
  .stockist-marquee__track span{padding-right:2.6rem}
}

/* =========================================================
   Top utility bar — refined link spacing (2026-07-10)
   No divider; two links sit as clean plain text with
   comfortable, balanced spacing.
   ========================================================= */
.utility__links{
  display:flex;
  align-items:center;
  gap:1.6rem;
}
.utility__links a{
  position:relative;
  line-height:1;
  padding:0;
}
/* ---- Mobile utility bar: hide links, center promo ---- */
@media (max-width:768px){
  .utility{
    justify-content:center !important;
  }
  .utility__promo{
    width:100%;
    text-align:center;
    opacity:1;
  }
  .utility__links{
    display:none !important;
  }
}

/* ==== SINGLE PRODUCT LAYOUT FIX (managed block) START ====
   Universal 2-column grid for ALL WooCommerce single products.
   Ensures every product — classic or block editor — renders with
   gallery left / summary right, matching the .pdp design language.
   ============================================================ */

/* Force 2-column grid on the product container */
.single-product .type-product{
  display:grid !important;
  grid-template-columns:1.05fr 1fr !important;
  gap:4.5rem !important;
  align-items:start !important;
  max-width:var(--maxw);
  margin:0 auto;
  padding:2rem 2.4rem 5rem;
}

/* Gallery — left column */
.single-product .woocommerce-product-gallery{
  width:100% !important;
  max-width:none !important;
  position:relative !important;
}

/* Summary — right column */
.single-product .summary.entry-summary{
  width:100% !important;
  max-width:none !important;
  padding-top:.5rem !important;
}

/* Product title */
.single-product .product_title{
  font-family:var(--serif);
  font-size:clamp(2rem,3.5vw,2.8rem);
  font-weight:400;
  color:var(--espresso);
  line-height:1.15;
  margin-bottom:.6rem !important;
}

/* Price styling */
.single-product .price{
  font-size:1.4rem;
  color:var(--espresso);
  margin-bottom:1.4rem !important;
}
.single-product .price del{
  color:var(--muted);
  margin-right:.6rem;
}
.single-product .price ins{
  text-decoration:none;
  color:var(--gold);
}

/* Short description */
.single-product .woocommerce-product-details__short-description,
.single-product .product .woocommerce-product-details__short-description{
  font-size:.95rem;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:1.6rem !important;
  max-width:46ch;
}

/* Add to cart area */
.single-product .cart{
  margin-bottom:1.6rem !important;
}
.single-product .quantity input.qty{
  width:60px;
  text-align:center;
  padding:.7rem;
  border:1px solid var(--line);
  background:var(--ivory-2);
  color:var(--espresso);
  font-size:.95rem;
}
.single-product .button{
  display:inline-block !important;
  width:auto !important;
  max-width:360px;
}

/* Sale badge position */
.single-product .onsale{
  position:absolute !important;
  top:1rem !important;
  left:1rem !important;
  z-index:10;
  background:var(--gold);
  color:#fff;
  padding:.45rem 1rem;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:600;
  border-radius:2px;
  line-height:1;
}

/* Meta (SKU, category) */
.single-product .product_meta{
  font-size:.84rem;
  color:var(--muted);
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}

/* Responsive */
@media(max-width:980px){
  .single-product .type-product{
    grid-template-columns:1fr !important;
    gap:2.4rem !important;
    padding:2rem 1.6rem 4rem;
  }
}
@media(max-width:480px){
  .single-product .type-product{padding:1.5rem 1rem 3rem}
}

/* ==== SINGLE PRODUCT LAYOUT FIX (managed block) END ==== */







/* ==== WOOCOMMERCE COMPREHENSIVE FIX v2 (managed block) START ====
   PDP: Fix tabs/related inside .type-product grid + style sections
   Shop: Hide unwanted sidebar, polish product cards
   ============================================================ */

/* ============================================================
   PART A: SINGLE PRODUCT PAGE — Grid overflow fix
   Tabs & Related Products are children of .type-product grid.
   Without explicit column span, they get auto-placed into cols 1&2.
   ============================================================ */

/* Force tabs and related products to span FULL grid width */
.single-product .type-product > .woocommerce-tabs,
.single-product .type-product > .woocommerce-tabs.wc-tabs-wrapper,
.single-product .type-product > .related.products,
.single-product .type-product > section.related.products{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
  margin-top:3rem !important;
}

/* Also catch if WC puts them outside .type-product but still in main */
.single-product .site-main > .woocommerce-tabs,
.single-product .site-main > .related.products{
  max-width:var(--maxw);
  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 2.4rem;
}

/* ============================================================
   PART B: WooCommerce Tabs — Description / Reviews
   ============================================================ */
.single-product .woocommerce-tabs{
  border-top:1px solid var(--line);
  padding-top:2.5rem;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs{
  display:flex;
  gap:0;
  margin-bottom:2rem;
  padding:0;
  list-style:none;
  border-bottom:1px solid var(--line);
}
.single-product .woocommerce-tabs ul.tabs li{
  margin-bottom:-1px;
  padding:0;
}
.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-block;
  padding:.85rem 1.6rem;
  font-family:var(--sans);
  font-size:.88rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  text-decoration:none;
  border:1px solid transparent;
  border-bottom:none;
  background:transparent;
  transition:color .25s, border-color .25s, background .25s;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--espresso);
  border-color:var(--line);
  background:var(--ivory);
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  border-top:2px solid var(--gold);
}

/* Tab content panels */
.single-product .woocommerce-Tabs-panel{
  padding:1.5rem 0 0;
  font-size:.95rem;
  line-height:1.8;
  color:var(--espresso);
}
.single-product .woocommerce-Tabs-panel h2{display:none} /* hide duplicate heading */

/* Description panel content */
.single-product .woocommerce-Tabs-panel--description p{
  margin-bottom:1rem;
  color:var(--espresso);
  opacity:.9;
}
.single-product .woocommerce-Tabs-panel--description img{
  max-width:240px;
  margin:1rem 1rem 1rem 0;
  border-radius:4px;
  border:1px solid var(--line);
}

/* Reviews panel */
.single-product #reviews #comments ol.commentlist{
  list-style:none;
  padding:0;
}
.single-product #reviews #comments .comment-text{
  margin:0;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
}
.single-product #review_form{margin-top:2rem}

/* ============================================================
   PART C: Related Products Section
   ============================================================ */
.single-product .related.products{
  padding:3rem 0 1rem;
  border-top:1px solid var(--line);
  margin-top:2rem !important;
}
.single-product .related.products h2{
  font-family:var(--serif);
  font-size:clamp(1.6rem,2.5vw,2rem);
  font-weight:400;
  color:var(--espresso);
  margin-bottom:2rem;
  letter-spacing:.02em;
}

/* Related products use the theme's .product-grid already — just ensure spacing */
.single-product .related.products .product-grid{
  gap:1.8rem;
}
.single-product .related.products .product-grid .product__name{
  font-size:1rem;
}
.single-product .related.products .product-grid .product__price{
  font-family:var(--serif);
  font-size:1.05rem;
  color:var(--gold-soft);
}
.single-product .related.products .product-grid .add-btn{
  font-size:.8rem;
  padding:.55rem 1.2rem;
}

/* ============================================================
  PART C2: Related Products — WooCommerce DEFAULT template
  WC uses ul.products.columns-N > li.product (NOT theme's article.product)
  Must style this default structure as grid too.
  ============================================================ */
.single-product .related.products > ul.products,
.up-sells > ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:1.8rem !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* Each product LI in default WC related */
.single-product .related.products ul.products li.product,
.up-sells ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
  background:#fff;
  border:1px solid var(--line,#E7DECF);
  border-radius:6px;
  overflow:hidden;
  padding:0 !important;
  margin:0 !important;
  transition:transform .3s ease, box-shadow .3s ease;
}
.single-product .related.products ul.products li.product:hover,
.up-sells ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(27,22,17,.08);
}

/* Product link wrapper */
.single-product .related.products li.product a.woocommerce-LoopProduct-link,
.up-sells li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex-direction:column !important;
  text-decoration:none !important;
  padding:0 !important;
}

/* Product image in related list */
.single-product .related.products li.product img,
.up-sells li.product img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:3/4;
  object-fit:cover;
  display:block;
}

/* Product name in related list */
.single-product .related.products li.product .woocommerce-loop-product__title,
.up-sells li.product .woocommerce-loop-product__title{
  font-family:var(serif), "Cormorant Garamond", Georgia, serif;
  font-size:1rem;
  font-weight:500;
  color:var(--espresso,#1B1611) !important;
  padding:.8rem 1rem .3rem !important;
  line-height:1.3;
}

/* Price in related list */
.single-product .related.products li.product .price,
.up-sells li.product .price{
  font-family:var(serif), "Cormorat Garamond", Georgia, serif;
  font-size:1.05rem;
  color:var(--gold-soft,#C9A86A) !important;
  padding:0 1rem !important;
}

/* Add to cart in related list */
.single-product .related.products li.product a.button,
.single-product .related.products li.product button.button,
.up-sells li.product a.button{
  margin:.5rem 1rem 1rem !important;
  font-size:.78rem !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:transparent !important;
  border:1px solid var(--line,#E7DECF) !important;
  color:var(--espresso,#1B1611) !important;
  border-radius:3px !important;
  padding:.55rem 1.1rem !important;
  transition:all .25s ease !important;
  text-align:center;
}
.single-product .related.products li.product a.button:hover,
.up-sells li.product a.button:hover{
  background:var(--espresso,#1B1611) !important;
  color:var(--ivory,#FAF6F0) !important;
}

/* Up-sells (if any) — same treatment */
.single-product .up-sells{
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:3rem !important;
  padding-top:3rem;
  border-top:1px solid var(--line);
}

/* ============================================================
   PART D: Hide unwanted sidebar on WC pages
   Theme outputs div#sidebar (not #secondary!) as direct body child.
   NOTE: Do NOT touch .shop-side — user wants the Shop page
   categories sidebar to remain as-is. Only hide the stray
   #sidebar leak on single-product pages.
   ============================================================ */
.single-product #sidebar,
.single-product #secondary,
.single-product .widget-area,
body.single-product #sidebar{
  display:none !important;
}

/* When no sidebar, make content full width */
.single-product .site-main,
.post-type-archive-product .site-main,
.archive.post-type-archive-product .shop-main,
.tax-product_cat .content-area{
  width:100%;
  max-width:100%;
  float:none;
  margin:0;
  padding:0;
}
.single-product .site-main,
.post-type-archive-product .site-main,
.archive.post-type-archive-product .shop-main,
.tax-product_cat .content-area{
  width:100%;
  max-width:100%;
  float:none;
  margin:0;
  padding:0;
}

/* ============================================================
   PART E: [REMOVED 2026-07-10]
   User iron rule: do not change things not explicitly requested.
   Shop page product-card styling was reverted — theme default
   rendering restored. Only PDP (single-product) fixes remain.
   ============================================================ */

/* ============================================================
   PART G: PDP — Quantity Input & Add to Cart Button
   Replace WC default browser-native styles with brand-consistent UI.
   ============================================================ */

/* Cart form container */
.single-product form.cart{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:1.5rem !important;
  flex-wrap:wrap;
}

/* Quantity wrapper */
.single-product .quantity{
  display:inline-flex;
  align-items:center;
}

/* Quantity input — clean minimal number box */
.single-product .quantity input.qty{
  width:72px !important;
  height:48px !important;
  border:1px solid var(--line,#E7DECF) !important;
  border-radius:4px !important;
  background:var(--ivory,#FAF6F0) !important;
  color:var(--espresso,#1B1611) !important;
  font-family:var(--sans,"Jost",sans-serif) !important;
  font-size:.95rem !important;
  font-weight:500 !important;
  text-align:center !important;
  padding:0 .5rem !important;
  outline:none !important;
  transition:border-color .25s ease, box-shadow .25s ease !important;
  /* Remove spinner arrows (webkit) */
  -moz-appearance:textfield !important;
}
.single-product .quantity input.qty::-webkit-inner-spin-button,
.single-product .quantity input.qty::-webkit-outer-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
.single-product .quantity input.qty:focus{
  border-color:var(--gold,#B0894F) !important;
  box-shadow:0 0 0 2px rgba(176,137,79,.15) !important;
}

/* Add to Cart button — primary CTA, brand gold accent */
.single-product .single_add_to_cart_button,
.single-product form.cart button[type=submit]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:180px;
  height:48px !important;
  padding:0 2rem !important;
  background:transparent !important;
  color:var(--gold-soft,#C9A86A) !important;
  border:2px solid var(--gold,#B0894F) !important;
  border-radius:4px !important;
  font-family:var(--sans,"Jost",sans-serif) !important;
  font-size:.85rem !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  transition:all .3s ease !important;
  position:relative;
  overflow:hidden;
}
.single-product .single_add_to_cart_button:hover,
.single-product form.cart button[type=submit]:hover{
  background:var(--gold,#B0894F) !important;
  color:#fff !important;
  box-shadow:0 6px 20px rgba(176,137,79,.25) !important;
  transform:translateY(-1px);
}
.single-product .single_add_to_cart_button:active,
.single-product form.cart button[type=submit]:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(176,137,79,.2) !important;
}

/* ============================================================
   PART F: Responsive adjustments (PDP only)
   NOTE: Shop-page card responsive rules removed per user iron
   rule — do not touch Shop page rendering.
   ============================================================ */
@media(max-width:980px){
  .single-product .type-product > .woocommerce-tabs,
  .single-product .type-product > .related.products{
    margin-top:2rem !important;
    padding:0 0 !important;
  }
  .single-product .woocommerce-tabs ul.tabs li a{
    padding:.7rem 1.1rem;
    font-size:.82rem;
  }
  /* Related products responsive columns */
  .single-product .related.products > ul.products,
  .up-sells > ul.products{
    grid-template-columns:repeat(3,1fr) !important;
  }
  /* Cart form stack on tablet */
  .single-product form.cart{
    gap:.8rem;
  }
  .single-product .single_add_to_cart_button{
    min-width:150px;
    padding:0 1.5rem !important;
  }
}
@media(max-width:640px){
  .single-product .woocommerce-tabs ul.tabs{
    flex-wrap:wrap;
  }
  .single-product .woocommerce-tabs ul.tabs li{
    flex:1 1 auto;
  }
  .single-product .woocommerce-tabs ul.tabs li a{
    padding:.6rem .8rem;
    font-size:.76rem;
    text-align:center;
  }
  /* Related products mobile */
  .single-product .related.products > ul.products,
  .up-sells > ul.products{
    grid-template-columns:repeat(2,1fr) !important;
    gap:1rem !important;
  }
  /* Cart form — stack vertically on mobile */
  .single-product form.cart{
    flex-direction:row;
    width:100%;
  }
  .single-product .quantity input.qty{
    width:64px !important;
    height:44px !important;
  }
  .single-product .single_add_to_cart_button{
    flex:1 !important;
    min-width:auto !important;
    height:44px !important;
  }
}

/* ==== WOOCOMMERCE COMPREHENSIVE FIX v2 (managed block) END ==== */
