/* Land Cost Per Acre Calculator — scoped styles.
   Every selector is namespaced under #lcpac-widget and every class is
   prefixed with lcpac- so this never collides with theme or plugin CSS. */

#lcpac-widget{
  --lcpac-bg: #F6EFE1;
  --lcpac-panel: #FFFDF8;
  --lcpac-panel-line: #E4D4B8;
  --lcpac-ink: #362619;
  --lcpac-ink-soft: #6E5C49;
  --lcpac-olive: #5C6B3F;
  --lcpac-olive-dark: #445030;
  --lcpac-gold: #B4863F;
  --lcpac-terracotta: #A15A3E;
  --lcpac-terracotta-soft: #F0DCC9;
  --lcpac-rural: #7C8F55;
  --lcpac-suburban: #C79A48;
  --lcpac-urban: #A15A3E;
  --lcpac-shadow: 0 1px 2px rgba(54,38,25,0.06), 0 8px 24px -8px rgba(54,38,25,0.12);
  --lcpac-radius: 14px;

  background: var(--lcpac-bg);
  background-image: radial-gradient(circle at 1px 1px, rgba(54,38,25,0.05) 1px, transparent 0);
  background-size: 22px 22px;
  color: var(--lcpac-ink);
  font-family: 'Inter', sans-serif;
  line-height: 1.5;
  padding: 32px 20px 60px;
  box-sizing: border-box;
}
#lcpac-widget *{ box-sizing: border-box; }
#lcpac-widget h1, #lcpac-widget h2{ padding:0; }

#lcpac-widget .lcpac-wrap{ max-width: 1080px; margin: 0 auto; }

/* ---------- Header ---------- */
#lcpac-widget .lcpac-eyebrow{
  display:flex; align-items:center; gap:8px;
  font-size: 12.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--lcpac-olive-dark); margin-bottom: 14px;
}
#lcpac-widget .lcpac-eyebrow svg{ width:16px; height:16px; }
#lcpac-widget .lcpac-eyebrow .lcpac-divider{ width:1px; height:12px; background: var(--lcpac-ink-soft); opacity:0.3; }
#lcpac-widget .lcpac-eyebrow .lcpac-free{ color: var(--lcpac-ink-soft); font-weight:500; text-transform:none; letter-spacing:normal; }

#lcpac-widget .lcpac-header h1{
  font-family: 'Fraunces', serif;
  font-weight: 600;
  font-size: clamp(30px, 4.6vw, 46px);
  line-height: 1.08;
  margin: 0 0 10px;
  color: var(--lcpac-ink);
}
#lcpac-widget .lcpac-header h1 em{ font-style: italic; color: var(--lcpac-olive-dark); }
#lcpac-widget .lcpac-header p.lcpac-sub{
  color: var(--lcpac-ink-soft);
  font-size: 16.5px;
  max-width: 620px;
  margin: 0 0 28px;
}

/* ---------- Layout ---------- */
#lcpac-widget .lcpac-grid{ display:grid; grid-template-columns: 1fr 1.05fr; gap: 22px; }
@media (max-width: 860px){
  #lcpac-widget .lcpac-grid{ grid-template-columns: 1fr; }
}

#lcpac-widget .lcpac-card{
  background: var(--lcpac-panel);
  border: 1px solid var(--lcpac-panel-line);
  border-radius: var(--lcpac-radius);
  box-shadow: var(--lcpac-shadow);
  padding: 26px 26px 28px;
}
#lcpac-widget .lcpac-card h2{
  font-family: 'Fraunces', serif; font-size: 19px; font-weight: 600; margin: 0 0 4px;
  display:flex; align-items:center; gap:8px;
}
#lcpac-widget .lcpac-card .lcpac-hint{ color: var(--lcpac-ink-soft); font-size: 13.5px; margin: 0 0 20px; }

/* ---------- Form fields ---------- */
#lcpac-widget label.lcpac-field-label{
  display:block; font-size: 12.5px; font-weight:600; letter-spacing:0.03em;
  text-transform: uppercase; color: var(--lcpac-ink-soft); margin-bottom: 8px;
}
#lcpac-widget .lcpac-field{ margin-bottom: 22px; }

#lcpac-widget select, #lcpac-widget input[type="number"]{
  width:100%;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  padding: 11px 14px;
  border: 1.5px solid var(--lcpac-panel-line);
  border-radius: 9px;
  background: #FFFEFB;
  color: var(--lcpac-ink);
  outline: none;
  transition: border-color .15s ease;
}
#lcpac-widget select:focus, #lcpac-widget input[type="number"]:focus{ border-color: var(--lcpac-olive); }

