/* ═══════════════════════════════════════════════════════════════════════
   SITE — header, welcome screen, inner pages, product page, bag, checkout
   Loaded after the older sheets. Colours, fonts and corner shapes come
   from the business profile (inc/business.php).
   ═══════════════════════════════════════════════════════════════════════ */

:root {
    --s-brand:   var(--ls-gold, #c9a84c);
    --s-on:      var(--ls-on-gold, #1a1a1a);
    --s-deep:    var(--biz-deep, #1d1a18);
    --s-ink:     var(--biz-ink, #1a1a1a);
    --s-soft:    var(--biz-soft, #f6f3ef);
    --s-tint:    var(--ls-gold-tint, #fbf6e9);
    --s-paper:   #ffffff;
    --s-muted:   #5f5a55;
    --s-faint:   #8d8780;
    --s-line:    #ebe6e1;
    --s-display: var(--biz-display, var(--ls-font-heading, Georgia, serif));
    --s-dw:      var(--biz-display-weight, 700);
    --s-body:    var(--biz-body, var(--ls-font-body, system-ui, sans-serif));
    --s-r:       var(--biz-r, 14px);
    --s-r-sm:    var(--biz-r-sm, 8px);
    --s-r-lg:    var(--biz-r-lg, 22px);
}

body { font-family: var(--s-body); }

/* ═══════════════ HEADER ═══════════════ */
.ls-nav, .ls-nav--solid { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--s-line); backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px); }
.ls-nav.scrolled { background: rgba(255,255,255,.96); box-shadow: 0 6px 24px -18px rgba(0,0,0,.35); }
.ls-nav__logo { gap: 10px; min-width: 0; }
/* The logo keeps its own shape — a wide wordmark is no longer squashed into a square. */
.ls-nav__logo-img { display: block; height: 38px; width: auto; max-width: min(46vw, 190px); object-fit: contain; }
.ls-nav__logo-icon { width: auto !important; height: 38px !important; max-width: 190px; filter: none !important; }
.ls-nav .ls-nav__wordmark, .ls-nav--transparent .ls-nav__wordmark { color: var(--s-ink); font-family: var(--s-display); font-weight: var(--s-dw); font-size: 1.3rem; letter-spacing: -.01em; }
.ls-nav .ls-nav__link, .ls-nav--transparent .ls-nav__link { color: var(--s-muted); font-weight: 500; font-size: .92rem; }
.ls-nav .ls-nav__link:hover { color: var(--s-ink); background: var(--s-soft); }
.ls-nav .ls-nav__icon, .ls-nav--transparent .ls-nav__icon { color: var(--s-ink); }
.ls-nav .ls-nav__icon:hover { background: var(--s-soft); color: var(--s-ink); }
.ls-nav__badge { background: var(--s-brand); color: var(--s-on); }
.ls-nav__cta.ls-btn, .ls-nav .ls-btn--primary {
    background: var(--s-ink) !important; color: #fff !important; border-radius: var(--biz-r-pill, 999px) !important;
    box-shadow: none !important; font-weight: 600; padding: 0 22px; min-height: 42px;
}
.ls-nav__cta.ls-btn:hover { background: var(--s-brand) !important; color: var(--s-on) !important; }
@media (max-width: 768px) { .ls-nav__logo-img, .ls-nav__logo-icon { height: 32px !important; } }

.ls-bottom-nav__item.is-active { color: var(--s-ink); }
.ls-bottom-nav__fab { background: var(--s-brand) !important; color: var(--s-on) !important; }

/* ═══════════════ WELCOME SCREEN ═══════════════ */
html.ls-no-pre #ls-preloader { display: none !important; }
#ls-preloader { background: var(--s-paper) !important; transition: opacity .4s ease, visibility .4s; }
.ls-preloader__logo { width: auto !important; height: auto !important; max-width: min(60vw, 220px); max-height: 90px; margin: 0 auto 26px !important; animation: ls-pre-in .6s ease both !important; }
.ls-preloader__name { font-family: var(--s-display) !important; font-weight: var(--s-dw) !important; font-size: clamp(1.6rem, 5vw, 2.2rem) !important; letter-spacing: -.01em !important; color: var(--s-ink) !important; margin: 0 auto 24px !important; animation: ls-pre-in .6s ease both; }
.ls-preloader__bar { width: 120px !important; height: 2px !important; background: var(--s-line) !important; }
.ls-preloader__bar-fill { background: var(--s-brand) !important; animation: ls-pre-bar 1s cubic-bezier(.4,0,.2,1) forwards !important; }
@keyframes ls-pre-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes ls-pre-bar { from { width: 0; } to { width: 100%; } }

/* ═══════════════ IMAGES THAT ARE STILL ARRIVING ═══════════════
   On a slow connection a product photo can take a moment. Rather than an
   empty white hole, the frame shows a soft tone that the photo fades over. */
.scard__media, .lbento__tile, .lh-way, .lh-svc__media, .lh-gal__item, .woocommerce-product-gallery__image, .lpage__media { background-color: var(--s-soft); }

/* ═══════════════ INNER PAGES ═══════════════ */
.lpage-wrap { padding-top: var(--ls-nav-height, 64px); background: var(--s-paper); }
.lpage { background: var(--s-soft); border-bottom: 1px solid var(--s-line); }
.lpage__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: center; padding-top: clamp(32px, 6vw, 72px); padding-bottom: clamp(32px, 6vw, 72px); }
.lpage--img .lpage__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); padding-bottom: 0; align-items: end; }
.lpage__back { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; font-weight: 500; color: var(--s-muted); text-decoration: none; margin-bottom: 14px; }
.lpage__back svg { width: 18px; height: 18px; }
.lpage__back:hover { color: var(--s-ink); }
.lpage__title { font-family: var(--s-display); font-weight: var(--s-dw); font-size: clamp(2.3rem, 5.4vw, 4rem); line-height: 1.03; letter-spacing: -.025em; color: var(--s-ink); margin: 0; text-wrap: balance; }
.lpage__title::after { content: ''; display: block; width: 52px; height: 5px; border-radius: 5px; background: var(--s-brand); margin-top: 20px; }
.lpage__lead { margin: 18px 0 0; font-size: clamp(1.02rem, 1.6vw, 1.18rem); line-height: 1.6; color: var(--s-muted); max-width: 36em; }
.lpage--img .lpage__copy { padding-bottom: clamp(32px, 6vw, 72px); }
.lpage__media { position: relative; aspect-ratio: 4 / 3; border-radius: var(--s-r-lg) var(--s-r-lg) 0 0; overflow: hidden; }
.lpage__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lpage-media { margin-top: clamp(24px, 4vw, 40px); }
.lpage-media video { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--s-r-lg); display: block; }
.lpage-body { background: var(--s-paper) !important; }

