/* ==========================================================================
   ORPAT — Premium design layer (v1)
   A brand-honoring elevation over WoodMart: warm ink + brass accent + ivory,
   an elegant serif display (Fraunces) over the theme's clean sans, editorial
   spacing, refined components and tasteful motion. Loaded after the theme CSS.
   Reversible: remove the enqueue in functions.php (git baseline f601b83e).
   ========================================================================== */

/* Smooth in-page anchor scrolling for CTA buttons / links that jump to a #section
   (e.g. #lp-form, #apply, #library) — replaces the browser's instant, jerky jump.
   scroll-margin-top keeps the target clear of the sticky header. Honors reduced-motion. */
@media (prefers-reduced-motion: no-preference){
  html{ scroll-behavior:smooth; }
}
:target,
section[id]{ scroll-margin-top:100px; }

:root{
  /* Brand palette — derived from the ORPAT wordmark (ink) + Ajanta clock hands (brass) */
  --o-ink:#17130f;
  --o-ink-2:#2a2320;
  --o-brass:#b0894e;
  --o-brass-deep:#8f6c34;
  --o-brass-soft:#d8c39c;
  --o-ivory:#f6f2ea;
  --o-cream:#fbf9f4;
  --o-text:#2b2621;
  --o-muted:#79706500;         /* (overridden below; kept for cascade order) */
  --o-muted:#796f64;
  --o-line:#e8e0d2;
  --o-white:#fff;
  --o-shadow:0 1px 2px rgba(23,19,15,.04),0 10px 34px -12px rgba(23,19,15,.14);
  --o-shadow-sm:0 1px 2px rgba(23,19,15,.05),0 4px 14px -8px rgba(23,19,15,.12);
  /* Radius scale — SITE-WIDE consistency. Every element uses one of these; never a one-off value.
     sm=controls/chips/inputs · (base)=cards/media/sections · lg=hero & feature panels · pill=buttons/badges */
  --o-radius-sm:10px;
  --o-radius:14px;
  --o-radius-lg:22px;
  --o-radius-pill:999px;
  --o-ease:cubic-bezier(.22,.61,.36,1);
  --o-serif:'Fraunces','Cormorant Garamond',Georgia,'Times New Roman',serif;
}

/* ---- Typographic system ------------------------------------------------- */
.home h1,.home h2,.woocommerce-page h1.product_title,
h1.entry-title,.wd-page-title h1,
.orpat-serif,
.elementor-widget-heading .elementor-heading-title{
  font-family:var(--o-serif);
  letter-spacing:-.015em;
  font-weight:520;
  font-optical-sizing:auto;
}
.woocommerce div.product .product_title{
  font-family:var(--o-serif);letter-spacing:-.01em;font-weight:560;line-height:1.15;
}
/* refined section eyebrow used by our blocks */
.orpat-eyebrow{
  font-family:inherit;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--o-brass-deep);font-weight:700;display:inline-flex;align-items:center;gap:.6em;
}
.orpat-eyebrow::before{content:"";width:26px;height:1px;background:var(--o-brass);display:inline-block}

/* ---- Buttons: elevate the WoodMart / Woo pills into confident CTAs ------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.wd-buy-now-btn a,
.btn.btn-style-default,.single_add_to_cart_button,
a.button.wc-forward,.orpat-btn{
  background:var(--o-ink)!important;color:var(--o-white)!important;
  border:1px solid var(--o-ink)!important;border-radius:999px!important;
  font-weight:600!important;letter-spacing:.02em;text-transform:none;
  padding:.85em 1.9em!important;transition:transform .35s var(--o-ease),
    background .35s var(--o-ease),box-shadow .35s var(--o-ease),color .35s var(--o-ease)!important;
  box-shadow:var(--o-shadow-sm);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.single_add_to_cart_button:hover,.orpat-btn:hover{
  background:var(--o-brass-deep)!important;border-color:var(--o-brass-deep)!important;
  color:var(--o-white)!important;transform:translateY(-2px);
  box-shadow:0 14px 30px -12px rgba(143,108,52,.5)!important;
}
/* secondary / ghost */
.orpat-btn-ghost{
  background:transparent!important;color:var(--o-ink)!important;border:1.5px solid var(--o-ink)!important;
  border-radius:999px!important;padding:.8em 1.8em!important;font-weight:600!important;
  transition:all .35s var(--o-ease);
}
.orpat-btn-ghost:hover{background:var(--o-ink)!important;color:var(--o-white)!important}

/* ---- Links & accents ---------------------------------------------------- */
.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,.price ins,.amount{
  color:var(--o-ink);font-weight:650;
}
.woocommerce div.product p.price{font-size:1.55rem;font-family:var(--o-serif);letter-spacing:-.01em}

/* ---- Product cards: quieter ground, refined hover, elegant badge -------- */
.woocommerce ul.products li.product,.wd-product{
  border-radius:var(--o-radius);transition:transform .4s var(--o-ease),box-shadow .4s var(--o-ease);
}
.wd-product:hover,.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
}
.product-labels .onsale,.product-labels .out-of-stock,
span.onsale,.wd-product .out-of-stock,.woocommerce span.onsale{
  background:var(--o-ink)!important;color:var(--o-white)!important;border-radius:999px!important;
  font-size:.62rem!important;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
  padding:.5em .9em!important;box-shadow:none!important;min-height:0!important;line-height:1!important;
}
span.onsale{background:var(--o-brass-deep)!important}

/* ---- Content grounds: warm ivory instead of cold grey ------------------- */
.woocommerce-tabs,.wd-single-tabs,.related.products,.up-sells,
.woocommerce .cart-collaterals,.woocommerce-checkout .col2-set,
.wd-section-simple-title{background-color:transparent}
body.woocommerce-page,body.single-product{background-color:var(--o-cream)}

/* refined hairlines */
.woocommerce table.shop_table,.woocommerce-tabs .wd-nav-tabs,
.wd-single-tabs,hr{border-color:var(--o-line)!important}

/* ---- Header polish: elegant nav + brass hover underline ----------------- */
.whb-general-header .wd-header-nav .item-level-0 > a{
  font-weight:600;letter-spacing:.01em;position:relative;
}
.whb-general-header .wd-header-nav .item-level-0 > a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--o-brass);transition:right .38s var(--o-ease);border-radius:2px;
}
.whb-general-header .wd-header-nav .item-level-0:hover > a::after{right:0}

/* ---- FIX: my-account / login dropdown overflowing off-canvas (bug seen) -- */
.wd-dropdown-my-account,.wd-dropdown{
  /* max-width:min(340px,92vw);overflow:hidden; */
}
.wd-dropdown-my-account{right:0;left:auto}

/* ---- Footer: refine the dark footer with brass accents ------------------ */
.footer-container .wd-widget-title,.site-footer .widget-title,
.footer-container h4,.footer-container h5{
  letter-spacing:.02em;color:var(--o-white);font-weight:600;
}
.footer-container a:hover{color:var(--o-brass-soft)!important}

/* ---- Custom Orpat form templates: premium inputs ------------------------ */
form#refund .form-control,form#distributorship .form-control,
form#corporategifting .form-control,form#intdistributorship .form-control,
form#raisecomplaint .form-control,
.formstart input[type=text],.formstart input[type=email],.formstart input[type=tel],
.formstart input[type=number],.formstart select,.formstart textarea{
  border:1px solid var(--o-line)!important;border-radius:10px!important;
  padding:.8em 1em!important;background:var(--o-white);transition:border-color .3s var(--o-ease),box-shadow .3s var(--o-ease);
  font-size:.98rem;
}
.formstart input:focus,.formstart select:focus,.formstart textarea:focus,.form-control:focus{
  border-color:var(--o-brass)!important;box-shadow:0 0 0 3px rgba(176,137,78,.16)!important;outline:none;
}
.orpat-form-notice{border-radius:12px;font-family:inherit}

/* ---- Motion: respect reduced-motion ------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}

/* ---- Focus visibility (a11y) -------------------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,.button:focus-visible{
  outline:2px solid var(--o-brass);outline-offset:2px;
}

/* =========================================================================
   STOREFRONT ROLLOUT — shop · product · cart · checkout · tabs
   ========================================================================= */

/* Breadcrumbs: refined, brass separators, fix the 7px left bleed */
.wd-breadcrumbs,.woocommerce-breadcrumb{
  font-size:.8rem!important;letter-spacing:.02em;color:var(--o-muted);padding-left:0!important;
}
.wd-breadcrumbs a,.woocommerce-breadcrumb a{color:var(--o-muted)}
.wd-breadcrumbs a:hover,.woocommerce-breadcrumb a:hover{color:var(--o-brass-deep)}
.wd-page-title.title-size-default .entry-title,.wd-page-title .entry-title{
  font-family:var(--o-serif);letter-spacing:-.01em;font-weight:560;
}

/* Shop / category grid */
.woocommerce ul.products li.product .wd-entities-title,
.wd-product .wd-entities-title a{font-family:var(--o-serif)!important;font-weight:560;letter-spacing:-.005em;font-size:1.02rem}
.woocommerce ul.products li.product .price,.wd-product .price{font-family:var(--o-serif);font-weight:600;color:var(--o-ink)}
.wd-product .star-rating span::before,.star-rating span::before{color:var(--o-brass)}
.wd-nav-shop-loop,.wd-shop-tools{border-color:var(--o-line)!important}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current{
  border-radius:10px!important;border-color:var(--o-line)!important;font-weight:600;
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--o-ink)!important;color:#fff!important;border-color:var(--o-ink)!important}

