/*
Theme Name: THE LOCCHE Spec Theme
Theme URI: https://thelocche.com
Author: THE LOCCHE
Version: 4.1.0
Description: Light-first custom WooCommerce + LatePoint theme for THE LOCCHE.
Text Domain: thelocche
*/

:root {
  --bg: #ffffff;
  --bg-soft: #f7f4f0;
  --card: #ffffff;
  --text: #0a0a0d;
  --text2: #211111;
  --muted: #6b686b;
  --dim: rgba(10,10,13,.36);
  --line: rgba(10,10,13,.07);
  --purple: #7b3fe4;
  --purple-soft: rgba(123,63,228,.08);
  --purple-mid: rgba(123,63,228,.14);
  --soft: #f6f2fd;
  --shadow: 0 18px 48px rgba(10,10,13,.08);
  --panel-shadow: 0 28px 84px rgba(10,10,13,.14);
  --container: min(100% - 32px, 1440px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.locche-lock{overflow:hidden}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.locche-display,
.woocommerce .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:Poison,"Playfair Display","Cormorant Garamond",serif;font-weight:400
}
.locche-main{min-height:100vh;padding-top:90px}
.locche-container{width:var(--container);margin-inline:auto}
.locche-hidden{display:none !important}
.screen-reader-text{position:absolute!important;left:-9999px!important}

/* ── HEADER ── */
.locche-header{position:fixed;inset:0 0 auto 0;z-index:300;pointer-events:none}
.admin-bar .locche-header{top:32px}
@media(max-width:782px){.admin-bar .locche-header{top:46px}}

.locche-header-shell{
  width:min(100%,100vw);margin:0 auto;
  transition:width .42s cubic-bezier(.22,1,.36,1),margin-top .42s cubic-bezier(.22,1,.36,1),
             background .42s cubic-bezier(.22,1,.36,1),border-radius .42s cubic-bezier(.22,1,.36,1),
             box-shadow .42s cubic-bezier(.22,1,.36,1);
  background:linear-gradient(to bottom,rgba(10,10,13,.32) 0%,transparent 100%);
}
.locche-header-shell.is-compact{
  width:min(860px,calc(100vw - 28px));margin-top:16px;border-radius:999px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:var(--shadow);
}
.locche-header-shell.is-mobile{
  width:min(calc(100vw - 24px),420px);margin-top:12px;border-radius:999px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 14px 34px rgba(10,10,13,.08);
}

.locche-header-row{
  pointer-events:auto;min-height:72px;padding:0 16px;
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
}
.locche-header-shell.is-compact .locche-header-row{min-height:60px;padding:0 14px}
.locche-header-shell.is-mobile  .locche-header-row{min-height:54px;padding:0 12px}

.locche-brand{display:flex;align-items:center;gap:12px;min-width:0;color:#fff;transition:color .28s}
.locche-header-shell.is-compact .locche-brand,
.locche-header-shell.is-mobile  .locche-brand{color:var(--text)}

.locche-brand-mark{
  width:38px;height:38px;border-radius:999px;display:grid;place-items:center;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;
  font-size:.76rem;font-weight:800;letter-spacing:.08em;flex:0 0 auto;
  transition:background .28s,border-color .28s;
}
.locche-header-shell.is-compact .locche-brand-mark,
.locche-header-shell.is-mobile  .locche-brand-mark{background:#0a0a0d;border-color:transparent}
.locche-header-shell.is-mobile  .locche-brand-mark{width:34px;height:34px;font-size:.68rem}

.locche-brand-copy{display:flex;flex-direction:column;line-height:1}
.locche-brand-title{font-size:1rem;font-weight:800;letter-spacing:-.02em}
.locche-brand-sub{
  margin-top:4px;font-size:.56rem;font-weight:700;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(255,255,255,.6);transition:color .28s;
}
.locche-header-shell.is-compact .locche-brand-sub,
.locche-header-shell.is-mobile  .locche-brand-sub{color:var(--dim)}

.locche-nav{display:flex;align-items:center;justify-content:center;gap:1.7rem}
.locche-nav a{
  position:relative;display:inline-flex;align-items:center;height:1.1em;overflow:hidden;
  font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:rgba(255,255,255,.9);transition:color .22s;
}
.locche-header-shell.is-compact .locche-nav a{color:var(--text)}
.locche-nav a .char{display:inline-block;transform:translateY(0)}
.locche-nav a.is-active,.locche-nav a:hover{color:var(--purple)!important}
.locche-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:999px;
  background:var(--purple);transform:scaleX(0);opacity:0;
  transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .24s;
}
.locche-nav a.is-active::after,.locche-nav a:hover::after{transform:scaleX(1);opacity:1}

.locche-actions{display:flex;align-items:center;gap:10px}

.locche-book-btn{
  border:1px solid rgba(255,255,255,.3);border-radius:999px;
  background:rgba(255,255,255,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#fff;padding:.9rem 1.2rem;font-size:.78rem;font-weight:800;letter-spacing:-.01em;cursor:pointer;
  transition:background .28s,border-color .28s,color .28s;
}
.locche-header-shell.is-compact .locche-book-btn{background:#0a0a0d;border-color:transparent;color:#fff}

.locche-cart-btn,.locche-menu-btn{border:none;border-radius:999px;cursor:pointer;display:grid;place-items:center}
.locche-cart-btn{
  width:48px;height:48px;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#fff;position:relative;transition:background .28s,border-color .28s;
}
.locche-header-shell.is-compact .locche-cart-btn,
.locche-header-shell.is-mobile  .locche-cart-btn{background:#0a0a0d;border-color:transparent}
.locche-cart-btn svg{width:18px;height:18px}
.locche-cart-count{position:absolute;right:11px;bottom:10px;min-width:10px;font-size:.74rem;font-weight:800;line-height:1}
.locche-cart-dot{
  position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:999px;
  background:#ff5a7a;box-shadow:0 0 0 2px rgba(255,255,255,.98);
}

.locche-menu-wrap{display:none}
.locche-menu-btn{
  width:42px;height:42px;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#fff;transition:background .28s,border-color .28s;
}
.locche-header-shell.is-mobile .locche-menu-btn{background:var(--soft);border-color:transparent;color:var(--text)}
.locche-menu-btn svg{width:18px;height:18px}

/* ── OVERLAYS ── */
.locche-mobile-overlay,.locche-cart-overlay{
  position:fixed;inset:0;background:rgba(10,10,13,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease;z-index:340;
}
.locche-mobile-overlay.is-open,.locche-cart-overlay.is-open{opacity:1;visibility:visible}

.locche-mobile-panel{
  position:fixed;top:72px;left:50%;transform:translateX(-50%) translateY(-12px) scale(.985);
  width:min(calc(100vw - 20px),420px);background:rgba(255,255,255,.98);border-radius:28px;
  box-shadow:var(--panel-shadow);padding:.6rem .8rem 1rem;
  opacity:0;visibility:hidden;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s,visibility .32s;z-index:350;
}
.locche-mobile-panel.is-open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1)}

.locche-mobile-book-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  border:none;border-radius:999px;background:#0a0a0d;color:#fff;padding:1rem;
  font-size:.82rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-decoration:none;
}
.locche-mobile-cta-wrap{padding:.5rem .65rem .85rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}
.locche-mobile-link{
  display:flex;align-items:center;justify-content:space-between;border-radius:18px;padding:.9rem .65rem;
  font-size:1.08rem;font-weight:600;letter-spacing:-.03em;
}
.locche-mobile-link:hover{background:var(--purple-soft)}
.locche-mobile-divider{height:1px;background:rgba(10,10,13,.05);margin:0 .65rem}
.locche-mobile-meta{
  margin-top:.35rem;padding:.85rem .65rem .2rem;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.76rem;
}

.locche-shell{transition:transform 580ms cubic-bezier(.12,.84,.22,1);will-change:transform}

/* ── CART DRAWER ── */
.locche-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(520px,42vw);max-width:100vw;background:#fff;
  transform:translateX(100%);transition:transform 580ms cubic-bezier(.12,.84,.22,1);
  box-shadow:-28px 0 80px rgba(10,10,13,.12);display:flex;flex-direction:column;z-index:360;
}
.locche-cart-drawer.is-open{transform:translateX(0)}
.locche-cart-head{
  padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--line);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.locche-cart-kicker{margin-bottom:6px;font-size:.63rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--purple)}
.locche-cart-title{font-family:Poison,"Playfair Display",serif;font-size:2.25rem;line-height:.95;letter-spacing:-.05em}
.locche-cart-close{width:44px;height:44px;border:none;border-radius:999px;background:var(--soft);display:grid;place-items:center;cursor:pointer;color:var(--text);flex-shrink:0}
.locche-cart-body{flex:1;overflow-y:auto;padding:0 1.5rem}
.locche-cart-foot{padding:1.3rem 1.5rem 1.5rem;border-top:1px solid var(--line)}
.locche-mini-subtotal{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.locche-mini-subtotal span{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.locche-mini-subtotal strong{font-family:Poison,"Playfair Display",serif;font-size:2.1rem;line-height:1;letter-spacing:-.05em;color:var(--purple)}
.locche-cart-checkout{
  width:100%;border:none;border-radius:999px;background:var(--purple);color:#fff;padding:1rem 1.1rem;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;
  font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.locche-cart-checkout:disabled{opacity:.72;cursor:not-allowed}
.locche-cart-empty{min-height:100%;display:grid;place-items:center;text-align:center;padding:2rem 0 3rem}
.locche-cart-empty h3{margin:0 0 12px;font-family:Poison,"Playfair Display",serif;font-size:1.95rem;line-height:.95;letter-spacing:-.04em}
.locche-cart-empty p{margin:0 0 1.4rem;font-size:.98rem;line-height:1.75;color:var(--muted)}
.locche-mini-item{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}
.locche-mini-item:last-child{border-bottom:none}
.locche-mini-thumb{width:96px;height:112px;border-radius:18px;overflow:hidden;background:var(--soft)}
.locche-mini-thumb img{width:100%;height:100%;object-fit:cover}
.locche-mini-name{margin:0 0 7px;font-family:Poison,"Playfair Display",serif;font-size:1.42rem;line-height:.98;letter-spacing:-.04em}
.locche-mini-copy{margin:0;color:var(--muted);font-size:.92rem}
.locche-mini-price{font-family:Poison,"Playfair Display",serif;font-size:1.4rem;line-height:1;letter-spacing:-.04em;color:var(--purple)}

/* ── HOME HERO ── */
.locche-home{background:#fff}
.locche-home-wrap{width:var(--container);margin:0 auto;padding:34px 0 22px}
.locche-hero{
  min-height:calc(100vh - 122px);display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:34px;align-items:center;
}
.locche-hero-copy{padding:28px 0}
.locche-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:1rem}
.locche-eyebrow::before{content:"";width:28px;height:1px;background:var(--purple-mid)}
.locche-eyebrow span{font-size:.66rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:var(--purple)}
.locche-hero-title{margin:0 0 14px;font-size:clamp(2.95rem,7vw,6.3rem);line-height:.9;letter-spacing:-.065em}
.locche-hero-copy-text{margin:0 0 24px;max-width:620px;font-size:1rem;line-height:1.9;color:var(--muted)}
.locche-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.locche-primary-btn,.locche-secondary-btn{
  border:none;border-radius:999px;cursor:pointer;padding:1rem 1.2rem;
  font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  display:inline-flex;align-items:center;justify-content:center;
}
.locche-primary-btn{background:#0a0a0d;color:#fff}
.locche-secondary-btn{background:var(--soft);color:var(--purple)}

.locche-hero-stage{
  position:relative;min-height:690px;
  background:linear-gradient(180deg,#f8f5f1 0%,#f4f0eb 100%);border-radius:36px;overflow:hidden;
}
.locche-hero-stage::before{
  content:"";position:absolute;inset:auto auto -12% -8%;width:58%;aspect-ratio:1;border-radius:999px;
  background:radial-gradient(circle,rgba(123,63,228,.12) 0%,transparent 70%);
}
.locche-stage-card{position:absolute;background:#fff;border-radius:30px;box-shadow:0 16px 42px rgba(10,10,13,.08)}
.locche-stage-card.one{left:24px;top:24px;width:min(42vw,292px);padding:18px}
.locche-stage-card.two{right:24px;top:76px;width:min(40vw,240px);padding:16px}
.locche-stage-card.three{left:54px;bottom:34px;width:min(46vw,320px);padding:16px}
.locche-stage-card h3{margin:0 0 8px;font-size:1.24rem;letter-spacing:-.03em}
.locche-stage-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.72}
.locche-stage-figure{position:absolute;inset:104px 72px 82px 142px;border-radius:34px;overflow:hidden;background:#ece5f6}
.locche-stage-figure img{width:100%;height:100%;object-fit:cover}

/* ── SHOP SECTION — pixel-matched to Next.js ShopSection + ShopCard ── */
.locche-shop-wrap,.woocommerce .locche-shop-wrap{
  background:var(--bg-soft);
  padding:clamp(3.5rem,7vh,7rem) 0 clamp(4.5rem,8vh,8rem);overflow-x:clip;
}
.locche-shop-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(2.2rem,4vh,3.8rem);
}
.locche-shop-head-left{min-width:0;flex:1 1 520px}
.locche-shop-eyebrow-row{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}
.locche-shop-eyebrow-line{width:28px;height:1px;background:var(--purple-mid);flex:0 0 auto}
.locche-shop-eyebrow-text{font-size:.66rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:var(--purple);white-space:nowrap}
.locche-shop-title{margin:0;font-size:clamp(2.4rem,6vw,6rem);line-height:.92;letter-spacing:-.05em;color:#0a0a0d;text-wrap:balance}
.locche-shop-title span{display:block;color:var(--purple)}
.locche-shop-copy{margin:0;flex:0 1 470px;max-width:470px;font-size:1rem;line-height:1.9;color:var(--muted);text-wrap:pretty}

.locche-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}

/* product card — matches ShopCard.tsx exactly */
.locche-product-card{background:#fff;border-radius:30px;padding:14px;display:flex;flex-direction:column;gap:16px}

.locche-product-img-wrap{
  position:relative;aspect-ratio:.94/1;border-radius:22px;overflow:hidden;
  background:var(--bg-soft);display:block;cursor:pointer;
}
.locche-product-thumb{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1);transition:transform 420ms cubic-bezier(.22,1,.36,1);
}
.locche-product-img-wrap:hover .locche-product-thumb{transform:scale(1.11)}
.locche-product-img-arrow{
  position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:999px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.locche-product-img-arrow svg{width:18px;height:18px;stroke:#0a0a0d}

.locche-product-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.locche-product-info{min-width:0}
.locche-product-title{margin:0;font-size:clamp(1.4rem,2vw,1.78rem);line-height:1.02;letter-spacing:-.03em;color:#0a0a0d}
.locche-product-desc{margin:.45rem 0 0;font-size:.95rem;line-height:1.72;color:var(--muted);max-width:300px}
.locche-product-badge{
  flex-shrink:0;padding:.58rem .92rem;border-radius:999px;background:var(--bg-soft);
  font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--purple);white-space:nowrap;
}

.locche-product-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto}
.locche-product-price-label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.locche-product-price{font-family:Poison,"Playfair Display",serif;font-size:1.75rem;line-height:1;letter-spacing:-.04em;color:#211111}
.locche-product-card .price,
.locche-product-card .woocommerce-Price-amount{color:#211111!important;font-size:1.75rem!important}

.locche-add-btn{
  border:none;border-radius:999px;background:var(--purple);color:#fff;
  padding:1rem 1.2rem;display:inline-flex;align-items:center;gap:8px;
  font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  cursor:pointer;white-space:nowrap;transition:background .18s;
}
.locche-add-btn:hover{background:#6530c8}
.locche-add-btn svg{width:16px;height:16px;flex-shrink:0}

.locche-load-more-wrap{display:flex;justify-content:center;margin-top:2rem}
.locche-load-more{border:none;border-radius:999px;background:#0a0a0d;color:#fff;padding:1rem 1.35rem;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.locche-load-more[disabled]{opacity:.45;cursor:not-allowed}
.locche-loading{text-align:center;margin-top:1rem;color:var(--muted);font-size:.9rem}

/* ── WOOCOMMERCE ARCHIVE + SINGLE ── */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;list-style:none!important;margin:0!important;padding:0!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:#fff;border-radius:30px;padding:14px;display:flex;flex-direction:column;border:none!important}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:.94/1;object-fit:cover;border-radius:22px;margin:0!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{margin:.95rem 0 .45rem;padding:0;font-size:1.5rem;line-height:.98;letter-spacing:-.04em;color:#0a0a0d}
.woocommerce ul.products li.product .price{color:#211111!important;font-size:1.3rem!important;line-height:1!important;margin:0 0 1rem!important}
.woocommerce ul.products li.product .button{border:none!important;border-radius:999px!important;background:var(--purple)!important;color:#fff!important;padding:1rem 1.1rem!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin-top:auto!important}

.woocommerce .locche-single{width:min(100% - 32px,1280px);margin:0 auto;padding:2rem 0 4.5rem;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);gap:30px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .woocommerce-product-gallery{background:#f2edf8;border-radius:34px;padding:18px}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:24px}
.woocommerce .product_title{margin:0 0 14px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.92;letter-spacing:-.06em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--text)!important;font-size:2rem!important;line-height:1!important;margin-bottom:16px!important}
.woocommerce-product-details__short-description{color:var(--muted);line-height:1.95}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0}
.woocommerce div.product form.cart .quantity input.qty{height:48px;border-radius:999px;border:1px solid var(--line);padding:0 14px;background:#fff}
.woocommerce div.product form.cart .single_add_to_cart_button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{border:none!important;border-radius:12px!important;background:var(--text)!important;color:#fff!important;padding:1rem 1.15rem!important;font-size:.76rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.woocommerce div.product .product_meta{padding-top:18px;border-top:1px solid var(--line);color:var(--muted);line-height:1.8}
.woocommerce .woocommerce-tabs ul.tabs{padding:0 0 14px!important}
.woocommerce .woocommerce-tabs ul.tabs li{border:none!important;background:#f3eefc!important;border-radius:999px!important}
.woocommerce .woocommerce-tabs ul.tabs li a{color:var(--purple)!important;font-weight:700!important}
.woocommerce .woocommerce-tabs .panel{color:var(--muted);line-height:1.9}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--purple)!important;background:#fff!important}

/* ── CART DRAWER ── */
.locche-cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,42vw);max-width:100vw;background:#fff;transform:translateX(100%);transition:transform 580ms cubic-bezier(.12,.84,.22,1);box-shadow:-1px 0 0 var(--line);display:flex;flex-direction:column;z-index:360}
.locche-cart-drawer.is-open{transform:translateX(0)}
.locche-cart-head{padding:1.5rem 1.5rem 1.1rem;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0}
.locche-cart-kicker{margin-bottom:4px;font-size:.6rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.locche-cart-title{font-family:Poison,"Playfair Display",serif;font-size:1.9rem;line-height:.96;letter-spacing:-.05em;color:var(--text)}
.locche-cart-close{width:38px;height:38px;border:none;border-radius:999px;background:var(--bg-soft);display:grid;place-items:center;cursor:pointer;color:var(--muted);flex-shrink:0;transition:background .18s}
.locche-cart-close:hover{background:rgba(10,10,13,.08)}
.locche-cart-body{flex:1;overflow-y:auto;padding:0}
.locche-cart-body::-webkit-scrollbar{width:0}
/* Cart items */
.lc-cart-item{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:start;padding:1.1rem 1.5rem;border-bottom:1px solid var(--line)}
.lc-cart-item:last-of-type{border-bottom:none}
.lc-cart-item-img{width:56px;height:64px;border-radius:10px;overflow:hidden;background:var(--bg-soft);flex-shrink:0}
.lc-cart-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.lc-cart-item-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.lc-cart-item-name{font-family:Inter,sans-serif;font-weight:500;font-size:.86rem;color:var(--text);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc-cart-item-controls{display:flex;align-items:center;gap:10px}
.lc-qty-wrap{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lc-qty-btn{width:28px;height:28px;border:none;background:transparent;font-size:1rem;line-height:1;color:var(--text);cursor:pointer;display:grid;place-items:center;transition:background .15s}
.lc-qty-btn:hover{background:var(--bg-soft)}
.lc-qty-val{min-width:24px;text-align:center;font-family:Inter,sans-serif;font-weight:600;font-size:.8rem;color:var(--text)}
.lc-remove-btn{border:none;background:transparent;padding:0;cursor:pointer;color:var(--muted);transition:color .15s;display:flex;align-items:center}
.lc-remove-btn:hover{color:var(--text)}
.lc-cart-item-price{font-family:Inter,sans-serif;font-weight:600;font-size:.86rem;color:var(--text);white-space:nowrap;padding-top:2px}
/* Cart footer */
.lc-cart-foot{padding:1.2rem 1.5rem 1.5rem;border-top:1px solid var(--line);flex-shrink:0}
.lc-subtotal-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}
.lc-subtotal-row span{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.lc-subtotal-row strong{font-family:Poison,"Playfair Display",serif;font-size:1.8rem;line-height:1;letter-spacing:-.05em;color:var(--text)}
.lc-checkout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:none;border-radius:12px;background:var(--text);color:#fff;padding:1rem 1.2rem;font-family:Inter,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .18s}
.lc-checkout-btn:hover{background:#222}
.lc-cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.5rem;text-align:center;gap:10px}
.lc-cart-empty-icon{color:var(--muted);opacity:.3}
.lc-cart-empty-text{font-family:Inter,sans-serif;font-size:.9rem;color:var(--muted);margin:0}
.lc-cart-shop-link{font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);text-decoration:none;border-bottom:1px solid rgba(123,63,228,.3);padding-bottom:2px}
/* Mobile bottom sheet */
@media(max-width:720px){
  .locche-cart-drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-height:90dvh;border-top-left-radius:24px;border-top-right-radius:24px;transform:translateY(100%);box-shadow:0 -1px 0 var(--line)}
  .locche-cart-drawer::before{content:"";display:block;width:36px;height:3px;border-radius:999px;background:rgba(10,10,13,.14);margin:12px auto 4px;flex-shrink:0}
  .locche-cart-drawer.is-open{transform:translateY(0)}
  .locche-cart-head,.lc-cart-foot{padding-left:1.1rem;padding-right:1.1rem}
  .lc-cart-item{padding-left:1.1rem;padding-right:1.1rem}
}

/* ═══════════════════════════════════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════════════════════════════════ */
.woocommerce-cart .locche-main{background:#fff}
.woocommerce-cart table.cart,.woocommerce-cart .cart-collaterals{display:none!important}
.lc-cart-page{max-width:900px;margin:0 auto;padding:clamp(2rem,5vh,3.5rem) clamp(1rem,4vw,2rem) 5rem}
.lc-cart-page-title{margin:0 0 2rem;font-size:clamp(2.4rem,5vw,4rem);line-height:.92;letter-spacing:-.055em;color:var(--text)}
.lc-cart-page-items{border-top:1px solid var(--line)}
.lc-cart-page-item{display:grid;grid-template-columns:72px 1fr auto auto;gap:16px;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.lc-cart-page-item-img{width:72px;height:82px;border-radius:12px;overflow:hidden;background:var(--bg-soft);flex-shrink:0}
.lc-cart-page-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.lc-cart-page-item-name{font-family:Inter,sans-serif;font-weight:500;font-size:.95rem;color:var(--text);line-height:1.3}
.lc-cart-page-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lc-cart-page-qty input[type="number"]{width:44px;border:none!important;background:transparent!important;text-align:center;font-family:Inter,sans-serif!important;font-size:.86rem!important;font-weight:600!important;color:var(--text)!important;padding:6px 2px!important;outline:none!important;-moz-appearance:textfield}
.lc-cart-page-qty input::-webkit-outer-spin-button,.lc-cart-page-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.lc-cart-page-item-price{font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;color:var(--text);white-space:nowrap;text-align:right}
.lc-cart-page-item-remove{border:none;background:transparent;cursor:pointer;color:var(--muted);padding:6px;transition:color .15s}
.lc-cart-page-item-remove:hover{color:var(--text)}
.lc-cart-page-footer{display:grid;grid-template-columns:1fr 320px;gap:3rem;margin-top:2rem;align-items:start}
.lc-cart-page-coupon{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lc-cart-coupon-input{flex:1;border:none!important;background:transparent!important;padding:11px 14px!important;font-family:Inter,sans-serif!important;font-size:.86rem!important;color:var(--text)!important;outline:none!important}
.lc-cart-coupon-input::placeholder{color:var(--muted)}
.lc-cart-coupon-apply{border:none;background:transparent;padding:11px 16px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);cursor:pointer;border-left:1px solid var(--line)}
.lc-cart-page-totals{background:var(--bg-soft);border-radius:16px;padding:1.5rem}
.lc-cart-totals-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line);font-family:Inter,sans-serif;font-size:.86rem;color:var(--muted)}
.lc-cart-totals-row:last-of-type{border-bottom:none}
.lc-cart-totals-total{font-weight:600;color:var(--text);font-size:.9rem}
.lc-cart-totals-total strong{font-family:Poison,"Playfair Display",serif;font-size:1.75rem;letter-spacing:-.04em;color:var(--text);line-height:1}
.lc-cart-page-checkout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:none;border-radius:12px;background:var(--text);color:#fff;padding:1.05rem;margin-top:1.2rem;font-family:Inter,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .18s}
.lc-cart-page-checkout-btn:hover{background:#222}
.lc-cart-empty-page{text-align:center;padding:5rem 1rem}
.lc-cart-empty-page h2{font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:-.04em;margin:0 0 12px}
.lc-cart-empty-page p{color:var(--muted);margin:0 0 1.5rem}
.lc-cart-empty-page a{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:12px;background:var(--text);color:#fff;padding:.9rem 1.4rem;font-family:Inter,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
@media(max-width:680px){
  .lc-cart-page-item{grid-template-columns:60px 1fr auto;gap:12px}
  .lc-cart-page-qty{display:none}
  .lc-cart-page-footer{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════════════════════════════ */
.woocommerce-checkout .locche-main{background:#fff}
.woocommerce-checkout .woocommerce-checkout-steps,.woocommerce-checkout ol.progtrckr{display:none!important}
.lc-checkout-wrap{display:grid;grid-template-columns:1fr 380px;min-height:calc(100vh - 90px);max-width:1160px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem);align-items:start}
.lc-checkout-left{padding:clamp(2rem,5vh,3.5rem) clamp(1.5rem,4vw,3rem) 5rem 0;border-right:1px solid var(--line)}
.lc-checkout-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:1.5rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.06em;color:var(--muted)}
.lc-checkout-breadcrumb a{color:var(--purple);text-decoration:none}
.lc-checkout-title{margin:0 0 2.2rem;font-size:clamp(2.4rem,5vw,4rem);line-height:.92;letter-spacing:-.055em;color:var(--text)}
.lc-form-section{margin-bottom:2rem}
.lc-form-section-title{margin:0 0 1.1rem;font-family:Inter,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.lc-field-grid{display:grid;gap:0 1.4rem}
.lc-grid-2{grid-template-columns:1fr 1fr}
.lc-grid-3{grid-template-columns:1fr 1fr 1fr}
/* WC form-row resets */
.lc-checkout-form .form-row{margin:0 0 1.3rem!important;padding:0!important}
.lc-checkout-form .form-row label{font-family:Inter,sans-serif!important;font-size:.62rem!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important;margin-bottom:6px!important;display:block!important}
.lc-checkout-form .form-row .required{color:var(--purple)!important}
/* Bottom-border inputs */
.lc-checkout-form input.input-text,.lc-checkout-form select,.lc-checkout-form textarea{width:100%!important;border:none!important;border-bottom:1.5px solid rgba(10,10,13,.16)!important;border-radius:0!important;background:transparent!important;padding:10px 0!important;font-family:Inter,sans-serif!important;font-size:.95rem!important;font-weight:400!important;color:var(--text)!important;outline:none!important;box-shadow:none!important;transition:border-color .2s!important;-webkit-appearance:none!important}
.lc-checkout-form input.input-text:focus,.lc-checkout-form select:focus{border-bottom-color:var(--purple)!important}
.lc-checkout-form input.input-text::placeholder{color:rgba(10,10,13,.28)!important}
.lc-checkout-form .form-row.woocommerce-invalid input.input-text,.lc-checkout-form .form-row.woocommerce-invalid select{border-bottom-color:#e53e3e!important}
/* Select2 */
.lc-checkout-form .select2-container{width:100%!important}
.lc-checkout-form .select2-container .select2-selection--single{border:none!important;border-bottom:1.5px solid rgba(10,10,13,.16)!important;border-radius:0!important;background:transparent!important;height:auto!important;padding:10px 0!important}
.lc-checkout-form .select2-container--focus .select2-selection--single,.lc-checkout-form .select2-container--open .select2-selection--single{border-bottom-color:var(--purple)!important;outline:none!important;box-shadow:none!important}
.lc-checkout-form .select2-selection__rendered{font-family:Inter,sans-serif!important;font-size:.95rem!important;color:var(--text)!important;padding:0!important;line-height:1.5!important}
.lc-checkout-form .select2-selection__arrow{top:10px!important}
/* Payment methods */
.lc-checkout-form #payment{background:transparent!important;border:none!important;padding:0!important}
.lc-checkout-form #payment ul.payment_methods{margin:0!important;padding:0!important;list-style:none!important}
.lc-checkout-form #payment ul.payment_methods li{border:1.5px solid var(--line)!important;border-radius:12px!important;margin-bottom:8px!important;padding:14px 16px!important;background:#fff!important;transition:border-color .18s!important}
.lc-checkout-form #payment ul.payment_methods li:has(input:checked){border-color:var(--purple)!important;background:rgba(123,63,228,.02)!important}
.lc-checkout-form #payment ul.payment_methods li label{font-family:Inter,sans-serif!important;font-size:.88rem!important;font-weight:500!important;color:var(--text)!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}
.lc-checkout-form #payment ul.payment_methods input[type="radio"]{accent-color:var(--purple);margin-right:10px}
.lc-checkout-form #payment .payment_box{background:transparent!important;border:none!important;padding:10px 0 0 26px!important;font-size:.84rem!important;color:var(--muted)!important}
.lc-checkout-form #payment .place-order{padding:0!important;margin-top:1.5rem!important;background:transparent!important}
.lc-checkout-form #payment #place_order,.lc-checkout-form #payment .button.alt{width:100%!important;border:none!important;border-radius:12px!important;background:var(--text)!important;color:#fff!important;padding:1.1rem 1.2rem!important;font-family:Inter,sans-serif!important;font-size:.76rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;cursor:pointer!important;transition:background .18s!important}
.lc-checkout-form #payment #place_order:hover{background:#222!important}
/* Right — order summary */
.lc-checkout-right{position:sticky;top:90px;padding:clamp(2rem,5vh,3.5rem) 0 5rem clamp(1.5rem,4vw,2.5rem);background:#faf9fc}
.lc-order-summary-title{margin:0 0 1.4rem;font-family:Inter,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.lc-order-items{margin-bottom:1.4rem;border-bottom:1px solid var(--line)}
.lc-order-item{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:.85rem 0;border-top:1px solid var(--line)}
.lc-order-item-img-wrap{position:relative;width:48px;height:56px;border-radius:9px;overflow:hidden;background:var(--soft);flex-shrink:0}
.lc-order-item-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.lc-order-item-qty{position:absolute;top:-5px;right:-5px;width:17px;height:17px;border-radius:999px;background:var(--text);color:#fff;font-family:Inter,sans-serif;font-size:.55rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.lc-order-item-name{font-family:Inter,sans-serif;font-weight:500;font-size:.84rem;color:var(--text);line-height:1.3}
.lc-order-item-price{font-family:Inter,sans-serif;font-weight:600;font-size:.86rem;color:var(--text);white-space:nowrap}
.lc-coupon-row{margin-bottom:1.2rem}
.lc-coupon-form{display:flex;border:1.5px solid var(--line);border-radius:10px;overflow:hidden}
.lc-coupon-input{flex:1;border:none!important;background:transparent!important;padding:11px 12px!important;font-family:Inter,sans-serif!important;font-size:.84rem!important;color:var(--text)!important;outline:none!important}
.lc-coupon-input::placeholder{color:var(--muted)}
.lc-coupon-apply{border:none;background:transparent;padding:11px 14px;font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);cursor:pointer;border-left:1.5px solid var(--line)}
.lc-order-totals{display:flex;flex-direction:column;gap:7px}
.lc-totals-row{display:flex;justify-content:space-between;align-items:baseline;font-family:Inter,sans-serif;font-size:.84rem;color:var(--muted)}
.lc-totals-total{padding-top:10px;border-top:1px solid var(--line);margin-top:5px;color:var(--text);font-weight:600;font-size:.88rem}
.lc-totals-total strong{font-family:Poison,"Playfair Display",serif;font-size:1.7rem;letter-spacing:-.04em;color:var(--text);line-height:1}
@media(max-width:860px){
  .lc-checkout-wrap{grid-template-columns:1fr}
  .lc-checkout-right{position:static;padding:1.5rem 0 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;order:-1}
  .lc-checkout-left{border-right:none;padding-right:0}
  .lc-grid-2,.lc-grid-3{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — global
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:1080px){
  .locche-products-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
  .woocommerce .locche-single{grid-template-columns:1fr}
  .locche-hero{grid-template-columns:1fr;min-height:auto}
  .locche-hero-stage{min-height:560px}
  .locche-shop-head{align-items:flex-start}
  .locche-shop-copy{max-width:100%}
}
@media(max-width:960px){
  .locche-main{padding-top:84px}
  .locche-header-shell.is-compact{width:min(calc(100vw - 24px),420px)}
  .locche-menu-wrap{display:block}
  .locche-nav,.locche-book-btn{display:none}
  .locche-header-row{grid-template-columns:auto 1fr auto}
  .locche-brand{justify-self:center}
  .locche-cart-btn{width:44px;height:44px}
  .locche-cart-count{display:none}
}
@media(max-width:720px){
  .locche-products-grid,.woocommerce ul.products{grid-template-columns:1fr;gap:1rem}
  .locche-hero-stage{display:none}
  .locche-home-wrap{padding:22px 0 12px}
  .locche-shop-wrap,.woocommerce .locche-shop-wrap{padding:3.25rem 0 4.5rem}
  .locche-shop-head{gap:1rem;margin-bottom:2rem}
  .locche-shop-title{font-size:clamp(2rem,12vw,3.2rem);line-height:.95}
  .locche-shop-copy{font-size:.95rem;line-height:1.75}
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOOTER — wordmark + tagline + contacts + social
   ═══════════════════════════════════════════════════════════════════════════ */
.lc-footer{background:#fff;border-top:1px solid var(--line)}
.lc-footer-inner{
  max-width:1440px;margin:0 auto;
  padding:clamp(2.5rem,5vh,4rem) clamp(1.5rem,5vw,4rem) clamp(1.5rem,3vh,2.5rem);
  display:grid;
  grid-template-areas:"brand actions social" "bottom bottom bottom";
  grid-template-columns:1fr auto auto;
  gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
}
.lc-footer-brand{grid-area:brand}
.lc-footer-wordmark{
  display:block;font-family:Poison,"Playfair Display",serif;font-weight:400;
  font-size:clamp(2rem,4vw,3.2rem);line-height:.92;letter-spacing:-.06em;color:var(--text);
  margin-bottom:.6rem;
}
.lc-footer-tagline{
  margin:0;font-family:Inter,sans-serif;font-size:.78rem;
  color:var(--muted);letter-spacing:.02em;line-height:1.5;
}
.lc-footer-actions{grid-area:actions;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.lc-footer-contact-btn{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:999px;
  padding:.65rem 1.1rem;
  font-family:Inter,sans-serif;font-size:.76rem;font-weight:600;
  letter-spacing:.04em;color:var(--text);text-decoration:none;
  transition:border-color .18s,background .18s;white-space:nowrap;
}
.lc-footer-contact-btn:hover{border-color:var(--text);background:rgba(10,10,13,.03)}
.lc-footer-contact-btn svg{flex-shrink:0;opacity:.6;width:14px;height:14px}
.lc-footer-social{grid-area:social;display:flex;flex-direction:column;gap:8px;align-items:center}
.lc-footer-social-btn{
  width:38px;height:38px;border-radius:999px;
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--text);text-decoration:none;
  transition:border-color .18s,background .18s;
}
.lc-footer-social-btn:hover{border-color:var(--text);background:rgba(10,10,13,.04)}
.lc-footer-social-btn svg{width:16px;height:16px}
.lc-footer-bottom{
  grid-area:bottom;border-top:1px solid var(--line);
  padding-top:1.2rem;
  font-family:Inter,sans-serif;font-size:.7rem;
  color:var(--muted);letter-spacing:.04em;
}
@media(max-width:760px){
  .lc-footer-inner{
    grid-template-areas:"brand brand" "actions social" "bottom bottom";
    grid-template-columns:1fr auto;
    gap:1.5rem;
  }
  .lc-footer-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}
  .lc-footer-social{flex-direction:row}
}
@media(max-width:480px){
  .lc-footer-inner{
    grid-template-areas:"brand" "actions" "social" "bottom";
    grid-template-columns:1fr;
  }
  .lc-footer-actions{align-items:stretch}
  .lc-footer-contact-btn{justify-content:center}
  .lc-footer-social{justify-content:flex-start}
}
