@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Poppins:wght@600&display=swap');
:root{color-scheme:light;--paper:#f7f5ee;--ink:#262722;--olive:#23513b;--line:#dddcd1;--muted:#5f6258;--white:#fffdf8}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "DM Sans",Arial,sans-serif}
a{color:inherit;text-underline-offset:4px}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid #9e5433;outline-offset:4px}
.shell{width:min(100% - 64px,1240px);margin-inline:auto}
.skip{position:absolute;left:16px;top:10px;transform:translateY(-160%);z-index:4;padding:8px;background:var(--white)}
.skip:focus{transform:none}
.announcement{background:var(--olive);color:#fff;text-align:center;padding:8px 14px;font-size:13px}
.top{height:83px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.top nav{display:flex;gap:30px;font-weight:600}
.top a{text-decoration:none}
.top a:hover{text-decoration:underline}
.brand{font-size:23px;white-space:nowrap;letter-spacing:.05em}
.brand span{display:block;width:47px;height:3px;margin-top:3px;background:linear-gradient(90deg,#34704a 33%,#fff 33%,#fff 66%,#a6323c 66%)}
.cart-trigger{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);border-radius:4px;padding:8px 13px;white-space:nowrap}
.cart-trigger span{display:inline-grid;place-items:center;border-radius:50%;background:#e8e8dc;min-width:24px;height:24px;margin-left:4px;font-size:13px}
.hero{position:relative;display:grid;grid-template-columns:57% 43%;aspect-ratio:1920 / 1039;background:#bfb8a6;overflow:hidden}
.hero-copy{position:relative;z-index:1;padding:clamp(24px,5vw,73px);align-self:center}
.hero-copy>p:not(.eyebrow){max-width:36ch;color:#36352e;margin:17px 0 25px}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
h1,h2{font-family:"Poppins","DM Sans",Arial,sans-serif;font-weight:600;letter-spacing:-.035em;line-height:1.09;margin:0}
h1{font-size:clamp(44px,6vw,81px)}
h2{font-size:clamp(30px,3.5vw,45px)}
.eyebrow{margin:0 0 11px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 17px;border:1px solid var(--olive);border-radius:4px;text-decoration:none;font-weight:700;text-align:center}
.primary{background:var(--olive);color:#fff}
.primary:hover{background:#212c20}
.secondary{background:transparent;color:var(--olive)}
.secondary:hover{background:#eeeee5}
button:disabled{opacity:.55;cursor:default}
.home-section{margin-top:55px;margin-bottom:55px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:18px}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.category-grid a{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--white);border:1px solid var(--line);padding:16px;text-decoration:none;font-weight:700}
.category-grid a:hover{background:#eae8dc}
.category-grid span{font-size:24px;line-height:1}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.product-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;border-radius:5px;overflow:hidden}
.product-image{position:relative;background:#fff;aspect-ratio:1.25;padding:14px;overflow:hidden}
.product-image img{position:absolute;inset:0;width:100%;height:100%;padding:14px;object-fit:contain}
.card-copy{display:flex;flex:1;flex-direction:column;padding:15px;gap:8px}
.card-copy .eyebrow{margin:0}
.card-copy h3{font-size:16px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.card-copy h3 a{text-decoration:none}
.card-copy h3 a:hover{text-decoration:underline}
.product-price{margin:auto 0 0;padding-top:9px;font-weight:700}
.card-copy button{width:100%}
.offer{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:24px 30px;background:#eae8dc}
.offer img{width:100%;border-radius:5px}
.shop{padding-block:38px 65px}
.shop>h1{margin-bottom:25px}
.filters{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:14px;padding:17px;background:#eae8dc}
label{display:grid;gap:5px;color:var(--muted);font-size:14px;font-weight:600}
input,select{width:100%;min-width:0;min-height:43px;padding:9px;border:1px solid #cdcec0;border-radius:4px;background:var(--white);color:var(--ink)}
.result-count,.muted{color:var(--muted);font-size:14px}
.product-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(22px,5vw,60px);align-items:center;margin-top:22px}
.product-detail .product-image{border:1px solid var(--line);border-radius:5px}
.product-detail h1{font-size:clamp(32px,4.5vw,60px)}
.detail-price{font-weight:700;font-size:25px}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.panel{padding:22px;border:1px solid var(--line);background:var(--white);border-radius:5px}
.panel h2{font-size:29px;margin-bottom:12px}
.cart-row,.quantity{display:flex;justify-content:space-between;gap:10px;align-items:center}
.cart-row{border-bottom:1px solid var(--line);padding:12px 0}
.line-price{display:block;color:var(--muted);font-size:14px}
.quantity button{border:1px solid var(--line);border-radius:4px;width:34px;height:34px;background:transparent}
.grand{font-size:18px;border:0}
#checkout{display:grid;gap:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#checkout p{margin:0}
#feedback:not(:empty){padding:14px;background:#eae8dc;overflow-wrap:anywhere}
.toast{display:flex;gap:18px;align-items:center;position:fixed;z-index:2;right:20px;bottom:18px;max-width:calc(100% - 40px);background:var(--olive);color:#fff;padding:13px 16px;border-radius:5px;box-shadow:0 6px 24px #0003;font-size:14px}
.toast a{white-space:nowrap}
.policy{max-width:820px}
.policy h2{font-size:28px;margin-top:30px}
.foot{padding:27px 0;background:#eae8dc;color:var(--muted);font-size:14px}
.footer-grid{display:flex;justify-content:space-between;gap:20px}
.foot p{margin:7px 0 0}
.foot nav{display:grid;align-content:start;gap:7px}
.admin{padding-block:30px}
.admin article{margin-bottom:12px;padding:15px;background:var(--white);overflow-wrap:anywhere}
.admin form{max-width:260px}
.copy{margin-top:9px;padding:6px 10px;border:1px solid var(--line);background:var(--paper)}
@media(max-width:930px){.shell{width:calc(100% - 38px)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero h1{font-size:clamp(36px,6vw,56px)}}
@media(max-width:650px){.shell{width:calc(100% - 28px)}.top{height:67px;gap:8px}.top nav{gap:8px;font-size:14px}.brand{font-size:17px}.home-link{display:none}.cart-trigger{padding:5px 8px;font-size:14px}.hero,.product-detail,.checkout-grid,.offer{grid-template-columns:1fr}.hero{aspect-ratio:auto}.hero-image{position:static;aspect-ratio:806 / 1039;object-position:right center}.category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-grid a{padding:10px;font-size:14px}.home-section{margin-block:36px}.section-head{align-items:start;flex-direction:column}.card-copy{padding:10px}.card-copy h3{font-size:14px}.card-copy button{font-size:13px;padding-inline:6px}.filters{grid-template-columns:1fr 1fr;gap:8px}.filters label:first-child,.filters label:last-child{grid-column:1/-1}.shop{padding-block:24px 42px}.offer{padding:20px}.panel{padding:15px}.footer-grid{flex-wrap:wrap}}

.product-information {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 5vw, 64px);
  margin-top: clamp(32px, 6vw, 72px);
}
.product-information h2 {
  margin: 0 0 16px;
}
.product-information p {
  line-height: 1.65;
}
.product-specifications {
  margin: 0;
}
.product-specifications div {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid currentColor;
  overflow-wrap: anywhere;
}
.product-specifications dt {
  font-weight: 600;
}
.product-specifications dd {
  margin: 0;
}
@media (max-width: 760px) {
  .product-information {
    grid-template-columns: 1fr;
  }
}

.order-views {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}
.order-views a {
  display: block;
  padding: 9px 14px;
  border: 1px solid var(--line);
  background: var(--white);
  text-decoration: none;
}
.order-views a[aria-current="page"] {
  border-color: currentColor;
  background: var(--paper);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.admin form:has(select[name="status"]) .cancellation-reason {
  display: none;
}
.admin form:has(select[name="status"] option[value="cancelled"]:checked) .cancellation-reason {
  display: block;
}
.admin .cancellation-reason textarea {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--white);
  color: inherit;
  font: inherit;
  resize: vertical;
}

.set-prices p{margin:0}
.set-prices .set-comparison{color:var(--muted);font-size:.9rem}
.set-prices span{font-size:.9rem;font-weight:500}
.set-prices strong{white-space:nowrap}

.contact-form{max-width:620px;display:grid;gap:14px}
.contact-form textarea{width:100%;padding:9px;border:1px solid #cdcec0;border-radius:4px;background:var(--white);color:var(--ink);font:inherit;resize:vertical}
.contact-form .button{justify-self:start}
@media(max-width:650px){
  .top{height:auto;min-height:67px;display:grid;grid-template-columns:1fr auto;padding-block:10px}
  .top nav{grid-row:2;grid-column:1/-1;gap:8px 14px;flex-wrap:wrap}
  .top nav .home-link{display:inline}
}

.promo-form{margin:14px 0}
.promo-form>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.promo-form input{flex:1 1 120px;width:auto}
.promo-form .button{padding:9px 12px}
.promo-form p{margin:7px 0 0}
.promo-form p:empty{display:none}

.hero.hero-full-width{width:100%}

.marketing-choice{display:flex;gap:9px;align-items:baseline}
.marketing-choice input{width:auto;min-height:0;margin:0}

.cart-trigger svg{display:block;flex:none}
.cart-trigger .cart-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}


.hero{--hero-cream:#f8f3ea;background:var(--hero-cream)}
.hero::after{
  content:"";
  position:absolute;
  inset:0 calc(42% - 1px) 0 0;
  background:var(--hero-cream);
  pointer-events:none;
}
@media(max-width:650px){
  .hero::after{display:none}
}

.collection-hero {
  width: min(100% - 48px, 1520px);
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(248px, auto));
  gap: 14px;
}
.collection-tile {
  min-width: 0;
  border-radius: 20px;
  padding: clamp(16px, 2vw, 28px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  color: #26392d;
}
.collection-tile h2 { font-size: clamp(19px, 2.2vw, 31px); }
.collection-tile p { margin: 10px 0 0; }
.collection-live-red {
  grid-row: span 2;
  background: #283f32;
  color: #fffaf1;
  grid-template-rows: auto auto auto 1fr auto;
}
.collection-live-red h1 {
  font-size: clamp(27px, 3.1vw, 48px);
  max-width: 19ch;
  margin-inline: auto;
  text-wrap: balance;
}
.collection-live-red { text-align: center; gap: 14px; }
.collection-live-red .collection-label { color: #ecd4a5; font-weight: 700; margin: 0; }
.collection-live-red p { margin: 0; }
.collection-live-red-photo {
  background: #f3e7d6;
  border-radius: 15px;
  padding: clamp(16px, 2.4vw, 34px);
  display: grid;
  place-items: center;
}
.collection-live-red-photo img {
  display: block;
  width: min(100%, 310px);
  height: auto;
  max-height: 220px;
  object-fit: contain;
}
.collection-live-red .collection-link { justify-self: center; }
.collection-liveinduction {
  grid-column: span 3;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  background: #e0ebe3;
}
.collection-liveinduction img { grid-area: 1 / 2 / 3 / 3; height: 205px; }
.collection-vulcano { background: #ece3d3; }
.collection-fireworks { background: #f2e2dc; }
.collection-union { background: #e7ebdd; }
.collection-photo { width: 100%; height: 134px; object-fit: contain; align-self: center; display: block; }
.collection-union img { object-fit: cover; border-radius: 12px; }
.collection-link {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 99px;
  background: #fffdf8;
  color: #26392d;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.collection-link:hover { text-decoration: underline; }
.collection-link .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 860px) {
  .collection-hero { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; }
  .collection-live-red, .collection-liveinduction { grid-column: span 3; grid-row: auto; }
}
@media (max-width: 530px) {
  .collection-hero { width: calc(100% - 28px); margin-top: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .collection-live-red, .collection-liveinduction, .collection-union { grid-column: span 2; }
  .collection-liveinduction img { height: 145px; }
  .collection-live-red-photo img { max-height: 165px; }
  .collection-photo { height: 110px; }
}
