:root{
  --ivory:#F8F4EA;
  --ivory-deep:#EFE6D6;
  --ink:#2C271E;
  --ink-soft:#5B5245;
  --gold:#AD8A44;
  --gold-light:#D9BE84;
  --blue:#8FA7B0;
  --blue-deep:#5E7C87;
  --white:#FFFDF9;
  --line:rgba(44,39,30,0.12);
  --radius:2px;
  --shadow: 0 18px 40px -22px rgba(44,39,30,0.35);
  --ease: cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond', serif;
  font-weight:600;
  line-height:1.12;
  margin:0;
  color:var(--ink);
  letter-spacing:.2px;
}
h1{
  font-size:clamp(2.2rem, 5vw, 4.2rem);
  font-weight:700;
  letter-spacing:-.5px;
}
h1 em{
  font-style:italic;
  color:var(--gold);
  font-weight:700;
}
h2{
  font-size:clamp(1.8rem, 4vw, 2.8rem);
  font-weight:700;
  letter-spacing:-.3px;
}
h2 em{
  font-style:italic;
  color:var(--gold);
}
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }

.eyebrow{
  font-family:'Jost', sans-serif;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:var(--gold);
  font-weight:500;
}

.wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(20px,4vw,48px); }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--blue-deep);
  outline-offset:3px;
}

.lace{
  height:14px;
  width:100%;
  background-repeat:repeat-x;
  background-size:28px 14px;
  background-image: radial-gradient(circle at 14px 0, transparent 12px, var(--ivory) 13px);
  display:block;
}
.lace.on-deep{ background-image: radial-gradient(circle at 14px 0, transparent 12px, var(--ivory-deep) 13px); }
.lace.on-ink{ background-image: radial-gradient(circle at 14px 0, transparent 12px, var(--ink) 13px); }
.lace.flip{ transform: rotate(180deg); }

.topbar{
  background:var(--ink);
  color:var(--ivory-deep);
  font-size:.76rem;
  letter-spacing:.06em;
  text-align:center;
  padding:7px 10px;
}

header.site{
  position:sticky; top:0; z-index:100;
  background:rgba(248,244,234,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px clamp(20px,4vw,48px);
  max-width:1180px; margin:0 auto;
  gap:20px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Cormorant Garamond', serif;
  font-size:1.55rem;
  font-weight:600;
  white-space:nowrap;
}
.brand-logo{ width:32px; height:32px; }
.brand small{
  display:block;
  font-family:'Jost',sans-serif;
  font-size:.58rem;
  letter-spacing:.24em;
  font-weight:500;
  color:var(--gold);
  text-transform:uppercase;
  margin-top:1px;
}

nav.primary{ display:flex; align-items:center; gap:30px; }
nav.primary a{
  font-size:.86rem;
  letter-spacing:.03em;
  color:var(--ink-soft);
  position:relative;
  padding:6px 0;
  transition:color .2s var(--ease);
}
nav.primary a.active, nav.primary a:hover{ color:var(--ink); }
nav.primary a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold);
}

.nav-actions{ display:flex; align-items:center; gap:16px; }
.cart-btn{
  position:relative;
  display:flex; align-items:center; gap:8px;
  border:1px solid var(--ink); background:transparent;
  padding:9px 16px; font-size:.8rem; letter-spacing:.05em;
  color:var(--ink); border-radius:var(--radius);
  transition: background .2s var(--ease), color .2s var(--ease);
  border-radius:10px;
}
.cart-btn:hover{ background:var(--ink); color:var(--ivory); }
.cart-count{
  background:var(--gold); color:var(--white);
  font-size:.68rem; min-width:18px; height:18px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  padding:0 4px; font-weight:600;
}

.burger{ display:none; background:none; border:none; padding:6px; }
.burger span{ display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; transition:.25s; }

.hero{
  position:relative;
  padding:clamp(50px,8vw,96px) 0 clamp(40px,6vw,70px);
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(30px,5vw,60px);
  align-items:center;
}
.hero h1{
  font-size:clamp(2.4rem,5vw,4.1rem);
  max-width:12ch;
}
.hero h1 em{ font-style:italic; color:var(--gold); font-weight:500; }
.hero p.lead{
  margin-top:22px; max-width:46ch;
  font-size:1.05rem; color:var(--ink-soft);
}
.hero-ctas{ display:flex; gap:16px; margin-top:34px; flex-wrap:wrap; }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 28px; font-size:.85rem; letter-spacing:.05em;
  border-radius:var(--radius); border:1px solid transparent;
  transition: transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.btn-solid{ background:var(--ink); color:var(--ivory); border-radius:15px; border-color:var(--ink); }