#lcpac-widget .lcpac-acre-input-row{ position:relative; }
#lcpac-widget .lcpac-acre-input-row input{ padding-right: 52px; }
#lcpac-widget .lcpac-acre-input-row .lcpac-suffix{
  position:absolute; right:14px; top:50%; transform: translateY(-50%);
  color: var(--lcpac-ink-soft); font-size: 14px; font-weight:500; pointer-events:none;
}

#lcpac-widget .lcpac-land-types{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
#lcpac-widget .lcpac-land-type-card{
  border: 1.5px solid var(--lcpac-panel-line);
  border-radius: 10px;
  padding: 12px 10px;
  text-align:center;
  cursor:pointer;
  background:#FFFEFB;
  transition: all .15s ease;
}
#lcpac-widget .lcpac-land-type-card:hover{ border-color: var(--lcpac-olive); }
#lcpac-widget .lcpac-land-type-card.lcpac-active{ border-color: var(--lcpac-olive); background: #F1F4E8; }
#lcpac-widget .lcpac-land-type-card .lcpac-dot{ width:9px; height:9px; border-radius:50%; margin: 0 auto 8px; }
#lcpac-widget .lcpac-land-type-card .lcpac-name{ font-size: 13px; font-weight: 600; }
#lcpac-widget .lcpac-land-type-card .lcpac-desc{ font-size: 11px; color: var(--lcpac-ink-soft); margin-top:2px; }

#lcpac-widget .lcpac-modifiers{ display:flex; flex-direction:column; gap:10px; }
#lcpac-widget .lcpac-modifier{
  display:flex; align-items:flex-start; gap:10px;
  border: 1.5px solid var(--lcpac-panel-line);
  border-radius: 10px;
  padding: 12px 13px;
  cursor:pointer;
  background:#FFFEFB;
  transition: border-color .15s ease, background .15s ease;
}
#lcpac-widget .lcpac-modifier:hover{ border-color: var(--lcpac-gold); }
#lcpac-widget .lcpac-modifier.lcpac-on{ border-color: var(--lcpac-gold); background: #FBF3E4; }
#lcpac-widget .lcpac-modifier input{ margin-top:2px; accent-color: var(--lcpac-gold); width:16px; height:16px; flex-shrink:0; }
#lcpac-widget .lcpac-modifier .lcpac-m-title{ font-size: 14px; font-weight:600; }
#lcpac-widget .lcpac-modifier .lcpac-m-desc{ font-size: 12.5px; color: var(--lcpac-ink-soft); margin-top:1px; }
#lcpac-widget .lcpac-modifier .lcpac-m-pct{ margin-left:auto; font-family:'JetBrains Mono',monospace; font-size:12.5px; color: var(--lcpac-gold); font-weight:600; white-space:nowrap; padding-left:8px; }

/* ---------- Results panel ---------- */
#lcpac-widget .lcpac-result-hero{
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  border-bottom: 1px dashed var(--lcpac-panel-line);
  padding-bottom: 20px; margin-bottom: 18px;
}
#lcpac-widget .lcpac-result-hero .lcpac-label{ font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; color: var(--lcpac-ink-soft); margin-bottom:6px;}
#lcpac-widget .lcpac-result-hero .lcpac-big{ font-family:'Fraunces', serif; font-weight:600; font-size: 44px; color: var(--lcpac-olive-dark); line-height:1; }
#lcpac-widget .lcpac-result-hero .lcpac-big span{ font-size: 20px; color: var(--lcpac-ink-soft); font-weight:500; font-family:'Inter',sans-serif;}
#lcpac-widget .lcpac-result-hero .lcpac-range{ font-size: 13px; color: var(--lcpac-ink-soft); margin-top:6px; font-family:'JetBrains Mono',monospace;}
#lcpac-widget .lcpac-result-hero .lcpac-total-box{ text-align:right; }
#lcpac-widget .lcpac-result-hero .lcpac-total-box .lcpac-label{ text-align:right; }
#lcpac-widget .lcpac-result-hero .lcpac-total{ font-family:'Fraunces',serif; font-weight:600; font-size: 26px; color: var(--lcpac-terracotta);}

