/* Guided complete skateboard builder (/?pebs_builder=1). Uses the .pebs-home tokens from style.css. */
.pebs-builder__intro{padding:clamp(2.5rem,6vw,4.5rem) 0;background:linear-gradient(120deg,#12100e 0%,#1d1b12 62%,#4a4a22 100%);color:#fff}
.pebs-builder__intro h1{margin:0;font-size:clamp(2.4rem,6vw,4.5rem);color:#fff}
.pebs-builder__lead{max-width:640px;margin:1rem 0 0;font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.82)}
.pebs-builder__body{padding:clamp(1.5rem,4vw,3rem) 0 clamp(3rem,6vw,5rem);background:var(--pebs-cream)}
.pebs-builder__app:empty::before{content:attr(data-loading);color:#675f58}
.pebs-builder__help{margin:2rem 0 0;color:#675f58}
.pebs-builder__help a,.pebs-builder__empty a{font-weight:800;color:#6b5a0c}

.pebs-builder__progress{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none}
.pebs-builder__progress-step>*{display:block;padding:.45rem .9rem;border:1px solid var(--pebs-line);border-radius:999px;background:#fff;font-size:.82rem;font-weight:800;line-height:1.2;color:#675f58}
.pebs-builder__progress-step button{cursor:pointer}
.pebs-builder__progress-step button:hover,.pebs-builder__progress-step button:focus{border-color:var(--pebs-black);background:#fff;color:var(--pebs-black)}
.pebs-builder__progress-step.is-done>*{color:var(--pebs-black)}
.pebs-builder__progress-step.is-done>*::before{content:"✓ ";color:var(--pebs-plank)}
.pebs-builder__progress-step.is-current>*{border-color:var(--pebs-black);background:var(--pebs-black);color:#fff}

.pebs-builder__step{padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--pebs-line);border-radius:24px;background:#fff}
.pebs-builder__step h2{margin:0 0 .6rem;font-size:clamp(1.7rem,4vw,2.6rem)}
.pebs-builder__hint{max-width:720px;margin:0 0 1.25rem;line-height:1.55;color:#675f58}
.pebs-builder__empty{margin:0 0 1.25rem;padding:1rem 1.25rem;border-radius:14px;background:var(--pebs-cream);line-height:1.55}
.pebs-builder__error{margin:1rem 0 0;padding:.85rem 1.1rem;border-radius:14px;background:#fbe5dc;font-weight:700;color:#8b2e1d}

.pebs-builder__choices{margin:0 0 1.5rem;padding:0;border:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}
.pebs-builder__choices legend{margin:0 0 .6rem;padding:0;font-weight:800}
.pebs-builder__choice{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;border:2px solid var(--pebs-line);border-radius:16px;background:#fff;text-align:left;color:var(--pebs-black);cursor:pointer}
.pebs-builder__choice:hover,.pebs-builder__choice:focus{border-color:var(--pebs-black);background:#fff;color:var(--pebs-black)}
.pebs-builder__choice.is-selected{border-color:var(--pebs-plank);background:#f8f4dc}
.pebs-builder__choice small{line-height:1.4;font-weight:400;color:#675f58}

.pebs-builder__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin:0 0 1.5rem;padding:0;list-style:none}
.pebs-builder__card{display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--pebs-line);border-radius:18px;background:#fff}
.pebs-builder__card.is-selected{border-color:var(--pebs-plank)}
.pebs-builder__card img{width:100%;height:190px;object-fit:contain;background:#f3f0eb}
.pebs-builder__card-body{display:flex;flex:1;flex-direction:column;gap:.35rem;padding:.9rem 1rem 1rem}
.pebs-builder__card-body strong{line-height:1.3;overflow-wrap:anywhere}
.pebs-builder__card-body small{line-height:1.4;color:#675f58}
.pebs-builder__badge{align-self:flex-start;padding:.2rem .6rem;border-radius:999px;background:var(--pebs-black);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.pebs-builder__price{margin-top:auto;padding-top:.4rem;font-weight:800}
.pebs-builder__card-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}
.pebs-builder .pebs-builder__card-actions .button{padding:.65rem 1.1rem}
.pebs-builder__card-actions a{font-size:.88rem;font-weight:700;color:#6b5a0c}

.pebs-builder__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}
.pebs-builder__result{margin:0;font-weight:800}
.pebs-builder__toggle{padding:0;border:0;background:none;font-weight:800;color:#6b5a0c;text-decoration:underline;cursor:pointer}
.pebs-builder__toggle:hover,.pebs-builder__toggle:focus{background:none;color:var(--pebs-black)}
.pebs-builder__step>.pebs-builder__toggle{margin:0 0 1.25rem}
.pebs-builder .button[disabled]{opacity:.45;cursor:not-allowed}

.pebs-builder__lines{margin:0;padding:0;list-style:none}
.pebs-builder__line{display:grid;grid-template-columns:110px minmax(0,1fr) auto auto;gap:.5rem 1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--pebs-line)}
.pebs-builder__line-slot{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#675f58}
.pebs-builder__line-price{font-weight:800}
.pebs-builder__total{margin:1rem 0;font-size:1.15rem;text-align:right}
.pebs-builder__assembly{display:flex;gap:.85rem;align-items:flex-start;padding:1.1rem 1.25rem;border:2px solid var(--pebs-line);border-radius:16px;background:var(--pebs-cream);cursor:pointer}
.pebs-builder__assembly input{width:1.25rem;height:1.25rem;margin:.15rem 0 0;flex:none}
.pebs-builder__assembly strong,.pebs-builder__assembly small{display:block}
.pebs-builder__assembly small{margin-top:.25rem;line-height:1.45;color:#675f58}

@media(max-width:767px){
.pebs-builder__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.pebs-builder__card img{height:140px}
.pebs-builder__card-actions{flex-direction:column;align-items:stretch;text-align:center}
.pebs-builder__line{grid-template-columns:minmax(0,1fr) auto}
.pebs-builder__line-slot{grid-column:1/-1}
}