/* Single product: quantity, meta, stock, gallery frame */
.woocommerce .quantity .qty,.quantity input.qty{
  border:1px solid var(--o-line)!important;border-radius:10px!important;font-weight:600;background:var(--o-white);
}
.wd-single-meta,.product_meta{font-size:.85rem;color:var(--o-muted)}
.wd-single-meta .wd-meta-title,.product_meta .sku_wrapper{font-weight:600}
.stock.in-stock{color:var(--o-brass-deep);font-weight:600}
.stock.out-of-stock{color:#b3261e;font-weight:600}
.woocommerce div.product div.images .wd-gallery-img,.wd-carousel-item img{border-radius:12px}
.summary .price del{color:var(--o-muted);opacity:.7}
.summary .price ins{text-decoration:none}

/* Product tabs: elegant underline nav */
.wd-single-tabs .wd-nav-tabs,.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--o-line)!important}
.wd-single-tabs .wd-nav-tabs>li>a,.woocommerce-tabs ul.tabs li a{
  font-family:var(--o-sans);font-weight:600!important;letter-spacing:.02em;text-transform:none!important;color:var(--o-muted)!important;
  position:relative;background:transparent!important;border:0!important;padding:.9em 0!important;margin-right:2rem!important;
}
.wd-single-tabs .wd-nav-tabs>li.active>a,.woocommerce-tabs ul.tabs li.active a{color:var(--o-ink)!important}
.wd-single-tabs .wd-nav-tabs>li.active>a::after,.woocommerce-tabs ul.tabs li.active a::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--o-brass);border-radius:2px;
}
.woocommerce-tabs .panel h2,.wd-single-tabs .wc-tab h2{font-family:var(--o-serif);font-weight:560}

/* Cart + checkout: tables, cards, order review */
.woocommerce table.shop_table{border:1px solid var(--o-line)!important;border-radius:14px!important;overflow:hidden;background:var(--o-white)}
.woocommerce table.shop_table thead th,.woocommerce table.shop_table th{font-family:var(--o-sans);font-weight:600;letter-spacing:.02em}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-family:var(--o-serif);font-weight:560}
.woocommerce-checkout .woocommerce-checkout-review-order,.woocommerce .cart-collaterals .cart_totals{
  background:var(--o-white);border:1px solid var(--o-line);border-radius:16px;padding:1.6rem 1.7rem;box-shadow:var(--o-shadow-sm);
}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-checkout .form-row .select2-selection,.woocommerce-checkout select{
  border:1px solid var(--o-line)!important;border-radius:10px!important;padding:.75em .95em!important;background:var(--o-white)!important;
  transition:border-color .3s var(--o-ease),box-shadow .3s var(--o-ease);
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{
  border-color:var(--o-brass)!important;box-shadow:0 0 0 3px rgba(176,137,78,.15)!important;outline:none;
}
/* payment methods: refined boxes, brass-selected */
.woocommerce-checkout #payment{background:transparent!important}
.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  border:1px solid var(--o-line);border-radius:12px;margin-bottom:.7rem;padding:.35rem .3rem;background:var(--o-white);transition:border-color .3s var(--o-ease),box-shadow .3s var(--o-ease);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked){
  border-color:var(--o-brass);box-shadow:0 0 0 2px rgba(176,137,78,.16);
}
.woocommerce-checkout #payment div.payment_box{background:var(--o-cream)!important;border-radius:10px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--o-cream)!important}
.woocommerce #payment #place_order,.wc-block-components-checkout-place-order-button{width:100%;justify-content:center;font-size:.95rem!important}

/* WooCommerce notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-radius:12px!important;border-top:none!important;padding:1em 1.4em!important;font-size:.92rem;box-shadow:var(--o-shadow-sm);
}
.woocommerce-message{background:var(--o-cream)!important;border-left:3px solid var(--o-brass)!important;color:var(--o-text)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--o-brass)!important}

/* consistent section rhythm on storefront */
.woocommerce .related.products,.woocommerce .up-sells{margin-top:3.5rem}
.woocommerce .related.products>h2,.woocommerce .up-sells>h2,.wd-products-element .title{
  font-family:var(--o-serif);font-weight:560;letter-spacing:-.01em;
}

/* ---- Homepage: hide the older intro video section (kept in the DB; delete this rule to restore) ---- */
body.home .elementor-element-26e8d44{ display:none !important; }
/* ---- Homepage: hide the video banner directly below the WebGL hero (kept in the DB; delete to restore) ---- */
body.home .elementor-element-55ec472{ display:none !important; }

/* =========================================================================
 * Product archive: category filter as a premium STICKY LEFT SIDEBAR (desktop),
 * product grid on the right. Tablet/mobile off-canvas behaviour left to WoodMart.
 * Filter links + behaviour untouched.
 * ========================================================================= */
@media (min-width:1025px){
  /* The inner wrapper that holds the filter column + product column had display:inline, so its
     flex-direction was moot. Force it to a flex row. Robust :has() selector (no template-id dependency). */
  .woocommerce .e-con-inner:has(> .wd-col-offcanvas-sm),
  .elementor-element-cfd9eda > .e-con-inner{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:flex-start !important; gap:clamp(22px,2.2vw,40px) !important;
  }
  .woocommerce .wd-col-offcanvas-sm{
    flex:0 0 262px !important; width:262px !important; max-width:262px !important;
    position:sticky !important; top:96px !important; align-self:flex-start !important;
  }
  /* flex:1 1 0% + min-width:0 makes the grid fill exactly the space left of the 262px sidebar
     (the row gap is a clamp(), so a hard-coded max-width subtraction left a dead strip / mis-sized column). */
  .woocommerce .wd-col-content-sm{ flex:1 1 0% !important; min-width:0 !important; max-width:none !important; }
}
/* The product column is an Elementor container carrying a GLOBAL (all-viewport) max-height + overflow:auto
   with a hidden scrollbar. That trapped the whole product grid inside a fixed-height inner-scroll box sized
   to the short filter sidebar, so the archive rendered clipped and overlapping. Let the grid flow in the
   page at every breakpoint (the off-canvas filter is a fixed overlay and needs no inner scroll here). */
.woocommerce .wd-col-content-sm{ max-height:none !important; overflow:visible !important; }