#lcpac-widget .lcpac-bars{ margin: 6px 0 22px; }
#lcpac-widget .lcpac-bar-row{ display:grid; grid-template-columns: 108px 1fr 92px; align-items:center; gap:10px; margin-bottom:10px; }
#lcpac-widget .lcpac-bar-row .lcpac-b-label{ font-size: 13px; font-weight:600; }
#lcpac-widget .lcpac-bar-row .lcpac-b-track{ height: 12px; background:#EFE7D6; border-radius: 20px; overflow:hidden; }
#lcpac-widget .lcpac-bar-row .lcpac-b-fill{ height:100%; border-radius:20px; transition: width .5s cubic-bezier(.2,.8,.2,1); }
#lcpac-widget .lcpac-bar-row .lcpac-b-value{ font-family:'JetBrains Mono',monospace; font-size:12.5px; text-align:right; color: var(--lcpac-ink-soft); }
#lcpac-widget .lcpac-bar-row.lcpac-selected .lcpac-b-label{ color: var(--lcpac-ink); }
#lcpac-widget .lcpac-bar-row.lcpac-selected .lcpac-b-value{ color: var(--lcpac-ink); font-weight:600; }

#lcpac-widget .lcpac-field-viz{
  background: #F1F4E8;
  border: 1px solid #DDE5C6;
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 20px;
}
#lcpac-widget .lcpac-field-viz .lcpac-fv-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
#lcpac-widget .lcpac-field-viz .lcpac-fv-title{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; color: var(--lcpac-olive-dark); }
#lcpac-widget .lcpac-field-viz .lcpac-fv-value{ font-family:'Fraunces',serif; font-weight:600; font-size:15px; color: var(--lcpac-olive-dark); }
#lcpac-widget .lcpac-fv-grid{ display:flex; flex-wrap:wrap; gap:4px; }
#lcpac-widget .lcpac-fv-grid .lcpac-fv-cell{ width:14px; height:9px; background: var(--lcpac-olive); border-radius:2px; opacity:0.85; }
#lcpac-widget .lcpac-fv-grid .lcpac-fv-cell.lcpac-partial{ opacity:0.4; }
#lcpac-widget .lcpac-field-viz .lcpac-fv-caption{ font-size:12px; color: var(--lcpac-ink-soft); margin-top:8px; }

#lcpac-widget .lcpac-cta-row{ display:flex; gap:10px; }
#lcpac-widget .lcpac-btn{
  border:none; cursor:pointer; font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px;
  padding: 13px 18px; border-radius: 9px; display:flex; align-items:center; justify-content:center; gap:8px;
  transition: transform .1s ease, opacity .15s ease;
}
#lcpac-widget .lcpac-btn:active{ transform: scale(0.98); }
#lcpac-widget .lcpac-btn-primary{ background: var(--lcpac-olive-dark); color:#FBF7EE; flex:1.4; }
#lcpac-widget .lcpac-btn-primary:hover{ background:#374022; }
#lcpac-widget .lcpac-btn-secondary{ background: transparent; color: var(--lcpac-ink); border: 1.5px solid var(--lcpac-panel-line); flex:1; }
#lcpac-widget .lcpac-btn-secondary:hover{ border-color: var(--lcpac-gold); }
#lcpac-widget .lcpac-btn svg{ width:16px; height:16px; }

#lcpac-widget .lcpac-disclaimer{
  font-size: 11.5px; color: var(--lcpac-ink-soft); margin-top: 16px; line-height:1.55;
  border-top: 1px solid var(--lcpac-panel-line); padding-top:14px;
}
#lcpac-widget .lcpac-disclaimer a{ color: var(--lcpac-olive-dark); }

#lcpac-widget .lcpac-footer{ text-align:center; margin-top: 34px; font-size: 12.5px; color: var(--lcpac-ink-soft); }

@media (max-width: 520px){
  #lcpac-widget .lcpac-land-types{ grid-template-columns: 1fr; }
  #lcpac-widget .lcpac-result-hero{ flex-direction:column; align-items:flex-start; gap:14px; }
  #lcpac-widget .lcpac-result-hero .lcpac-total-box{ text-align:left; }
  #lcpac-widget .lcpac-result-hero .lcpac-total-box .lcpac-label{ text-align:left; }
  #lcpac-widget .lcpac-bar-row{ grid-template-columns: 84px 1fr 70px; gap:8px; }
  #lcpac-widget .lcpac-bar-row .lcpac-b-value{ font-size:11.5px; }
}

@media (max-width: 420px){
  #lcpac-widget{ padding: 22px 14px 48px; }
  #lcpac-widget .lcpac-card{ padding: 20px 18px 22px; }
  #lcpac-widget .lcpac-result-hero .lcpac-big{ font-size: 36px; }
  #lcpac-widget .lcpac-result-hero .lcpac-total{ font-size: 22px; }
  #lcpac-widget .lcpac-cta-row{ flex-direction: column; }
  #lcpac-widget .lcpac-btn{ width: 100%; }
  #lcpac-widget .lcpac-land-type-card{ padding: 10px 8px; }
}