.lprose-wrap { padding-top: clamp(36px, 6vw, 72px); padding-bottom: clamp(56px, 8vw, 104px); }
.lprose { max-width: 720px; font-size: 1.06rem; line-height: 1.8; color: #2d2a27; }
.lprose > *:first-child { margin-top: 0; }
.lprose h2, .lprose h3 { font-family: var(--s-display); font-weight: var(--s-dw); color: var(--s-ink); line-height: 1.15; letter-spacing: -.01em; margin: 2em 0 .6em; }
.lprose h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.lprose h3 { font-size: clamp(1.25rem, 2.2vw, 1.5rem); }
.lprose p { margin: 0 0 1.1em; }
.lprose a { color: var(--s-ink); text-decoration: underline; text-decoration-color: var(--s-brand); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.lprose ul, .lprose ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.lprose li { margin-bottom: .45em; }
.lprose img { border-radius: var(--s-r); height: auto; }
.lprose blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--s-brand); font-family: var(--s-display); font-size: 1.3rem; line-height: 1.5; color: var(--s-ink); }
.lprose--legal { font-size: .98rem; }

/* Contact */
.lcontact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: start; padding-top: clamp(36px, 6vw, 72px); padding-bottom: clamp(56px, 8vw, 104px); }
.lcontact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lcontact__item { display: flex; gap: 16px; padding: 20px; border: 1px solid var(--s-line); border-radius: var(--s-r); background: var(--s-paper); }
.lcontact__icon { flex: 0 0 auto; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--s-tint); color: var(--ls-gold-deep, var(--s-ink)); }
.lcontact__icon svg { width: 21px; height: 21px; }
.lcontact__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: .98rem; line-height: 1.5; color: var(--s-muted); }
.lcontact__body strong { color: var(--s-ink); font-size: 1rem; }
.lcontact__body a { align-self: flex-start; margin-top: 6px; font-weight: 600; color: var(--s-ink); text-decoration: underline; text-decoration-color: var(--s-brand); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.lcontact__form { max-width: none; }
.lcontact__form input[type=text], .lcontact__form input[type=email], .lcontact__form input[type=tel], .lcontact__form textarea, .lcontact__form select {
    width: 100%; padding: 14px 16px; border: 1.5px solid var(--s-line); border-radius: var(--s-r-sm); background: var(--s-paper); font: inherit; font-size: 1rem;
}
.lcontact__form input:focus, .lcontact__form textarea:focus { outline: none; border-color: var(--s-ink); }
.lcontact__form input[type=submit], .lcontact__form button { background: var(--s-ink); color: #fff; border: 0; border-radius: var(--biz-r-pill, 999px); padding: 15px 30px; font: 600 1rem var(--s-body); cursor: pointer; }
.lcontact__form input[type=submit]:hover, .lcontact__form button:hover { background: var(--s-brand); color: var(--s-on); }

/* FAQ (existing accordion markup) */
.ls-faq-list { max-width: 820px; }
.ls-faq-item { border-radius: var(--s-r) !important; border-color: var(--s-line) !important; }
.ls-faq-item button, .ls-faq-q { font-family: var(--s-body); font-weight: 600; color: var(--s-ink); }

/* ═══════════════ PRODUCT PAGE ═══════════════ */
.single-product .ls-woo-main, .single-product .ls-woo-wrapper { background: var(--s-paper) !important; }
.lprod-back { padding-top: clamp(18px, 3vw, 30px); padding-bottom: 6px; }
.lprod-back a { display: inline-flex; align-items: center; gap: 6px; font-size: .92rem; font-weight: 500; color: var(--s-muted); text-decoration: none; }
.lprod-back a:hover { color: var(--s-ink); }
.lprod-back svg { width: 18px; height: 18px; }

.single-product .ls-woo-wrapper { max-width: var(--ls-container, 1200px); margin: 0 auto; padding: 0 var(--ls-space-5, 20px) clamp(56px, 8vw, 96px); box-sizing: border-box; }
.single-product div.product {
    display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); column-gap: clamp(28px, 5vw, 72px); row-gap: 0;
    align-items: start; margin-top: 12px;
}
.single-product div.product > * { grid-column: 1 / -1; }
.single-product div.product > .woocommerce-product-gallery, .single-product div.product > .images { grid-column: 1; grid-row: 1; }
.single-product div.product > .summary { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--ls-nav-height, 64px) + 20px); }
.woocommerce.single-product div.product div.images, .woocommerce.single-product div.product div.summary,
.single-product div.product div.images, .single-product div.product div.summary { float: none !important; width: auto !important; margin: 0 !important; }
.single-product .onsale { display: none !important; }

