/* =========================
   estimator.css — Premium Estimator Styles
   Scoped to .estimator-page and #cost-estimator
   Load this LAST in <head> to override other CSS
   ========================= */

/* Theme variables */
:root{
  --brand-1: #2f8f57;
  --brand-2: #74c08f;
  --brand-3: #1f8f60;
  --muted: #6f7578;
  --bg-1: linear-gradient(180deg,#fbfcfb 0%,#f3faf3 100%);
  --card-bg: #ffffff;
  --glass: rgba(255,255,255,0.72);
  --radius-lg: 20px;
  --radius-sm: 10px;
  --shadow-lg: 0 28px 60px rgba(16,24,30,0.08);
  --shadow-sm: 0 10px 30px rgba(16,24,30,0.06);
  --pill-border: rgba(20,20,20,0.06);
  --accent-weak: #f6faf6;
  --focus-ring: 0 0 0 4px rgba(47,143,87,0.12);
  --max-w: 1120px;
  --ui: 18px;
  --trans-fast: 160ms cubic-bezier(.2,.9,.2,1);
  --trans-base: 260ms cubic-bezier(.2,.9,.2,1);
  --font-sans: "Roboto", "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --currency-symbol: "₹";
}

/* Base scope */
.estimator-page #cost-estimator,
.estimator-page #cost-estimator * { box-sizing: border-box; font-family: var(--font-sans); -webkit-font-smoothing:antialiased; }

/* Page background for estimator pages */
.estimator-page {
  background: var(--bg-1);
  color: #222;
  -webkit-font-smoothing:antialiased;
}

/* Navbar color lock (strong override) */
.estimator-page #menu .navbar-brand,
.estimator-page #menu .navbar-nav > li > a,
.estimator-page #menu .navbar-nav > li > a:link,
.estimator-page #menu .navbar-nav > li > a:visited,
.estimator-page #menu .navbar-nav > li.active > a {
  color: var(--brand-1) !important;
  opacity: 1 !important;
  font-weight:700;
  letter-spacing:0.2px;
}

/* Container & main card */
#cost-estimator.container { max-width: var(--max-w); margin: 72px auto 96px; padding: 0 20px; }
#cost-estimator .card {
  background: var(--card-bg);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  border: none;
  overflow: visible;
}

/* Card header polished */
#cost-estimator .card-header{
  background: linear-gradient(90deg,var(--brand-2) 0%, var(--brand-3) 100%);
  color: #fff;
  padding: 28px 36px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
#cost-estimator .card-header h5 { margin:0; font-size:1.15rem; font-weight:800; letter-spacing:0.2px; }
#cost-estimator .card-header small { display:block; opacity:.95; margin-top:6px; font-weight:500; font-size:.92rem; }

/* Layout: two-column responsive */
#cost-estimator .card-body{ padding:34px; display:flex; gap:28px; align-items:flex-start; flex-wrap:wrap; }
#cost-estimator .col-lg-7{ flex:1 1 640px; min-width:300px; padding-right:22px; }
#cost-estimator aside.col-lg-5{ flex:0 0 360px; max-width:360px; min-width:260px; }

/* Labels & inputs (refined) */
#cost-estimator .form-label{ display:block; margin-bottom:10px; font-weight:700; color:#3b3b3b; font-size:.95rem; }
#cost-estimator .form-control,
#cost-estimator .form-select{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #e9ecef;
  background:#fff;
  font-size:.96rem;
  height:44px;
  transition: box-shadow var(--trans-base), border-color var(--trans-base), transform var(--trans-fast);
}
#cost-estimator .form-control:focus,
#cost-estimator .form-select:focus{
  outline:none;
  box-shadow: var(--focus-ring);
  border-color: rgba(47,143,87,0.85);
  transform: translateY(-1px);
}

/* Area inputs two-up */
.col-xs-6{ width:50%; display:inline-block; padding-right:8px; }
.col-xs-6:last-child{ padding-right:0; }

