:root {
  --lpc-ink: #090807;
  --lpc-panel: #160f0c;
  --lpc-panel-2: #21140f;
  --lpc-line: #533827;
  --lpc-coffee: #80583f;
  --lpc-caramel: #c88b63;
  --lpc-cream: #f6eee8;
  --lpc-muted: #c9aa97;
}

.lpc-builder {
  margin: 2rem 0;
  color: var(--lpc-cream);
  background: var(--lpc-panel);
  border: 1px solid var(--lpc-line);
  font-family: inherit;
}

.lpc-builder--original {
  --lpc-line: #65522d;
  --lpc-coffee: #98743a;
  --lpc-caramel: #d4b267;
  --lpc-panel-2: #261f12;
  --lpc-liquid: linear-gradient(90deg,#816118,#deb95b 48%,#725311);
}

.lpc-builder--bibit {
  --lpc-liquid: linear-gradient(90deg,#6f300a,#d88722 48%,#7b350b);
}

.lpc-builder--mix {
  --lpc-line: #653548;
  --lpc-coffee: #88445d;
  --lpc-caramel: #d1849c;
  --lpc-panel-2: #28151d;
  --lpc-liquid: linear-gradient(90deg,#74213f,#c85d7c 48%,#64162f);
}

.lpc-builder-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--lpc-line);
}

.lpc-builder-progress button {
  appearance: none;
  border: 0;
  border-right: 1px solid var(--lpc-line);
  background: #0d0a08;
  color: var(--lpc-muted);
  padding: 1rem .75rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
}

.lpc-builder-progress button:last-child { border-right: 0; }
.lpc-builder-progress button.is-active { color: white; background: var(--lpc-coffee); }
.lpc-builder-progress span { display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-right: .45rem; border: 1px solid currentColor; border-radius: 50%; }
.lpc-builder-step { display: none; padding: clamp(1.25rem, 3vw, 2.4rem); }
.lpc-builder-step.is-active { display: block; animation: lpcFade .25s ease both; }
.lpc-builder-step h3 { margin: .35rem 0 .55rem; color: white; font: 400 clamp(1.8rem, 4vw, 3rem)/1.05 Georgia, serif; }
.lpc-builder-step p { color: var(--lpc-muted); max-width: 48rem; }
.lpc-kicker { color: var(--lpc-caramel); text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; font-weight: 700; }

.lpc-size-options { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0; }
.lpc-size-options button,
.lpc-back,
.lpc-next {
  appearance: none;
  border: 1px solid var(--lpc-line);
  background: #110c09;
  color: white;
  padding: .85rem 1.2rem;
  cursor: pointer;
}
.lpc-size-options button.is-selected { background: var(--lpc-coffee); border-color: var(--lpc-caramel); }
.lpc-next { background: var(--lpc-coffee); border-color: var(--lpc-coffee); text-transform: uppercase; letter-spacing: .09em; font-weight: 700; }
.lpc-step-actions { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }

.lpc-bottle-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 36%); gap: .8rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: .75rem 0 1rem; scrollbar-color: var(--lpc-coffee) #0e0b09; }
.lpc-bottle-option { appearance: none; text-align: left; color: white; background: #0e0b09; border: 1px solid var(--lpc-line); padding: 0 0 1rem; cursor: pointer; scroll-snap-align: start; }
.lpc-bottle-option.is-selected { border-color: var(--lpc-caramel); box-shadow: inset 0 0 0 1px var(--lpc-caramel); background: var(--lpc-panel-2); }
.lpc-bottle-option[hidden] { display: none; }
.lpc-bottle-photo { display: grid; place-items: center; height: 230px; background: radial-gradient(circle at 50% 45%, #3a2116 0, #130c08 52%, #070605 100%); overflow: hidden; }
.lpc-bottle-photo img { width: 100%; height: 100%; object-fit: contain; object-position: center; padding: 10%; }
.lpc-bottle-option small,.lpc-bottle-option strong,.lpc-bottle-option em { display: block; margin: .45rem 1rem 0; }
.lpc-bottle-option small { color: var(--lpc-caramel); text-transform: uppercase; letter-spacing: .08em; }
.lpc-bottle-option strong { font: 400 1.15rem Georgia, serif; }
.lpc-bottle-option em { color: var(--lpc-muted); font-style: normal; }

.lpc-fill-layout { display: grid; grid-template-columns: minmax(120px, .5fr) 1.5fr; gap: clamp(1.25rem, 4vw, 3rem); align-items: center; margin: 1.5rem 0; }
.lpc-liquid-bottle { position: relative; justify-self: center; width: 112px; height: 250px; overflow: hidden; border: 3px solid rgba(255,255,255,.7); border-radius: 20px 20px 28px 28px; box-shadow: inset 0 0 25px rgba(255,255,255,.15), 0 18px 35px rgba(0,0,0,.4); }
.lpc-liquid-bottle::before { content: ''; position: absolute; z-index: 3; width: 48px; height: 34px; top: -3px; left: 29px; border: 3px solid rgba(255,255,255,.72); background: #15100d; }
.lpc-liquid-bottle span { position: absolute; z-index: 2; top: 52%; left: 50%; transform: translate(-50%,-50%); padding: .35rem; border: 1px solid rgba(255,255,255,.55); color: white; font: 1rem Georgia,serif; letter-spacing: .12em; }
.lpc-liquid-level { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; height: 30%; background: var(--lpc-liquid,linear-gradient(90deg,#6f300a,#d88722 48%,#7b350b)); transition: height .35s ease; }
.lpc-fill-control label { display: block; color: var(--lpc-caramel); text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; }
.lpc-fill-control input[type="range"] { width: 100%; accent-color: var(--lpc-coffee); margin: 1.4rem 0; }
.lpc-quantity-control { display: grid; grid-template-columns: 45px 1fr auto 45px; border: 1px solid var(--lpc-line); }
.lpc-quantity-control button,.lpc-quantity-control input { border: 0!important; border-radius: 0!important; min-height: 48px; background: #0d0a08!important; color: white!important; text-align: center; margin: 0!important; }
.lpc-quantity-control button { cursor: pointer; color: var(--lpc-caramel)!important; font-size: 1.1rem; }
.lpc-quantity-control span { display: grid; place-items: center; background: #0d0a08; color: var(--lpc-muted); }
.lpc-fill-stats,.lpc-price-summary { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 1rem; border: 1px solid var(--lpc-line); }
.lpc-fill-stats div,.lpc-price-summary div { padding: 1rem; text-align: center; border-right: 1px solid var(--lpc-line); }
.lpc-fill-stats div:last-child,.lpc-price-summary div:last-child { border-right: 0; }
.lpc-fill-stats strong,.lpc-price-summary strong,.lpc-fill-stats span,.lpc-price-summary span { display: block; }
.lpc-fill-stats strong,.lpc-price-summary strong { color: white; font-family: Georgia,serif; }
.lpc-fill-stats span,.lpc-price-summary span { color: var(--lpc-muted); font-size: .72rem; margin-top: .2rem; }
.lpc-price-summary { margin: 1.5rem 0; background: #0d0a08; }
.lpc-price-summary div:last-child strong { color: var(--lpc-caramel); font-size: 1.15rem; }
.lpc-builder:not(.is-ready) ~ .quantity,.lpc-builder:not(.is-ready) ~ .single_add_to_cart_button { display: none!important; }

.lpc-public-form { padding: clamp(1.2rem,3vw,2rem); background: var(--lpc-panel); border: 1px solid var(--lpc-line); color: white; }
.lpc-public-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lpc-public-form label { display: block; margin-bottom: 1rem; color: var(--lpc-caramel); font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.lpc-public-form input,.lpc-public-form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: .45rem; padding: .95rem; border: 1px solid var(--lpc-line); border-radius: 0; background: #0d0a08; color: white; font: inherit; text-transform: none; letter-spacing: 0; }
.lpc-public-form button { border: 0; background: var(--lpc-coffee); color: white; padding: .95rem 1.35rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; cursor: pointer; }
.lpc-form-notice { margin: 1rem 0; padding: 1rem; border-left: 3px solid var(--lpc-caramel); background: var(--lpc-panel); color: white; }
.lpc-partner-list { display: grid; gap: 1rem; }
.lpc-partner-card { border: 1px solid var(--lpc-line); background: var(--lpc-panel); color: white; }
.lpc-partner-card summary { display: grid; grid-template-columns: 90px 1fr 40px; gap: 1rem; align-items: center; padding: 1.4rem; cursor: pointer; list-style: none; }
.lpc-partner-card summary::-webkit-details-marker { display:none; }
.lpc-partner-card summary span { color: var(--lpc-caramel); font: 2rem Georgia,serif; }
.lpc-partner-card summary p { margin: 0; color: var(--lpc-muted); }
.lpc-partner-card summary i { font-size: 1.8rem; font-style: normal; text-align: center; }
.lpc-partner-card[open] summary i { transform: rotate(45deg); }
.lpc-partner-card .lpc-public-form { border-width: 1px 0 0; }

@keyframes lpcFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width: 700px) {
  .lpc-builder-progress button { font-size: .6rem; padding: .8rem .2rem; }
  .lpc-builder-progress span { display: block; margin: 0 auto .3rem; }
  .lpc-bottle-carousel { grid-auto-columns: 78%; }
  .lpc-fill-layout { grid-template-columns: 1fr; }
  .lpc-public-form-grid { grid-template-columns: 1fr; gap: 0; }
  .lpc-partner-card summary { grid-template-columns: 62px 1fr 24px; gap: .6rem; }
}