.btn-solid:hover{ background:var(--gold); transform:translateY(-2px); }
.btn-outline{ border-color:var(--ink); color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:var(--ivory); transform:translateY(-2px); }
.btn-small{ padding:9px 18px; font-size:.75rem; border-radius:7px; }
.btn:disabled{ opacity:.45; cursor:not-allowed; transform:none !important; }

.hero-stats{
  display:flex; gap:34px; margin-top:44px; flex-wrap:wrap;
}
.hero-stats div b{ display:block; font-family:'Cormorant Garamond', serif; font-size:1.7rem; color:var(--ink); }
.hero-stats div span{ font-size:.72rem; letter-spacing:.05em; color:var(--ink-soft); text-transform:uppercase; }

.hero-visual{ position:relative; display:flex; justify-content:center; }
.candle-stage{
  position:relative; width:min(100%,320px); aspect-ratio:3/4;
  background:radial-gradient(circle at 50% 30%, var(--white), var(--ivory-deep) 72%);
  border-radius:8px; box-shadow:var(--shadow);
  display:flex; align-items:flex-end; justify-content:center; padding-bottom:8%;
}
.flame-glow{
  position:absolute; top:8%; left:50%; transform:translateX(-50%);
  width:150px; height:150px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,190,132,0.55), transparent 70%);
  filter:blur(2px);
  animation: glowpulse 3.2s ease-in-out infinite;
}
@keyframes glowpulse{ 0%,100%{opacity:.6; transform:translateX(-50%) scale(1);} 50%{opacity:1; transform:translateX(-50%) scale(1.08);} }
.flame{ transform-origin:50% 100%; animation: flicker 2.6s ease-in-out infinite; }
@keyframes flicker{
  0%,100%{ transform:scaleY(1) scaleX(1) rotate(0deg); }
  25%{ transform:scaleY(1.05) scaleX(.96) rotate(-1.5deg); }
  50%{ transform:scaleY(.94) scaleX(1.03) rotate(1deg); }
  75%{ transform:scaleY(1.03) scaleX(.98) rotate(-.5deg); }
}

section{ padding:clamp(56px,7vw,96px) 0; }
.section-head{ max-width:640px; margin:0 auto 46px; text-align:center; }
.section-head h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin-top:10px; }
.section-head p{ margin-top:14px; color:var(--ink-soft); font-size:1rem; }
.section-head.left{ text-align:left; margin-left:0; }

.bg-deep{ background:var(--ivory-deep); }
.bg-ink{ background:var(--ink); color:var(--ivory-deep); }
.bg-ink .eyebrow{ color:var(--gold-light); }
.bg-ink h2{ color:var(--white); }

.cat-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
}
.cat-card{
  background:var(--white); border:1px solid var(--line);
  padding:34px 28px; position:relative; overflow:hidden;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
  display:flex; flex-direction:column; gap:16px; text-align:left;
  border-radius:20px;
}
.cat-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.cat-icon{ width:52px; height:52px; color:var(--gold); }
.cat-card h3{ font-size:1.5rem; }
.cat-card p{ color:var(--ink-soft); font-size:.92rem; }
.cat-count{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--blue-deep); font-weight:500; }
.cat-link{ margin-top:auto; font-size:.8rem; font-weight:500; display:inline-flex; align-items:center; gap:6px; color:var(--ink); }
.cat-link svg{ width:14px; height:14px; transition:transform .2s; }
.cat-card:hover .cat-link svg{ transform:translateX(4px); }

.filters{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:40px;
}
.filter-btn{
  background:transparent; border:1px solid var(--line);
  padding:9px 20px; font-size:.78rem; letter-spacing:.04em;
  border-radius:20px; color:var(--ink-soft);
  transition:.2s var(--ease);
}
.filter-btn.active, .filter-btn:hover{ background:var(--ink); color:var(--ivory); border-color:var(--ink); }