/* Pills (option-pill & pill) — modern chips */
#cost-estimator .pill-group{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; margin-top:8px; }
#cost-estimator .option-pill,
#cost-estimator .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid var(--pill-border);
  background: linear-gradient(180deg,#fff 0%, #fbfbfb 100%);
  color:#2e2e2e;
  font-weight:700;
  cursor:pointer;
  transition: transform var(--trans-fast), box-shadow var(--trans-fast), background var(--trans-fast), color var(--trans-fast);
  min-height:44px;
  user-select:none;
}
#cost-estimator .option-pill:hover,
#cost-estimator .pill:hover{ transform: translateY(-4px); box-shadow: var(--shadow-sm); }
#cost-estimator .option-pill.active,
#cost-estimator .pill.active{
  background: linear-gradient(90deg,var(--brand-2),var(--brand-3));
  color: #fff !important;
  border-color: transparent;
  box-shadow: 0 18px 40px rgba(31,143,96,0.12);
  transform: translateY(-6px);
}

/* Hidden checkboxes but keyboard accessible (moved offscreen) */
#cost-estimator input[type="checkbox"]{ position:absolute; left:-9999px; }

/* Extras layout */
#cost-estimator .extras-and-style{ display:flex; gap:18px; flex-wrap:wrap; align-items:flex-start; }
#cost-estimator .pill-column{ display:flex; flex-direction:column; gap:12px; }

/* Summary panel */
#cost-estimator .bg-light{
  background: linear-gradient(180deg,#fbfbfb,#ffffff);
  border-radius:12px;
  padding:22px;
  border:1px solid #f0f2f0;
  box-shadow: 0 10px 30px rgba(34,34,34,0.03);
}
#cost-estimator .bg-light strong{ display:block; font-size:1rem; margin-bottom:8px; }
#cost-estimator .small{ font-size:.88rem; color:var(--muted); }

/* Price numbers */
#cost-estimator #ce-base,
#cost-estimator #ce-extras,
#cost-estimator #ce-total{ font-weight:900; color:var(--brand-1); font-size:1.02rem; }
#cost-estimator #ce-total{ font-size:1.16rem; }

/* Buttons */
#cost-estimator .btn-success{
  background: linear-gradient(90deg,var(--brand-2),var(--brand-3));
  border:0;
  padding:12px 20px;
  border-radius:12px;
  font-weight:800;
  box-shadow: 0 12px 30px rgba(31,143,96,0.12);
  transition: transform var(--trans-fast), box-shadow var(--trans-fast);
}
#cost-estimator .btn-success:active{ transform: translateY(1px) scale(.998); }
#cost-estimator .btn-default{
  background:#fff;
  border:1px solid #e6e8ea;
  border-radius:10px;
  padding:8px 12px;
}

/* Calc area */
#cost-estimator .calc-area{ display:flex; justify-content:flex-start; margin-top:12px; gap:12px; align-items:center; }

/* Footer note */
#cost-estimator .card-footer{ background:transparent; color:#6b6b6b; font-size:.88rem; }

/* Responsive */
@media (max-width:991px){
  #cost-estimator .card-body{ flex-direction:column; padding:22px; }
  #cost-estimator .col-lg-7, #cost-estimator aside.col-lg-5{ max-width:100%; flex-basis:100%; }
  #cost-estimator aside.col-lg-5{ margin-top:12px; order:2; }
  #cost-estimator .col-lg-7{ order:1; padding-right:0; }
  #cost-estimator .option-pill, #cost-estimator .pill{ padding:10px 12px; min-height:40px; font-size:.92rem; }
}

/* Tiny screens */
@media (max-width:480px){
  .col-xs-6{ width:100%; display:block; margin-bottom:8px; }
  #cost-estimator .card{ margin:12px; }
}

/* Accessibility: focus outlines for keyboard navigation */
#cost-estimator .option-pill:focus,
#cost-estimator .pill:focus{ outline:none; box-shadow: var(--focus-ring); transform: translateY(-3px); }

/* Misc helpers */
#cost-estimator .header-hint{ color:var(--muted); font-size:.9rem; }
#cost-estimator .divider{ height:1px; background:#f0f2f0; margin:12px 0; border-radius:1px; }

/* Force currency clarity */
#cost-estimator #ce-currency{ font-weight:800; font-size:.98rem; color:#fff; }

/* End of estimator.css */