.single-product .woocommerce-product-gallery { position: relative; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image { border-radius: var(--s-r-lg); overflow: hidden; }
.single-product .woocommerce-product-gallery__image img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.single-product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0 !important; padding: 0; list-style: none; }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.single-product .flex-control-thumbs img { border-radius: var(--s-r-sm); aspect-ratio: 1 / 1; object-fit: cover; opacity: .6; cursor: pointer; transition: opacity .2s ease; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity: 1; }
.single-product .woocommerce-product-gallery__trigger { top: 14px !important; right: 14px !important; background: var(--s-paper) !important; border-radius: 50% !important; box-shadow: 0 4px 14px -6px rgba(0,0,0,.3); }

.lprod-brand { margin: 0 0 8px; font-size: .9rem; font-weight: 600; }
.lprod-brand a { color: var(--ls-gold-deep, var(--s-ink)); text-decoration: none; }
.single-product .lprod-title, .single-product .product_title {
    font-family: var(--s-display) !important; font-weight: var(--s-dw) !important; font-size: clamp(1.9rem, 3.6vw, 2.8rem) !important;
    line-height: 1.08 !important; letter-spacing: -.02em !important; color: var(--s-ink) !important; margin: 0 0 14px !important; text-transform: none !important;
}
.single-product .summary .price { font-size: 1.6rem !important; font-weight: 700 !important; color: var(--s-ink) !important; margin: 0 0 18px !important; font-family: var(--s-body); }
.single-product .summary .price del { color: var(--s-faint) !important; font-size: 1.05rem; font-weight: 400; margin-right: 8px; }
.single-product .summary .price ins { text-decoration: none; }
.single-product .woocommerce-product-details__short-description { font-size: 1.04rem; line-height: 1.7; color: var(--s-muted); margin-bottom: 22px; }