/* the filter widget itself: clean vertical sidebar list */
.woocommerce .wd-product-category-filter{
  margin:0; padding:clamp(16px,1.4vw,20px);
  background:#faf6ee; border:1px solid #ece2d0; border-radius:14px;
}
.woocommerce .wd-product-category-filter .widget-title{
  font-family:'Fraunces',Georgia,serif; font-size:.74rem; letter-spacing:.16em;
  text-transform:uppercase; color:#8a6a38; font-weight:600; margin:0 0 14px; padding:0 0 12px;
  border-bottom:1px solid #ece2d0;
}
.woocommerce .wd-product-category-filter .wd-scroll{ max-height:none !important; }
/* .woocommerce .wd-product-category-filter .wd-scroll-content{ overflow:visible !important; } */
.woocommerce .wd-product-category-filter ul{ display:flex; flex-direction:column; gap:2px; list-style:none; margin:0; padding:0; }
.woocommerce .wd-product-category-filter ul li{ margin:0 !important; padding:0 !important; border:0 !important; }
.woocommerce .wd-product-category-filter a.wd-filter-lable{
  display:flex; align-items:center; gap:9px; padding:9px 12px; width:100%; border-radius:9px;
  background:transparent; color:#2c2620; font-size:.92rem; font-weight:500; line-height:1.3;
  text-decoration:none; transition:background .2s,color .2s;
}
.woocommerce .wd-product-category-filter a.wd-filter-lable:hover{ background:#fff; color:#8a6a38; }
.woocommerce .wd-product-category-filter li.chosen a.wd-filter-lable,
.woocommerce .wd-product-category-filter li.wd-active a.wd-filter-lable,
.woocommerce .wd-product-category-filter li.current-cat a.wd-filter-lable{ background:transparent; color:#8a6a38; font-weight:700; }

/* Hide pure-SEO / demo categories from the shop category filter (keyword landing terms, not
   real shopping categories). Pure CSS — no server-side get_terms hook, which hung the category
   archive on this small server. IDs: 188 wall-clock-manufacturer, 269 vintage-clock, 415 xxl-clock,
   262 digital-clock-for-table, 82 luxury-in-motion, 413 swarovski-elements, 280 premium-diamond-clocks,
   353 uncategorized. */
.wd-product-category-filter li.cat-item-188,
.wd-product-category-filter li.cat-item-269,
.wd-product-category-filter li.cat-item-415,
.wd-product-category-filter li.cat-item-262,
.wd-product-category-filter li.cat-item-82,
.wd-product-category-filter li.cat-item-413,
.wd-product-category-filter li.cat-item-280,
.wd-product-category-filter li.cat-item-144,
.wd-product-category-filter li.cat-item-106,
.wd-product-category-filter li.cat-item-353{ display:none !important; }

/* =========================================================================
 * Premium attribute filter panel (inc/orpat-shop-filters.php) — replaces WoodMart's
 * misconfigured filters-area on the shop / category archive.
 * ========================================================================= */
.opg-shop-filters{ background:#fbf7ef; border:1px solid #ece2d0; border-radius:14px; padding:16px 18px; margin:0 0 22px; }
.opg-sf-inner{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:20px 30px; }
.opg-sf-group{ display:flex; flex-direction:column; gap:9px; min-width:0; }
.opg-sf-group__label{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#8a8073; font-weight:600; }
.opg-sf-items{ display:flex; flex-wrap:wrap; gap:8px; }
.opg-sf-chip{ display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px;
  border:1px solid #dcd0bb; background:#fff; color:#2c2620; font-size:.85rem; text-decoration:none;
  transition:border-color .2s,background .2s,color .2s; }
.opg-sf-chip:hover{ border-color:#b0894e; }
.opg-sf-chip.is-on{ background:#b0894e; border-color:#b0894e; color:#fff; }
.opg-sf-chip__c{ font-size:.72rem; opacity:.65; }
.opg-sf-chip.is-on .opg-sf-chip__c{ opacity:.9; }
.opg-sf-swatch{ display:inline-flex; flex-direction:column; align-items:center; gap:5px; width:52px; text-decoration:none; }
.opg-sf-swatch__dot{ width:30px; height:30px; border-radius:50%; background:var(--sw,#ccc);
  border:1.5px solid rgba(0,0,0,.14); box-shadow:0 0 0 2px transparent; transition:box-shadow .2s,transform .2s; }
.opg-sf-swatch:hover .opg-sf-swatch__dot{ transform:translateY(-1px); }
.opg-sf-swatch.is-on .opg-sf-swatch__dot{ box-shadow:0 0 0 2px #b0894e; }
.opg-sf-swatch.is-noswatch .opg-sf-swatch__dot{ background:#efe7d8; }
.opg-sf-swatch__t{ font-size:.68rem; color:#6f675b; text-align:center; line-height:1.1; max-width:52px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opg-sf-swatch.is-on .opg-sf-swatch__t{ color:#8a6a38; font-weight:600; }
.opg-sf-pricein{ display:flex; align-items:center; gap:6px; }
.opg-sf-pricein input{ width:74px; padding:6px 8px; border:1px solid #dcd0bb; border-radius:8px; background:#fff;
  font-size:.85rem; color:#2c2620; }
.opg-sf-pricein span{ color:#8a8073; }
.opg-sf-pricein button{ padding:6px 13px; border:1px solid #b0894e; background:#b0894e; color:#fff;
  border-radius:8px; font-size:.8rem; cursor:pointer; }
.opg-sf-pricein button:hover{ background:#8a6a38; border-color:#8a6a38; }
.opg-sf-foot{ margin-top:12px; padding-top:12px; border-top:1px solid #ece2d0; }
.opg-sf-clear{ font-size:.8rem; color:#8a6a38; text-decoration:underline; }
.opg-sf-clear:hover{ color:#b0894e; }
@media (max-width:600px){
  .opg-shop-filters{ padding:14px; }
  .opg-sf-inner{ gap:16px 20px; }
  .opg-sf-swatch{ width:46px; }
  .opg-sf-swatch__dot{ width:26px; height:26px; }
}

/* =========================================================================
 * Single product: premium specification table + clean, consistent CTA group.
 * ========================================================================= */
.woocommerce .woocommerce-product-attributes.shop_attributes,
.woocommerce table.shop_attributes{ border:0 !important; background:transparent; margin:6px 0 22px; }
.woocommerce .shop_attributes tr,
.woocommerce table.shop_attributes tr{ border-bottom:1px solid #ece2d0 !important; background:transparent !important; }
.woocommerce .shop_attributes th,
.woocommerce table.shop_attributes th{ background:transparent !important; border:0 !important;
  font-family:'Fraunces',Georgia,serif; font-weight:600; color:#17130f; padding:13px 18px 13px 0 !important; width:38%; }
.woocommerce .shop_attributes td,
.woocommerce table.shop_attributes td{ background:transparent !important; border:0 !important;
  padding:13px 0 !important; color:#5b5346; font-style:normal; }
/* CTA group: even spacing + consistent premium pills, clear primary (Add to cart) */
.single-product form.cart{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.single-product .single_add_to_cart_button,
.single-product .wc-buy-now-btn,
.single-product .wd-buy-now-btn{ border-radius:999px !important; letter-spacing:.04em; }
.single-product .wd-buy-now-btn.btn-accent{ box-shadow:0 14px 30px -14px rgba(176,137,78,.6); }

/* =========================================================================
 * Product cards (shop / archive): "Add to cart" = readable WHITE OUTLINE button
 * (secondary), distinct from the solid-black "Buy Now". (A prior pass set dark
 * text on the button's black background, making the text invisible.)
 * ========================================================================= */
.woocommerce .wd-product a.add_to_cart_button:not(.wc-buy-now-btn),
.woocommerce .wd-product .wd-add-btn > a:not(.wc-buy-now-btn),
.woocommerce ul.products li.product a.add_to_cart_button:not(.wc-buy-now-btn){
  color:#fff !important; border:1px solid rgba(216,184,119,.55) !important; border-radius:999px !important;
}
.woocommerce .wd-product a.add_to_cart_button:not(.wc-buy-now-btn):hover,
.woocommerce .wd-product .wd-add-btn > a:not(.wc-buy-now-btn):hover,
.woocommerce ul.products li.product a.add_to_cart_button:not(.wc-buy-now-btn):hover{
  color:#e7cd97 !important; border-color:#b0894e !important;
}
.woocommerce ul.products li.product .price,
.woocommerce .wd-product .price{ color:#8a6a38; font-weight:600; }

/* Single product: the WoodMart sticky product-summary bar (wd-sticky-container dc50c) followed the
   scroll ("scroll-bind" behaviour). Make it flow in place instead of sticking. Header stays sticky. */
.single-product .elementor-element-dc50c{ position:static !important; top:auto !important; }
.single-product .wd-sticky-btn{ display:none !important; }

/* =========================================================================
 * Product category / shop banner: present the uploaded banner plate at its own
 * proportions, full-bleed, at every viewport.
 *
 * History: this block originally overlaid a live CSS heading on a plain photo, over a
 * legibility scrim. The house artwork now bakes the category name and tagline INTO the
 * plate, so the scrim and the overlaid <h1> are suppressed (the <h1> stays in the DOM,
 * visually hidden, for SEO) and the band is driven by the artwork's ratio rather than a
 * fixed min-height — which was cropping the name off at common laptop widths.
 * Applies to every dynamic product-category / sub-category / shop archive.
 *
 * Rollback: restore the `min-height:clamp(200px,25vw,300px); display:flex` band and
 * un-suppress the ::before/::after and .wd-title-wrapp rules below.
 * ========================================================================= */
.woocommerce.archive .wd-page-title,
.post-type-archive-product .wd-page-title{
  /* Drive the band from the artwork's true ratio (2048x344) instead of a fixed
     min-height. The old `min-height:clamp(200px,25vw,300px)` forced the band TALLER
     than the image is at viewports below ~1785px, and `object-fit:cover` then scaled
     the artwork up and clipped its left/right edges — cutting off the category name
     that is baked into the plate. Ratio-driven, the image always fits exactly.
     This mirrors what the <=1024px block further down already does. */
  aspect-ratio:2048 / 344;
  /* WoodMart adds `padding-block: var(--wd-title-sp)` (up to 100px at title-size-large).
     With aspect-ratio that padding stacks ON TOP of the ratio box, leaving a dead band
     under the artwork — so zero it, as the <=1024px block does. */
  --wd-title-sp:0px;
  padding-block:0 !important;
  min-height:0; display:block;
  position:relative; overflow:hidden;
  background:#14100b !important; /* fallback if a banner image is ever missing */
}
/* Show WoodMart's banner image (was display:none) and make it cover the band */
.woocommerce.archive .wd-page-title .wd-page-title-bg,
.post-type-archive-product .wd-page-title .wd-page-title-bg{
  display:block !important; position:absolute; inset:0; z-index:0; margin:0;
}
.woocommerce.archive .wd-page-title .wd-page-title-bg picture,
.post-type-archive-product .wd-page-title .wd-page-title-bg picture{
  display:block; width:100%; height:100%;
}
.woocommerce.archive .wd-page-title .wd-page-title-bg img,
.post-type-archive-product .wd-page-title .wd-page-title-bg img{
  width:100% !important; height:100% !important; object-fit:cover; object-position:center;
}
/* The current artwork carries its own treatment and its own baked-in category name,
   so the old legibility scrim + overlaid <h1> are now redundant (they double the text
   that is already in the plate). Both are suppressed; the heading is kept in the DOM
   but visually hidden for SEO / screen readers, exactly as the mobile block does. */
.woocommerce.archive .wd-page-title::before,
.post-type-archive-product .wd-page-title::before,
.woocommerce.archive .wd-page-title::after,
.post-type-archive-product .wd-page-title::after{ display:none !important; }
.woocommerce.archive .wd-page-title > .container,
.post-type-archive-product .wd-page-title > .container,
.woocommerce.archive .wd-page-title .wd-title-wrapp,
.post-type-archive-product .wd-page-title .wd-title-wrapp,
.woocommerce.archive .wd-page-title .title-wrapper,
.post-type-archive-product .wd-page-title .title-wrapper{
  position:absolute !important; width:1px !important; height:1px !important;
  overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important;
  white-space:nowrap !important; padding:0 !important; margin:-1px !important; border:0 !important;
}
.woocommerce.archive .wd-page-title .title-wrapper,
.post-type-archive-product .wd-page-title .title-wrapper{ text-align:left; position:relative; z-index:2; }
.woocommerce.archive .wd-page-title .entry-title,
.woocommerce.archive .wd-page-title .main-page-title,
.woocommerce.archive .wd-page-title h1,
.post-type-archive-product .wd-page-title h1{
  font-family:'Fraunces',Georgia,serif !important; color:#fbf5ea !important; font-weight:600 !important;
  font-size:clamp(1.9rem,3.6vw,3rem) !important; margin:0 !important; letter-spacing:-.01em;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.woocommerce.archive .wd-page-title .woodmart-breadcrumbs,
.woocommerce.archive .wd-page-title .wd-breadcrumbs{ color:#e9ddc9 !important; }
.woocommerce.archive .wd-page-title .woodmart-breadcrumbs a,
.woocommerce.archive .wd-page-title a{ color:#e6c68a !important; }
/* the per-category tagline (echoed into the archive description area) */
.orpat-cat-tagline{ font-family:'Jost','Inter',sans-serif; color:#6f675b; font-size:clamp(1rem,1.4vw,1.15rem);
  line-height:1.55; max-width:70ch; margin:0 0 18px; }
.orpat-cat-tagline.is-banner{ color:#cabfad; margin:10px 0 0; max-width:62ch; }

/* =============================================================================
 * Custom brand cursor — a brass "second-hand" dot with a trailing precision
 * ring that opens up over anything clickable. Desktop + fine-pointer only;
 * native caret kept on text fields; fully disabled for reduced-motion / touch.
 * ========================================================================== */
@media (hover:hover) and (pointer:fine){
  html.orpat-cursor-on, html.orpat-cursor-on a, html.orpat-cursor-on button,
  html.orpat-cursor-on [role="button"], html.orpat-cursor-on .opg-btn{ cursor:none; }
  html.orpat-cursor-on input, html.orpat-cursor-on textarea, html.orpat-cursor-on select,
  html.orpat-cursor-on [contenteditable]{ cursor:text; }
  .orpat-cur{ position:fixed; top:0; left:0; z-index:99998; pointer-events:none; will-change:transform; }
  .orpat-cur-ring{ width:34px; height:34px; margin:-17px 0 0 -17px; border:1.5px solid var(--o-brass);
    border-radius:var(--o-radius-pill); background:transparent;
    transition:width .28s var(--o-ease),height .28s var(--o-ease),margin .28s var(--o-ease),
      background .28s var(--o-ease),border-color .28s var(--o-ease),opacity .28s var(--o-ease); }
  .orpat-cur-dot{ width:6px; height:6px; margin:-3px 0 0 -3px; background:var(--o-brass);
    border-radius:var(--o-radius-pill); transition:opacity .2s var(--o-ease); }
  html.orpat-hover .orpat-cur-ring{ width:56px; height:56px; margin:-28px 0 0 -28px;
    background:rgba(176,137,78,.12); border-color:var(--o-brass-deep); }
  html.orpat-hover .orpat-cur-dot{ opacity:0; }
  html.orpat-down .orpat-cur-ring{ width:26px; height:26px; margin:-13px 0 0 -13px; }
}
@media (prefers-reduced-motion:reduce){ .orpat-cur{ display:none; } html.orpat-cursor-on{ cursor:auto; } }

/* =============================================================================
 * ROUND-EDGE NORMALIZATION (site-wide) + premium Account / Cart
 * Fulfils the "same round edges + consistent components everywhere" rule:
 * every button = pill token, every input = sm token, every card/panel = base token.
 * ========================================================================== */
/* Buttons -> pill */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.btn,.button,.wd-buy-now-btn a,.single_add_to_cart_button,a.button.wc-forward,.added_to_cart,
.woocommerce-Button,.checkout-button,.wc-proceed-to-checkout .button,.wp-block-button__link,
button.dt-sc-button,.wd-nav-search .searchsubmit,input[type=submit],.woocommerce-form-login__submit,
.woocommerce-form-register__submit,.woocommerce-form-coupon .button,.actions .button{
  border-radius:var(--o-radius-pill)!important;
}
/* Inputs / selects -> sm */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],
input[type=search],input[type=url],input[type=date],select,textarea,.select2-container .select2-selection,
.woocommerce form .form-row input.input-text,.woocommerce-input-wrapper input,.wd-search-form .searchform input.s{
  border-radius:var(--o-radius-sm)!important;
}
/* Cards / panels / tables / notices -> base */
.woocommerce ul.products li.product,.wd-product,.wd-card,.card,.woocommerce table.shop_table,
.cart_totals,.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews,
.wd-dropdown,.wd-dropdown-my-account,.quantity,.wd-nav-search .searchform,.select2-dropdown{
  border-radius:var(--o-radius)!important;
}

/* --- MY ACCOUNT ----------------------------------------------------------- */
body.woocommerce-account .site-content,body.woocommerce-account .wd-content-area{ background:var(--o-cream); }
.woocommerce-account .woocommerce{ max-width:1080px; margin-inline:auto; }
.woocommerce-account .u-columns,.woocommerce-account form.woocommerce-form-login+*,
.woocommerce-account .col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:26px; max-width:920px; margin:40px auto 0; }
@media(max-width:768px){ .woocommerce-account .u-columns,.woocommerce-account .col2-set{ grid-template-columns:1fr; } }
.woocommerce-account form.login,.woocommerce-account form.register,
.woocommerce-account .woocommerce-ResetPassword{
  background:var(--o-white)!important; border:1px solid var(--o-line)!important; border-radius:var(--o-radius-lg)!important;
  padding:clamp(26px,4vw,40px)!important; box-shadow:var(--o-shadow-sm); }
.woocommerce-account h2,.woocommerce-ResetPassword h2{ font-family:var(--o-serif); font-weight:600; color:var(--o-ink); font-size:1.5rem; margin-bottom:.6em; }
.woocommerce form .form-row label{ font-weight:500; color:var(--o-ink); font-size:.88rem; margin-bottom:6px; }
.woocommerce-form-login__submit,.woocommerce-form-register__submit,.woocommerce-ResetPassword .button{ width:100%; justify-content:center; }
/* account dashboard */
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:12px 16px; border-radius:var(--o-radius-sm); color:var(--o-text); text-decoration:none; transition:background .25s var(--o-ease),color .25s var(--o-ease); }
.woocommerce-MyAccount-navigation li a:hover{ background:var(--o-ivory); color:var(--o-ink); }
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--o-ink); color:#fff; }

/* --- CART ----------------------------------------------------------------- */
body.woocommerce-cart .cart_totals h2,body.woocommerce-cart h1{ font-family:var(--o-serif); color:var(--o-ink); }
.woocommerce-cart .cart-collaterals .cart_totals{ background:var(--o-white); border:1px solid var(--o-line); border-radius:var(--o-radius-lg); padding:26px 28px; box-shadow:var(--o-shadow-sm); }
.woocommerce-cart table.cart{ background:var(--o-white); }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{ width:100%; justify-content:center; padding:1em 1.9em!important; }
.woocommerce .cart .actions .coupon input.input-text{ min-height:44px; }

/* =============================================================================
 * Premium pages: full-bleed layout + fixes + hover micro-interactions
 * ========================================================================== */
/* Free premium pages from WoodMart's max-width content container so section
   backgrounds AND the Ajanta hero go edge-to-edge on big screens, and remove
   the top gap between the header and the first section (.opg-wrap keeps text readable). */
.orpat-premium-page .wd-content-layout.container,
.orpat-premium-page .main-page-wrapper > .container{ max-width:none !important; padding-left:0 !important; padding-right:0 !important; }
.orpat-premium-page .main-page-wrapper{ padding-top:0 !important; margin-top:0 !important; }
.orpat-premium-page .wd-content-layout{ padding-top:0 !important; margin-top:0 !important; }
.orpat-premium-page .opg-page{ overflow-x:clip; }

/* Hide ONLY the malformed search form that rendered with no input (shows just its
   data-count "20"). Functional search forms keep their input, so they stay visible. */
form.searchform:not(:has(input)),.woodmart-ajax-search:not(:has(input)){ display:none !important; }

/* ---- Subtle, eye-catching hover micro-interactions (site-wide) ---------- */
.woocommerce ul.products li.product a.product-image-link,.wd-product .product-image-link{ overflow:hidden; }
.woocommerce ul.products li.product img,.wd-product .product-image-link img{ transition:transform .7s var(--o-ease); }
.woocommerce ul.products li.product:hover img,.wd-product:hover .product-image-link img{ transform:scale(1.06); }
.opg-prod-img,.opg-pc-img,.opg-rel-img,.opg-cat-img{ transition:transform .6s var(--o-ease); }
.opg-prod:hover .opg-prod-img,.opg-post-card:hover .opg-pc-img,.opg-rel:hover .opg-rel-img{ transform:scale(1.04); }
.footer-container a,.site-footer a{ transition:color .3s var(--o-ease),padding-left .3s var(--o-ease); }
.footer-container a:hover,.site-footer a:hover{ padding-left:5px; }
/* brass shimmer sweep across pill buttons on hover */
.opg-btn{ position:relative; overflow:hidden; }
.opg-btn::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.20) 50%,transparent 68%);
  transform:translateX(-130%); transition:transform .7s var(--o-ease); }
.opg-btn:hover::before{ transform:translateX(130%); }

/* =============================================================================
 * Single ORPAT loader — 3D letters (O R P A T) flip in one after another, on a
 * loop, with a gold shine sweep, until the page finishes loading. Everything
 * else WoodMart draws in the preloader (the spinner ring + the logo) is hidden
 * so ORPAT is the only mark on screen.
 * ========================================================================== */
.wd-preloader-img{ width:auto !important; height:auto !important; min-width:0 !important;
  border:0 !important; border-radius:0 !important; background:none !important;
  box-shadow:none !important; animation:none !important; }
.wd-preloader-img::before,.wd-preloader-img::after{ content:none !important; display:none !important; }
.wd-preloader-img > *:not(.orpat-loader){ display:none !important; }

.orpat-loader{ display:inline-flex; gap:.12em; perspective:760px; line-height:1;
  font-family:var(--o-serif); font-weight:500; font-size:clamp(2.2rem,6vw,3.8rem); letter-spacing:.14em; }
.orpat-loader span{ display:inline-block; transform-origin:50% 50%; opacity:0; will-change:transform,opacity;
  background:linear-gradient(100deg,#8a6a3a 0%,#b0894e 38%,#f3e2b8 49%,#fffaf0 50%,#f3e2b8 51%,#b0894e 62%,#8a6a3a 100%);
  background-size:250% 100%; -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 4px 12px rgba(176,137,78,.4));
  animation:orpat-flip 2.7s cubic-bezier(.4,.14,.2,1) infinite, orpat-shine 2.7s linear infinite; }
.orpat-loader span:nth-child(1){ animation-delay:0s }
.orpat-loader span:nth-child(2){ animation-delay:.18s }
.orpat-loader span:nth-child(3){ animation-delay:.36s }
.orpat-loader span:nth-child(4){ animation-delay:.54s }
.orpat-loader span:nth-child(5){ animation-delay:.72s }
@keyframes orpat-flip{
  0%   { opacity:0; transform:rotateY(-90deg) translateZ(-40px) scale(.92); }
  11%  { opacity:1; transform:rotateY(0deg) translateZ(0) scale(1); }
  60%  { opacity:1; transform:rotateY(0deg) translateZ(0) scale(1); }
  75%  { opacity:0; transform:rotateY(88deg) translateZ(-40px) scale(.92); }
  100% { opacity:0; transform:rotateY(88deg) translateZ(-40px) scale(.92); }
}
@keyframes orpat-shine{ 0%{ background-position:250% 0 } 100%{ background-position:-250% 0 } }
@media (prefers-reduced-motion:reduce){
  .orpat-loader span{ opacity:1; transform:none; animation:orpat-shine 3.4s linear infinite; }
}

/* =============================================================================
 * Premium full-bleed VIDEO hero (live homepage) — Ajanta Magic Moments.
 * Horizontal video on desktop, vertical on mobile; brand scrim + overlay copy.
 * ========================================================================== */
.opg-vhero{ position:relative; width:100vw; margin-left:calc(50% - 50vw); overflow:hidden;
	background:var(--o-ink); line-height:0; }
.opg-vhero__media{ display:block; width:100%; height:auto; }
.opg-vhero__media--mob{ display:none; }
@media (max-width:767px){
	.opg-vhero__media--desk{ display:none; }
	.opg-vhero__media--mob{ display:block; }
}
/* Self-contained hero component styles (homepage only loads orpat-premium.css). */
.opg-vhero .opg-eyebrow.is-light{ display:inline-flex; align-items:center; gap:.6em;
	font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
	color:var(--o-brass-soft,#e6cf9e); }
.opg-vhero .opg-eyebrow.is-light::before{ content:""; width:26px; height:1px; background:var(--o-brass-soft,#e6cf9e); }
.opg-vhero .opg-serif{ font-family:var(--o-serif,"Fraunces",Georgia,serif); }
.opg-vhero .opg-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em;
	font-weight:600; font-size:.95rem; line-height:1; padding:15px 30px;
	border-radius:var(--o-radius-pill,999px); border:1px solid transparent; text-decoration:none; cursor:pointer;
	transition:transform .4s var(--o-ease,cubic-bezier(.22,.61,.36,1)), background .3s, color .3s, border-color .3s; }
.opg-vhero .opg-btn--solid{ background:var(--o-brass,#b0894e); color:#fff; box-shadow:0 10px 26px -12px rgba(176,137,78,.7); }
.opg-vhero .opg-btn--solid:hover{ transform:translateY(-3px); }
.opg-vhero .opg-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.42); }
.opg-vhero .opg-btn--ghost:hover{ transform:translateY(-3px); border-color:#fff; }

/* Footer copyright: only one column of content in WoodMart's two-column layout, so it
   gets squeezed to half width and wraps. Give it full width so it sits on one line. */
.wd-copyrights.wd-layout-two-columns .container.wd-grid-g{ display:block !important; }
.wd-copyrights .wd-col-start{ text-align:center; }
@media (min-width:768px){ .wd-copyrights .wd-col-start{ white-space:nowrap; } }

/* ORPAT-CAT-BANNER:START
 * Category / shop page-title banner — correct at every viewport.
 *
 * WoodMart renders: .wd-page-title > .wd-page-title-bg.wd-fill > [picture >] img
 * and gives the band `padding-block: var(--wd-title-sp)` (100px at title-size-large),
 * with the image absolutely positioned. On the house artwork (2048x344 = 5.95:1, with
 * the category name baked in) that produced a stretched image sitting on a dead band.
 *
 * Two faults this replaces:
 *   1. `object-fit: fill` — literally stretches the artwork out of proportion.
 *   2. `.title-wrapper` was hidden, but WoodMart renders `.wd-title-wrapp`, so the
 *      heading container kept reserving ~34px of empty band under the image.
 *
 * Approach: drive the band from the artwork's own aspect ratio, so the image fills it
 * exactly — never cropped, never stretched, no dead space — at any width.
 *
 * Works WITH inc/orpat-category-mobile-banner.php: where a per-category mobile image
 * has been uploaded, that module wraps the <img> in a <picture> and the browser swaps
 * the source at <=1024px. The ratio below is then overridden by .orpat-has-mobile-banner
 * (set by that module) so the taller ~2:1 crop is shown at its own proportions.
 *
 * Rollback: delete this block (to the END marker). The banner reverts to WoodMart's
 * default padded, cover-cropped band.
 * ========================================================================= */
@media (max-width:1024px){
  .woocommerce.archive .wd-page-title,
  .post-type-archive-product .wd-page-title,
  .tax-product_cat .wd-page-title{
    --wd-title-sp:0px;
    padding-block:0 !important;
    min-height:0 !important; height:auto !important;
    aspect-ratio:2048 / 344;              /* the desktop artwork's true ratio */
    display:block !important;
    overflow:hidden;
    background:#14100b !important;        /* only visible if the image fails to load */
  }
  /* A per-category mobile crop is roughly 2:1 — let the band take that shape instead. */
  body.orpat-has-mobile-banner .wd-page-title{
    aspect-ratio:2 / 1;
  }
  .woocommerce.archive .wd-page-title .wd-page-title-bg,
  .post-type-archive-product .wd-page-title .wd-page-title-bg,
  .tax-product_cat .wd-page-title .wd-page-title-bg{
    position:absolute !important; inset:0 !important; margin:0 !important; z-index:0;
  }
  /* <picture> is an inline wrapper — make it fill the band so the <img> can too. */
  .woocommerce.archive .wd-page-title .wd-page-title-bg picture,
  .post-type-archive-product .wd-page-title .wd-page-title-bg picture,
  .tax-product_cat .wd-page-title .wd-page-title-bg picture{
    display:block; width:100%; height:100%;
  }
  .woocommerce.archive .wd-page-title .wd-page-title-bg img,
  .post-type-archive-product .wd-page-title .wd-page-title-bg img,
  .tax-product_cat .wd-page-title .wd-page-title-bg img{
    position:absolute !important; inset:0 !important;
    width:100% !important; height:100% !important;
    object-fit:cover !important;          /* never `fill` — that is the distortion */
    object-position:center center !important;
  }
  /* The artwork carries its own treatment: no scrim, no overlaid heading. */
  .woocommerce.archive .wd-page-title::before,
  .post-type-archive-product .wd-page-title::before,
  .tax-product_cat .wd-page-title::before,
  .woocommerce.archive .wd-page-title::after,
  .post-type-archive-product .wd-page-title::after,
  .tax-product_cat .wd-page-title::after{ display:none !important; }
  /* Hide the heading visually but keep it for SEO / screen readers. WoodMart renders
     .wd-title-wrapp; .title-wrapper is matched too in case the markup varies. */
  .woocommerce.archive .wd-page-title > .container,
  .post-type-archive-product .wd-page-title > .container,
  .tax-product_cat .wd-page-title > .container,
  .woocommerce.archive .wd-page-title .wd-title-wrapp,
  .post-type-archive-product .wd-page-title .wd-title-wrapp,
  .tax-product_cat .wd-page-title .wd-title-wrapp,
  .woocommerce.archive .wd-page-title .title-wrapper,
  .post-type-archive-product .wd-page-title .title-wrapper,
  .tax-product_cat .wd-page-title .title-wrapper{
    position:absolute !important; width:1px !important; height:1px !important;
    overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important;
    white-space:nowrap !important; padding:0 !important; margin:-1px !important; border:0 !important;
  }
}
/* ---------------------------------------------------------------------------
 * Neutralise the Customizer (Appearance > Additional CSS) mobile-banner hack.
 *
 * That CSS gives EVERY category a fixed 400px box with a brown fill:
 *   @media (max-width:767px){ body.tax-product_cat .wd-page-title-bg.wd-fill{
 *       height:400px; background-size:contain; background-color:#4a311b; } }
 * and paints a mobile artwork into it for five terms only (321, 99, 102, 108, 116),
 * hiding the <img> for those. Every other category therefore showed a thin strip on a
 * tall brown slab, and the five that DO have artwork letter-boxed it inside the box.
 *
 * We drop the fixed height and the brown fill so the box follows the aspect-ratio band
 * defined above. The five terms keep their artwork (background-image is untouched); we
 * only switch it to `cover` so it fills the band rather than floating inside it.
 *
 * Proper follow-up: delete that block from Additional CSS. Mobile crops belong in the
 * per-category "Mobile banner" field (inc/orpat-category-mobile-banner.php), which is
 * the supported route and needs no hardcoded term IDs.
 * ------------------------------------------------------------------------- */
@media (max-width:1024px){
  body.tax-product_cat .wd-page-title-bg.wd-fill,
  body.post-type-archive-product .wd-page-title-bg.wd-fill{
    height:100% !important; min-height:0 !important;
    background-color:transparent !important;
    background-size:cover !important;
    background-position:center center !important;
    margin:0 !important;
  }
  /* Categories with no mobile artwork must show their <img> again. */
  body.tax-product_cat .wd-page-title-bg.wd-fill img{ display:block !important; }
  /* ...except the five that intentionally hide it in favour of a background artwork. */
  body.term-321 .wd-page-title-bg.wd-fill img,
  body.term-99  .wd-page-title-bg.wd-fill img,
  body.term-116 .wd-page-title-bg.wd-fill img,
  body.term-108 .wd-page-title-bg.wd-fill img,
  body.term-102 .wd-page-title-bg.wd-fill img{ display:none !important; }
}

/* The five Customizer terms use a 768x900 PORTRAIT crop, but that rule is scoped to
   max-width:767px. Match it exactly: above 767px the artwork is gone, so the band must
   keep the wide desktop ratio or it would leave a tall empty box. */
@media (max-width:767px){
  body.term-321 .wd-page-title,
  body.term-99  .wd-page-title,
  body.term-116 .wd-page-title,
  body.term-108 .wd-page-title,
  body.term-102 .wd-page-title{ aspect-ratio:768 / 900 !important; }
  /* the <img> is hidden for these, so re-show it from 768px up (handled below) */
}

/* 768-1024px: the Customizer artwork no longer applies, so these five fall back to the
   wide desktop <img> like every other category. */
@media (min-width:768px) and (max-width:1024px){
  body.term-321 .wd-page-title-bg.wd-fill img,
  body.term-99  .wd-page-title-bg.wd-fill img,
  body.term-116 .wd-page-title-bg.wd-fill img,
  body.term-108 .wd-page-title-bg.wd-fill img,
  body.term-102 .wd-page-title-bg.wd-fill img{ display:block !important; }
}

/* ORPAT-CAT-BANNER:END */

/* =============================================================================
 * Single product — colour-variant siblings ("Available in these colours").
 * Rendered by inc/orpat-variants.php on woocommerce_single_product_summary (24).
 * ========================================================================== */
.opg-variants{ margin:18px 0 22px; }
.opg-variants__label{ display:block; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--o-muted,#8a8073); margin-bottom:11px; }
.opg-variants__row{ display:flex; flex-wrap:wrap; gap:12px; }
.opg-variant{ display:flex; flex-direction:column; align-items:center; gap:6px; width:66px; text-decoration:none; }
.opg-variant img{ width:66px; height:66px; object-fit:cover; border-radius:10px; background:#fff;
  border:1.5px solid #e3d9c8; transition:border-color .25s var(--o-ease,ease), transform .25s var(--o-ease,ease); display:block; }
.opg-variant:hover img{ border-color:var(--o-brass,#b0894e); transform:translateY(-2px); }
.opg-variant.is-current img{ border-color:var(--o-brass,#b0894e); box-shadow:inset 0 0 0 1px var(--o-brass,#b0894e); }
.opg-variant__c{ font-size:.72rem; line-height:1.2; color:var(--o-ink,#171310); text-align:center;
  max-width:66px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opg-variant.is-current .opg-variant__c{ font-weight:700; color:var(--o-brass-deep,#946f34); }

/* Single-product "Share on WhatsApp" button (inc/orpat-product-share.php) */
.opg-wa-share{ display:inline-flex; align-items:center; gap:.5em; margin:16px 0 6px; padding:9px 16px;
  border-radius:999px; background:#25D366; color:#fff; text-decoration:none; font-weight:600; font-size:.9rem;
  line-height:1; box-shadow:0 6px 18px -8px rgba(37,211,102,.6);
  transition:background .25s var(--o-ease,ease), transform .25s var(--o-ease,ease); }
.opg-wa-share:hover{ background:#1da851; color:#fff; transform:translateY(-1px); }
.opg-wa-share svg{ flex:0 0 auto; }

/* ORPAT-CHECKOUT-CSS:START */
/* Scoped to .woocommerce-checkout so no other page is affected. Classic light-premium. */
:root{
  --opc-ink:#1c1a17; --opc-ink-2:#4a463f; --opc-muted:#8a8478;
  --opc-line:#e7e2d8; --opc-line-2:#d8d1c3; --opc-bg:#faf8f3; --opc-card:#ffffff;
  --opc-gold:#8a6a38; --opc-gold-2:#a98846; --opc-gold-soft:#f4efe4;
  --opc-serif:"Fraunces",Georgia,"Times New Roman",serif;
}
body.woocommerce-checkout{ background:var(--opc-bg); }
body.woocommerce-checkout .wd-page-content,
body.woocommerce-checkout .checkout.woocommerce-checkout{ background:transparent; }

/* --- logo (swap the broken demo logo for the Orpat logo) --- */
body.woocommerce-checkout .wd-main-logo img,
body.woocommerce-checkout .site-logo img{
  content:url("https://orpatgroup.s3.ap-south-1.amazonaws.com/wp-content/uploads/2021/02/ORPAT-LOGO.png");
  max-width:150px !important; height:auto; margin:8px auto 4px;
}

/* --- coupon notice --- */
body.woocommerce-checkout .woocommerce-form-coupon-toggle{ max-width:1120px; margin:0 auto 26px; }

/* WoodMart collapses this notice into a bare inline-flex label: style.css:19608 sets
   `padding:0 !important` and `background-color:transparent !important` on the toggle's
   child div, and 18802 makes it `display:inline-flex` / `width:100%`. The result was a
   border drawn tight around the text with no padding — the broken "partial capsule".
   Those two declarations are !important, so the capsule below has to be too. Scoped to
   the checkout coupon/login toggles only. Rollback: delete this block. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle > .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-login-toggle > .woocommerce-info{
  display:flex !important; align-items:center; flex-wrap:wrap; gap:4px 8px;
  box-sizing:border-box;
  width:100%; max-width:100%;
  background:var(--opc-gold-soft) !important;
  border:1px solid var(--opc-line-2) !important;
  border-left:3px solid var(--opc-gold) !important;
  border-radius:12px !important;
  color:var(--opc-ink-2) !important;
  font-size:14px; font-weight:500;
  /* padding-inline-end matches the start value: WoodMart sets 30px there (18808) to
     clear a dismiss button this notice does not have. */
  padding:14px 20px !important;
  /* The .woocommerce-form-coupon-toggle wrapper already supplies the bottom gap;
     WoodMart's own 25px here (style.css:19612) would stack a second one. */
  margin:0;
  min-height:0;
  box-shadow:none !important;
  text-align:start;
}

/* The "Click here to enter your code" link sits inside the capsule, not as a
   separate button — keep it inline and on the brand gold. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info :is(.showcoupon,.showlogin),
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info :is(.showcoupon,.showlogin){
  color:var(--opc-gold) !important; font-weight:600; text-decoration:underline;
  text-underline-offset:2px; cursor:pointer;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info :is(.showcoupon,.showlogin):hover{
  color:var(--opc-gold-2) !important;
}

/* Narrow screens: the label and link stop sitting side by side, so the capsule needs
   to wrap cleanly rather than overflow its rounded corners. */
@media (max-width:575px){
  body.woocommerce-checkout .woocommerce-form-coupon-toggle > .woocommerce-info,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
  body.woocommerce-checkout .woocommerce-form-login-toggle > .woocommerce-info{
    padding:12px 14px !important; font-size:13.5px; border-radius:10px !important;
    gap:2px 6px;
  }
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
body.woocommerce-checkout a{ color:var(--opc-gold); }
/* The panel that expands when the capsule is clicked. WoodMart gives it a 470px
   max-width, 30px padding and a 2px grey border (style.css:19629), which reads as a
   different component from the capsule above it — matched up here instead. */
body.woocommerce-checkout .checkout_coupon{
  box-sizing:border-box;
  /* Sibling of .woocommerce-form-coupon-toggle (not a child — see WooCommerce
     templates/checkout/form-coupon.php), so it needs the same cap and centring to
     line up with the capsule above it. */
  max-width:1120px;
  border:1px solid var(--opc-line);
  border-radius:14px;
  background:var(--opc-card);
  padding:20px 22px;
  /* Shorthand last, with auto insets: a later `margin:0 0 26px` would otherwise reset
     the centring set by an earlier margin-inline. */
  margin:0 auto 26px;
}

body.woocommerce-checkout .checkout_coupon .form-row{ margin-bottom:0; }

@media (max-width:575px){
  body.woocommerce-checkout .checkout_coupon{ padding:16px; border-radius:12px; }
  /* Stack the field and the Apply button rather than squeezing them side by side. */
  body.woocommerce-checkout .checkout_coupon .form-row-first,
  body.woocommerce-checkout .checkout_coupon .form-row-last{
    width:100%; float:none; margin-inline:0;
  }
}

/* --- section headings (the "1 Billing / 2 Your Order / 3 Payment" bars) --- */
body.woocommerce-checkout .wd-checkout-steps,
body.woocommerce-checkout h3#order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout #order_review_heading{
  font-family:var(--opc-serif); font-weight:600; color:var(--opc-ink); letter-spacing:-.01em;
}
/* WoodMart numbered step header */
body.woocommerce-checkout .wd-checkout-step-title,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > h3,
body.woocommerce-checkout [class*="checkout-step"] .title,
body.woocommerce-checkout .wd-el-title,
body.woocommerce-checkout .elementor-widget-wd_title .wd-el-title{
  background:transparent !important; padding:0 0 6px !important; border-bottom:2px solid var(--opc-line);
  font-family:var(--opc-serif) !important; font-weight:600 !important; font-size:22px !important; color:var(--opc-ink) !important;
}
/* the little orange number circle -> refined gold */
body.woocommerce-checkout .wd-checkout-step-number,
body.woocommerce-checkout [class*="step-number"],
body.woocommerce-checkout .wd-number{
  background:var(--opc-gold) !important; color:#fff !important; border:none !important;
}

/* --- form fields --- */
body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-checkout .form-row label{
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--opc-muted); margin-bottom:6px;
}
body.woocommerce-checkout .woocommerce form .form-row .required{ color:var(--opc-gold); }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .woocommerce-billing-fields input,
body.woocommerce-checkout .woocommerce-additional-fields textarea{
  background:var(--opc-card) !important; border:1px solid var(--opc-line-2) !important; border-radius:12px !important;
  min-height:52px !important; padding:0 18px !important; color:var(--opc-ink) !important; font-size:15px !important;
  box-shadow:0 1px 2px rgba(28,26,23,.03) !important; transition:border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-checkout .woocommerce-additional-fields textarea{ padding:14px 18px !important; min-height:110px !important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:50px !important; color:var(--opc-ink); }
body.woocommerce-checkout .select2-container .select2-selection--single{ height:52px !important; }
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection{
  border-color:var(--opc-gold) !important; box-shadow:0 0 0 3px rgba(138,106,56,.12) !important; outline:none !important;
}
body.woocommerce-checkout ::placeholder{ color:#b7b0a2; }

/* --- order review --- */
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #order_review{
  background:var(--opc-card); border:1px solid var(--opc-line); border-radius:18px; padding:26px 28px;
  box-shadow:0 24px 60px -30px rgba(28,26,23,.25);
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table{ border:none; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td{ border-top:1px solid var(--opc-line); padding:14px 4px; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--opc-muted); border:none; padding-bottom:10px;
}
body.woocommerce-checkout .cart_item .product-name{ color:var(--opc-ink-2); font-weight:600; }
body.woocommerce-checkout .order-total .woocommerce-Price-amount,
body.woocommerce-checkout .order-total th{ font-family:var(--opc-serif); font-size:20px; color:var(--opc-ink); font-weight:700; }
body.woocommerce-checkout .woocommerce-Price-amount{ color:var(--opc-ink); }

/* --- payment methods --- */
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-payment{ background:transparent; border:none; border-radius:0; }
body.woocommerce-checkout #payment ul.payment_methods{ border:none; padding:0; }
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  border:1px solid var(--opc-line-2); border-radius:14px; margin-bottom:12px; padding:16px 18px; background:var(--opc-card);
  transition:border-color .2s ease, box-shadow .2s ease;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked){
  border-color:var(--opc-gold); box-shadow:0 0 0 3px rgba(138,106,56,.1); background:var(--opc-gold-soft);
}
body.woocommerce-checkout #payment div.payment_box{ background:#fff; border:1px solid var(--opc-line); border-radius:10px; margin-top:12px; }
body.woocommerce-checkout #payment div.payment_box::before{ display:none; }

/* --- place order button --- */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.checkout-button{
  background:linear-gradient(135deg,#2a2622,#141210) !important; color:#fff !important; border:none !important;
  border-radius:999px !important; min-height:58px !important; font-size:15px !important; font-weight:700 !important;
  letter-spacing:.03em !important; box-shadow:0 16px 34px -14px rgba(20,18,16,.7) !important; transition:transform .2s ease, box-shadow .2s ease;
}
body.woocommerce-checkout #place_order:hover{ transform:translateY(-2px); box-shadow:0 22px 40px -14px rgba(20,18,16,.8) !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{ color:var(--opc-gold); }

/* --- ship-to / order notes / progress bar polish --- */
body.woocommerce-checkout .woocommerce-shipping-fields{ margin-top:8px; }
body.woocommerce-checkout .woocommerce-input-wrapper{ display:block; }
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message{ border-top-color:var(--opc-gold); }

@media (max-width:768px){
  body.woocommerce-checkout .woocommerce-checkout-review-order,
  body.woocommerce-checkout #order_review{ padding:20px 18px; }
}
/* ORPAT-CHECKOUT-CSS:END */

/* ORPAT-ACCOUNT-BANNER: hide the WoodMart demo page-title banner on My Account */
body.woocommerce-account .wd-page-title{ display:none !important; }

/* ORPAT-MOBILE-SHOP-HIDE: remove Shop item from the mobile bottom toolbar (consistency with desktop, which has no Shop link) */
.wd-toolbar .wd-toolbar-shop{ display:none !important; }

/* ORPAT-GRID-SLIDER-ARROWS: product-card hover image carousel — arrows
   WoodMart ships these as bare woodmart-font glyphs in --color-gray-800 with no
   backdrop, so they vanish against dark product photography. Its own
   max-width:1024px block also sets .wd-product-grid-slider{display:none}, which
   kills the carousel on tablet/mobile while leaving the arrows behind. Both are
   corrected here.
   Rollback plan: delete this whole ORPAT-GRID-SLIDER-ARROWS block from
   inc/orpat-premium.css — the parent theme's woo-opt-grid-gallery.css then
   applies unchanged. */

/* Contrast plate so the glyph reads on any image */
.wd-product-grid-slider-nav{
  --arrow-color:#141210;
  --arrow-color-hover:#141210;
  padding-inline:6px;
}
.wd-product-grid-slider-nav > div{
  width:34px; height:34px;
  justify-content:center !important;
  padding-inline:0 !important;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 2px 10px -2px rgba(20,18,16,.35);
  backdrop-filter:blur(2px);
  font-size:14px;
  line-height:1;
}
.wd-product-grid-slider-nav > div:hover{
  background:#fff;
  box-shadow:0 4px 14px -2px rgba(20,18,16,.45);
}
.wd-product-grid-slider-nav > div:focus-visible{
  outline:2px solid var(--opc-gold, #b08d57);
  outline-offset:2px;
}

/* Pagination dots sit on the same light plate rather than an inverted filter */
.wd-product-grid-slider-pagin{
  filter:none;
  padding:0 10px 8px;
  gap:5px;
}
.wd-product-grid-slider-dot{
  height:3px;
  border-radius:999px;
  background:#fff;
  opacity:.45;
  box-shadow:0 1px 3px rgba(20,18,16,.4);
}
.wd-product-grid-slider-dot.wd-active{ opacity:1; }

/* Tablet and mobile: keep the carousel alive (parent hides it) and, since there
   is no hover, show the arrows and dots persistently. */
@media (max-width:1024px){
  .wd-product-grid-slider{ display:flex !important; }
  .wd-product-grid-slider-pagin{
    display:flex !important;
    opacity:1;
    visibility:visible;
  }
  .wd-product-grid-slider-nav > div{
    opacity:1;
    visibility:visible;
    transform:none;
    width:32px; height:32px;
  }
}

/* Touch targets stay tappable on phones without crowding a narrow card */
@media (max-width:575px){
  .wd-product-grid-slider-nav{ padding-inline:4px; }
  .wd-product-grid-slider-nav > div{
    width:30px; height:30px;
    font-size:13px;
  }
}

/* THE ACTUAL VISIBILITY BUG (measured 2026-09-09, headless Chrome):
   WoodMart puts .wd-hide-md ON the nav element itself, and .wd-hide-md is
   display:none !important inside @media (max-width:1024px) in the parent's
   style.css. So on EVERY device <=1024px the arrows are removed outright - the
   styling above was landing on a 0x0, display:none box. Verified at 360/576/768/
   1024 (all navHidden:true, 0x0) vs 1440 (34x34, correct).
   Restoring it here also needs the pagination dots back, since the parent hides
   .wd-product-grid-slider-pagin in the same breakpoint. */
@media (max-width:1024px){
  .wd-product-grid-slider-nav.wd-hide-md,
  .wd-product-grid-slider-nav{ display:flex !important; }

  /* No hover on touch: arrows and dots must be permanently visible.
     The parent's own <=1024px rule sets 40x50, which turns the circle into an
     oval - pin the square size back so border-radius:50% stays round. */
  .wd-product-grid-slider-nav > div{
    opacity:1 !important; visibility:visible !important; transform:none !important;
    width:36px !important; height:36px !important;
  }
  .wd-product-grid-slider,
  .wd-product-grid-slider-pagin{ display:flex !important; }
  .wd-product-grid-slider-pagin{ opacity:1 !important; visibility:visible !important; }
}

/* ORPAT-SHIPPING-PROGRESS-BAR: keep the free-shipping MESSAGE, hide the striped bar
   WoodMart renders the module as two siblings inside .wd-free-progress-bar:
   .progress-msg (the text) and .progress-area (the striped track + fill). Only the
   track is suppressed, so "Your order qualifies for free shipping!" still shows in
   the mini-cart, cart and checkout.
   The feature stays ENABLED in WoodMart Options — do not disable it there, or the
   message disappears along with the bar.
   Rollback plan: delete this ORPAT-SHIPPING-PROGRESS-BAR block. */
.wd-free-progress-bar .progress-area{ display:none !important; }

/* Reclaim the gap the track left behind */
.wd-free-progress-bar .progress-msg{ margin-bottom:0; }
.wd-free-progress-bar{ padding-block-end:0; }

/* ORPAT-GALLERY-ARROWS: single-product gallery arrows (2026-09-09)
   Measured on staging at 390/768: the gallery arrows render 40x40 with
   background rgba(0,0,0,0) and colour rgb(118,118,118) - a mid-grey glyph on a
   transparent ground. Over the pale/reflective product photography that is
   effectively invisible, and there is no contrast plate at any breakpoint.
   WoodMart exposes proper custom properties for these, so we set those rather
   than fight its rules with !important. Scoped to the product gallery so the
   related-products carousel lower down is untouched.
   Rollback plan: delete this ORPAT-GALLERY-ARROWS block. */
.woocommerce-product-gallery .wd-gallery-images .wd-nav-arrows,
.woocommerce-product-gallery .wd-gallery-thumb .wd-nav-arrows{
  --wd-arrow-color:#141210;
  --wd-arrow-color-hover:#141210;
  --wd-arrow-bg:rgba(255,255,255,.92);
  --wd-arrow-bg-hover:#fff;
  --wd-arrow-radius:50%;
  --wd-arrow-icon-size:15px;
}

/* The plate itself: WoodMart's base rule leaves these transparent. */
.woocommerce-product-gallery .wd-gallery-images .wd-btn-arrow,
.woocommerce-product-gallery .wd-gallery-thumb .wd-btn-arrow{
  background:var(--wd-arrow-bg);
  border-radius:50%;
  box-shadow:0 2px 10px -2px rgba(20,18,16,.35);
  color:var(--wd-arrow-color);
  transition:background .25s ease, box-shadow .25s ease, opacity .25s ease;
}
.woocommerce-product-gallery .wd-gallery-images .wd-btn-arrow:hover,
.woocommerce-product-gallery .wd-gallery-thumb .wd-btn-arrow:hover{
  background:var(--wd-arrow-bg-hover);
  box-shadow:0 4px 14px -2px rgba(20,18,16,.45);
}
.woocommerce-product-gallery .wd-btn-arrow:focus-visible{
  outline:2px solid var(--opc-gold,#b08d57); outline-offset:2px;
}
/* Disabled end-of-carousel state stays legible but clearly inactive. */
.woocommerce-product-gallery .wd-btn-arrow.wd-disabled{
  opacity:.35; box-shadow:none;
}

/* Touch devices have no hover, so the arrows must read at rest. Keep them inside
   the frame (WoodMart's wd-pos-sep offsets them outward, which clips on narrow
   screens) and size them as real tap targets. */
@media (max-width:1024px){
  .woocommerce-product-gallery .wd-gallery-images .wd-nav-arrows{
    --wd-arrow-size:38px;
    --wd-arrow-width:38px;
    --wd-arrow-height:38px;
  }
  /* .wd-pos-sep sets --wd-arrow-offset-h to NEGATIVE the arrow width, parking the
     arrows entirely outside the image. On desktop there is gutter for that; at
     390px the next arrow landed at x=383-417 in a 390px viewport - off-screen,
     which is why the main gallery appeared to have no arrows at all. Pin them
     inside the frame instead. */
  .woocommerce-product-gallery .wd-gallery-images .wd-nav-arrows.wd-pos-sep{
    --wd-arrow-offset-h:0px;
  }
  .woocommerce-product-gallery .wd-gallery-images .wd-btn-arrow{
    opacity:1 !important; visibility:visible !important;
  }
  .woocommerce-product-gallery .wd-gallery-images .wd-btn-arrow.wd-prev{
    inset-inline-start:8px !important; inset-inline-end:auto !important;
  }
  .woocommerce-product-gallery .wd-gallery-images .wd-btn-arrow.wd-next{
    inset-inline-end:8px !important; inset-inline-start:auto !important;
  }
}

/* Phones: slightly smaller so the arrows do not cover the product itself. */
@media (max-width:575px){
  .woocommerce-product-gallery .wd-gallery-images .wd-nav-arrows{
    --wd-arrow-size:34px;
    --wd-arrow-width:34px;
    --wd-arrow-height:34px;
    --wd-arrow-icon-size:14px;
  }
  /* The thumbnail strip is narrow; its arrows would overlap the thumbs. */
  .woocommerce-product-gallery .wd-gallery-thumb .wd-nav-arrows{
    --wd-arrow-size:30px;
    --wd-arrow-width:30px;
    --wd-arrow-height:30px;
    --wd-arrow-icon-size:12px;
  }
}

/* ORPAT-HEADER-SEARCH: search icon overlapping the placeholder (2026-09-09)
   Measured on staging at 1440: button.searchsubmit is absolutely positioned at
   x=168..214 (46px wide) inside .wd-header-search-form, but the input only carries
   padding-left:40px, so its text starts at x=208 - 6px UNDER the icon. The
   placeholder "Search for products" therefore renders through the magnifier.
   Fix: pad the text past the real button width rather than shrinking the button,
   which would reduce the tap target. Uses the measured 46px + 8px breathing room.
   The mobile header search is a separate collapsed widget (measured 0x0 at 390/768)
   and is not affected by these rules.
   Rollback plan: delete this ORPAT-HEADER-SEARCH block. */
.wd-header-search-form .searchform input.s,
.wd-header-search-form .searchform input[type="text"]{
  padding-inline-start:54px !important;
}

/* Keep the button a proper target, vertically centred, and never over the text. */
.wd-header-search-form .searchform .searchsubmit{
  inset-inline-start:0;
  width:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}

/* Tablet/desktop-narrow: the header search can get cramped beside the nav, so
   trim the icon column rather than let the placeholder collide again. */
@media (max-width:1200px){
  .wd-header-search-form .searchform input.s,
  .wd-header-search-form .searchform input[type="text"]{
    padding-inline-start:48px !important;
    padding-inline-end:16px !important;
  }
  .wd-header-search-form .searchform .searchsubmit{ width:42px; }
}

/* Full-screen / off-canvas search keeps its own layout - only guard the overlap. */
.wd-search-form:not(.wd-header-search-form) .searchform input.s{
  padding-inline-start:max(20px, 2.6em);
}

/* ---------------------------------------------------------------------------
 * Login side panel — "No account yet? / Create an Account".
 *
 * WoodMart's slide-out sign-in drawer (.login-form-side, rendered by the parent
 * theme's template-tags.php). The markup already carries a .btn class, but the
 * theme leaves it looking like an underlined text link, so next to the solid dark
 * "Log in" button it reads as a footnote rather than the secondary action it is.
 *
 * Restyled as a ghost (outlined) button: same pill geometry and height as the
 * primary "Log in" button, but outlined rather than filled — one filled button per
 * panel keeps the hierarchy unambiguous.
 *
 * This is the header drawer, which appears sitewide; it is NOT the /my-account/
 * auth card (that is styled in inc/orpat-auth.css and only loads when logged out).
 *
 * Rollback: delete this block. Markup is untouched, so the link returns to its
 * default underlined style.
 * ------------------------------------------------------------------------- */

.login-form-side .create-account-question {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-top: 4px;
  text-align: center;
}

.login-form-side .create-account-question p {
  margin: 0;
  font-size: .9rem;
  color: #6f6a63;
}

.login-form-side a.create-account-button,
.login-form-side a.btn.create-account-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid rgba(26, 20, 13, .55);
  border-radius: 999px;
  background: transparent;
  color: #1a140d;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}

.login-form-side a.create-account-button:hover,
.login-form-side a.btn.create-account-button:hover {
  background: #1a140d;
  border-color: #1a140d;
  color: #fff;
  text-decoration: none;
}

.login-form-side a.create-account-button:focus-visible,
.login-form-side a.btn.create-account-button:focus-visible {
  outline: 2px solid #c9a227;
  outline-offset: 3px;
}
