/* =========================================================================
   The guided (stepper) builder — layout only. Which cards are on screen is
   decided by initMobileSteps() in builder.js; this file makes one step fill
   the phone, keeps the progress header and the pinned preview compact, and
   guarantees every control is a 44px+ target. Nothing here applies at
   920px and up except the [hidden] guarantees.
   ========================================================================= */
.builder-progress[hidden],[data-builder-step][hidden],[data-builder-next][hidden],[data-builder-skip][hidden],.checkout-bar [hidden],[data-line-total-row][hidden],.mobile-plate-bar[hidden]{display:none!important}
.builder-progress{margin-bottom:14px}
.builder-progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:800}
.builder-progress-top button{font:inherit;min-height:44px;min-width:44px;border:0;background:none;padding:8px 4px;cursor:pointer;color:inherit}
.builder-progress-top button:disabled{opacity:.3;cursor:default}
.builder-progress-top a{min-height:44px;display:inline-flex;align-items:center;padding:0 4px;font-weight:800}
.builder-progress-track{height:5px;background:#e8e8e8;border-radius:9px;overflow:hidden;margin:6px 0 14px}
.builder-progress-track span{display:block;height:100%;background:var(--green,#2f5d1b);transition:width .25s}
.builder-progress h2{font-size:1.4rem;line-height:1.2;margin:0}
.builder-progress h2:focus{outline:none}
.builder-progress [data-step-error]{margin:10px 0 0}
.summary-qty{align-items:center}
.summary-qty select{width:auto;min-width:88px;min-height:44px;font:inherit;font-weight:800;color:#111;background:#fff;border-radius:9px;padding:6px 10px}
.summary-add-another{margin-top:.6rem;background:#fff;color:var(--green,#2f5d1b);border-color:#fff}
.builder-skip{margin-top:4px;min-height:48px}
@media(max-width:919px){
  .builder-guided .builder-intro{padding:14px 0 0}
  .builder-guided .builder-intro p{display:none}
  .builder-guided .builder-intro h1{font-size:1.35rem;margin:0}
  .builder-guided .builder-form{scroll-margin-top:80px;min-width:0}
  /* The desktop column is gone: its summary now lives inside the review step. */
  .builder-guided .builder-preview{display:none}
  .builder-guided .builder-section{padding-bottom:30px}
  .builder-guided .field-card{padding:16px;margin-bottom:12px}
  /* The step heading names the decision; the card's own heading would say it twice. */
  .builder-guided [data-builder-step]>.field-card:first-child>h3{display:none}
  .builder-guided .field-card h3{font-size:1rem}
  .builder-guided #regInput{font-size:26px;min-height:62px;text-transform:uppercase;letter-spacing:2px}
  .builder-guided .input{font-size:16px}
  .builder-guided .pc-note{font-size:14px!important;line-height:1.45}
  .builder-guided .pick-card{min-height:64px;padding:14px}
  .builder-guided .pick-card strong{font-size:16px}
  .builder-guided .pick-grid{gap:10px}
  .builder-guided .pick-grid-3{grid-template-columns:1fr}
  .builder-guided [data-option^="qty:"]{display:grid;grid-template-columns:1fr auto;text-align:left}
  .builder-guided [data-option^="qty:"] .pc-note{grid-column:1}
  .builder-guided [data-option^="qty:"] .pc-price{grid-column:2;grid-row:1/3;align-self:center}
  /* The pinned preview: sticky under the site header from the style step on,
     compact enough to leave the next control visible beneath it. */
  .builder-guided .mobile-plate-bar{margin:0 0 12px;padding:8px 12px}
  .builder-guided .mobile-plate-bar .plate-render{max-width:300px;margin:auto}
  .builder-guided .style-image-frame{max-height:180px}
  .builder-guided .style-image-frame img{max-height:140px;width:100%;object-fit:contain}
  .builder-guided .extras-card>.extras-summary{pointer-events:none}
  .builder-guided .extras-card .es-chevron{display:none}
  /* The review screen: the order summary card, full width, then the optional save-your-build panel. */
  .builder-guided .builder-review{margin-bottom:12px}
  .builder-guided .builder-review .summary{padding:18px}
  .builder-guided .builder-review .summary .btn{min-height:50px}
  .builder-guided .summary-row{font-size:15px}
  .builder-guided .checkout-bar{padding-bottom:max(12px,env(safe-area-inset-bottom));gap:12px}
  .builder-guided .checkout-bar .btn{min-height:50px;font-size:16px;flex:1;justify-content:center}
  .builder-guided .checkout-bar .cb-info[hidden]{display:none}
  .builder-guided .builder-support{margin-top:12px}
  .builder-guided .offer-strip{margin-top:16px}
  .builder-guided{padding-bottom:100px}
}
