.lb-builder-wrap{--green:#91F88D;--border:#e7e7e7;--muted:#666;--text:#111;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif}
.lb-hero{border:1px solid var(--border);padding:28px;background:linear-gradient(180deg,#fff 0%,#fbfbfb 100%);margin-bottom:24px}
.lb-eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#444}
.lb-hero h2{margin:0 0 12px;font-size:36px;line-height:1.03}
.lb-intro p{margin:0 0 10px;color:#333;line-height:1.5}
.lb-callout{margin:16px 0 0}
.lb-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;align-items:start}
.lb-panel,.lb-summary-card{border:1px solid var(--border);padding:24px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.04)}
.lb-step{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--green);padding-bottom:4px;margin-bottom:8px}
.lb-panel h3{margin:0 0 18px;font-size:28px;line-height:1.08}
.lb-grid{display:grid;gap:16px}
.lb-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lb-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.lb-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lb-field label{display:block;margin:0 0 8px;font-size:13px;color:#333}
.lb-field input,.lb-field select,.lb-field textarea{width:100%;box-sizing:border-box;border:1px solid #dcdcdc;background:#fff;padding:12px;font-size:15px;min-height:46px;color:#111}
.lb-field small{display:block;margin-top:6px;color:var(--muted)}
.lb-actions{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.lb-actions-split .lb-btn{flex:1}
.lb-btn{appearance:none;border:1px solid #111;background:#fff;color:#111;min-height:48px;padding:0 18px;font-size:15px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.lb-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.1)}
.lb-btn-primary{background:#111;color:#fff}
.lb-inline-message{margin-top:14px;padding:12px 14px;border:1px solid #ddd;font-size:14px;line-height:1.4}
.lb-warning{background:#fffceb;border-color:#dfd28a}.lb-error{background:#fff1f1;border-color:#efb0b0}.lb-success{background:#f2fff1;border-color:#b8e8b6}.lb-hidden{display:none!important}
.lb-product-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lb-product-card{padding:0;border:1px solid var(--border);background:#fff;text-align:left;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease}
.lb-product-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.08)}
.lb-product-card.is-active{box-shadow:0 0 0 2px var(--green) inset;border-color:#111}
.lb-card-image{aspect-ratio:4/3;background:#efefef center/cover no-repeat}
.lb-card-image-placeholder{display:flex;align-items:center;justify-content:center;font-size:20px;color:#555}
.lb-card-copy{padding:16px}
.lb-card-head{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.lb-card-head h4{margin:0;font-size:22px;line-height:1.1}
.lb-card-pill{display:inline-block;align-self:flex-start;border-bottom:2px solid var(--green);padding-bottom:2px;font-size:13px}
.lb-card-copy p{margin:0 0 12px;color:#444;line-height:1.5}
.lb-card-link{color:#111;text-decoration:none;border-bottom:1px solid #111}
.lb-bespoke-note{margin:16px 0 0;color:#333}
.lb-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.lb-choice-row{display:flex;flex-wrap:wrap;gap:8px}
.lb-chip{appearance:none;border:1px solid #d7d7d7;background:#fff;min-height:44px;padding:0 14px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:8px}
.lb-chip.is-active{border-color:#111;box-shadow:0 0 0 2px var(--green) inset}
.lb-extra-label{font-size:12px;color:#444}
.lb-fixed-note{grid-column:1/-1;padding:12px 14px;background:#fafafa;border:1px solid var(--border)}
.lb-addon-block{border-top:1px solid var(--border);padding-top:18px;margin-top:18px}
.lb-addon-head h4{margin:0 0 6px;font-size:20px}
.lb-addon-head p{margin:0 0 12px;color:#555;line-height:1.5}
.lb-check{display:flex;align-items:flex-start;gap:10px;margin:8px 0}
.lb-check input{margin-top:4px}
.lb-addon-media{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}
.lb-addon-image-box{aspect-ratio:4/3;background:#efefef center/cover no-repeat;border:1px solid var(--border)}
.lb-addon-image-caption{margin:8px 0 0;color:#555;font-size:13px;line-height:1.4}
.lb-summary{position:sticky;top:24px}
.lb-summary-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#555}
.lb-summary-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.lb-summary-list{margin:0 0 16px;padding-left:18px}
.lb-summary-list li{margin-bottom:8px}
.lb-summary-tag{display:inline-block;padding:8px 10px;background:#fafafa;border:1px solid var(--border);margin:4px 8px 0 0;font-size:14px}
.lb-summary-empty{margin:0 0 10px;color:#666}
.lb-totals{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}
.lb-total-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}
.lb-grand-total{font-size:19px}
.lb-summary-note{margin-top:16px;font-size:13px;color:#555;line-height:1.5}



.lb-btn-secondary{
  background:#fff;
  color:#111;
  border-color:#cfcfcf;
}
.lb-btn-secondary:hover{
  box-shadow:0 6px 12px rgba(0,0,0,.06);
}
.lb-actions-split{
  align-items:stretch;
}
.lb-actions-split .lb-btn-primary{
  min-height:54px;
  font-size:16px;
}
.lb-pay-nudge{
  margin:14px 0 0;
  font-size:14px;
  color:#333;
  line-height:1.5;
}


.lb-addon-media{
  align-items:start;
}
.lb-addon-copy .lb-grid{
  margin-bottom: 6px;
}


/* Hide the theme page title on pages where the builder is loaded */
.entry-title,
.page-title,
h1.entry-title,
h1.page-title{
  display:none !important;
}


.lb-success-box{
  border:1px solid #e7e7e7;
  background:#fff;
  padding:28px;
  margin:0 0 24px;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.lb-success-kicker{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  border-bottom:2px solid #91F88D;
  display:inline-block;
  padding-bottom:4px;
}
.lb-success-box h2{
  margin:0 0 12px;
  font-size:34px;
  line-height:1.05;
}
.lb-success-box p{
  margin:0 0 10px;
  color:#333;
  line-height:1.5;
}


.lb-builder-home-variant .lb-hero{
  padding:22px;
}
.lb-builder-home-variant .lb-hero h2{
  font-size:30px;
}
.lb-builder-home-variant .lb-intro p{
  font-size:15px;
}
.lb-builder-home-variant .lb-bespoke-note{
  font-weight:600;
}


.lb-ai-box{
  border:1px solid var(--border);
  background:#fafafa;
  padding:18px;
  margin:0 0 18px;
}
.lb-ai-kicker{
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  border-bottom:2px solid var(--green);
  display:inline-block;
  padding-bottom:4px;
}
.lb-ai-box h4{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.15;
}
.lb-ai-box p{
  margin:0 0 12px;
  color:#444;
  line-height:1.5;
}


.lb-ops-box{
  border:1px solid #e7e7e7;
  background:#fffdf5;
  padding:18px;
  margin:0 0 18px;
}
.lb-ops-kicker{
  margin:0 0 8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  border-bottom:2px solid var(--green);
  display:inline-block;
  padding-bottom:4px;
}
.lb-ops-box p{
  margin:0 0 12px;
  color:#444;
  line-height:1.5;
}


/* Mobile + tablet layout polish */
@media (max-width: 980px){
  .lb-layout{
    grid-template-columns:1fr;
    gap:18px;
  }
  .lb-summary{
    position:static;
    order:2;
  }
  .lb-main{
    order:1;
  }
  .lb-product-cards,
  .lb-grid-2,
  .lb-grid-4,
  .lb-grid-5,
  .lb-option-grid,
  .lb-addon-media{
    grid-template-columns:1fr !important;
  }
  .lb-hero{
    padding:20px;
    margin-bottom:18px;
  }
  .lb-hero h2{
    font-size:30px;
    line-height:1.06;
  }
  .lb-panel,
  .lb-summary-card,
  .lb-success-box{
    padding:18px;
  }
  .lb-panel h3{
    font-size:24px;
    line-height:1.08;
    margin-bottom:14px;
  }
  .lb-card-head h4{
    font-size:20px;
  }
  .lb-card-image{
    aspect-ratio: 16 / 10;
  }
  .lb-choice-row{
    flex-direction:column;
    gap:10px;
  }
  .lb-chip{
    width:100%;
    justify-content:space-between;
    min-height:48px;
    text-align:left;
    padding:0 14px;
  }
  .lb-actions,
  .lb-actions-split{
    flex-direction:column;
    gap:10px;
  }
  .lb-actions .lb-btn,
  .lb-actions-split .lb-btn{
    width:100%;
    flex:none;
  }
  .lb-actions-split .lb-btn-primary{
    min-height:52px;
  }
  .lb-inline-message{
    margin-top:12px;
  }
  .lb-summary-kicker{
    margin-bottom:10px;
  }
  .lb-summary-list{
    margin-bottom:14px;
  }
  .lb-summary-tag{
    display:block;
    margin:6px 0 0;
  }
  .lb-total-row{
    align-items:flex-start;
  }
  .lb-addon-head h4,
  .lb-ai-box h4{
    font-size:18px;
  }
  .lb-ai-box,
  .lb-ops-box{
    padding:16px;
  }
  .lb-pay-nudge{
    font-size:13px;
  }
}

@media (max-width: 640px){
  .lb-builder-wrap{
    font-size:15px;
  }
  .lb-hero{
    padding:16px;
  }
  .lb-hero h2{
    font-size:26px;
  }
  .lb-eyebrow{
    margin-bottom:8px;
  }
  .lb-panel,
  .lb-summary-card,
  .lb-success-box{
    padding:14px;
  }
  .lb-panel h3{
    font-size:21px;
  }
  .lb-field label{
    font-size:12px;
    margin-bottom:6px;
  }
  .lb-field input,
  .lb-field select,
  .lb-field textarea{
    min-height:44px;
    padding:11px 12px;
    font-size:15px;
  }
  .lb-btn{
    min-height:46px;
    padding:0 14px;
    font-size:15px;
  }
  .lb-card-copy{
    padding:14px;
  }
  .lb-card-head{
    gap:6px;
  }
  .lb-card-head h4{
    font-size:18px;
  }
  .lb-card-pill{
    font-size:12px;
  }
  .lb-card-copy p,
  .lb-addon-head p,
  .lb-ai-box p,
  .lb-ops-box p,
  .lb-summary-note,
  .lb-success-box p{
    font-size:14px;
    line-height:1.45;
  }
  .lb-addon-block{
    padding-top:14px;
    margin-top:14px;
  }
  .lb-check{
    gap:8px;
  }
  .lb-success-box h2{
    font-size:28px;
  }
  .lb-total-row,
  .lb-grand-total{
    font-size:inherit;
  }
  .lb-grand-total strong{
    font-size:20px;
  }
}


/* Mobile hotfix: force the lead form into a single clean column */
@media (max-width: 768px){
  .lb-builder-wrap .lb-grid,
  .lb-builder-wrap .lb-grid-2,
  .lb-builder-wrap .lb-grid-4,
  .lb-builder-wrap .lb-grid-5,
  .lb-builder-wrap .lb-option-grid,
  .lb-builder-wrap .lb-product-cards,
  .lb-builder-wrap .lb-addon-media{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }

  .lb-builder-wrap .lb-field,
  .lb-builder-wrap .lb-panel,
  .lb-builder-wrap .lb-summary-card,
  .lb-builder-wrap .lb-ai-box,
  .lb-builder-wrap .lb-ops-box{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  .lb-builder-wrap .lb-field label{
    display:block !important;
    width:auto !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.35 !important;
  }

  .lb-builder-wrap .lb-field input,
  .lb-builder-wrap .lb-field select,
  .lb-builder-wrap .lb-field textarea{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .lb-builder-wrap .lb-hero{
    margin-top:0 !important;
  }

  .lb-builder-wrap{
    overflow-x:hidden !important;
  }
}
