/* =========================================================
   Sotran · WordPress / WooCommerce layer
   (loads after style.css + pages.css; same rules: logo palette, square, no shadows, no hairlines)
   ========================================================= */

/* ---------- photo product images (placeholder/lifestyle photos fill the card) ---------- */
.pcard--photo .pcard__img img:not(.alt){object-fit:cover;padding:0;mix-blend-mode:normal}
.mega__prod--photo img{object-fit:cover;padding:0;mix-blend-mode:normal}
.pdp__gallery--photo .pdp__main img{object-fit:cover;padding:0;mix-blend-mode:normal}
.subcat__img--photo img{object-fit:cover;padding:0;mix-blend-mode:normal}
.rooms__float--photo img{object-fit:cover;padding:0;mix-blend-mode:normal}
.style-tile--photo img{object-fit:cover;padding:0;mix-blend-mode:normal}
.hot__tag img,.look__item figure img{object-fit:cover;mix-blend-mode:normal}

/* consultants without photos yet */
.cons__initial{display:grid;place-items:center;background:var(--moss)!important}
.cons__initial span{font-stretch:125%;font-weight:500;font-size:clamp(60px,6vw,110px);line-height:1;color:var(--mint)}

/* WooCommerce loops outside our templates */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}
ul.products::before,ul.products::after{display:none}
.sotran-loop-item{list-style:none}

