/* ============ Configuration dialog – one design for every screen ============ */
.pdp-cfg-card{display:block;margin:20px 0 6px}
.pdp-cfg-card .twc-btn{margin-top:0}
.pdp-cfg-card .pdp-quick{margin-top:10px}
.pdp-cfg-card .pdp-quick[hidden]{display:none}
.pdp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pdp-chips span{background:var(--off);border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:.8rem}
.pdp-chips b{font-weight:500;color:var(--wood)}

.pdp-sheet-scrim{display:block;position:fixed;inset:0;background:rgba(38,35,31,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:139;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.pdp-sheet-open .pdp-sheet-scrim{opacity:1;visibility:visible;transition:opacity .3s}
body.pdp-sheet-open{overflow:hidden}

.pdp-form{position:fixed;z-index:140;background:var(--ivory);margin:0;overflow:hidden;visibility:hidden}
.pdp-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;border-bottom:1px solid var(--line);flex:none}
.pdp-sheet-head strong{font:500 1.6rem/1.1 var(--serif);display:block}
.pdp-sheet-head small{color:var(--mute);font-size:.8rem}
.pdp-sheet-head button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--off);flex:none;transition:.2s}
.pdp-sheet-head button:hover{background:var(--sand)}
.pdp-sheet-grab{display:none}
.pdp-sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:block}
.pdp-sheet-preview{display:none}
.pdp-buy{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0;border-top:1px solid var(--line);background:var(--ivory)}
.pdp-sheet-total{display:block;flex:1;min-width:0;line-height:1.1}
.pdp-sheet-total small{display:block;font-size:.72rem;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.pdp-sheet-total strong{font:500 1.7rem/1.1 var(--serif);white-space:nowrap}
.pdp-quote{flex:1 0 100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px dashed var(--beige);border-radius:12px;font-size:.84rem;color:var(--char);background:transparent;transition:.2s}
.pdp-quote:hover{border-color:var(--char);background:#fff}
.pdp-quote .twc-i{width:18px;height:18px}
.pdp-error{margin:14px 0 0}
.twc-modal{z-index:160}

/* desktop & laptop: centred two-column dialog */
@media (min-width:1024px){
 .pdp-form{left:50%;top:50%;width:min(1100px,94vw);height:min(780px,90vh);border-radius:26px;display:grid;grid-template-columns:minmax(320px,42%) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;box-shadow:0 40px 110px rgba(20,16,12,.4);transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .38s var(--ease),opacity .3s,visibility 0s .38s}
 .pdp-sheet-open .pdp-form{transform:translate(-50%,-50%);opacity:1;visibility:visible;transition:transform .38s var(--ease),opacity .3s}
 .pdp-sheet-preview{display:flex;flex-direction:column;grid-column:1;grid-row:1/4;background:var(--sand);position:relative}
 .pdp-sheet-preview img{flex:1;min-height:0;width:100%;object-fit:contain;background:#fff;padding:18px}
 .pdp-sheet-preview__t{padding:18px 24px 22px;background:var(--off);border-top:1px solid var(--line);line-height:1.2}
 .pdp-sheet-preview__t small{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
 .pdp-sheet-preview__t strong{display:block;font:500 2.2rem/1.1 var(--serif);color:var(--char);margin:4px 0}
 .pdp-sheet-preview__t span{font-size:.88rem;color:var(--mute)}
 .pdp-sheet-head{grid-column:2;padding:26px 30px 16px}
 .pdp-sheet-body{grid-column:2;padding:0 30px 24px}
 .pdp-buy{grid-column:2;padding:16px 30px 20px}
 .pdp-buy .twc-qty--lg button{width:40px;height:50px}.pdp-buy .twc-qty--lg input{width:40px;height:50px}
 .pdp-buy .pdp-add{flex:0 0 auto;min-width:200px;min-height:54px}
 .pdp-sheet-total{flex:1}
 .pdp-bar{display:none}
}
/* tablet & phone: bottom sheet */
@media (max-width:1023px){
 .pdp-form{left:0;right:0;bottom:0;height:90dvh;border-radius:26px 26px 0 0;display:flex;flex-direction:column;transform:translateY(105%);box-shadow:0 -20px 60px rgba(0,0,0,.3);transition:transform .42s var(--ease),visibility 0s .42s}
 .pdp-sheet-open .pdp-form{transform:none;visibility:visible;transition:transform .42s var(--ease)}
 .pdp-sheet-head{padding:24px 18px 12px 20px}
 .pdp-sheet-grab{display:block;position:absolute;top:9px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:4px;background:var(--beige)}
 .pdp-sheet-body{flex:1;padding:0 20px 24px}
 .pdp-buy{flex:none;padding:12px 16px calc(12px + var(--safe-b,0px))}
 .pdp-sheet-total strong{font-size:1.35rem}
 .pdp-buy .twc-qty--lg button{width:34px;height:48px}.pdp-buy .twc-qty--lg input{width:30px;height:48px}
 .pdp-buy .pdp-add{flex:0 0 auto;padding:0 18px;min-height:52px}
}
@media (max-width:1023px) and (min-width:700px){
 .pdp-form{left:50%;right:auto;width:min(680px,100%);transform:translate(-50%,105%)}
 .pdp-sheet-open .pdp-form{transform:translate(-50%,0)}
}
@media (prefers-reduced-motion:reduce){.pdp-form,.pdp-sheet-scrim{transition:none!important}}
/* swatches show their names inside the dialog */
.pdp-form .fab-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:14px 10px}
.pdp-form .sw__n{display:block;font-size:.76rem;text-align:center;margin-top:7px;line-height:1.2;color:var(--ink)}
.pdp-form .sw__c{width:100%;max-width:56px;margin:0 auto}
@media (max-width:480px){
 .pdp-buy{gap:8px}
 .pdp-sheet-total strong{font-size:1.15rem}
 .pdp-buy .twc-qty--lg button{width:30px}.pdp-buy .twc-qty--lg input{width:26px}
 .pdp-buy .pdp-add{padding:0 14px;font-size:.74rem;letter-spacing:.1em}
}
/* drawers: backdrop always sits BEHIND the panel */
.twc-drawer__scrim{z-index:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.twc-drawer__panel{z-index:2}
.twc-drawer--menu .twc-drawer__panel{width:min(86vw,360px);background:var(--ivory);box-shadow:20px 0 60px rgba(0,0,0,.25)}
.twc-drawer--menu .twc-mmenu li{list-style:none}
/* brand logo (uploaded image) */
.custom-logo-link{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.custom-logo{height:46px;width:auto;max-width:none;transition:height .3s var(--ease)}
.twc-header.is-stuck .custom-logo{height:38px}
.twc-footer__brand .custom-logo{height:60px}
.twc-drawer__head .custom-logo{height:36px}
@media (max-width:1023px){.custom-logo{height:34px}.twc-header.is-stuck .custom-logo{height:30px}.twc-header__logo{display:flex;justify-content:center}}
.custom-logo{height:54px}
.twc-header.is-stuck .custom-logo{height:44px}
.twc-footer__brand .custom-logo{height:70px}
@media (max-width:1023px){.custom-logo{height:40px}.twc-header.is-stuck .custom-logo{height:36px}.twc-drawer__head .custom-logo{height:40px}}

/* ===== live fixes (same as LIVE-CSS-FIXES.css) ===== */
/* =====================================================================
   THE WOODEN COLOUR – LIVE SITE FIXES  (paste into Appearance → Customize → Additional CSS)
   1) Mobile: no more side-scroll trap on Home sections (Shop by style / Featured / Materials)
   2) Smaller logo in header + footer + mobile menu
   3) Clean, single-line price layout + lining numerals (no up/down figures) everywhere
   4) Highlighted coupon box on Checkout and Cart
   ===================================================================== */

/* ---------- 1. HOME: sections that slid left/right now sit in a normal 2-column grid on phones ---------- */
@media (max-width: 767px) {
  .twc-rail,
  .twc-cats.twc-rail,
  .twc-mats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 12px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
    touch-action: auto !important;
  }
  .twc-rail > *,
  .twc-cats.twc-rail > *,
  .twc-mats > * {
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }
  .twc-cat__t { font-size: 1.2rem; }
  .twc-cat__d { font-size: .82rem; }
}
/* any remaining horizontal strips: never block the page's up/down scroll */
.pdp-thumbs, .fab-mats { overscroll-behavior-x: contain; touch-action: pan-x pan-y; }

/* ---------- 2. LOGO (header, footer, mobile menu) ---------- */
.custom-logo { height: 40px !important; width: auto !important; }
.twc-header.is-stuck .custom-logo { height: 34px !important; }
.twc-footer__brand .custom-logo { height: 44px !important; }
.twc-drawer__head .custom-logo { height: 30px !important; }
@media (max-width: 1023px) {
  .custom-logo { height: 30px !important; }
  .twc-header.is-stuck .custom-logo { height: 28px !important; }
  .twc-footer__brand .custom-logo { height: 38px !important; }
}

/* ---------- 3. PRICES: one tidy line, same clean font, lining figures ---------- */
body, h1, h2, h3, h4, .pdp-price, .twc-card__price { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }

/* product page */
.pdp-price__total { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.pdp-price__total > span { flex: 0 0 100%; }
.pdp-price__total strong,
.pdp-sheet-total strong,
.pdp-bar__p strong,
.pdp-sheet-preview__t strong,
.twc-cart-total strong {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 600 !important; letter-spacing: -.01em; font-variant-numeric: lining-nums tabular-nums;
}
.pdp-price__total strong { font-size: 2rem !important; line-height: 1.1; color: var(--char, #26231f); }
.pdp-price__total del,
.pdp-price__total .twc-was { margin: 0 !important; font-size: 1.05rem; font-weight: 400; color: #8a8378; white-space: nowrap; display: inline; }
.pdp-price__from { font-size: .95rem; }

/* product cards / quick view / related */
.twc-card__price,
.twc-qv__price {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: baseline; gap: 2px 8px;
  font-family: 'Inter', system-ui, sans-serif; font-weight: 500; font-size: .95rem; line-height: 1.35;
}
.twc-card__price .twc-from,
.twc-qv__price .twc-from { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.twc-card__price .twc-from small { font-weight: 400; color: #8a8378; font-size: .8em; }
.twc-card__price del,
.twc-card__price .twc-was,
.twc-qv__price del { margin: 0 !important; font-size: .85em; font-weight: 400; color: #8a8378; white-space: nowrap; display: inline; }
.twc-card__price ins { text-decoration: none; }
@media (max-width: 767px) {
  .twc-card__price { flex-direction: row !important; font-size: .9rem; }
  .twc-card__price del { font-size: .8em; }
}
/* cart drawer + mini totals */
.twc-ci-row strong { font-family: 'Inter', system-ui, sans-serif; font-weight: 600; }

/* ---------- 4. COUPON (Checkout + Cart) – clearly highlighted ---------- */
.woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: linear-gradient(135deg, #fff8ea 0%, #f5e7cd 100%);
  border: 1.5px dashed #8a6a4a; border-left: 1.5px dashed #8a6a4a; border-radius: 14px;
  padding: 16px 18px; margin: 0 0 22px; font-weight: 500; color: #26231f; line-height: 1.4;
}
.woocommerce-form-coupon-toggle .woocommerce-info::before {
  content: "%"; flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%; background: #8a6a4a; color: #fff; font-weight: 700; font-size: 1.1rem;
}
.woocommerce-form-coupon-toggle .showcoupon {
  display: inline-block; font-weight: 700; color: #8a6a4a; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
form.checkout_coupon {
  background: #fff; border: 1.5px solid #8a6a4a; border-radius: 14px; padding: 18px 18px 8px !important; margin: 0 0 24px !important;
  box-shadow: 0 10px 30px rgba(138, 106, 74, .15);
}
form.checkout_coupon::after { content: ""; display: table; clear: both; }
form.checkout_coupon p { margin: 0 0 12px; }
form.checkout_coupon .form-row-first { float: left; width: calc(100% - 150px); }
form.checkout_coupon .form-row-last { float: right; width: 138px; }
form.checkout_coupon input.input-text { width: 100%; height: 50px; margin: 0; border: 1px solid #d8ccb9; border-radius: 10px; padding: 0 14px; font-size: 1rem; background: #fffdf8; }
form.checkout_coupon button.button { width: 100%; height: 50px; border-radius: 10px; font-weight: 700; letter-spacing: .1em; }
@media (max-width: 520px) {
  form.checkout_coupon .form-row-first, form.checkout_coupon .form-row-last { float: none; width: 100%; }
}
/* cart page coupon */
.woocommerce-cart-form .coupon {
  background: linear-gradient(135deg, #fff8ea 0%, #f5e7cd 100%); border: 1.5px dashed #8a6a4a; border-radius: 14px; padding: 14px; gap: 10px;
}
.woocommerce-cart-form .coupon .input-text { height: 48px; border: 1px solid #d8ccb9; border-radius: 10px; background: #fff; }
.woocommerce-cart-form .coupon .button { height: 48px; border-radius: 10px; font-weight: 700; }
.woocommerce-form-coupon-toggle .woocommerce-info { justify-content: flex-start !important; text-align: left; }
.woocommerce-cart-form .coupon .button { height: 48px; border-radius: 10px; font-weight: 700; }
.woocommerce-form-coupon-toggle .woocommerce-info { justify-content: flex-start !important; text-align: left; }
/* sticky buy bar on phones: short label so the price never wraps */
@media (max-width: 1023px) {
  .pdp-bar__p small { font-size: 0 !important; line-height: 1; }
  .pdp-bar__p small::before { content: "Total"; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #6f685d; }
  .pdp-bar__p strong { white-space: nowrap; }
}

/* ---------- 5. SHOP / CATEGORY: category strip on top + 1 product per row on phones ---------- */
/* category strip (swipe left/right) */
.twc-catrail { background: #faf7f2; border-bottom: 1px solid #e1d8c9; padding: 16px 0 14px; }
.twc-catrail__box { position: relative; }
.twc-catrail__track {
  display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scrollbar-width: none;
  -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; touch-action: pan-x pan-y; padding: 2px 2px 6px;
}
.twc-catrail__track::-webkit-scrollbar { display: none; }
.twc-catrail__item { flex: 0 0 132px; scroll-snap-align: start; text-decoration: none; color: #26231f; text-align: left; }
.twc-catrail__img { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #ece3d4; border: 2px solid transparent; }
.twc-catrail__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.twc-catrail__name { display: block; margin-top: 8px; font-size: .86rem; font-weight: 500; line-height: 1.25; }
.twc-catrail__item.is-on .twc-catrail__img { border-color: #26231f; }
.twc-catrail__item.is-on .twc-catrail__name { font-weight: 700; }
.twc-catrail__arrow {
  position: absolute; top: 34px; width: 38px; height: 38px; border-radius: 50%; background: #26231f; color: #fff; z-index: 3;
  display: none; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.twc-catrail__arrow--prev { left: -6px; } .twc-catrail__arrow--next { right: -6px; }
.twc-catrail__arrow svg { width: 18px; height: 18px; }
@media (min-width: 768px) { .twc-catrail__item { flex-basis: 190px; } .twc-catrail__arrow { display: flex; } }

/* "7 items" line */
.twc-itemcount { text-align: center; color: #6f685d; font-size: .9rem; margin: 0 0 16px; }

@media (max-width: 1023px) {
  /* Filters | Sort bar – stays under the header while scrolling */
  body.post-type-archive-product .twc-header.is-hidden,
  body.tax-product_cat .twc-header.is-hidden,
  body.search .twc-header.is-hidden { transform: none !important; }
  .twc-shop__bar {
    position: sticky !important; top: 60px; z-index: 30;
    display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px !important; align-items: stretch;
    border: 0 !important; padding: 10px 0 !important; margin: 0 0 6px !important; background: #faf7f2;
  }
  .twc-shop__bar .twc-shop__count { display: none !important; }
  .twc-shop__bar .twc-filter-open {
    display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 50px;
    background: #26231f; color: #fff; border: 1px solid #26231f !important; border-radius: 8px !important; font-weight: 600; letter-spacing: .12em;
  }
  .twc-shop__bar .woocommerce-ordering { margin: 0; width: 100%; }
  .twc-shop__bar .woocommerce-ordering select {
    width: 100%; height: 50px; border: 1px solid #26231f !important; border-radius: 8px !important; background: #fff; color: #26231f;
    font-weight: 600; font-size: .9rem; padding: 0 14px; text-align-last: center; -webkit-appearance: none; appearance: none;
  }
  .twc-shop__bar .twc-compare-link { grid-column: 1 / -1; text-align: center; }
}
/* ONE product per row on phones, big and calm */
@media (max-width: 767px) {
  .twc-shop__main .twc-grid--3 { grid-template-columns: 1fr !important; gap: 30px !important; }
  .twc-shop__main .twc-card__media { aspect-ratio: 4 / 3; background: #fff; border: 1px solid #ece3d4; border-radius: 12px; }
  .twc-shop__main .twc-card__media img { padding: 4%; }
  .twc-shop__main .twc-card__body { padding: 14px 2px 0; }
  .twc-shop__main .twc-card__body h3 { font-size: 1.35rem; }
  .twc-shop__main .twc-card__price { font-size: 1rem; }
  .twc-shop__main .twc-card__link { display: none; }
  .twc-dots .twc-dot:nth-child(n+6), .twc-dots .twc-dot-more { display: none; }
}

/* ===================== Google Reviews section ===================== */
.twc-greviews { background: #f5f5f5; }
.twc-greviews__head { text-align: center; margin-bottom: 34px; }
.twc-greviews__logo { width: min(320px, 70%); height: auto; margin: 0 auto 14px; display: block; }
.twc-greviews__wordmark { font: 600 2.6rem/1 var(--sans); letter-spacing: -.02em; margin-bottom: 12px; color: #5f6368; }
.twc-greviews__wordmark b { color: #4285f4; }
.twc-greviews__sum { margin: 0 0 18px; color: #3a362f; font-size: .98rem; }
.twc-rstars { color: #f5b301; letter-spacing: 2px; font-size: 1.05rem; margin-right: 4px; }
.twc-gbtn { display: inline-flex; align-items: center; gap: 10px; background: #000; color: #fff; text-decoration: none; padding: 13px 26px; border-radius: 4px; font-weight: 500; font-size: .95rem; transition: .2s; }
.twc-gbtn:hover { background: #26231f; transform: translateY(-1px); }
.twc-gbtn .twc-g { width: 18px; height: 18px; }
.twc-gslider { position: relative; padding: 0 44px; }
.twc-gslider__track { display: flex; gap: 22px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 8px 4px 22px; overscroll-behavior-x: contain; touch-action: pan-x pan-y; outline: 0; }
.twc-gslider__track::-webkit-scrollbar { display: none; }
.twc-gcard { flex: 0 0 calc((100% - 44px) / 3); scroll-snap-align: start; min-width: 0; }
.twc-gcard__bubble { position: relative; background: #fff; border-radius: 4px; box-shadow: 0 2px 10px rgba(0,0,0,.14); padding: 22px 22px 26px 46px; min-height: 190px; }
.twc-gcard__bubble::after { content: ""; position: absolute; left: 34px; bottom: -14px; border: 8px solid transparent; border-top: 8px solid #fff; border-left-color: #fff; filter: drop-shadow(0 3px 2px rgba(0,0,0,.08)); }
.twc-gcard__q { position: absolute; left: 12px; top: 8px; font: 700 2.6rem/1 Georgia, serif; color: #bdbdbd; }
.twc-gcard__t { margin: 0; font-style: italic; color: #555; font-size: .93rem; line-height: 1.6; }
.twc-gcard__ok { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border-radius: 50%; background: #9aa0a6; color: #fff; font-size: .55rem; font-style: normal; margin-right: 8px; vertical-align: 2px; }
.twc-gcard__more { color: #2b6cb0; font-style: normal; text-decoration: none; padding: 0; font-size: inherit; }
.twc-gcard__g { position: absolute; right: 12px; bottom: 10px; }
.twc-gcard__g .twc-g { width: 22px; height: 22px; }
.twc-gcard__by { display: flex; align-items: center; gap: 12px; margin: 22px 0 0 14px; }
.twc-gcard__by img, .twc-gcard__init { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.twc-gcard__init { display: inline-flex; align-items: center; justify-content: center; background: #8a6a4a; color: #fff; font-weight: 600; }
.twc-gcard__by b { display: block; font-weight: 500; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; color: #3a362f; }
.twc-gcard__by small { display: block; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; color: #6f685d; }
.twc-gslider__arrow { position: absolute; top: calc(50% - 40px); width: 34px; height: 34px; border-radius: 50%; background: #d6d6d6; color: #fff; font-size: 1.4rem; line-height: 1; z-index: 2; display: flex; align-items: center; justify-content: center; transition: .2s; }
.twc-gslider__arrow:hover { background: #26231f; }
.twc-gslider__arrow--prev { left: 0; } .twc-gslider__arrow--next { right: 0; }
@media (max-width: 1023px) { .twc-gcard { flex-basis: calc((100% - 22px) / 2); } }
@media (max-width: 767px) {
  .twc-gslider { padding: 0; }
  .twc-gslider__arrow { display: none; }
  .twc-gcard { flex-basis: 88%; }
  .twc-greviews__logo { width: min(260px, 70%); }
}