.single-product form.cart { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0 0 14px !important; padding: 0; }
.single-product form.variations_form { display: block !important; }
.single-product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.single-product form.cart .button, .single-product .single_add_to_cart_button {
    flex: 1 1 200px; min-height: 56px !important; border-radius: var(--biz-r-pill, 999px) !important; background: var(--s-ink) !important; color: #fff !important;
    font: 600 1.02rem var(--s-body) !important; border: 0 !important; padding: 0 28px !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
.single-product form.cart .button:hover { background: var(--s-brand) !important; color: var(--s-on) !important; }
.single-product table.variations { width: 100%; margin-bottom: 14px; border: 0; }
.single-product table.variations th, .single-product table.variations td { display: block; padding: 0 !important; text-align: left; border: 0; }
.single-product table.variations label { font-weight: 600; font-size: .92rem; color: var(--s-ink); margin: 10px 0 6px; display: block; }
.single-product table.variations select { width: 100%; height: 50px; padding: 0 16px; border: 1.5px solid var(--s-line); border-radius: var(--s-r-sm); background-color: var(--s-paper); font: inherit; }
.single-product .reset_variations { font-size: .85rem; color: var(--s-muted); }

/* Quantity stepper (assets/js/cart.js) — used on the product page and in the bag */
.quantity.ls-qty { display: inline-flex !important; align-items: center; border: 1.5px solid var(--s-line); border-radius: var(--biz-r-pill, 999px); background: var(--s-paper); overflow: hidden; height: 56px; }
.quantity.ls-qty .qty { width: 46px !important; height: 100% !important; border: 0 !important; background: transparent !important; text-align: center; font: 600 1rem var(--s-body); -moz-appearance: textfield; padding: 0 !important; box-shadow: none !important; }
.quantity.ls-qty .qty::-webkit-inner-spin-button, .quantity.ls-qty .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ls-qty__btn { width: 44px; height: 100%; border: 0; background: transparent; font-size: 1.25rem; line-height: 1; color: var(--s-ink); cursor: pointer; }
.ls-qty__btn:hover { background: var(--s-soft); }

.lprod-wa {
    display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 54px; margin: 0 0 20px;
    border-radius: var(--biz-r-pill, 999px); border: 1.5px solid #25d366; color: #128c4a; background: #fff; font-weight: 600; text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}
.lprod-wa:hover { background: #25d366; color: #fff; }
.lprod-wa svg { width: 20px; height: 20px; }
.lprod-promise { list-style: none; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--s-line); display: grid; gap: 12px; }
.lprod-promise li { display: flex; gap: 12px; align-items: flex-start; font-size: .92rem; line-height: 1.5; color: var(--s-muted); }
.lprod-promise li strong { color: var(--s-ink); font-weight: 600; }
.lprod-promise .lsi { width: 22px; height: 22px; color: var(--ls-gold-deep, var(--s-ink)); flex: 0 0 auto; margin-top: 1px; }
.single-product .product_meta { font-size: .88rem; color: var(--s-muted); padding-top: 16px; border-top: 1px solid var(--s-line); }
.single-product .product_meta > span { display: block; margin-bottom: 4px; }
.single-product .product_meta a { color: var(--s-ink); }

.single-product .woocommerce-tabs { margin-top: clamp(40px, 6vw, 72px); padding-top: 0; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 6px; padding: 0 !important; margin: 0 0 22px !important; border-bottom: 1px solid var(--s-line) !important; overflow-x: auto; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 6px !important; margin-right: 18px; font-weight: 600 !important; color: var(--s-muted) !important; border-bottom: 2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--s-ink) !important; border-bottom-color: var(--s-brand); }
.single-product .woocommerce-Tabs-panel { max-width: 760px; font-size: 1.02rem; line-height: 1.75; color: #2d2a27; }
.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }

.single-product .related, .single-product .upsells { margin-top: clamp(48px, 7vw, 88px); }

/* The shared product card inside WooCommerce lists: the old stylesheet sized
   ".woocommerce ul.products li.product a img" with height:auto!important,
   which blew card images up to 1500px tall. This is more specific. */
.woocommerce ul.products li.product.lshop-li .scard__media img.scard__img,
.woocommerce-page ul.products li.product.lshop-li .scard__media img.scard__img,
ul.products li.product.lshop-li .scard__media img.scard__img {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
    max-width: none !important; aspect-ratio: auto !important; object-fit: cover !important; margin: 0 !important;
}
.woocommerce ul.products li.product.lshop-li:hover a img { transform: none !important; }
.woocommerce ul.products li.product.lshop-li .scard__media:hover img.scard__img { transform: scale(1.035) !important; }

/* ═══════════════ CHECKOUT STEPS ═══════════════ */
.lpage-wrap--flow { background: var(--s-soft); min-height: 70vh; }
.lsteps { padding: clamp(24px, 4vw, 44px) 0 clamp(18px, 3vw, 28px); }
.lsteps__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.lsteps__title { font-family: var(--s-display); font-weight: var(--s-dw); font-size: clamp(2rem, 4.4vw, 3rem); letter-spacing: -.02em; line-height: 1.05; margin: 0; color: var(--s-ink); }
.lsteps__list { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; align-items: center; counter-reset: none; }
.lsteps__list li { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--s-faint); }
.lsteps__list li + li::before { content: ''; width: 28px; height: 1.5px; background: var(--s-line); margin-right: 4px; }
.lsteps__dot { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--s-line); font-weight: 700; font-size: .8rem; background: var(--s-paper); }
.lsteps__list li.is-now { color: var(--s-ink); font-weight: 600; }
.lsteps__list li.is-now .lsteps__dot { background: var(--s-ink); border-color: var(--s-ink); color: #fff; }
.lsteps__list li.is-done { color: var(--s-ink); }
.lsteps__list li.is-done .lsteps__dot { background: var(--s-brand); border-color: var(--s-brand); color: var(--s-on); }
.lflow { padding-bottom: clamp(56px, 8vw, 104px); }

/* ═══════════════ BAG (cart) ═══════════════ */
.woocommerce-cart .lflow .woocommerce {
    max-width: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important;
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 390px); gap: clamp(18px, 3vw, 32px); align-items: start;
}
.woocommerce-cart .lflow .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .lflow .woocommerce > .cart-empty,
.woocommerce-cart .lflow .woocommerce > .return-to-shop, .woocommerce-cart .lflow .woocommerce > .wc-empty-cart-message { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { background: var(--s-paper) !important; border: 0 !important; border-radius: var(--s-r-lg) !important; padding: 8px clamp(14px, 2vw, 24px) !important; margin: 0 !important; overflow: visible; }
.woocommerce-cart table.cart, .woocommerce-cart table.shop_table.cart { border: 0 !important; margin: 0 !important; border-collapse: collapse; width: 100%; }
.woocommerce-cart table.cart thead { display: none !important; }
.woocommerce-cart table.cart tbody { display: block; }
.woocommerce-cart table.cart tr.cart_item {
    display: grid !important; grid-template-columns: 92px minmax(0, 1fr) auto; grid-template-areas: "img name remove" "img price price" "img qty sub";
    column-gap: 16px; row-gap: 6px; align-items: center; padding: 18px 0 !important; border-bottom: 1px solid var(--s-line) !important; background: transparent !important;
}
.woocommerce-cart table.cart tr.cart_item:last-of-type { border-bottom: 0 !important; }
.woocommerce-cart table.cart tr.cart_item td { display: block !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left !important; }
.woocommerce-cart table.cart tr.cart_item td::before { display: none !important; }
.woocommerce-cart table.cart td.product-thumbnail { grid-area: img; display: block !important; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 92px !important; height: 92px !important; object-fit: cover; border-radius: var(--s-r); display: block; background: var(--s-soft); }
.woocommerce-cart table.cart td.product-name { grid-area: name; }
.woocommerce-cart table.cart td.product-name a { font-weight: 600 !important; font-size: 1rem !important; color: var(--s-ink) !important; text-decoration: none; line-height: 1.35; }
.woocommerce-cart table.cart td.product-name .variation { margin: 4px 0 0; font-size: .85rem; color: var(--s-muted); }
.woocommerce-cart table.cart td.product-price { grid-area: price; font-size: .9rem !important; color: var(--s-muted) !important; font-weight: 500 !important; }
.woocommerce-cart table.cart td.product-quantity { grid-area: qty; }
.woocommerce-cart table.cart td.product-subtotal { grid-area: sub; text-align: right !important; font-weight: 700 !important; font-size: 1.05rem !important; color: var(--s-ink) !important; }
.woocommerce-cart table.cart td.product-remove { grid-area: remove; width: auto !important; justify-self: end; }
.woocommerce-cart table.cart .quantity.ls-qty { height: 42px; }
.woocommerce-cart table.cart .quantity.ls-qty .qty { width: 38px !important; }
.woocommerce-cart table.cart .ls-qty__btn { width: 36px; }
.woocommerce-cart table.cart td.actions { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; padding: 18px 0 10px !important; background: transparent !important; border-top: 1px solid var(--s-line) !important; }
.woocommerce-cart table.cart tr:has(td.actions) { display: block; }
.woocommerce-cart .coupon { display: flex !important; gap: 8px; flex: 1 1 320px; }
.woocommerce-cart .coupon input#coupon_code { flex: 1; min-width: 0; height: 46px; border: 1.5px solid var(--s-line) !important; border-radius: var(--biz-r-pill, 999px) !important; padding: 0 18px !important; background: var(--s-paper) !important; }
.woocommerce-cart .coupon .button { height: 46px; border-radius: var(--biz-r-pill, 999px) !important; background: var(--s-ink) !important; color: #fff !important; padding: 0 20px !important; }
.woocommerce-cart button[name="update_cart"] { width: auto !important; margin: 0 !important; height: 46px; border-radius: var(--biz-r-pill, 999px) !important; border: 1.5px solid var(--s-line) !important; color: var(--s-ink) !important; background: transparent !important; padding: 0 20px !important; }
.woocommerce-cart button[name="update_cart"]:disabled { opacity: .45; }

.woocommerce-cart .cart-collaterals { width: auto !important; float: none !important; position: sticky; top: calc(var(--ls-nav-height, 64px) + 20px); margin: 0 !important; }
.woocommerce-cart .cart-collaterals .cross-sells { display: none; }
.woocommerce-cart .cart_totals { width: 100% !important; float: none !important; background: var(--s-paper) !important; border: 0 !important; border-radius: var(--s-r-lg) !important; padding: clamp(20px, 2.4vw, 28px) !important; margin: 0 !important; }
.woocommerce-cart .cart_totals h2 { font-family: var(--s-display) !important; font-weight: var(--s-dw) !important; font-size: 1.5rem !important; margin: 0 0 14px !important; }
.woocommerce-cart .cart_totals table { border: 0 !important; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { border: 0 !important; border-top: 1px solid var(--s-line) !important; padding: 12px 0 !important; background: transparent !important; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { font-size: 1.15rem !important; color: var(--s-ink) !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 16px 0 0 !important; background: transparent !important; border: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart a.checkout-button {
    background: var(--s-ink) !important; color: #fff !important; border-radius: var(--biz-r-pill, 999px) !important; min-height: 58px; display: flex !important;
    align-items: center; justify-content: center; font: 600 1.05rem var(--s-body) !important; box-shadow: none !important; margin: 0 !important;
}
.woocommerce-cart a.checkout-button:hover { background: var(--s-brand) !important; color: var(--s-on) !important; }

.woocommerce-cart .cart-empty, .woocommerce-cart .wc-empty-cart-message .cart-empty {
    background: var(--s-paper) !important; border: 0 !important; border-radius: var(--s-r-lg); padding: clamp(36px, 6vw, 64px) 24px !important; text-align: center;
    font-family: var(--s-display); font-weight: var(--s-dw); font-size: clamp(1.4rem, 3vw, 1.9rem) !important; color: var(--s-ink) !important; margin: 0 !important;
}
.woocommerce-cart .cart-empty::before { display: none !important; }
.woocommerce-cart .return-to-shop { text-align: center; margin-top: 16px; }
.woocommerce-cart .return-to-shop .button { background: var(--s-ink) !important; color: #fff !important; border-radius: var(--biz-r-pill, 999px) !important; padding: 16px 30px !important; font-weight: 600; }

/* ═══════════════ CHECKOUT ═══════════════ */
.woocommerce-checkout .lflow .woocommerce { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    background: var(--s-paper) !important; border: 0 !important; border-radius: var(--s-r) !important; color: var(--s-muted) !important; padding: 16px 20px !important; margin-bottom: 14px !important;
}
.woocommerce-checkout .woocommerce-info::before { display: none; }
.woocommerce-checkout form.checkout_coupon { background: var(--s-paper); border: 0 !important; border-radius: var(--s-r); padding: 18px !important; margin: 0 0 14px !important; }

.woocommerce-checkout form.checkout {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); column-gap: clamp(18px, 3vw, 32px); align-items: start;
}
.woocommerce-checkout form.checkout > * { grid-column: 1; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 !important; padding: clamp(20px, 2.4vw, 28px) clamp(20px, 2.4vw, 28px) 0 !important; background: var(--s-paper); border-radius: var(--s-r-lg) var(--s-r-lg) 0 0; font-family: var(--s-display) !important; font-weight: var(--s-dw) !important; font-size: 1.5rem !important; color: var(--s-ink) !important; }
.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2 / span 20; background: var(--s-paper) !important; border: 0 !important; border-radius: 0 0 var(--s-r-lg) var(--s-r-lg) !important; padding: 8px clamp(20px, 2.4vw, 28px) clamp(20px, 2.4vw, 28px) !important; margin: 0 !important; position: sticky; top: calc(var(--ls-nav-height, 64px) + 20px); }
.woocommerce-checkout #customer_details { grid-row: 1 / span 21; background: var(--s-paper) !important; border: 0 !important; border-radius: var(--s-r-lg) !important; padding: clamp(20px, 3vw, 36px) !important; margin: 0 !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none !important; width: 100% !important; max-width: none !important; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 18px; }
.woocommerce-checkout h3 { font-family: var(--s-display) !important; font-weight: var(--s-dw) !important; font-size: 1.4rem !important; color: var(--s-ink) !important; margin: 0 0 18px !important; }

.woocommerce-checkout form .form-row { margin: 0 0 14px !important; }
.woocommerce-checkout form .form-row label { font-size: .88rem !important; font-weight: 600 !important; color: var(--s-ink) !important; margin-bottom: 6px !important; }
.woocommerce-checkout form .form-row .required { color: var(--s-faint) !important; text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
    background: var(--s-paper) !important; border: 1.5px solid var(--s-line) !important; border-radius: var(--s-r-sm) !important; min-height: 52px; font-size: 1rem !important; color: var(--s-ink) !important; box-shadow: none !important;
}
.woocommerce form .form-row textarea { min-height: 100px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { border-color: var(--s-ink) !important; background: var(--s-paper) !important; box-shadow: 0 0 0 3px rgba(var(--ls-gold-rgb, 201,168,76), .18) !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 50px !important; padding-left: 16px !important; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 50px !important; right: 10px !important; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: calc(50% - 7px) !important; }
@media (max-width: 600px) { .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100% !important; float: none !important; } }

.woocommerce-checkout #order_review table.shop_table { border: 0 !important; margin-bottom: 16px !important; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { border: 0 !important; border-bottom: 1px solid var(--s-line) !important; padding: 12px 0 !important; background: transparent !important; font-size: .95rem; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review .product-name { color: var(--s-ink); font-weight: 500; }
.woocommerce-checkout #order_review .product-quantity { color: var(--s-muted); font-weight: 600; }
.woocommerce-checkout #order_review tr.order-total th, .woocommerce-checkout #order_review tr.order-total td { font-size: 1.15rem !important; color: var(--s-ink) !important; border-bottom: 0 !important; }

.woocommerce-checkout #payment { background: transparent !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 16px !important; }
.woocommerce-checkout #payment ul.payment_methods li { background: var(--s-paper) !important; border: 1.5px solid var(--s-line) !important; border-radius: var(--s-r) !important; padding: 14px 16px !important; margin: 0 0 8px !important; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--s-ink) !important; background: var(--s-tint) !important; }
.woocommerce-checkout #payment ul.payment_methods li input[type=radio] { accent-color: var(--s-ink); }
.woocommerce-checkout #payment div.payment_box { background: var(--s-soft) !important; border-radius: var(--s-r-sm) !important; color: var(--s-muted) !important; margin: 10px 0 0 !important; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout #payment #place_order {
    width: 100% !important; min-height: 58px; border-radius: var(--biz-r-pill, 999px) !important; background: var(--s-ink) !important; color: #fff !important;
    font: 600 1.05rem var(--s-body) !important; box-shadow: none !important; float: none !important; margin-top: 6px;
}
.woocommerce-checkout #payment #place_order:hover { background: var(--s-brand) !important; color: var(--s-on) !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: .82rem; color: var(--s-muted); }
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--s-ink); }

/* Order received */
.woocommerce-order-received .woocommerce-order { background: var(--s-paper); border-radius: var(--s-r-lg); padding: clamp(22px, 3vw, 40px); }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-family: var(--s-display); font-weight: var(--s-dw); font-size: clamp(1.4rem, 3vw, 1.9rem); color: var(--s-ink); }
.woocommerce-order-received ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; padding: 0 !important; margin: 18px 0 28px !important; }
.woocommerce-order-received ul.order_details li { border: 1px solid var(--s-line) !important; border-radius: var(--s-r); padding: 14px !important; margin: 0 !important; float: none !important; }