.prod-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.prod-card{
  background:var(--white); border:1px solid var(--line); border-radius:4px;
  display:flex; flex-direction:column; overflow:hidden;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.prod-card:hover{ box-shadow:var(--shadow); transform:translateY(-4px); }
.prod-media{
  aspect-ratio:1/1; background:linear-gradient(160deg, var(--ivory-deep), var(--ivory));
  display:flex; align-items:center; justify-content:center; position:relative;
}
.prod-media svg{ width:46%; height:46%; color:var(--gold); }
.prod-tag{
  position:absolute; top:10px; left:10px; background:var(--white);
  font-size:.62rem; letter-spacing:.05em; text-transform:uppercase;
  padding:4px 9px; border-radius:12px; color:var(--blue-deep); font-weight:500;
}
.prod-body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.prod-body h4{ font-size:1.15rem; }
.prod-body .desc{ font-size:.82rem; color:var(--ink-soft); flex:1; }
.prod-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.price{ font-family:'Cormorant Garamond', serif; font-size:1.3rem; font-weight:600; }
.add-btn{
  background:var(--ink); color:var(--ivory); border:none;
  padding:9px 16px; font-size:.72rem; letter-spacing:.05em; border-radius:var(--radius);
  transition:.2s var(--ease); text-transform:uppercase;
}
.add-btn:hover{ background:var(--gold); }
.add-btn.added{ background:var(--blue-deep); }

.pagination{
  display:flex; justify-content:center; align-items:center; gap:8px; margin-top:48px; flex-wrap:wrap;
}
.page-btn, .page-info{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:10px 12px; font-size:.82rem; letter-spacing:.03em; min-width:40px;
  display:flex; align-items:center; justify-content:center;
}
.page-btn{ cursor:pointer; transition:.2s var(--ease); }
.page-btn:hover{ background:var(--ivory-deep); }
.page-btn.active{ background:var(--ink); color:var(--ivory); border-color:var(--ink); }
.page-btn:disabled{ opacity:.5; cursor:not-allowed; }
.page-info{ background:transparent; border:none; color:var(--ink-soft); }

.process{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  counter-reset:step;
}
.step{ position:relative; padding:0 22px; text-align:left; }
.step:not(:first-child){ border-left:1px solid var(--line); }
.step .num{
  font-family:'Cormorant Garamond', serif; font-size:2.6rem; color:var(--gold-light);
  display:block; margin-bottom:10px; font-weight:600;
}
.step h4{ font-size:1.15rem; margin-bottom:8px; }
.step p{ font-size:.86rem; color:var(--ink-soft); }

.split{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.split .swatches{ display:flex; gap:14px; margin-top:26px; }
.swatch{ width:44px; height:44px; border-radius:50%; border:2px solid var(--white); box-shadow:0 0 0 1px var(--line); }
.about-art{
  aspect-ratio:4/5; background:var(--ivory-deep); border-radius:6px;
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.about-art svg{ width:60%; height:60%; color:var(--gold); }
.about-art::before{
  content:""; position:absolute; inset:14px; border:1px solid var(--gold-light); border-radius:4px;
}

.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.testi{
  background:var(--white); border:1px solid var(--line); padding:30px 26px; border-radius:20px;
}
.testi .stars{ color:var(--gold); letter-spacing:2px; font-size:.9rem; margin-bottom:14px; }
.testi p.quote{ font-family:'Cormorant Garamond', serif; font-size:1.15rem; font-style:italic; color:var(--ink); }
.testi .who{ margin-top:16px; font-size:.78rem; letter-spacing:.04em; color:var(--ink-soft); text-transform:uppercase; }

.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.form-row{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
label{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ivory-deep); }
input, textarea{
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.25);
  color:var(--ivory); padding:12px 14px; font-family:inherit; font-size:.9rem; border-radius:var(--radius);
}
input::placeholder, textarea::placeholder{ color:rgba(239,230,214,0.45); }
.contact-info li{ display:flex; gap:12px; margin-bottom:16px; font-size:.9rem; }
.contact-info svg{ width:18px; height:18px; flex-shrink:0; color:var(--gold-light); margin-top:2px; }
.form-note{ font-size:.76rem; color:rgba(239,230,214,0.6); margin-top:6px; }
.contact-info{
  background-color:#363025 !important;
  border-radius: 10px;
  padding: 15px 20px !important;
  background: var(--white);
  border: 1px solid var(--line); 
  padding-right: 40px !important;
  width: fit-content;
}

footer{ background:var(--ink); color:rgba(239,230,214,0.7); padding:50px 0 26px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; margin-bottom:40px; background-color:#433a2a; border-radius:10px; padding:50px 40px; box-shadow:0 4px 10px rgba(0,0,0,0.15); }
.foot-brand{ font-family:'Cormorant Garamond', serif; font-size:2rem; color:var(--white); }
.foot-col h5{ color:var(--ivory-deep); font-size:.80rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:16px; font-weight:500; }
.foot-col li{ margin-bottom:10px; font-size:.86rem; }
.foot-col a:hover{ color:var(--gold-light); }
.foot-bottom{ border-top:1px solid rgba(239,230,214,0.15); padding-top:22px; display:flex; justify-content:space-between; font-size:.80rem; flex-wrap:wrap; gap:10px; }

.cart-page{ padding-top:clamp(50px,7vw,80px); min-height:60vh; }
.cart-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:36px; flex-wrap:wrap; gap:12px; }
.cart-layout{ display:grid; grid-template-columns:1.7fr 1fr; gap:40px; align-items:start; }
.cart-list{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); }
.cart-row{
  display:grid; grid-template-columns:80px 1fr auto auto auto; align-items:center; gap:18px;
  padding:20px 0; border-bottom:1px solid var(--line);
}
.cart-thumb{
  width:80px; height:80px; background:var(--ivory-deep); border-radius:4px;
  display:flex; align-items:center; justify-content:center;
}
.cart-thumb svg{ width:40px; height:40px; color:var(--gold); }
.cart-info h4{ font-size:1.05rem; }
.cart-info span{ font-size:.78rem; color:var(--ink-soft); }
.qty-control{ display:flex; align-items:center; border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.qty-control button{ background:none; border:none; width:30px; height:30px; font-size:1rem; color:var(--ink); }
.qty-control button:hover{ background:var(--ivory-deep); }
.qty-control span{ width:26px; text-align:center; font-size:.85rem; }
.cart-row .line-price{ font-family:'Cormorant Garamond', serif; font-size:1.15rem; font-weight:600; min-width:80px; text-align:right; }
.remove-btn{ background:none; border:none; color:var(--ink-soft); }
.remove-btn:hover{ color:#b5473f; }

.summary{
  background:var(--white); border:1px solid var(--line); border-radius:4px; padding:28px;
  position:sticky; top:100px;
}
.summary h3{ font-size:1.3rem; margin-bottom:20px; }
.sum-line{ display:flex; justify-content:space-between; font-size:.9rem; margin-bottom:12px; color:var(--ink-soft); }
.sum-line.total{ color:var(--ink); font-weight:500; font-size:1.05rem; border-top:1px solid var(--line); padding-top:14px; margin-top:6px; }
.summary .btn{ width:100%; justify-content:center; margin-top:18px; }
.promo{ display:flex; gap:8px; margin-top:18px; }
.promo input{ flex:1; background:var(--ivory); border:1px solid var(--line); color:var(--ink); padding:10px 12px; border-radius:var(--radius); font-size:.82rem; }

.cart-empty{ text-align:center; padding:70px 20px; }
.cart-empty svg{ width:70px; height:70px; color:var(--gold-light); margin:0 auto 20px; }
.cart-empty h3{ font-size:1.6rem; margin-bottom:10px; }
.cart-empty p{ color:var(--ink-soft); margin-bottom:26px; }

.toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--ink); color:var(--ivory); padding:14px 26px; border-radius:30px;
  font-size:.82rem; letter-spacing:.03em; opacity:0; pointer-events:none;
  transition:.35s var(--ease); z-index:300; box-shadow:var(--shadow);
  display:flex; align-items:center; gap:10px;
}
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.toast svg{ width:16px; height:16px; color:var(--gold-light); }

.checkout-page{ padding-top:clamp(50px,7vw,80px); min-height:60vh; }
.checkout-form{ display:grid; grid-template-columns:2fr 1fr; gap:50px; align-items:start; }
.form-section h3{ font-size:1.5rem; margin-bottom:24px; font-family:'Cormorant Garamond', serif; }
.form-group{ margin-bottom:24px; }
.form-group label{ display:block; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.form-group input, .form-group select, .form-group textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:inherit; font-size:.95rem; color:var(--ink); background:var(--white);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none; border-color:var(--gold); background:rgba(173,138,68,0.05);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-row .form-group{ margin-bottom:0; }
.payment-options{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
.payment-option{ padding:16px; border:1px solid var(--line); border-radius:var(--radius); cursor:pointer; text-align:center; transition:.2s var(--ease); }
.payment-option input[type="radio"]{ margin-right:8px; }
.payment-option:hover{ border-color:var(--gold); background:rgba(173,138,68,0.05); }
.payment-option input:checked + .payment-label{ color:var(--gold); font-weight:600; }
.order-summary{ background:var(--white); border:1px solid var(--line); border-radius:4px; padding:28px; position:sticky; top:100px; }
.order-summary h3{ margin-bottom:20px; }
.order-item{ display:flex; justify-content:space-between; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.order-item:last-child{ border-bottom:none; }
.order-item-name{ font-size:.9rem; }
.order-item-qty{ font-size:.85rem; color:var(--ink-soft); }
.order-total{ display:flex; justify-content:space-between; margin-top:20px; padding-top:20px; border-top:2px solid var(--ink); font-weight:600; font-size:1.1rem; }
.submit-btn{ width:100%; padding:16px; background:var(--ink); color:var(--ivory); border:none; border-radius:var(--radius); font-size:.9rem; font-weight:600; cursor:pointer; transition:.2s var(--ease); letter-spacing:.05em; text-transform:uppercase; margin-top:30px; }
.submit-btn:hover{ background:var(--gold); }

.cookies-banner{
  position:fixed; bottom: 0px;; left:0; right:0; z-index:250;
  background:linear-gradient(135deg, rgba(20,20,25,0.98), rgba(35,25,45,0.98));
  color:var(--ivory); padding:clamp(18px,4vw,32px);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  box-shadow:0 -4px 30px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,215,0,0.1);
  transform:translateY(100%); transition:.4s cubic-bezier(0.34,1.56,0.64,1);
  backdrop-filter:blur(10px); border-top:1px solid rgba(255,215,0,0.15);
}
.cookies-banner.show{ transform:translateY(0); }
.cookies-banner p{ font-size:.9rem; line-height:1.6; margin:0; color:var(--ivory-soft); }
.cookies-banner a{ color:var(--gold-light); text-decoration:none; border-bottom:1.5px solid var(--gold-light); transition:.2s var(--ease); }
.cookies-banner a:hover{ color:var(--gold); border-bottom-color:var(--gold); }
.cookies-actions{ display:flex; gap:12px; flex-shrink:0; }
.cookies-btn{ padding:10px 24px; border:none; background:rgba(255,255,255,0.1); color:var(--ivory); border-radius:var(--radius); font-size:.8rem; letter-spacing:.06em; cursor:pointer; transition:.2s var(--ease); text-transform:uppercase; font-weight:600; backdrop-filter:blur(5px); border:1px solid rgba(255,215,0,0.2); }
.cookies-btn:hover{ background:rgba(255,255,255,0.15); border-color:rgba(255,215,0,0.4); }
.cookies-btn.accept{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.cookies-btn.accept:hover{ background:var(--gold-light); }
@media(max-width:640px){
  .cookies-banner{ gap:16px; padding:clamp(14px,3vw,24px); }
  .cookies-banner p{ font-size:.8rem; }
  .cookies-actions{ gap:8px; }
  .cookies-btn{ padding:8px 16px; font-size:.7rem; }
}

.gallery-scroll{
  position:relative; overflow:hidden; background:var(--white); padding:40px 0;
  border-top:1px solid var(--gold-light); border-bottom:1px solid var(--gold-light);
}
.gallery-track{
  display:flex; gap:20px; animation:scrollGallery 25s linear infinite;
  width:fit-content;
}
.gallery-track:hover{ animation-play-state:paused; }
.gallery-item{
  flex-shrink:0; width:280px; height:280px; border-radius:8px;
  background:linear-gradient(135deg, #f0e6d2, #e8d4b8); display:flex; align-items:center; justify-content:center;
  font-size:3rem; box-shadow:0 4px 15px rgba(0,0,0,0.1); transition:.3s var(--ease);
  position:relative; overflow:hidden;
}
.gallery-item:hover{ transform:scale(1.05); box-shadow:0 8px 25px rgba(0,0,0,0.15); }
.gallery-item::before{
  content:''; position:absolute; inset:0; background:linear-gradient(45deg, rgba(255,255,255,.2), transparent);
  pointer-events:none;
}
.gallery-item span{ font-size:.9rem; color:var(--ink-soft); font-weight:600; letter-spacing:.05em; }
@keyframes scrollGallery{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(calc(-280px * 6 - 120px)); }
}
@media(max-width:768px){
  .gallery-item{ width:200px; height:200px; }
  @keyframes scrollGallery{ 100%{ transform:translateX(calc(-200px * 6 - 120px)); } }
}

.modal-overlay{
  position:fixed; top:0; left:0; right:0; bottom:0; z-index:400;
  background:rgba(0,0,0,0.5); display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:.2s var(--ease);
}
.modal-overlay.show{ opacity:1; pointer-events:auto; }
.modal-content{
  background:var(--white); border-radius:6px; max-width:600px; width:90%; max-height:80vh; overflow-y:auto;
  padding:40px; box-shadow:0 10px 60px rgba(0,0,0,0.3);
  animation:modalSlide .3s var(--ease);
}
@keyframes modalSlide{ from{ transform:scale(.95); opacity:0; } to{ transform:scale(1); opacity:1; } }
.modal-close{ position:absolute; top:16px; right:16px; background:none; border:none; font-size:1.5rem; cursor:pointer; color:var(--ink-soft); }
.modal-close:hover{ color:var(--ink); }
.modal-content h2{ margin-bottom:20px; font-size:1.8rem; }
.modal-content p{ margin-bottom:16px; line-height:1.8; color:var(--ink-soft); }
.modal-content ul{ margin-bottom:16px; padding-left:20px; }
.modal-content li{ margin-bottom:8px; }

.hidden{ display:none !important; }

[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].in{ opacity:2; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .flame, .flame-glow{ animation:none; }
  [data-reveal]{ opacity:1; transform:none; transition:none; }
}

@media (max-width:980px){
  .cat-grid{ grid-template-columns:1fr 1fr; }
  .prod-grid{ grid-template-columns:1fr 1fr; }
  .process{ grid-template-columns:1fr 1fr; row-gap:30px; }
  .step:nth-child(3){ border-left:none; }
  .split, .contact-grid{ grid-template-columns:1fr; }
  .cart-layout{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  nav.primary, .nav-actions .cart-btn span.label{ display:none; }
  .burger{ display:block; }
  .nav-actions{ gap:10px; }
  nav.primary.mobile-open{
    display:flex; position:absolute; top:100%; left:0; right:0;
    background:var(--ivory); flex-direction:column; gap:0; padding:10px 20px 20px;
    border-bottom:1px solid var(--line); box-shadow:var(--shadow);
  }
  nav.primary.mobile-open a{ padding:12px 0; border-bottom:1px solid var(--line); }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; }
  .cat-grid, .prod-grid{ grid-template-columns:1fr; }
  .process{ grid-template-columns:1fr; }
  .step{ border-left:none !important; padding:0; }
  .testi-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; gap:28px; }
  .cart-row{ grid-template-columns:60px 1fr; grid-template-areas:"thumb info" "thumb qty" "thumb price"; row-gap:8px; }
  .cart-row .cart-thumb{ grid-area:thumb; width:60px; height:60px; }
  .cart-row .cart-info{ grid-area:info; }
  .cart-row .qty-control{ grid-area:qty; }
  .cart-row .line-price{ grid-area:price; text-align:left; }
  .cart-row .remove-btn{ display:none; }
}
h1[data-reveal], 
h1[data-reveal] em {
  color: #000000 !important;
}

/* Wymuszenie czarnego koloru tekstu w polach wpisywania i formularzach */
input, textarea, select, .snipcart-input__input, .snipcart-form__field-input {
  color: #000000 !important;
}

/* Kolor zaznaczonego tekstu (opcjonalnie, żeby wyglądało estetycznie) */
::selection {
  background: #AD8A44;
  color: #ffffff;
}

/* Wymuszenie widoczności przycisku "Wyślij wiadomość" przed najechaniem */
button[type="submit"].btn.btn-solid {
  background-color: #5e5139 !important; /* Główny złoty kolor */
  color: #ffffff !important;            /* Biały tekst */
  border: none !important;
  opacity: 1 !important;
  transition: 0.3s ease;
}

/* Lekka zmiana koloru po najechaniu myszką (hover) */
button[type="submit"].btn.btn-solid:hover {
  background-color: #8e7033 !important; /* Nieco ciemniejszy złoty po najechaniu */
}