/*
Theme Name: Lamb and Veil
Theme URI: https://example.com/
Author: Lamb and Veil
Description: Custom WooCommerce theme recreated from the visual direction of the owner's former Shopify store.
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: lamb-and-veil
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Pinyon+Script&family=Inter:wght@600;700&display=swap');

:root {
  --lv-bg: #320202;
  --lv-text: #fff;
  --lv-muted: rgba(255,255,255,.72);
  --lv-line: rgba(255,255,255,.22);
  --lv-card: rgba(255,255,255,.035);
  --lv-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--lv-bg);
  color: var(--lv-text);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 17px;
  line-height: 1.45;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

.lv-announcement {
  text-align: center;
  padding: 8px 16px;
  border-bottom: 1px solid var(--lv-line);
  font-family: "Pinyon Script", cursive;
  font-size: 18px;
}
.lv-header {
  border-bottom: 1px solid var(--lv-line);
  position: relative;
  z-index: 10;
}
.lv-header-inner {
  max-width: var(--lv-max);
  margin: auto;
  min-height: 70px;
  padding: 12px 20px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}
.lv-nav ul {
  display: flex; align-items:center; gap: 22px;
  margin: 0; padding: 0; list-style:none;
  font-size: 15px;
}
.lv-brand {
  font-family: "Pinyon Script", cursive;
  font-size: 28px;
  text-align:center;
  white-space: nowrap;
}
.lv-actions {
  display:flex; justify-content:flex-end; align-items:center; gap:15px;
  font-size: 14px;
}
.lv-main { min-height: 60vh; }
.lv-wrap { width:min(var(--lv-max), calc(100% - 40px)); margin-inline:auto; }

.lv-hero {
  min-height: 390px;
  background:
    linear-gradient(to top, rgba(50,2,2,.62), rgba(0,0,0,.10)),
    var(--lv-hero, linear-gradient(120deg,#170101,#4c0808));
  background-size: cover;
  background-position: center;
  display:flex;
  align-items:flex-end;
}
.lv-hero-inner {
  width:min(var(--lv-max), calc(100% - 40px));
  margin:auto;
  padding: 48px 0;
}
.lv-kicker {
  font-family:"Inter",sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
}
.lv-hero h1 {
  margin: 4px 0 0;
  font-family:"Pinyon Script",cursive;
  font-size:clamp(48px,8vw,88px);
  font-weight:400;
}

.lv-section { padding: 48px 0; }
.lv-section-head {
  display:flex; justify-content:space-between; gap:20px; align-items:flex-end;
  margin-bottom: 20px;
}
.lv-section-title {
  margin:0;
  font-family:"Pinyon Script",cursive;
  font-size:clamp(35px,4vw,52px);
  font-weight:400;
}
.lv-view-all { font-size:14px; text-decoration:underline; text-underline-offset:4px; }

.woocommerce ul.products,
.lv-products {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px 8px;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product,
.lv-product {
  width:auto !important; float:none !important; margin:0 !important;
  list-style:none;
}
.woocommerce ul.products li.product a img {
  margin:0 0 8px !important;
  aspect-ratio: 1 / 1.15;
  object-fit:cover;
  background:#210101;
}
.woocommerce-loop-product__title {
  color:var(--lv-text) !important;
  font-size:17px !important;
  font-weight:400 !important;
  padding:2px 0 !important;
}
.woocommerce ul.products li.product .price {
  color:var(--lv-text) !important;
  font-size:15px !important;
}
.woocommerce ul.products li.product .button { display:none !important; }
.onsale {
  background:#f5f2eb !important; color:#111 !important;
  min-width:auto !important; min-height:auto !important;
  line-height:1 !important; padding:7px 10px !important;
  border-radius:999px !important; font-size:11px !important;
}

.lv-footer {
  margin-top: 50px;
  border-top:1px solid var(--lv-line);
  padding:42px 0 28px;
}
.lv-footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:50px;
}
.lv-footer h2 {
  margin:0 0 8px;
  font-family:"Pinyon Script",cursive;
  font-weight:400;
  font-size:40px;
}
.lv-footer input[type=email] {
  width:100%; max-width:420px; padding:13px;
  color:#fff; background:transparent;
  border:1px solid var(--lv-line); border-radius:4px;
}
.lv-footer-bottom {
  color:var(--lv-muted); font-size:13px;
  padding-top:28px;
}

button, .button, input[type=submit],
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .single_add_to_cart_button {
  border:1px solid rgba(255,255,255,.9) !important;
  background:transparent !important;
  color:#fff !important;
  border-radius:14px !important;
  font-family:"Inter",sans-serif !important;
  font-size:12px !important;
  letter-spacing:.03em;
  padding:12px 18px !important;
}
button:hover, .button:hover { opacity:.78; }

.woocommerce div.product {
  padding-top:36px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 45px; }
.woocommerce div.product .product_title {
  font-family:"Cormorant Garamond",serif;
  font-weight:400;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { color:#fff; }
.woocommerce-product-details__short-description { color:var(--lv-muted); }
.quantity .qty {
  background:transparent; color:#fff;
  border:1px solid var(--lv-line);
  padding:10px;
}
select, textarea, input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number] {
  background:#250101;
  border:1px solid var(--lv-line);
  color:#fff;
  padding:10px;
}
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background:#250101; color:#fff; border-top-color:#fff;
}
.woocommerce table.shop_table { border-color:var(--lv-line); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color:var(--lv-line); }
.woocommerce-checkout #payment { background:#250101; color:#fff; }
.woocommerce-checkout #payment div.payment_box { background:#1d0101; color:#fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#1d0101; }

.lv-mobile-toggle { display:none; }

@media (max-width: 800px) {
  .lv-header-inner { grid-template-columns:44px 1fr 80px; }
  .lv-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--lv-bg); border-bottom:1px solid var(--lv-line); padding:18px 20px; }
  .lv-nav.is-open { display:block; }
  .lv-nav ul { flex-direction:column; align-items:flex-start; gap:14px; }
  .lv-mobile-toggle { display:block; border:0 !important; padding:8px !important; font-size:20px !important; }
  .lv-brand { font-size:24px; }
  .lv-actions .lv-account { display:none; }
  .woocommerce ul.products, .lv-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 8px; }
  .lv-footer-grid { grid-template-columns:1fr; gap:28px; }
  .lv-hero { min-height:300px; }
}