/* ═══════════════ RESPONSIVE ═══════════════ */
@media (max-width: 960px) {
    .single-product div.product { grid-template-columns: minmax(0, 1fr); }
    .single-product div.product > .summary { grid-column: 1; grid-row: auto; position: static; margin-top: 22px !important; }
    .woocommerce-cart .lflow .woocommerce, .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
    .woocommerce-cart .cart-collaterals { position: static; }
    .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review, .woocommerce-checkout #customer_details { grid-column: 1; grid-row: auto; position: static; }
    .woocommerce-checkout form.checkout > #order_review_heading { margin-top: 18px !important; }
    .lcontact { grid-template-columns: minmax(0, 1fr); }
    .lpage--img .lpage__grid { grid-template-columns: minmax(0, 1fr); }
    .lpage--img .lpage__copy { padding-bottom: 0; }
}
@media (max-width: 600px) {
    .lsteps__label { display: none; }
    .lsteps__list li.is-now .lsteps__label { display: inline; }
    .woocommerce-cart table.cart tr.cart_item { grid-template-columns: 76px minmax(0, 1fr) auto; column-gap: 12px; }
    .woocommerce-cart table.cart td.product-thumbnail img { width: 76px !important; height: 76px !important; }
    .single-product form.cart { gap: 10px; }
    .single-product form.cart .button { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .ls-preloader__logo, .ls-preloader__name, .ls-preloader__bar-fill { animation: none !important; }
}

/* ═══════════════ FOOTER ═══════════════ */
.lfoot { background: var(--s-deep); color: rgba(255,255,255,.78); padding: clamp(48px, 7vw, 80px) 0 0; font-size: .95rem; }
.lfoot__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); padding-bottom: clamp(36px, 5vw, 56px); }
.lfoot__logo { display: inline-block; text-decoration: none; }
.lfoot__logo img { height: 44px; width: auto; max-width: 200px; object-fit: contain; filter: brightness(0) invert(1); }
.lfoot__logo span { font-family: var(--s-display); font-weight: var(--s-dw); font-size: 1.8rem; color: #fff; }
.lfoot__tag { margin: 14px 0 0; max-width: 28em; line-height: 1.6; }
.lfoot__social { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; }
.lfoot__social a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: var(--biz-r-pill, 999px); border: 1px solid rgba(255,255,255,.22); color: #fff; text-decoration: none; font-size: .88rem; }
.lfoot__social a:hover { background: var(--s-brand); border-color: var(--s-brand); color: var(--s-on); }
.lfoot__h { margin: 0 0 14px; font-weight: 600; color: var(--s-brand); font-size: .9rem; }
.lfoot__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lfoot__links a { color: rgba(255,255,255,.86); text-decoration: none; }
.lfoot__links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.lfoot__facts { margin: 0; display: grid; gap: 12px; }
.lfoot__facts dt { font-size: .8rem; color: rgba(255,255,255,.55); }
.lfoot__facts dd { margin: 2px 0 0; color: rgba(255,255,255,.9); line-height: 1.5; }
.lfoot__base { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; padding-bottom: 22px; font-size: .84rem; color: rgba(255,255,255,.5); }
@media (max-width: 860px) {
    .lfoot__grid { grid-template-columns: minmax(0, 1fr); }
    .lfoot { padding-bottom: calc(var(--ls-bottom-nav-height, 64px) + env(safe-area-inset-bottom)); }
}

/* Checkout: one continuous "Your order" card (the heading is drawn inside it). */
.woocommerce-checkout form.checkout > #order_review_heading { display: none !important; }
.woocommerce-checkout form.checkout > #order_review { grid-row: 1 / span 21 !important; border-radius: var(--s-r-lg) !important; padding-top: clamp(20px, 2.4vw, 28px) !important; }
.woocommerce-checkout form.checkout > #order_review::before { content: "Your order"; display: block; font-family: var(--s-display); font-weight: var(--s-dw); font-size: 1.5rem; color: var(--s-ink); margin-bottom: 6px; }
.woocommerce-checkout #order_review table.shop_table th { text-align: left !important; }
.woocommerce-checkout #order_review table.shop_table td.product-total, .woocommerce-checkout #order_review table.shop_table tfoot td { text-align: right !important; }
.woocommerce-checkout #payment ul.payment_methods li { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
.woocommerce-checkout #payment ul.payment_methods li > .payment_box { grid-column: 1 / -1; }
.woocommerce-checkout #payment ul.payment_methods li label { margin: 0 !important; font-weight: 600; color: var(--s-ink); }
@media (max-width: 960px) { .woocommerce-checkout form.checkout > #order_review { grid-row: auto !important; margin-top: 18px !important; } }
