/* ============================================================
   Lush & Pures — Design System layer (classy / modern / clean)
   Loaded globally after the theme CSS; enhances, never rewrites.
   ============================================================ */
:root{
  --lnp-ink:#1c1c1c;
  --lnp-body:#4a4a4a;
  --lnp-muted:#8a8a8a;
  --lnp-line:#ececec;
  --lnp-cream:#faf8f3;
  --lnp-green:#4a7c3f;
  --lnp-green-2:#8bc34a;
  --lnp-radius:12px;
  --lnp-shadow:0 8px 30px rgba(20,20,20,.08);
  --lnp-serif:inherit;
  --lnp-ease:.2s cubic-bezier(.4,0,.2,1);
}

/* ── Typography: elegant serif for product & content headings ── */
.product-title, .product-title a,
.product-single-title,
.title-wrapper .product-single-title,
.cart-summary h3, .order-summary h3,
h1.title, .page-title{
  font-family:inherit !important;font-weight:600 !important;
  letter-spacing:.2px;
  color:var(--lnp-ink);
}
.product-single-title{ font-weight:600 !important; }

/* ── Buttons: one consistent, refined style ── */
.btn, .btn-dark, .btn-primary, .btn-add-cart, .add-cart, .btn-place-order{
  border-radius:8px !important;
  font-weight:600 !important;
  letter-spacing:.3px;
  transition:transform var(--lnp-ease), box-shadow var(--lnp-ease), background var(--lnp-ease) !important;
}
.btn-dark, .btn-primary, .add-cart, .btn-place-order{
  background:var(--lnp-ink) !important;
  border-color:var(--lnp-ink) !important;
  color:#fff !important;
}
.btn-dark:hover, .btn-primary:hover, .add-cart:hover, .btn-place-order:hover,
.btn-add-cart:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

/* ── Product cards: subtle lift + image zoom ── */
.product-default, .product, .product-single{
  transition:transform var(--lnp-ease), box-shadow var(--lnp-ease);
}
.product-default:hover, .product:hover{
  transform:translateY(-4px);
  box-shadow:var(--lnp-shadow);
}
.product-default .product-image, .product .product-image{ overflow:hidden; border-radius:10px; }
.product-default .product-image img, .product .product-image img{ transition:transform .45s var(--lnp-ease); }
.product-default:hover .product-image img, .product:hover .product-image img{ transform:scale(1.05); }

/* ── Pricing ── */
.product-price{ font-weight:700 !important; color:var(--lnp-ink) !important; }
.old-price{ color:var(--lnp-muted) !important; }

/* ── Inputs: refined focus ── */
.form-control{ border-radius:8px !important; transition:border-color var(--lnp-ease), box-shadow var(--lnp-ease); }
.form-control:focus{border-color:#1c1c1c !important;box-shadow:0 0 0 3px rgba(28,28,28,.09) !important;outline:none !important}

/* ── Links & misc polish ── */
a{ transition:color var(--lnp-ease); }
.breadcrumb{ letter-spacing:.4px; }

/* ── Scroll-reveal (opt-in via .lnp-reveal) ── */
.lnp-reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.lnp-reveal.in{ opacity:1; transform:none; }

/* ── Price range filter (dual-handle, single track) ── */
.lnp-price{ padding:6px 2px 2px; }
.lnp-price-head{ font-size:14px; font-weight:700; color:var(--lnp-ink); margin-bottom:16px; }
.lnp-range-wrap{ position:relative; height:26px; }
.lnp-range-track{ position:absolute; top:11px; left:0; right:0; height:4px; background:#e7e3da; border-radius:4px; }
.lnp-range-fill{ position:absolute; top:11px; height:4px; background:var(--lnp-ink); border-radius:4px; }
.lnp-range{ position:absolute; top:4px; left:0; width:100%; height:18px; margin:0; background:none; pointer-events:none; -webkit-appearance:none; appearance:none; }
.lnp-range:focus{ outline:none; }
.lnp-range::-webkit-slider-runnable-track{ background:none; border:none; }
.lnp-range::-moz-range-track{ background:none; border:none; }
.lnp-range::-webkit-slider-thumb{ pointer-events:auto; -webkit-appearance:none; width:16px; height:16px; margin-top:1px; border-radius:50%; background:#fff; border:2px solid var(--lnp-ink); cursor:pointer; box-shadow:0 1px 5px rgba(0,0,0,.22); transition:transform .12s ease; }
.lnp-range::-webkit-slider-thumb:hover{ transform:scale(1.15); }
.lnp-range::-moz-range-thumb{ pointer-events:auto; width:16px; height:16px; border-radius:50%; background:#fff; border:2px solid var(--lnp-ink); cursor:pointer; box-shadow:0 1px 5px rgba(0,0,0,.22); }

/* ── Product card text (shop grid) ── */
.product-default .product-details{ padding:16px 8px 6px; text-align:center; }
.product-default .product-title{ font-size:20px; line-height:1.25; margin:0 0 8px; }
.product-default .product-title a{ color:var(--lnp-ink) !important; }
.product-default .product-details > p{ color:var(--lnp-muted); font-size:13.5px; line-height:1.65; margin:0 auto 14px; max-width:90%; }
.product-default .price-box{ margin:0 0 16px; }
.product-default .product-price{ font-size:19px; letter-spacing:.2px; }
.product-default .product-action .btn-add-cart{ letter-spacing:.6px; }