/* ---------- notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 24px;padding:16px 20px;background:var(--mint);color:var(--ink);font-size:15px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.woocommerce-error{background:var(--sun)}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.pdp .woocommerce-notices-wrapper,.wp-page .woocommerce-notices-wrapper{margin-bottom:20px}

/* ---------- buttons inside WooCommerce ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.single_add_to_cart_button,.checkout-button,#place_order,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 28px;border:0;background:var(--ink);color:#fff;font:inherit;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s;text-decoration:none}
.woocommerce .button:hover,.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover{background:var(--mint);color:var(--ink)}
.woocommerce .button.alt{background:var(--ink)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}

/* ---------- product page add to cart ---------- */
.pdp__cart form.cart{display:flex;gap:8px;margin:0 0 10px;flex-wrap:wrap}
.pdp__cart .single_add_to_cart_button{flex:1;min-width:200px}
.pdp__cart .stock{display:none}
.pdp__cart table.variations{width:100%;margin-bottom:12px;border-collapse:collapse}
.pdp__cart table.variations th,.pdp__cart table.variations td{padding:6px 0;text-align:left}
.pdp__cart table.variations select{width:100%;padding:12px;background:var(--sand);border:0;font:inherit}
.pdp__cart .woocommerce-variation-add-to-cart{display:flex;gap:8px;width:100%}
.quantity{display:flex;align-items:stretch;background:var(--sand)}
.quantity .qty{width:48px;text-align:center;border:0;background:transparent;font:inherit;font-weight:600;-moz-appearance:textfield}
.quantity .qty::-webkit-inner-spin-button,.quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:44px;font-size:20px;background:transparent}
.qty-btn:hover{background:var(--mint)}
.sotran-avail{margin-bottom:20px}
.pdp-details__lead{font-size:clamp(17px,1.25vw,20px);line-height:1.65;color:#333}
.pdp-details__lead p + p{margin-top:12px}

/* ---------- generic page body (cart / checkout / account / simple pages) ---------- */
.wp-page{padding-bottom:clamp(70px,7vw,120px)}
.wp-page__body{font-size:16.5px;line-height:1.7}
.wp-page__body > * + *{margin-top:1em}
.wp-page__body h2{font-stretch:125%;text-transform:uppercase;font-weight:500;font-size:clamp(22px,2vw,32px);margin-top:1.6em}
.wp-page__body a:not(.button):not(.btn){text-decoration:underline}

/* forms */
.woocommerce form .form-row{display:grid;gap:8px;margin:0 0 14px;padding:0}
.woocommerce form .form-row label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.woocommerce form .form-row .required{color:var(--ink);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page form .form-row .select2-container .select2-selection{width:100%;padding:15px 16px;border:0;background:var(--sand);font:inherit;font-size:16px;color:var(--ink);outline:none;min-height:52px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:3px solid var(--mint)}
.woocommerce form .form-row textarea{min-height:120px}
.select2-container--default .select2-selection--single{border:0;border-radius:0;height:52px}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:22px;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.select2-container--default .select2-selection--single .select2-selection__arrow b{display:none}
.select2-container--default .select2-selection--single .select2-selection__arrow{right:18px;width:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231e1e1e' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat center/12px 8px}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow{transform:rotate(180deg)}
.select2-dropdown{border:0;border-radius:0;background:#fff;outline:2px solid var(--sand)}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:auto}
/* Lost password and set new password: one tidy column, field then button (the half-width float put the button beside the field). */
.woocommerce form.lost_reset_password{max-width:560px}
.woocommerce form.lost_reset_password>p:first-child{margin-bottom:20px}
.woocommerce form.lost_reset_password .form-row{float:none;width:100%;margin:0 0 16px;padding:0}
.woocommerce form.lost_reset_password .input-text{width:100%}
.woocommerce form.lost_reset_password .button{width:100%;margin-top:4px}
.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,50px)}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.woocommerce-billing-fields__field-wrapper .form-row-wide,.woocommerce-shipping-fields__field-wrapper .form-row-wide,.woocommerce-address-fields__field-wrapper .form-row-wide{grid-column:1/-1}
/* Shorter checkout: address fields in pairs (street | unit, town | province, postcode | cell, WhatsApp | email). Stacks on phones. */
.woocommerce form #billing_address_1_field.form-row,.woocommerce form #billing_address_2_field.form-row,.woocommerce form #billing_city_field.form-row,.woocommerce form #billing_state_field.form-row,.woocommerce form #billing_postcode_field.form-row,.woocommerce form #billing_phone_field.form-row,.woocommerce form #billing_whatsapp_field.form-row,.woocommerce form #billing_email_field.form-row,.woocommerce form #shipping_address_1_field.form-row,.woocommerce form #shipping_address_2_field.form-row,.woocommerce form #shipping_city_field.form-row,.woocommerce form #shipping_state_field.form-row,.woocommerce form #shipping_postcode_field.form-row,.woocommerce form #shipping_phone_field.form-row,.woocommerce form #shipping_whatsapp_field.form-row,.woocommerce form #shipping_email_field.form-row{grid-column:auto;align-self:end}
.woocommerce-billing-fields__field-wrapper .select2-container,.woocommerce-shipping-fields__field-wrapper .select2-container{display:block}
.woocommerce-billing-fields__field-wrapper .select2-container .select2-selection--single,.woocommerce-shipping-fields__field-wrapper .select2-container .select2-selection--single{height:57px;margin-bottom:0!important}
.woocommerce-billing-fields__field-wrapper .select2-selection__arrow,.woocommerce-shipping-fields__field-wrapper .select2-selection__arrow{height:55px!important}
.woocommerce form #billing_address_2_field label.screen-reader-text,.woocommerce form #shipping_address_2_field label.screen-reader-text{position:static!important;width:auto;height:auto;clip:auto;clip-path:none;margin:0;overflow:visible}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,#order_review_heading,.woocommerce-Address-title h3,.woocommerce-column__title{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}

/* ---------- cart ---------- */
.woocommerce-cart .wp-page__body{display:block}
.woocommerce-cart-form{margin-bottom:30px}
table.shop_table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:15px}
table.shop_table th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 14px}
table.shop_table td{background:var(--sand);padding:14px;vertical-align:middle}
table.shop_table td.product-thumbnail img{width:90px;height:90px;object-fit:cover;background:#fff}
table.shop_table td.product-name a{font-weight:600}
table.shop_table td.product-remove a{display:grid;place-items:center;width:32px;height:32px;background:#fff;font-size:20px;text-decoration:none}
table.shop_table td.product-remove a:hover{background:var(--sun)}
table.shop_table td.actions{background:transparent;padding:14px 0}
.coupon{display:flex;gap:8px;flex-wrap:wrap}
.coupon .input-text{padding:15px;border:0;background:var(--sand);font:inherit;min-width:220px}
.coupon label{display:none}
.cart-collaterals{display:flex;justify-content:flex-end}
.cart_totals{width:min(520px,100%);background:var(--sand);padding:clamp(24px,2.6vw,40px)}
.cart_totals h2{font-stretch:125%;text-transform:uppercase;font-weight:500;font-size:clamp(22px,1.8vw,28px);margin:0 0 18px}
.cart_totals table.shop_table td,.cart_totals table.shop_table th{background:#fff;padding:12px 14px}
.cart_totals .order-total td,.cart_totals .order-total th{font-size:18px;font-weight:700}
.wc-proceed-to-checkout .checkout-button{width:100%;margin-top:16px}
#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:6px}
#shipping_method li{display:flex;align-items:flex-start;gap:8px}

/* ---------- checkout ---------- */
form.checkout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,70px);align-items:start}
form.checkout > .col2-set{grid-column:1;display:block}
form.checkout > .col2-set .col-2{margin-top:24px}
form.checkout > #order_review_heading{grid-column:2;grid-row:1;margin:0}
form.checkout > #order_review{grid-column:2;grid-row:1 / span 2;margin-top:40px;background:var(--sand);padding:clamp(22px,2.4vw,36px);position:sticky;top:100px}
#order_review table.shop_table td,#order_review table.shop_table th{background:#fff;padding:12px 14px}
#payment ul.payment_methods{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}
#payment ul.payment_methods li{background:#fff;padding:16px}
#payment .payment_box{padding:12px 0 0;font-size:14px;color:#555}
/* Gateway rows (Yoco, Payfast etc.): radio, name and logo on one line, card icons in a row on the right. The theme's img{display:block} stacked them. */
#payment li.wc_payment_method{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:10px}
#payment li.wc_payment_method>input{flex:none;margin:0;align-self:flex-start;position:relative;top:5px}
#payment li.wc_payment_method>.payment_box{flex-basis:100%}
#payment li.wc_payment_method>label{flex:1;min-width:0;display:flex;align-items:center;min-height:22px;flex-wrap:wrap;gap:8px 10px;margin:0}
#payment li.wc_payment_method>label img{display:inline-block;vertical-align:middle;margin:0!important}
#payment li.wc_payment_method>label>span[style*="float"]{float:none!important;margin-left:auto;display:inline-flex;align-items:center;gap:6px}
#payment li.wc_payment_method>label>span[style*="float"] img{height:22px!important;max-height:22px!important;width:auto}
#payment li.wc_payment_method>label .yoco-payment-method-icon[alt="Yoco"]{height:16px;max-height:16px!important;margin-inline-start:0!important}
#place_order{width:100%;margin-top:14px}
.woocommerce-privacy-policy-text{font-size:13px;color:var(--muted)}
.fee td,.fee th{color:var(--ink)}
.fee{--x:0}
tr.fee td .amount{color:#2b7a6d;font-weight:700}

/* ---------- my account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,70px);align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:14px 18px;background:var(--sand);font-weight:600;text-decoration:none!important}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff}
.woocommerce-MyAccount-navigation a:hover{background:var(--mint)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
#customer_login{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:16px}
#customer_login > div{background:var(--sand);padding:clamp(26px,3vw,50px)}
#customer_login > div:last-child{background:var(--ink);color:#fff}
#customer_login > div:last-child label{color:rgba(255,255,255,.7)}
#customer_login > div:last-child input.input-text{background:#fff}
#customer_login h2{font-stretch:125%;text-transform:uppercase;font-weight:500;font-size:clamp(24px,2.2vw,34px);margin:0 0 20px}
#customer_login .u-column1 input.input-text{background:#fff}
.woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;margin:6px 0 14px}
#customer_login > div:last-child .button{background:var(--mint);color:var(--ink)}
.lost_password a{font-size:14px}

/* ---------- pagination ---------- */
.navigation.pagination{margin-top:40px}
.nav-links{display:flex;gap:6px;flex-wrap:wrap}
.nav-links .page-numbers{display:grid;place-items:center;min-width:46px;height:46px;padding:0 12px;background:var(--sand);font-weight:600}
.nav-links .page-numbers.current{background:var(--ink);color:#fff}

@media (max-width:980px){
  form.checkout{grid-template-columns:1fr}
  form.checkout > #order_review_heading,form.checkout > #order_review{grid-column:1;grid-row:auto;position:static;margin-top:0}
  .woocommerce-account .woocommerce,#customer_login,.woocommerce .col2-set{grid-template-columns:1fr}
  ul.products{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
  table.shop_table.cart thead{display:none}
  table.shop_table.cart tr{display:grid;grid-template-columns:90px 1fr;gap:0;margin-bottom:8px}
  table.shop_table.cart td{display:block}
  table.shop_table.cart td.product-remove{grid-column:2}
}
.pdp__cart .sotran-avail{display:none}

/* ================= card badges: saving + availability, stacked ================= */
.pcard__badges{position:absolute;left:14px;top:14px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pcard__badges .pcard__badge{position:static}
.pcard__status{padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}
.pcard__status--instock{background:var(--mint);color:var(--ink)}
.pcard__status--backorder{background:#fff;color:var(--ink);outline:2px solid var(--ink);outline-offset:-2px}
.pcard__status--onitsway{background:var(--ink);color:var(--mint)}
.pcard__status--outofstock{background:#fff;color:var(--muted)}
.pcard__badges .pcard__badge--new{order:-1}
.pcard__status--backorder{background:#fff;color:var(--ink);outline:0}

/* WooCommerce clearfix pseudo-elements become empty rows inside flex/grid forms */
.pdp__cart form.cart::before,.pdp__cart form.cart::after,.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after,form.checkout::before,form.checkout::after,.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}

/* trade notice */
.sotran-trade-note{background:var(--ink)!important;color:#fff!important}
.pdp__info .sotran-trade-note{margin:0 0 16px}

/* ================= MY ACCOUNT ================= */
.woocommerce-account.logged-in .woocommerce{grid-template-columns:280px minmax(0,1fr)}
.woocommerce-MyAccount-navigation{position:sticky;top:100px;background:var(--sand);padding:10px}
.woocommerce-MyAccount-navigation ul{gap:4px}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:transparent;font-size:15px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}
.woocommerce-MyAccount-navigation li a::after{content:"";width:10px;height:10px;flex:none;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.35}
.woocommerce-MyAccount-navigation li a:hover{background:#fff;color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff}
.woocommerce-MyAccount-navigation li.is-active a::after{opacity:1;border-color:var(--mint)}
.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--muted)}
.woocommerce-MyAccount-content{font-size:16.5px;line-height:1.7;min-width:0}
.woocommerce-MyAccount-content > p:first-of-type{font-stretch:115%;font-size:clamp(20px,1.6vw,26px);line-height:1.35;margin-bottom:14px}
.woocommerce-MyAccount-content > p a{font-weight:600;text-decoration:underline}
.woocommerce-MyAccount-content .woocommerce-info,.woocommerce-MyAccount-content .woocommerce-message{margin-bottom:20px}
.woocommerce-MyAccount-content .woocommerce-Button,.woocommerce-MyAccount-content .button{margin-top:6px}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.woocommerce-Addresses .woocommerce-Address{background:var(--sand);padding:24px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.woocommerce-Address-title a{font-size:14px;text-decoration:underline}
.woocommerce-Address address{font-style:normal;line-height:1.7}
.woocommerce-orders-table{border-spacing:0 8px}
.woocommerce-EditAccountForm fieldset{border:0;padding:0;margin:24px 0 0}
.woocommerce-EditAccountForm legend{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
@media (max-width:980px){.woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr}.woocommerce-MyAccount-navigation{position:static}.woocommerce-MyAccount-navigation ul{grid-template-columns:1fr 1fr}.woocommerce-Addresses{grid-template-columns:1fr}}
.pdp__cart form.cart::before,.pdp__cart form.cart::after{content:none!important;display:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important}
.pdp__cart form.cart{padding:0!important;margin:0 0 10px!important}
.pcard__status--onitsway{background:var(--ink);color:#fff}
.pcard__status--prearrival{background:var(--ink);color:var(--mint)}
.avail-line--pre i{background:var(--mint)}
.sotran-deposit-note td{background:var(--mint)!important;font-size:14px;line-height:1.5}
.sotran-balance-box{background:var(--mint)!important}
.sotran-balance-box,.sotran-trade-note{display:block!important}.sotran-balance-box .button{margin-left:10px}

/* Sotran Orders: invoice, tracking, business fields */
.sotran-invoice-box,.sotran-tracking-box{background:var(--sand);padding:28px 32px;margin:28px 0 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.sotran-invoice-box.is-eft{background:var(--mint)}
.sotran-invoice-box h3,.sotran-tracking-box h2{width:100%;margin:0;font-size:20px;text-transform:uppercase;font-stretch:125%;letter-spacing:.02em}
.sotran-invoice-box p{margin:0;flex:1 1 420px;max-width:680px}
.sotran-tracking-box dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 24px;flex:1 1 420px}
.sotran-tracking-box dt{color:#555}.sotran-tracking-box dd{margin:0;font-weight:600}
.sotran-biz-details{margin-top:32px}
.woocommerce-checkout .sotran-biz-toggle{background:var(--sand);padding:16px 18px!important;margin-bottom:18px!important}
.woocommerce-checkout .sotran-biz-toggle label{font-weight:600;display:flex;gap:10px;align-items:center;cursor:pointer}
.sotran-wa-optin{margin:0 0 16px!important}
.sotran-wa-optin label{display:flex;gap:10px;align-items:center;font-size:14px}
@media(max-width:640px){.sotran-invoice-box,.sotran-tracking-box{padding:22px 18px}}

/* ================= cart: item cards + sticky summary ================= */
.scart{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:clamp(28px,4vw,64px);align-items:start}
.scart__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 18px}
.scart__head p{margin:0;font-weight:600}
.scart__continue{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
.scart__items{display:grid;gap:12px}
.scart__item{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:clamp(16px,2vw,28px);padding:16px;border:1.5px solid var(--sand-2);background:#fff;transition:border-color .3s}
.scart__item:hover{border-color:var(--ink)}
.scart__thumb a,.scart__thumb img{display:block;width:150px;height:150px}
.scart__thumb img{object-fit:cover;background:var(--sand)}
.scart__info{display:flex;flex-direction:column;gap:6px;min-width:0;padding-top:4px}
.scart__name{margin:0;font-size:17px;font-weight:600;line-height:1.35;text-transform:none;letter-spacing:0;font-stretch:100%}
.scart__name a{text-decoration:none}
.scart__name a:hover{text-decoration:underline;text-underline-offset:4px}
.scart__status{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.scart__status i{width:8px;height:8px;border-radius:50%;background:#2f9e8b;flex:none}
.scart__status--backorder i{background:#c48a1b}
.scart__status--onitsway i,.scart__status--prearrival i{background:var(--ink)}
.scart__status--outofstock i{background:#b3261e}
.scart__meta{list-style:none;margin:0;padding:0;font-size:13px;color:var(--muted)}
.scart__meta span{color:var(--ink);font-weight:600}
.scart__meta p{display:inline;margin:0}
.scart__sku{margin:0;font-size:12px;color:var(--muted);letter-spacing:.04em}
.scart__actions{display:flex;align-items:center;gap:20px;margin-top:auto;padding-top:10px}
.scart__actions .quantity{display:inline-flex;align-items:center;background:var(--sand)}
.scart__actions .quantity .qty{width:44px;height:42px;border:0;background:transparent;text-align:center;font:inherit;font-weight:600;-moz-appearance:textfield}
.scart__actions .quantity .qty::-webkit-inner-spin-button,.scart__actions .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.scart__actions .qty-btn{width:42px;height:42px;border:0;background:transparent;font-size:18px;cursor:pointer;transition:background .25s}
.scart__actions .qty-btn:hover{background:var(--mint)}
.scart .product-remove a.remove{display:inline;width:auto;height:auto;background:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)!important;text-decoration:underline;text-underline-offset:4px}
.scart .product-remove a.remove:hover{color:var(--ink)!important;background:none}
.scart__price{text-align:right;padding-top:4px;display:flex;flex-direction:column;gap:4px}
.scart__price strong{font-size:18px;font-weight:700;white-space:nowrap}
.scart__price small{font-size:12px;color:var(--muted);white-space:nowrap}
.scart__price del{color:var(--muted);font-weight:400;font-size:14px;margin-right:6px}
.scart__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.scart__foot .coupon .input-text{min-width:260px;background:#fff;border:1.5px solid var(--sand-2)}
.scart__foot .coupon .input-text:focus{outline:0;border-color:var(--ink)}
.scart__foot .button--ghost{background:#fff;color:var(--ink);border:1.5px solid var(--ink);padding:14px 24px}
.scart__foot .button--ghost:hover{background:var(--ink);color:#fff}
.scart__update{display:none!important}
.woocommerce-cart-form{margin-bottom:0}

/* summary */
.scart__aside{position:sticky;top:110px}
.scart .cart-collaterals{display:block}
.scart .cart_totals{width:100%;padding:clamp(24px,2.4vw,36px)}
.scart .cart_totals h2{font-size:22px;margin:0 0 14px}
.scart .cart_totals table.shop_table{border-spacing:0;font-size:15px}
.scart .cart_totals table.shop_table tr{display:flex;justify-content:space-between;gap:16px;padding:12px 0}
.scart .cart_totals table.shop_table th,.scart .cart_totals table.shop_table td{background:none;padding:0;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500}
.scart .cart_totals table.shop_table td{text-align:right}
.scart .cart_totals table.shop_table tr.woocommerce-shipping-totals{display:block}
.scart .cart_totals tr.woocommerce-shipping-totals th{display:block;font-weight:700;margin:6px 0 12px}
.scart .cart_totals tr.woocommerce-shipping-totals td{display:block;text-align:left}
.scart #shipping_method{gap:8px}
.scart #shipping_method li{position:relative;display:block;margin:0}
.scart #shipping_method li input{position:absolute;left:16px;top:17px;margin:0;accent-color:var(--ink)}
.scart #shipping_method li label{display:block;padding:14px 16px 14px 44px;background:#fff;border:1.5px solid transparent;cursor:pointer;font-size:14px;line-height:1.45;transition:border-color .25s}
.scart #shipping_method li label:hover{border-color:var(--sand-2)}
.scart #shipping_method li input:checked+label{border-color:var(--ink);font-weight:600}
.scart #shipping_method .amount{font-weight:700;white-space:nowrap}
.scart .woocommerce-shipping-destination{font-size:13px;color:var(--muted);margin:12px 0 0}
.scart .shipping-calculator-button{font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.scart .shipping-calculator-form{margin-top:14px}
.scart .shipping-calculator-form .form-row{margin:0 0 14px;padding:0}
.scart form .shipping-calculator-form .form-row input.input-text,.scart form .shipping-calculator-form .form-row select,.scart form .shipping-calculator-form .form-row .select2-container .select2-selection{background:#fff;border:1px solid #e2e2e2;height:52px;padding:0 16px;line-height:50px}
.scart .shipping-calculator-form .select2-container .select2-selection__rendered{line-height:50px;padding:0}
.scart .shipping-calculator-form button[name=calc_shipping]{padding:14px 24px;font-size:12px;margin-top:4px}
.scart .cart_totals tr.fee td{color:#2f7a6c;font-weight:600}
.scart .cart_totals tr.order-total{margin-top:8px;padding-top:18px;border-top:2px solid var(--ink)}
.scart .cart_totals tr.order-total th,.scart .cart_totals tr.order-total td{font-size:20px;font-weight:800}
.scart .cart_totals tr.order-total small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.scart .cart_totals table.shop_table tr.sotran-deposit-note{display:block;padding:0}
.scart .cart_totals tr.sotran-deposit-note td{display:block;text-align:left;background:var(--mint);padding:14px 16px;font-size:13px;line-height:1.5}
.scart .wc-proceed-to-checkout{padding:0}
.scart .wc-proceed-to-checkout .checkout-button{width:100%;margin-top:18px;padding:20px 28px;font-size:14px}
.scart__trust{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:16px}
.scart__trust li{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:13px;line-height:1.5;color:var(--muted)}
.scart__trust svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.scart__trust b{display:block;color:var(--ink);font-size:14px}
.scart__trust a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

@media (max-width:1100px){
  .scart{grid-template-columns:1fr}
  .scart__aside{position:static}
}
@media (max-width:640px){
  .scart__item{grid-template-columns:96px minmax(0,1fr);padding:12px;gap:14px}
  .scart__thumb a,.scart__thumb img{width:96px;height:96px}
  .scart__price{grid-column:2;text-align:left;padding-top:0;order:3}
  .scart__info{order:2}
  .scart__actions{gap:14px}
  .scart__foot .coupon{width:100%}
  .scart__foot .coupon .input-text{min-width:0;flex:1}
  .scart__head{flex-direction:column;gap:6px}
}
.scart .cart-collaterals .cart_totals{float:none!important;width:100%!important}
.scart .cart-collaterals{width:100%!important;float:none!important}
.scart .cart_totals table.shop_table tr.woocommerce-shipping-totals th{display:block;margin:4px 0 12px}
.scart .cart_totals table.shop_table tr.woocommerce-shipping-totals td{display:block;text-align:left}
.scart .cart_totals table.shop_table{margin:0}
.scart__foot::before,.scart__foot::after,.scart .woocommerce-cart-form::before,.scart .woocommerce-cart-form::after{display:none!important}
.scart .cart_totals table.shop_table td::before{display:none!important;content:none!important}
.scart .cart_totals table.shop_table th{display:block!important}
.scart .cart_totals table.shop_table tr.woocommerce-shipping-totals th{margin:4px 0 12px}
.scart .scart__items{margin:0!important;padding:0!important;border:0!important}.scart .scart__items::before,.scart .scart__items::after{content:none!important;display:none!important}
.scart .cart_totals table.shop_table tr.woocommerce-shipping-totals td,.scart #shipping_method li label{text-align:left!important;background-color:#fff}.scart .cart_totals table.shop_table tr.woocommerce-shipping-totals td{background:none!important}.scart .cart_totals table.shop_table tr.sotran-deposit-note td{text-align:left!important}
/* mega menu prices: keep "R 3 916" on one line */
.mega__prod em.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.mega__prod em.price span,.mega__prod em.price bdi{display:inline;margin:0;font-size:inherit;white-space:nowrap}
.mega__prod em.price s{color:var(--muted);white-space:nowrap}
.mega__prod em.price .now{font-weight:700}

/* free delivery progress (Sotran Orders) */
.sotran-free{background:var(--sand);padding:20px 24px;margin:0 0 18px}
.sotran-free__text{margin:0 0 12px;font-size:15px;line-height:1.5}
.sotran-free__amt{color:#2f7a6c;font-size:17px}
.sotran-free__bar{height:8px;background:#fff;overflow:hidden}
.sotran-free__bar span{display:block;height:100%;background:var(--mint);transition:width .6s var(--ease,ease)}
.sotran-free__scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:8px}
.sotran-free.is-done{background:var(--mint)}
.sotran-free.is-done .sotran-free__bar span{background:var(--ink)}
.woocommerce-checkout .sotran-free-wrap{grid-column:1/-1}
/* preferred delivery day */
#sotran_delivery_day_field .woocommerce-input-wrapper{display:flex;flex-wrap:wrap;gap:8px}
#sotran_delivery_day_field input[type=radio]{position:absolute;opacity:0;pointer-events:none}
#sotran_delivery_day_field label.radio{display:inline-block;margin:0;padding:13px 18px;background:#fff;border:1.5px solid var(--sand-2);cursor:pointer;font-size:14px}
#sotran_delivery_day_field input[type=radio]:checked+label.radio{border-color:var(--ink);font-weight:600}
.sotran-day__note{margin:8px 0 0;font-size:13px;color:var(--muted);width:100%}

/* ================= home intro v3: copy + material tiles ================= */
.intro--v3 .wrap.intro3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,110px);align-items:center}
.intro3__title{font-size:clamp(32px,3.5vw,58px);line-height:1.08;margin:0 0 28px}
.intro3__title .hl{background:var(--mint);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.intro3__copy .lede{max-width:52ch;margin:0 0 36px}
.intro3__stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(28px,3.5vw,64px);margin:0 0 40px}
.intro3__stats b{display:block;font-stretch:125%;font-size:clamp(28px,2.4vw,40px);font-weight:500;line-height:1;color:var(--ink);margin-bottom:10px}
.intro3__stats small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.intro3__tiles{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:1/0.95}
.intro3__tile{position:relative;margin:0;overflow:hidden;background:var(--sand)}
.intro3__tile--a{grid-row:1/3}
.intro3__tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease,ease)}
.intro3__tile:hover img{transform:scale(1.06)}
.intro3__tile figcaption{position:absolute;left:14px;bottom:14px;background:#fff;color:var(--ink);padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:980px){
  .intro--v3 .wrap.intro3{grid-template-columns:1fr}
  .intro3__tiles{aspect-ratio:auto;grid-template-rows:200px 200px}
}
@media (max-width:560px){
  .intro3__stats{grid-template-columns:repeat(3,1fr);gap:16px}
  .intro3__tiles{grid-template-rows:150px 150px;gap:10px}
}
.intro--v3 .wrap.intro3{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.intro3__title{font-size:clamp(30px,3.1vw,52px)}
.intro3__title{font-size:clamp(28px,2.75vw,46px)}
@media (max-width:980px){.intro--v3 .wrap.intro3{grid-template-columns:1fr}.intro3__title{font-size:clamp(30px,7vw,46px)}}
@media (max-width:560px){.intro3__stats b{font-size:26px}.intro3__copy .btn{width:auto;white-space:nowrap}}
.intro.intro--v3 h2.intro3__title{font-size:clamp(28px,2.75vw,46px)}
@media (max-width:980px){.intro.intro--v3 h2.intro3__title{font-size:clamp(28px,7vw,46px)}}

/* ================= FAQ accordions, FAQs page, category SEO block ================= */
.faqx{background:var(--sand);margin:0 0 8px}
.faqx summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;cursor:pointer;font-weight:600;font-size:16px;line-height:1.4}
.faqx summary::-webkit-details-marker{display:none}
.faqx summary i{position:relative;flex:none;width:14px;height:14px}
.faqx summary i::before,.faqx summary i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:var(--ink);transition:transform .3s}
.faqx summary i::after{transform:rotate(90deg)}
.faqx[open] summary i::after{transform:rotate(0)}
.faqx[open]{background:#fff;outline:1.5px solid var(--ink);outline-offset:-1.5px}
.faqx__a{padding:0 22px 20px;color:#444;font-size:15px;line-height:1.7}
.faqx__a p{margin:0 0 10px}.faqx__a p:last-child{margin:0}
.faqs-page{padding:clamp(20px,3vw,40px) 0 clamp(70px,8vw,120px)}
.faqs-page__grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.faqs-page__nav{position:sticky;top:110px}
.faqs-page__search input{width:100%;padding:16px 18px;border:1.5px solid var(--sand-2);background:#fff;font:inherit;margin:0 0 20px}
.faqs-page__search input:focus{outline:0;border-color:var(--ink)}
.faqs-page__nav ul{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:2px}
.faqs-page__nav a{display:flex;justify-content:space-between;padding:10px 14px;text-decoration:none;font-size:14px;font-weight:600;transition:background .25s}
.faqs-page__nav a small{color:var(--muted);font-weight:500}
.faqs-page__nav a:hover{background:var(--sand)}
.faqs-page__help{background:var(--mint);padding:22px}
.faqs-page__help b{font-size:17px}.faqs-page__help p{margin:6px 0 16px;font-size:14px}
.faqs-group{margin:0 0 clamp(40px,4vw,64px);scroll-margin-top:120px}
.faqs-group__title{font-stretch:125%;text-transform:uppercase;font-weight:500;font-size:clamp(22px,2vw,30px);margin:0 0 18px}
.faqs-page__empty{background:var(--sand);padding:22px}
.seo-block{padding:clamp(60px,7vw,110px) 0;background:#fff}
.seo-block__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:start}
.seo-block__grid > :only-child{grid-column:1/-1;max-width:1000px}
.seo-block__title{font-size:clamp(24px,2.2vw,34px);line-height:1.1;margin:0 0 22px}
.seo-block__text{color:#444;line-height:1.75;font-size:15px;position:relative}
.seo-block__text.is-folded{max-height:230px;overflow:hidden}
.seo-block__text.is-folded::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.seo-block__text h3{font-size:17px;margin:22px 0 8px}
.seo-block__more{margin-top:14px;background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
@media (max-width:900px){.faqs-page__grid,.seo-block__grid{grid-template-columns:1fr}.faqs-page__nav{position:static}.faqs-page__nav ul{grid-template-columns:1fr 1fr}}
.seo-block__text p{margin:0 0 14px}

/* ================= search drawer ================= */
.sdrawer{position:fixed;inset:0;z-index:300;pointer-events:none}
.sdrawer.is-open{pointer-events:auto}
.sdrawer__scrim{position:absolute;inset:0;background:rgba(30,30,30,.55);opacity:0;transition:opacity .4s}
.sdrawer.is-open .sdrawer__scrim{opacity:1}
.sdrawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(600px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.sdrawer.is-open .sdrawer__panel{transform:none}
html.has-sdrawer{overflow:hidden}
.sdrawer__head{display:flex;align-items:center;gap:12px;padding:22px clamp(20px,3vw,36px);background:var(--ink)}
.sdrawer__form{flex:1;display:flex;align-items:center;gap:14px;border-bottom:1.5px solid rgba(255,255,255,.35);padding:6px 0;transition:border-color .3s}
.sdrawer__form:focus-within{border-color:var(--mint)}
.sdrawer__form svg{width:22px;height:22px;stroke:#fff;flex:none}
.sdrawer__form input[type=search]{flex:1;min-width:0;background:none;border:0;color:#fff;font:inherit;font-size:clamp(18px,1.6vw,22px);padding:8px 0;outline:0}
.sdrawer__form input::placeholder{color:rgba(255,255,255,.55)}
.sdrawer__form input::-webkit-search-cancel-button{filter:invert(1)}
.sdrawer__close{position:relative;width:44px;height:44px;flex:none;background:none;border:0;cursor:pointer}
.sdrawer__close span{position:absolute;left:11px;top:21px;width:22px;height:2px;background:#fff;transform:rotate(45deg);transition:background .25s}
.sdrawer__close span+span{transform:rotate(-45deg)}
.sdrawer__close:hover span{background:var(--mint)}
.sdrawer__body{flex:1;overflow-y:auto;padding:clamp(24px,3vw,36px)}
.sdrawer__label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.sdrawer__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.sdrawer__chips button{background:var(--sand);border:0;padding:11px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .25s}
.sdrawer__chips button:hover,.sdrawer__chips button.is-active{background:var(--mint)}
.sdrawer__rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sdrawer__rooms a{text-decoration:none;display:block}
.sdrawer__rooms span{display:block;aspect-ratio:1;background:var(--sand);overflow:hidden;margin-bottom:8px}
.sdrawer__rooms img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.sdrawer__rooms a:hover img{transform:scale(1.07)}
.sdrawer__rooms b{font-size:14px}
.sdrawer__list{display:grid;gap:6px;margin:0 0 22px;transition:opacity .2s}
.sdrawer__list.is-loading{opacity:.4}
.sdrawer__item{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center;padding:8px;text-decoration:none;transition:background .25s}
.sdrawer__item:hover{background:var(--sand)}
.sdrawer__img{display:block;width:76px;height:76px;background:var(--sand);overflow:hidden}
.sdrawer__img img{width:100%;height:100%;object-fit:cover}
.sdrawer__txt b{display:block;font-size:15px;font-weight:600;line-height:1.35;margin-bottom:4px}
.sdrawer__txt em{font-style:normal;font-size:14px;font-weight:700}
.sdrawer__txt s{color:var(--muted);font-weight:400;margin-right:6px}
.sdrawer__none{background:var(--sand);padding:18px;font-size:14px;line-height:1.6;margin:0}
.sdrawer__all{width:100%;justify-content:center}
@media (max-width:560px){.sdrawer__rooms{grid-template-columns:repeat(2,1fr)}}
.sdrawer__img img{object-fit:contain;mix-blend-mode:multiply;padding:6px}
/* intro stats as tiles */
.intro3__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;justify-content:stretch;max-width:560px}
.intro3__stats > div{background:var(--sand);padding:22px 20px 20px;display:flex;flex-direction:column;justify-content:space-between;min-height:118px;transition:background .3s}
.intro3__stats > div:hover{background:var(--mint)}
.intro.intro--v3 .intro3__stats b{font-size:clamp(28px,2.4vw,38px);margin:0 0 18px}
.intro3__stats small{font-size:11px}
@media (max-width:560px){.intro3__stats > div{padding:16px 12px;min-height:96px}.intro.intro--v3 .intro3__stats b{font-size:24px}.intro3__stats small{font-size:10px;letter-spacing:.1em}}
/* custom select chevron everywhere (contact, trade, account, checkout native selects) */
.cform select,.f select,.woocommerce form .form-row select,.sgc-form select{-webkit-appearance:none;appearance:none;padding-right:46px!important;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%)!important;background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%!important;background-size:6px 6px!important;background-repeat:no-repeat!important}
.cform select::-ms-expand,.f select::-ms-expand{display:none}

/* contact map tabs */
.maptabs{display:flex;flex-direction:column}
.maptabs__bar{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.maptabs__tab{flex:1;min-width:110px;background:var(--sand);border:0;padding:14px 16px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}
.maptabs__tab:hover{background:var(--mint)}
.maptabs__tab.is-active{background:var(--ink);color:#fff}
.maptabs iframe{flex:1;min-height:420px;width:100%;border:0;display:block;filter:grayscale(.2)}
.maptabs__info{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--sand);padding:16px 18px}
.maptabs__info p{margin:0;font-weight:600;font-size:14px}
.maptabs__info .btn{padding:12px 18px;font-size:12px}
.cform select,.f select,.woocommerce form .form-row select,.sgc-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231e1e1e' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E")!important;background-position:right 18px center!important;background-size:12px 8px!important}

/* ================= customer gallery ================= */
.cgal{padding:clamp(20px,3vw,40px) 0 clamp(60px,7vw,100px)}
.cgal__grid{columns:4 260px;column-gap:12px}
.cgal__item{position:relative;display:block;margin:0 0 12px;break-inside:avoid;overflow:hidden;background:var(--sand)}
.cgal__item img{width:100%;height:auto;display:block;transition:transform .9s var(--ease,ease)}
.cgal__item:hover img{transform:scale(1.05)}
.cgal__cap{position:absolute;left:12px;bottom:12px;background:#fff;padding:7px 11px;font-size:12px;font-weight:700;letter-spacing:.06em;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.cgal__item:hover .cgal__cap,.cgal__item:focus-visible .cgal__cap{opacity:1;transform:none}
.cgal__empty{background:var(--sand);padding:28px;text-align:center}
.cgal-share{background:var(--ink);color:#fff;padding:clamp(60px,7vw,110px) 0}
.cgal-share__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);align-items:center}
.cgal-share__title{font-size:clamp(30px,3.4vw,56px);line-height:1.05;margin:0;color:#fff}
.cgal-share .lede{color:rgba(255,255,255,.75);margin:0 0 24px}
.cgal-share__acts{display:flex;gap:10px;flex-wrap:wrap}
.cgal-share .btn{background:var(--mint);color:var(--ink)}
.cgal-share .btn--light-ink{background:#fff;color:var(--ink)}
.cgal-share .btn:hover{background:#fff}
.lbox{position:fixed;inset:0;z-index:320;background:rgba(20,20,20,.94);display:flex;align-items:center;justify-content:center;padding:60px 70px}
.lbox[hidden]{display:none}
.lbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.lbox img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain}
.lbox figcaption{color:#fff;font-size:14px;margin-top:14px;min-height:20px}
.lbox__x{position:absolute;top:18px;right:18px;width:48px;height:48px;background:none;border:0;cursor:pointer}
.lbox__x span{position:absolute;left:12px;top:23px;width:24px;height:2px;background:#fff;transform:rotate(45deg)}
.lbox__x span+span{transform:rotate(-45deg)}
.lbox__nav{position:absolute;top:50%;width:52px;height:52px;margin-top:-26px;background:rgba(255,255,255,.1);border:0;cursor:pointer;transition:background .25s}
.lbox__nav:hover{background:var(--mint)}
.lbox__nav::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border:solid #fff;border-width:2px 2px 0 0;transform:translate(-65%,-50%) rotate(45deg)}
.lbox__nav--prev{left:12px}
.lbox__nav--prev::before{transform:translate(-35%,-50%) rotate(-135deg)}
.lbox__nav--next{right:12px}
@media (max-width:700px){.cgal-share__grid{grid-template-columns:1fr}.lbox{padding:60px 10px}.lbox__nav{top:auto;bottom:14px}}
.cgal-share{background:var(--sand);color:var(--ink)}
.cgal-share__title{color:var(--ink)}
.cgal-share .lede{color:#555}
.cgal-share .btn{background:var(--ink);color:#fff}
.cgal-share .btn--light-ink{background:#fff;color:var(--ink)}
.cgal-share .btn:hover{background:var(--mint);color:var(--ink)}

/* ================= grouped mega (Couches, Decor) ================= */
.mega__inner.mega__groups{grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);gap:clamp(28px,3.4vw,64px);align-items:start}
.mega__cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:30px clamp(20px,2.4vw,40px)}
.mega__ghead{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.mega__group ul{list-style:none;margin:0;padding:0}
.mega__group li a{display:inline-block;padding:6px 0;font-size:15px;font-weight:500;color:#444;text-decoration:none;transition:color .2s,transform .3s var(--ease)}
.mega__group li a:hover{color:var(--ink);transform:translateX(5px)}
.mega__group--sale .mega__ghead{display:inline-block;background:var(--sun);padding:4px 8px}
.mega__group--sale li a{color:var(--ink);font-weight:600}
.mega__allrow{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--sand);padding:14px 18px}
.mega__new-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none}
.mega__groups .mega__visual{aspect-ratio:3/4;min-height:0}
@media (max-width:1180px){.mega__inner.mega__groups{grid-template-columns:1fr}.mega__groups .mega__visual{display:none}}
.mega__inner.mega__groups{grid-template-columns:minmax(0,1fr) minmax(200px,.22fr)}
.mega__cols{grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:28px clamp(16px,1.8vw,32px)}
.mega__group li a{font-size:14.5px;padding:5px 0}
@media (max-width:1280px){.mega__cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plp-none{padding:clamp(20px,3vw,40px) 0 clamp(70px,8vw,110px)}
.plp-none__box{background:var(--sand);padding:clamp(32px,5vw,72px);text-align:center}
.plp-none__box h2{font-size:clamp(24px,2.4vw,36px);margin:0 0 14px}
.plp-none__box .lede{max-width:60ch;margin:0 auto 26px}
.plp-none__acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.plp-none .btn--light-ink{background:#fff}
/* grouped mega: no image, full width, roomier */
.mega__inner.mega__groups{grid-template-columns:1fr;padding-top:44px;padding-bottom:40px}
.mega__cols{gap:34px clamp(28px,3.2vw,60px)}
.mega__ghead{margin-bottom:16px;white-space:nowrap}
.mega__group li a{font-size:15px;padding:7px 0}
.mega__allrow{margin-top:8px}
.mega__group--sale .mega__ghead{margin-top:-4px;margin-bottom:12px}
/* checkout grid: progress bar + details in column 1, order review spans column 2 */
form.checkout > .sotran-free-wrap{grid-column:1;grid-row:1}
form.checkout > .sotran-free-wrap:empty{display:none}
form.checkout > #customer_details{grid-row:2}
form.checkout > #order_review_heading{grid-row:1}
/* Order summary starts level with Billing details: spanning both rows made the grid open a gap above Billing. */
@media (min-width:981px){form.checkout > #order_review_heading{grid-row:2;align-self:start}form.checkout > #order_review{grid-row:2}}
.woocommerce-checkout .sotran-free{margin:0}
@media (max-width:980px){form.checkout > .sotran-free-wrap,form.checkout > #customer_details,form.checkout > #order_review_heading,form.checkout > #order_review{grid-column:1;grid-row:auto}}
/* checkout order summary: same calm style as the cart summary */
#order_review table.shop_table{border-spacing:0;font-size:14px}
#order_review table.shop_table tr{display:flex;justify-content:space-between;gap:16px;padding:12px 0}
#order_review table.shop_table thead tr{padding-top:0}
#order_review table.shop_table th,#order_review table.shop_table td{background:none;padding:0;color:var(--ink);text-transform:none;letter-spacing:0;font-size:14px;font-weight:500}
#order_review table.shop_table thead th{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
#order_review table.shop_table td:last-child,#order_review table.shop_table th:last-child{text-align:right;white-space:nowrap}
/* The "Where should your order come from?" choice spans both columns: let it wrap (the nowrap above is for prices) or it widens the page. */
#order_review table.shop_table tr.sotran-shipmode td{text-align:left;white-space:normal}
#order_review td.product-name{font-weight:600;line-height:1.45}
#order_review td.product-name .product-quantity{font-weight:500;color:var(--muted)}
#order_review .variation{display:grid;grid-template-columns:auto 1fr;gap:2px 6px;margin:6px 0 0;font-size:12px;font-weight:500;color:var(--muted)}
#order_review .variation dt{font-weight:600;color:var(--ink);margin:0}
#order_review .variation dd{margin:0}
#order_review .variation dd p{margin:0;display:inline}
#order_review table.shop_table tr.woocommerce-shipping-totals{display:block}
#order_review table.shop_table tr.woocommerce-shipping-totals th{display:block;font-weight:700;margin:4px 0 10px;white-space:normal;text-align:left}
#order_review table.shop_table tr.woocommerce-shipping-totals td{display:block;text-align:left!important;white-space:normal!important}
#order_review #shipping_method{gap:8px}
#order_review #shipping_method li{position:relative;display:block}
#order_review #shipping_method li input{position:absolute;left:14px;top:15px;margin:0;accent-color:var(--ink)}
#order_review #shipping_method li label{display:block;padding:12px 14px 12px 40px;background:#fff;border:1.5px solid transparent;cursor:pointer;line-height:1.45}
#order_review #shipping_method li input:checked+label{border-color:var(--ink);font-weight:600}
#order_review tr.fee td{color:#2f7a6c;font-weight:600}
#order_review tr.order-total{margin-top:6px;padding-top:16px;border-top:2px solid var(--ink)}
#order_review tr.order-total th,#order_review tr.order-total td{font-size:19px;font-weight:800}
#order_review tr.sotran-deposit-note{display:block;padding:0}
#order_review tr.sotran-deposit-note td{display:block;text-align:left!important;white-space:normal!important;background:var(--mint);padding:14px 16px;font-size:13px;line-height:1.5}
#order_review td::before{display:none!important}
/* checkbox + radio labels: normal case, no asterisk per option */
.woocommerce-checkout .sotran-biz-toggle label,.sotran-wa-optin label,#ship-to-different-address label{text-transform:none!important;letter-spacing:0!important;font-size:14px!important}
#sotran_delivery_day_field label.radio{text-transform:none;letter-spacing:0}
#sotran_delivery_day_field label.radio .required,#sotran_delivery_day_field label.radio abbr{display:none}
.mega__col{display:grid;gap:30px;align-content:start}
.sotran-stores{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;color:#555}.sotran-stores i{width:8px;height:8px;background:var(--mint);flex:none}

/* ================= mobile fixes (Oct 2026) ================= */
/* Dropdowns: no rounded native iPhone/Safari look, one thin chevron */
.f select,.cform select{-webkit-appearance:none;appearance:none;border-radius:0;padding-right:46px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231e1e1e' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px 8px}
.f select::-ms-expand,.cform select::-ms-expand{display:none}

/* Consultants: cards the same height, WhatsApp buttons lined up at the bottom */
.cons{display:flex;flex-direction:column}
.cons p{flex:1}
.cons__wa{margin-top:auto}

/* Pop-up: compact on phones */
@media (max-width:760px){
  .pop{padding:14px}
  .pop__box{max-height:calc(100dvh - 28px)}
  .pop__img{min-height:0;height:130px}
  .pop__img span{left:12px;top:12px;padding:5px 9px;font-size:10px}
  .pop__copy{padding:20px 20px 18px}
  .pop__kick{font-size:11px;margin-bottom:8px}
  .pop__copy h2{font-size:24px;line-height:1.05;margin-bottom:10px}
  .pop__copy > p{font-size:14px;line-height:1.5;margin-bottom:16px}
  .pop__acts{flex-wrap:nowrap;gap:6px;margin-bottom:12px}
  .pop__acts .btn{flex:1;justify-content:center;padding:13px 8px;font-size:11px;letter-spacing:.08em}
  .pop__no{font-size:12.5px}
  .pop__x{width:36px;height:36px;top:8px;right:8px}
}
@media (max-width:360px){.pop__img{height:96px}.pop__copy h2{font-size:21px}}
.f select,.cform select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231e1e1e' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:12px 8px!important}

/* mobile: hero headline above the side copy (a later 360px column rule squeezed the title to 0 width) */
@media (max-width:900px){.hero__copy .wrap{grid-template-columns:minmax(0,1fr)!important;gap:18px;align-items:end}.hero__side{max-width:none}}
/* mobile menu: close button must not shrink to 0 width */
.drawer__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer__close{flex:none;width:44px;height:44px;display:grid;place-items:center;background:var(--ink);color:#fff;border:0;cursor:pointer}
.drawer__close .ico{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none}


/* mobile menu: logo on a dark band */
.drawer__top{background:var(--ink);margin:-22px calc(var(--gutter) * -1) 22px;padding:18px var(--gutter)}
.drawer__top img{width:150px}
.drawer__close{background:transparent;border:1.5px solid rgba(255,255,255,.35)}
.drawer__close:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}


/* page-header photos drift with a parallax: make them taller than the banner so no strip ever shows */
.shero > img,.shero > .sotran-pic > img,.art__hero > img,.about-hero > img,.about-hero > .sotran-pic > img{inset:auto;left:0;right:0;top:-90px;height:calc(100% + 220px)}


/* Add to cart hover: mint background, dark text (a more specific rule kept the dark background) */
.pdp__cart .single_add_to_cart_button:hover,.pdp__cart .single_add_to_cart_button:focus-visible,.single_add_to_cart_button:hover,.woocommerce .button:hover,.checkout-button:hover,#place_order:hover{background:var(--mint)!important;color:var(--ink)!important}

/* ================= product card hover: gentle zoom + "View piece" bar ================= */
.pcard__img::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(30,30,30,0);transition:background .5s;pointer-events:none}
.pcard:hover .pcard__img::after{background:rgba(30,30,30,.05)}
.pcard .pcard__img img:not(.alt){transition:opacity .6s var(--ease,ease),transform 1.1s var(--ease,ease)}
.pcard:hover .pcard__img img:not(.alt){transform:scale(1.06)}
.pcard__badges,.pcard__badge{z-index:3}
.pcard__add{left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--ink,#1e1e1e);color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-align:left;transform:translateY(101%);transition:transform .45s var(--ease,ease)}
.pcard__add .arr{width:20px;height:auto;flex:none;transition:transform .35s var(--ease,ease)}
.pcard:hover .pcard__add{transform:none}
.pcard:hover .pcard__add .arr{transform:translateX(4px)}
.pcard__add:hover{background:var(--ink,#1e1e1e)}
.pcard__meta h3{display:inline;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease,ease)}
.pcard:hover .pcard__meta h3{background-size:100% 1px}
.pcard__meta .price{margin-top:8px}
@media (hover:none){.pcard__add{display:none}.pcard:hover .pcard__img img:not(.alt){transform:none}}
.pcard__meta .pcard__cat{display:block;margin-bottom:6px}

/* ================= "View" cursor over products (replaces the slide-up bar) ================= */
.pcard__add{display:none!important}
.vcursor{position:fixed;left:0;top:0;z-index:400;pointer-events:none;width:0;height:0}
.vcursor span{position:absolute;left:-44px;top:-44px;width:88px;height:88px;display:grid;place-items:center;background:var(--ink,#1e1e1e);color:#fff;font:700 12px/1 Archivo,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;transform:scale(0);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s,background .25s}
.vcursor.is-on span{transform:scale(1);opacity:1}
.vcursor.is-on.is-down span{transform:scale(.88);background:var(--mint,#7ccbbd);color:var(--ink,#1e1e1e)}
html.has-vcursor .pcard,html.has-vcursor .pcard *,html.has-vcursor .mega__prod,html.has-vcursor .mega__prod *,html.has-vcursor .look__item,html.has-vcursor .look__item *,html.has-vcursor .scard,html.has-vcursor .scard *,html.has-vcursor .space,html.has-vcursor .space *,html.has-vcursor .sdrawer__item,html.has-vcursor .sdrawer__item *,html.has-vcursor .intro3__tile,html.has-vcursor .intro3__tile *,html.has-vcursor .cgal__item,html.has-vcursor .cgal__item *{cursor:none}
@media (hover:none),(pointer:coarse){.vcursor{display:none}}
.vcursor span{left:-31px;top:-31px;width:62px;height:62px;border-radius:50%;font-size:10.5px;letter-spacing:.14em}
.pdp__cart .sotran-stores{display:none}

/* touch screens (no cursor): show a small "View" button on product images */
@media (hover:none),(pointer:coarse){
  .pcard__add{display:flex!important;left:auto;right:10px;bottom:10px;padding:9px 12px;gap:8px;font-size:10.5px;letter-spacing:.14em;transform:none!important}
  .pcard__add span{line-height:1}
  .pcard__add .arr{width:14px}
}
.cform .cform__check{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;line-height:1.5}.cform .cform__check input{width:auto;margin-top:3px}.cform__err{background:#fff;color:var(--ink);padding:12px 14px;font-weight:600;margin:0 0 6px}
.cform .cform__check a{color:inherit;text-decoration:underline;text-underline-offset:3px}.trade__terms ol li{margin-bottom:8px;line-height:1.6}

/* gallery "Got Sotran at home?" band: dark, centred */
.cgal-share{background:var(--ink);color:#fff;padding:clamp(70px,8vw,120px) 0;margin-bottom:clamp(40px,5vw,70px);text-align:center}
.cgal-share__inner{display:flex;flex-direction:column;align-items:center}
.cgal-share__kick{display:flex;align-items:center;gap:16px;margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cgal-share__kick::before,.cgal-share__kick::after{content:"";width:36px;height:1px;background:rgba(255,255,255,.4)}
.cgal-share .cgal-share__title{margin:0 0 18px;color:#fff;font-size:clamp(32px,4vw,60px);line-height:1.05}
.cgal-share__title span{color:var(--mint)}
.cgal-share__lede{margin:0 0 34px;max-width:60ch;color:rgba(255,255,255,.7);font-size:clamp(15px,1.2vw,18px);line-height:1.6}
.cgal-share__acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.cgal-share__btn{display:inline-flex;align-items:center;gap:18px;padding:16px 16px 16px 26px;border:1.5px solid rgba(255,255,255,.35);color:#fff;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.cgal-share__btn i{display:grid;place-items:center;width:34px;height:34px;background:#fff;color:var(--ink);transition:transform .3s}
.cgal-share__btn i .arr{width:16px}
.cgal-share__btn--light{background:#fff;color:var(--ink);border-color:#fff}
.cgal-share__btn--light i{background:var(--ink);color:#fff}
.cgal-share__btn:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.cgal-share__btn:hover i{transform:translateX(3px);background:var(--ink);color:#fff}

/* consultants: swipe row on phones */
@media (max-width:760px){
  .consultants__grid{display:grid;grid-auto-flow:column;grid-auto-columns:72%;grid-template-columns:none;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-right:calc(var(--gutter,16px) * -1);padding-right:var(--gutter,16px);scrollbar-width:none}
  .consultants__grid::-webkit-scrollbar{display:none}
  .consultants__grid > *{scroll-snap-align:start}
}
.news__done{margin:0;font-size:18px;font-weight:700;padding:18px 0}.news__msg{margin:0 0 10px;font-weight:600}
.cons__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}

/* ================= wishlist ================= */
.wish-btn{position:absolute;top:12px;right:12px;z-index:4;display:grid;place-items:center;width:38px;height:38px;background:#fff;color:var(--ink);cursor:pointer;transition:background .25s,color .25s,transform .25s}
.wish-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;transition:fill .25s}
.wish-btn:hover{background:var(--ink);color:#fff}
.wish-btn.is-on svg{fill:currentColor}
.wish-btn.is-on{color:var(--ink)}
.wish-btn.is-bump{transform:scale(1.18)}
.wish-btn:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.wish-btn--label{position:static;display:inline-flex;width:auto;height:auto;gap:10px;padding:12px 0;background:none;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.wish-btn--label em{font-style:normal}
.wish-btn--label:hover{background:none;color:var(--ink)}
.wish-btn--label:hover em{text-decoration:underline;text-underline-offset:4px}
.wish-count{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;background:var(--mint);color:var(--ink);font-size:10px;font-weight:700;line-height:16px;text-align:center}
.wish-count[hidden]{display:none}
.header__right a{position:relative}
.wishpage{padding:clamp(20px,3vw,40px) 0 clamp(70px,8vw,110px)}
.wishpage__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 26px}
.wishpage__clear{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;cursor:pointer;color:var(--muted)}
.wishpage__empty{background:var(--sand);padding:clamp(30px,5vw,60px);text-align:center}
.wishpage__empty p{font-size:18px;margin:0 0 18px}

/* ================= site cursor (dot + ring, "View" on products) ================= */
.vcursor{display:none!important}
html.has-scur,html.has-scur *{cursor:none!important}
html.has-scur input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),html.has-scur textarea,html.has-scur [contenteditable="true"]{cursor:text!important}
.scur{pointer-events:none}
.scur i,.scur span{position:fixed;left:0;top:0;z-index:2147483000;pointer-events:none;will-change:transform}
.scur__dot::before,.scur__ring::before{content:"";position:absolute;border-radius:50%;transition:width .3s cubic-bezier(.2,.8,.2,1),height .3s cubic-bezier(.2,.8,.2,1),left .3s cubic-bezier(.2,.8,.2,1),top .3s cubic-bezier(.2,.8,.2,1),opacity .25s,background .25s,border-color .25s}
.scur__dot,.scur__ring{mix-blend-mode:difference}
.scur__dot::before{width:6px;height:6px;left:-3px;top:-3px;background:#fff}
.scur__ring::before{width:34px;height:34px;left:-17px;top:-17px;border:1.5px solid #fff}
.scur__view{display:block}
.scur__view::before{content:"View";position:absolute;left:-31px;top:-31px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--ink,#1e1e1e);color:#fff;font:700 10.5px/62px Archivo,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-align:center;transform:scale(0);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s,background .25s,color .25s}
.scur__view{font-size:0}
/* links + buttons: ring grows, dot hides */
.scur[data-state=link] .scur__ring::before{width:40px;height:40px;left:-20px;top:-20px;background:transparent}
.scur[data-state=link] .scur__dot::before{opacity:0}
/* products: the "View" badge */
.scur[data-state=view] .scur__view::before{transform:scale(1);opacity:1}
.scur[data-state=view] .scur__ring::before,.scur[data-state=view] .scur__dot::before{opacity:0}
.scur.is-down[data-state=view] .scur__view::before{transform:scale(.88);background:var(--mint,#7ccbbd);color:var(--ink,#1e1e1e)}
.scur.is-down .scur__ring::before{width:24px;height:24px;left:-12px;top:-12px}
/* typing: hand back to the normal text cursor */
.scur[data-state=text] i::before{opacity:0}
.scur.is-out i::before,.scur.is-out .scur__view::before{opacity:0}
@media (hover:none),(pointer:coarse){.scur{display:none}}
@media print{.scur{display:none}}

/* account nav: clear the sticky header when scrolled */
.woocommerce-MyAccount-navigation{top:calc(var(--sotran-head,96px) + 32px)}

/* ================= added-to-cart toast (replaces the full-width mint bar) ================= */
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-message:has(a.wc-forward){display:none}
body:not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce-notices-wrapper:has(> .woocommerce-message:only-child a.wc-forward){display:none}
.ctoast{position:fixed;z-index:9000;top:calc(var(--sotran-head,78px) + 16px);right:clamp(12px,2vw,28px);width:min(380px,calc(100vw - 24px));background:#fff;color:var(--ink);border:1px solid var(--ink);transform:translateX(calc(100% + 40px));opacity:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s}
.ctoast.is-in{transform:none;opacity:1}
.ctoast__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ctoast__head span{display:inline-flex;align-items:center;gap:10px}
.ctoast__head span::before{content:"";width:8px;height:8px;background:var(--mint)}
.ctoast__x{background:none;border:0;color:#fff;font-size:22px;line-height:1;padding:0 2px;cursor:pointer;opacity:.7}
.ctoast__x:hover{opacity:1}
.ctoast__item{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:center;padding:18px}
.ctoast__item img{width:84px;height:84px;object-fit:cover;background:var(--sand)}
.ctoast__item b{display:block;font-size:16px;font-weight:600;line-height:1.35}
.ctoast__item small{display:block;margin-top:4px;color:var(--muted);font-size:14px}
.ctoast__sum{display:flex;justify-content:space-between;padding:12px 18px;background:var(--sand);font-size:14px}
.ctoast__sum strong{font-weight:700}
.ctoast__acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px 18px 18px}
.ctoast__acts a{display:flex;align-items:center;justify-content:center;padding:14px 10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);transition:background .2s,color .2s}
.ctoast__acts a:first-child{background:#fff;color:var(--ink)}
.ctoast__acts a:first-child:hover{background:var(--sand)}
.ctoast__acts a:last-child{background:var(--ink);color:#fff}
.ctoast__acts a:last-child:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}
.ctoast__bar{height:3px;background:var(--mint);transform-origin:left;animation:ctoastbar 7s linear forwards}
.ctoast:hover .ctoast__bar{animation-play-state:paused}
@keyframes ctoastbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:600px){.ctoast{top:auto;bottom:12px;right:12px;transform:translateY(calc(100% + 30px))}}
@media (prefers-reduced-motion:reduce){.ctoast{transition:opacity .2s}.ctoast__bar{animation:none}}

/* craft band on phones: shorter, text sits higher, image always covers the top edge */
@media (max-width:640px){
  .craft{min-height:0;padding-top:min(58vw,260px)}
  .craft__bg{inset:-18% 0}
  .craft::after{background:linear-gradient(180deg,rgba(30,30,30,.15) 0%,rgba(30,30,30,.55) 45%,rgba(30,30,30,.85) 100%)}
  .craft .wrap{padding-top:28px;padding-bottom:56px}
  .craft h2{margin-bottom:18px}
  .craft p{margin-bottom:26px}
}

/* rooms that feel like a holiday: breathing room between the stacked rooms on phones */
@media (max-width:640px){
  .spaces__grid{row-gap:44px}
  .space__cap{padding-top:14px}
}

/* material tiles (Teak / Rattan / Stone) link through to their tag pages */
a.intro3__tile{display:block;color:var(--ink);text-decoration:none}
.intro3__tile figure{margin:0;width:100%;height:100%}
a.intro3__tile figcaption{transition:background .25s,color .25s}
a.intro3__tile:hover figcaption,a.intro3__tile:focus-visible figcaption{background:var(--ink);color:#fff}

/* top bar on phones: one short line instead of the cut-off full message */
.topbar__short{display:none}
.topbar__free{font-style:normal}
@media (max-width:640px){
  .topbar .wrap{justify-content:center}
  .topbar__ticker{width:100%;justify-content:center}
  .topbar__full{display:none}
  .topbar__ticker span.topbar__short{display:inline}
}
@media (max-width:359px){.topbar__ticker .topbar__free{display:none}}

/* top bar: dark to match the header, split from it by a fine line */
.topbar{background:var(--ink);color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.14)}
.topbar .topbar__ticker span b{color:#fff;font-weight:400}
.topbar__links a{color:rgba(255,255,255,.72);opacity:1}
.topbar__links a:hover{color:var(--mint)}

/* product page, desktop: one big photo with thumbnails under it, details pinned on the right */
.pdp__tiles{display:none}
@media (min-width:981px){
  .pdp__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,3.6vw,64px)}
  .pdp__tile{margin:0;aspect-ratio:1;background:var(--sand);overflow:hidden}
  .pdp__tile img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
  .pdp__gallery--photo .pdp__tile img{object-fit:cover;padding:0;mix-blend-mode:normal}
  .pdp__tile:hover img{transform:scale(1.04)}
  .pdp__tiles .pdp__tile:only-child{grid-column:1/-1}
  .pdp__info{top:calc(var(--sotran-head,96px) + 24px)}
}

/* small controls keep the normal pointer (custom cursor hides there) */
html.has-scur input[type=checkbox],html.has-scur input[type=radio],html.has-scur select,html.has-scur label,html.has-scur label *,html.has-scur .sotran-ack,html.has-scur .sotran-ack *,html.has-scur .opt,html.has-scur .opt *,html.has-scur .qty-btn,html.has-scur .qty button,html.has-scur .quantity button{cursor:pointer!important}

/* quick add on product cards */
.pcard__quick{position:absolute;left:12px;bottom:12px;z-index:4;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 12px;background:#fff;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1),background .2s,color .2s}
.pcard__quick .ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
.pcard__quick em{font-style:normal}
.pcard__quick-done{display:none;font-style:normal}
.pcard:hover .pcard__quick,.pcard__quick:focus-visible{opacity:1;transform:none}
.pcard__quick:hover{background:var(--ink);color:#fff}
.pcard__quick:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.pcard__quick.is-busy{opacity:1;transform:none;pointer-events:none}
.pcard__quick.is-busy .ico{animation:sqpulse .8s ease-in-out infinite}
.pcard__quick.is-done{opacity:1;transform:none;background:var(--mint);color:var(--ink)}
.pcard__quick.is-done em{display:none}.pcard__quick.is-done .pcard__quick-done{display:inline}
@keyframes sqpulse{50%{opacity:.35}}
html.has-scur .pcard__quick,html.has-scur .pcard__quick *{cursor:pointer!important}
@media (hover:none),(pointer:coarse){
  .pcard__quick{opacity:1;transform:none;left:10px;bottom:10px;height:auto;padding:9px 10px}
  .pcard__quick em{display:none}
  .pcard__quick.is-done .pcard__quick-done{display:none}
}

/* staff search: SKU under the name */
.sdrawer__sku{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:2px 0 4px}

/* product code: product page (everyone), product cards (staff) */
.pdp__sku{margin:-6px 0 18px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pdp__sku span{color:var(--ink)}
.pcard__sku{display:block;margin-top:4px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Sold out label: no empty status square, so the words sit in the middle */
.sotran-avail--outofstock .sotran-avail__pill i{display:none}
.sotran-avail--outofstock .sotran-avail__pill{justify-content:center}

/* Optional mobile photos (Customize): the <picture> wrapper takes no box of its own, so the img keeps its layout */
picture.sotran-pic{display:contents}
.look__img > picture > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Home intro heading: same size as the other section headings */
.intro.intro--v3 h2.intro3__title{font-size:clamp(34px,4.6vw,76px);line-height:.95}
@media (max-width:980px){.intro.intro--v3 h2.intro3__title{font-size:clamp(34px,4.6vw,76px)}}
.intro--v3 .intro3__copy .lede{max-width:none;font-size:clamp(17px,1.25vw,22px)}
.intro--v3 .intro3__stats{max-width:none}
.intro--v3 .wrap.intro3{align-items:center}
.woocommerce form .sotran-ikd label,.woocommerce form .sotran-ikd label span,.sotran-ikd label,.sotran-ikd label span{text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;line-height:1.55;color:#1e1e1e}
/* ---------- pay for order (balance links) ---------- */
.opay__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.opay__summary,.opay__pay{background:var(--sand);padding:clamp(22px,2.6vw,36px)}
.opay .opay__h,.woocommerce .opay h2.opay__h{font-size:13px;line-height:1.4;font-weight:700;font-stretch:100%;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
.opay__note{margin:0 0 16px;font-size:15px;color:#555}
.opay__items{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.opay__items li{display:flex;justify-content:space-between;gap:16px;background:#fff;padding:14px 16px;font-size:15px}
.opay__items em{font-style:normal;color:var(--muted);margin-left:4px}
.opay__totals{margin:0;display:grid;gap:2px}
.opay__row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:15px}
.opay__row dt{color:#555}
.opay__row dd{margin:0;font-weight:600;text-align:right}
.opay__row--total{margin-top:8px;padding-top:16px;font-size:18px}
.opay__row--total dt{color:var(--ink);font-weight:700}
.opay #payment{background:none;padding:0}
.opay #payment ul.payment_methods{margin:0 0 18px}
.opay #place_order{width:100%;margin-top:14px}
@media (max-width:900px){.opay__grid{grid-template-columns:1fr}}
/* ---------- order details (thank you page, My account > View order) ---------- */
.woocommerce-order-details{background:var(--sand);padding:clamp(22px,2.6vw,36px);margin:0 0 28px}
.woocommerce-order-details__title{font-size:13px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px!important}
table.woocommerce-table--order-details{border-spacing:0 6px}
table.woocommerce-table--order-details thead{display:none}
table.woocommerce-table--order-details td,table.woocommerce-table--order-details th{background:none;padding:10px 0;font-size:15px;letter-spacing:0;text-transform:none;color:#555;font-weight:500}
table.woocommerce-table--order-details tbody td{background:#fff;padding:14px 16px;color:var(--ink)}
table.woocommerce-table--order-details tfoot td{text-align:right;color:var(--ink);font-weight:600}
table.woocommerce-table--order-details tfoot .button,table.woocommerce-table--order-details tfoot a.button{padding:10px 18px;font-size:12px}
/* ---------- thank you page: two columns ---------- */
.thanks__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.thanks__main > *:first-child{margin-top:0}
.thanks .woocommerce-order-overview{list-style:none;margin:18px 0 24px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.thanks .woocommerce-order-overview li{background:var(--sand);padding:14px 16px;margin:0;border:0;float:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.thanks .woocommerce-order-overview li strong{display:block;margin-top:6px;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:600}
.thanks .woocommerce-order-overview li.method{grid-column:1/-1}
.thanks .woocommerce-bacs-bank-details{background:var(--sand);padding:clamp(20px,2.4vw,30px);margin:0 0 20px}
.thanks .woocommerce-bacs-bank-details h2,.thanks .woocommerce-bacs-bank-details h3{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
.thanks .wc-bacs-bank-details{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.thanks .wc-bacs-bank-details li{margin:0;padding:0;border:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.thanks .wc-bacs-bank-details li strong{display:block;margin-top:4px;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink)}
.thanks__side .woocommerce-order-details{margin:0 0 20px}
.thanks__side .woocommerce-customer-details{background:var(--sand);padding:clamp(20px,2.4vw,30px);margin:0 0 20px}
.thanks__side .woocommerce-customer-details h2{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
.thanks__side .woocommerce-customer-details address{border:0;padding:0;font-style:normal;line-height:1.6}
@media (max-width:900px){.thanks__grid{grid-template-columns:1fr}}
/* ---------- My account > Orders: action buttons ---------- */
.woocommerce-orders-table__cell-order-actions{white-space:nowrap}
.woocommerce td.woocommerce-orders-table__cell-order-actions a.button{display:inline-flex;align-items:center;padding:10px 16px;font-size:11.5px;letter-spacing:.12em;margin:0 6px 0 0}
.woocommerce td.woocommerce-orders-table__cell-order-actions a.button:last-child{margin-right:0}
.woocommerce td.woocommerce-orders-table__cell-order-actions a.button:not(.view):not(.pay){background:#fff;color:var(--ink)}
.woocommerce td.woocommerce-orders-table__cell-order-actions a.button:not(.view):not(.pay):hover{background:var(--mint);color:var(--ink)}
/* ---------- My account > View order ---------- */
.vorder__head{background:var(--sand);padding:clamp(20px,2.6vw,32px);margin:0 0 20px}
.vorder__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.woocommerce .vorder h2.vorder__h{font-size:clamp(20px,1.8vw,26px);font-stretch:115%;letter-spacing:0;text-transform:none;margin:0 0 4px}
.vorder__date{margin:0;font-size:14px;color:var(--muted)}
.vorder__pill{background:var(--ink);color:#fff;padding:8px 14px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.vorder__pill--completed,.vorder__pill--processing,.vorder__pill--out-for-delivery,.vorder__pill--ready-collection{background:var(--mint);color:var(--ink)}
.vorder__pill--cancelled,.vorder__pill--failed,.vorder__pill--refunded{background:#fff;color:#a33}
.vorder__steps{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vorder__steps li{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vorder__steps li span{display:block;height:4px;background:#ddd;margin-bottom:10px}
.vorder__steps li.is-done{color:var(--ink)}
.vorder__steps li.is-done span{background:var(--mint)}
.vorder__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,2.6vw,36px);align-items:start}
.vorder__main .woocommerce-customer-details,.vorder__side .sotran-tracking-box,.vorder__updates{background:var(--sand);padding:clamp(20px,2.4vw,30px);margin:0 0 20px}
.woocommerce .vorder__main .woocommerce-customer-details h2,.woocommerce .vorder__side h2,.woocommerce .thanks__side .woocommerce-customer-details h2{font-size:13px;font-stretch:100%;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
.vorder address,.thanks address{border:0;padding:0;font-style:normal;line-height:1.6;font-size:15px}
.vorder .woocommerce-customer-details .col2-set{display:block}
.sotran-tracking-box dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 14px;font-size:15px}
.sotran-tracking-box dt{color:var(--muted)}
.sotran-tracking-box dd{margin:0;font-weight:600}
.sotran-tracking-box p{margin:0;font-size:14px;color:#555}
.vorder__updates ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.vorder__updates li{background:#fff;padding:12px 14px;font-size:14px}
.vorder__updates time{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.vorder__updates li p{margin:0}
@media (max-width:900px){.vorder__grid{grid-template-columns:1fr}.vorder__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vorder .woocommerce-customer-details,.thanks .woocommerce-customer-details{display:none}
/* order details card: compact */
table.woocommerce-table--order-details{border-spacing:0 4px;margin:0}
table.woocommerce-table--order-details tfoot th,table.woocommerce-table--order-details tfoot td{padding:6px 0;font-size:14.5px}
table.woocommerce-table--order-details tfoot tr:nth-last-child(2) th,table.woocommerce-table--order-details tfoot tr:nth-last-child(2) td{padding-top:6px}
table.woocommerce-table--order-details tbody td{padding:12px 14px;font-size:15px}
table.woocommerce-table--order-details tbody td.product-total,table.woocommerce-table--order-details tbody td.woocommerce-table__product-total{text-align:right;font-weight:600;white-space:nowrap;vertical-align:top}
table.woocommerce-table--order-details td.product-name a{font-weight:600;text-decoration:none}
table.woocommerce-table--order-details td.product-name .product-quantity{font-weight:500;color:var(--muted)}
table.woocommerce-table--order-details .wc-item-meta{list-style:none;margin:4px 0 0;padding:0;font-size:13px;color:var(--muted)}
table.woocommerce-table--order-details .wc-item-meta li,table.woocommerce-table--order-details .wc-item-meta p{margin:0;display:inline}
table.woocommerce-table--order-details .wc-item-meta strong{font-weight:500}
table.woocommerce-table--order-details tfoot small.shipped_via{display:block;font-size:12.5px;font-weight:500;color:var(--muted)}
.woocommerce .order-again{margin:10px 0 0}
.woocommerce .order-again .button,.woocommerce table.woocommerce-table--order-details tfoot a.button{padding:10px 16px;font-size:11.5px}
.thanks__pay{background:var(--sand);padding:clamp(20px,2.4vw,30px);margin:0 0 20px;font-size:14.5px;line-height:1.6}
.thanks__pay p{margin:0 0 12px}
.thanks__pay p:last-child{margin:0;column-count:2;column-gap:24px}
.thanks__pay .woocommerce-bacs-bank-details{background:none;padding:0;margin:0}
@media (max-width:600px){.thanks__pay p:last-child{column-count:1}}

/* WooCommerce's "please wait" layer while checkout/cart update: stays under the sticky header and is light, so the page does not look frozen. */
.woocommerce .blockUI.blockOverlay{z-index:40!important;background:#fff!important;opacity:.45!important;cursor:wait!important}

/* Phones: product cards are ~170px wide. Badges stay clear of the wishlist heart (Black Friday stacks on two lines),
   and the "View piece" button is dropped (the whole card opens the product) so it no longer sits on the quick-add bag. */
@media (max-width:600px){
  .pcard__badges{left:10px;top:10px;right:56px;gap:5px}
  .pcard__badges > *{max-width:100%}
  .pcard__badge--bf{flex-direction:column;align-items:flex-start;font-size:10px;letter-spacing:.1em}
  .pcard__badge--bf b,.pcard__badge--bf em{padding:5px 8px}
  .pcard__status{padding:5px 8px;font-size:10px;letter-spacing:.08em}
  .pcard .wish-btn{top:10px;right:10px;width:36px;height:36px}
  .pcard__add{display:none!important}
  .pcard__status--instock{display:none} /* "In stock" and "Only 3 left" hidden on phones (too busy); pre-arrival, back-order, sold out still show */
}

/* Phones, home and category pages */
@media (max-width:600px){
  .intro3__stats:not(.about-stats){display:none} /* home: 2003 / 3 showrooms / 3000+ (About page keeps its stats) */
  .spaces__head h2{font-size:clamp(24px,7.6vw,32px);line-height:1.05} /* "Rooms that feel / like a holiday" on two lines */
  .plp__edit--sub .plp__edit-cap b{display:none} /* category banners: the big title crowded the photo; "Shop ..." stays */
  .phelp__ico{display:none} /* product page help boxes: text only */
  .faqs-page__nav ul{grid-template-columns:1fr} /* FAQ topics: one column */
}
/* FAQ "Still stuck?": phones turn the numbers into links, which picked up the topic-list link style (own padded line). */
.faqs-page__nav .faqs-page__help p a{display:inline;padding:0;font-size:inherit;font-weight:700;color:inherit;background:none;text-decoration:underline;text-underline-offset:3px}
/* Footer legal links on phones: each link on one line, wrapping as whole links and centred. */
@media (max-width:600px){.footer__legal{flex-wrap:wrap;justify-content:center;gap:10px 22px;text-align:center}.footer__legal a{white-space:nowrap}}

/* Phone numbers that iPhones turn into links keep the surrounding text style (they picked up button/link styles). */
a[x-apple-data-detectors]{color:inherit!important;background:none!important;font:inherit!important;padding:0!important;margin:0!important;display:inline!important;text-decoration:underline!important;text-underline-offset:3px}
.art__body .tcq small a:not(.tcbtn){display:inline;background:none;color:#fff;padding:0;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){
  body .art__body ul.tcstats{grid-template-columns:1fr!important} /* Returns: "48 hours" boxes one per row, nothing cut off */
  body .art__body ul.tcstats li{padding:22px 20px}
  .tstats b{white-space:nowrap;flex:none;width:118px;min-width:0;font-size:28px} /* Trade: "6 digit" on one line, descriptions aligned */
  .tstats div{gap:18px;padding:18px 20px}
}
/* Showroom pages on phones: the province label stacks neatly, and the "other showrooms" province is readable on the photo. */
@media (max-width:600px){
  body .sblock__prov,body .shero .sblock__prov{display:none} /* showroom pages: province label hidden on phones */
  body .sblock__prov i{display:block;width:0;height:0;background:none} /* invisible separator so the two halves stack */
  .sother small{display:inline-block;background:#fff;color:var(--ink);padding:3px 7px;font-size:9.5px;letter-spacing:.12em}
  .sother::after{background:linear-gradient(180deg,rgba(30,30,30,0) 25%,rgba(30,30,30,.82))}
  .sother span{left:18px;right:18px;bottom:18px}
}
/* Sort by dropdown: a clean chevron (the two-triangle arrow drew jagged) */
.sort select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231e1e1e' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:12px 8px!important;background-position:right 16px center!important;padding-right:42px}
/* Big page titles on phones: sized to fit whole words (they were allowed to break mid-word, e.g. SHOWROOM / S). */
@media (max-width:640px){.phead h1,.shero h1,.about-hero h1{font-size:clamp(26px,8.4vw,44px);overflow-wrap:normal;word-break:normal;hyphens:none}}
@media (max-width:360px){.display.h-l{font-size:clamp(22px,8vw,32px)}}
@media (max-width:360px){.sgc-more__title{font-size:clamp(22px,8vw,32px)}}
/* Tablets (and phones): no slide counter / progress lines on the home hero */
@media (max-width:1199px){.hero__ctrl{display:none}}
/* Tablets: product cards in rails and grids are narrow too, so keep badges clear of the heart (Black Friday stacks) */
@media (min-width:601px) and (max-width:1199px){
  .pcard__badges{right:58px}
  .pcard__badges > *{max-width:100%}
  .pcard__badge--bf{flex-direction:column;align-items:flex-start}
}
