/* Meister Carbon Cleaners — Quote & Booking V7.1
   Visual override only. Existing quote, booking, pricing and CRM logic stays in quote.php.
*/
html,body.quote-page,body.quote-page{
  background:#f7f8fa!important;
  color:#171b22!important;
  font-family:Inter,Arial,sans-serif!important;
}
.quote-page a{color:inherit}
.quote-page .site-header a{text-decoration:none}

.quote-page .site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e7e9ee;
  backdrop-filter:blur(16px);
}
.quote-page .site-header .brand img{width:210px}
.quote-page .site-header .main-nav a{color:#343a43}
.quote-page .site-header .main-nav a:hover{color:#e30613}
.quote-page .site-header .nav-dropdown{background:#fff;border:1px solid #e7e9ee}
.quote-page .site-header .nav-dropdown a:hover{background:#f7f8fa}
.quote-page .site-header .btn-red{
  background:#e30613!important;border-color:#e30613!important;color:#fff!important;font-weight:800;
}
.quote-header-active{box-shadow:0 8px 20px rgba(227,6,19,.18)!important}

.quote-page .hero{display:none!important}

.quote-hero{
  padding:58px 0 44px;
  background:
    radial-gradient(circle at 90% 15%,rgba(227,6,19,.08),transparent 28%),
    linear-gradient(145deg,#fff 0%,#f8f9fb 100%);
  border-bottom:1px solid #e7e9ee;
}
.quote-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:center}
.quote-hero h1{
  font-family:Inter,Arial,sans-serif!important;
  margin:13px 0 12px;color:#171b22;
  font-size:clamp(2.8rem,5vw,4.5rem);line-height:.98;letter-spacing:-.055em;text-transform:none;
}
.quote-hero h1 em{font-style:normal;color:#e30613}
.quote-hero p{margin:0;color:#626b78;max-width:660px;font-size:1.02rem;line-height:1.65}
.quote-help-card{
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
  padding:22px;background:#fff;border:1px solid #e7e9ee;border-radius:18px;
  box-shadow:0 10px 30px rgba(20,24,32,.06);
}
.quote-help-card b{display:block;font-size:.95rem;margin-bottom:4px}
.quote-help-card span{display:block;color:#626b78;font-size:.82rem;line-height:1.5}
.quote-help-card a{
  display:inline-flex;align-items:center;gap:7px;margin-top:10px;
  color:#e30613;font-size:.82rem;font-weight:800;text-decoration:none;
}
.quote-help-card .round-icon{width:46px;height:46px;background:#effcf4;color:#20b65a}

.quote-progress{background:#fff;border-bottom:1px solid #e7e9ee}
.quote-progress-inner{
  min-height:82px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px;
}
.quote-step{display:flex;align-items:center;gap:12px;justify-content:center}
.quote-step>span{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#fff1f2;color:#e30613;font-weight:900;
}
.quote-step b{display:block;font-size:.84rem}
.quote-step small{display:block;color:#7a838f;font-size:.68rem;margin-top:1px}
.quote-progress-inner>i{font-size:.7rem;color:#c2c7ce}

.quote-workspace{padding:42px 0 72px;background:#f7f8fa}
.quote-page .grid{display:grid;gap:20px}
.quote-page .two{grid-template-columns:minmax(0,1.38fr) minmax(340px,.85fr)}
.quote-page .stack{display:grid;gap:20px;align-content:start}

.quote-page .quote-workspace .card{
  background:#fff!important;color:#171b22!important;
  border:1px solid #e4e7ec!important;border-radius:20px!important;
  padding:26px!important;box-shadow:0 12px 34px rgba(20,24,32,.06)!important;
}
.quote-page .quote-workspace .card h3{
  margin:0 0 7px;color:#171b22;font-size:1.2rem;letter-spacing:-.015em;
}
.card-step-label{
  display:inline-flex;margin-bottom:8px;padding:5px 8px;border-radius:999px;
  background:#fff1f2;color:#e30613;font-size:.66rem;font-weight:900;letter-spacing:.07em;
}
.quote-section-title{margin:22px 0 10px;padding-top:18px;border-top:1px solid #edf0f3}
.quote-section-title span{
  display:block;color:#e30613;font-size:.66rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px;
}
.quote-section-title h3{margin:0!important}

.quote-page .muted{color:#66717e!important}
.quote-page .tiny{font-size:.78rem}
.quote-page .note-red{color:#c73743}
.quote-page .required-mark{color:#e30613}

.quote-page .field{gap:6px}
.quote-page .field label{color:#3b424c!important;font-size:.78rem!important;font-weight:700}
.quote-page .input,.quote-page select,.quote-page textarea{
  min-height:46px;background:#fff!important;border:1px solid #dfe3e8!important;
  border-radius:10px!important;color:#171b22!important;padding:11px 12px!important;box-shadow:none!important;
}
.quote-page textarea{min-height:90px;resize:vertical}
.quote-page .input::placeholder,.quote-page textarea::placeholder{color:#9aa2ad}
.quote-page .input:focus,.quote-page select:focus,.quote-page textarea:focus{
  outline:none!important;border-color:#e30613!important;box-shadow:0 0 0 3px rgba(227,6,19,.09)!important;
}
.quote-page select option{background:#fff;color:#171b22}

.quote-page .chip{
  background:#f8f9fb!important;border:1px solid #e3e7ec!important;color:#303741!important;border-radius:10px;
}
.quote-page .subpanel{background:#f8f9fb!important;border:1px solid #e5e8ed!important}
.quote-page .pill{background:#fff1f2!important;border:1px solid #ffd4d8!important;color:#b80412!important}

.quote-page .quote-workspace .btn{
  min-height:46px;border-radius:10px!important;border:1px solid #dfe3e8!important;
  background:#fff!important;color:#2c333d!important;font-weight:800;
}
.quote-page .quote-workspace .btn:hover{background:#f8f9fb!important}
.quote-page #calcBtn,.quote-page .quote-workspace .btn-primary{
  background:#e30613!important;border-color:#e30613!important;color:#fff!important;
  box-shadow:0 9px 20px rgba(227,6,19,.18)!important;
}
.quote-page #calcBtn:hover,.quote-page .quote-workspace .btn-primary:hover{
  background:#c80511!important;border-color:#c80511!important;
}
.quote-page .btn-disabled{opacity:.45!important;pointer-events:none!important}

.quote-page .alert{border-radius:12px;font-size:.8rem;line-height:1.5}
.quote-page .alert-success{
  background:#f0faf4!important;border:1px solid #cfeeda!important;color:#177b43!important;
}
.quote-page .alert-danger{
  background:#fff3f3!important;border:1px solid #f3caca!important;color:#b52935!important;
}
.quote-page .quote-instructions{
  background:#f8f9fb!important;border:1px solid #e3e7ec!important;color:#3b424c!important;font-weight:700;
}

.quote-page .breakdown li{border-bottom:1px dashed #d9dde3!important;color:#343b45}
.quote-page .total{color:#171b22;font-size:1.35rem;letter-spacing:-.02em}
#totalWrap{margin-top:18px!important;padding-top:18px;border-top:1px solid #edf0f3}

.quote-page .mcc-booking-choice-card{
  background:#f8f9fb!important;border:1px solid #e1e5ea!important;
  color:#171b22!important;border-radius:12px!important;
}
.quote-page .mcc-booking-choice-card strong{color:#171b22!important}
.quote-page .mcc-booking-choice-card span{color:#66717e!important}
.quote-page .mcc-booking-choice input:checked + .mcc-booking-choice-card{
  border-color:#e30613!important;background:#fff5f6!important;
  box-shadow:0 0 0 3px rgba(227,6,19,.08)!important;
}

.quote-page .calc-bg::before{display:none!important}
.quote-page input.mcc-popia-missing{
  outline:2px solid #e30613!important;box-shadow:0 0 0 3px rgba(227,6,19,.10)!important;
}
.quote-page .site-footer{margin-top:0}
.quote-page .footer-col>a{color:#c7ccd4}
.quote-page .mobile-cta{display:none!important}

@media(max-width:980px){
  .quote-page .two{grid-template-columns:1fr}
  .quote-hero-grid{grid-template-columns:1fr}
  .quote-progress-inner{grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px 0}
  .quote-progress-inner>i{display:none}
  .quote-step{justify-content:flex-start}
  .quote-step small{display:none}
}
@media(max-width:860px){
  .quote-page{padding-bottom:0!important}
  .quote-page .site-header .brand img{width:175px}
  .quote-hero{padding:44px 0 34px}
  .quote-hero h1{font-size:clamp(2.55rem,11vw,4rem)}
  .quote-help-card{display:none}
  .quote-workspace{padding:28px 0 54px}
  .quote-page .quote-workspace .card{padding:20px!important}
}
@media(max-width:640px){
  .quote-progress-inner{grid-template-columns:1fr}
  .quote-step{padding:4px 0}
  .quote-step:nth-of-type(n+2){border-top:1px solid #edf0f3;padding-top:10px}
  .quote-page .row{gap:10px}
  .quote-page .field{min-width:100%;flex:1 1 100%}
  .quote-page .quote-workspace .card{border-radius:16px!important}
  .quote-page .mcc-booking-options{grid-template-columns:1fr!important}
  #bookBtn,#calcBtn{width:100%;min-width:0!important}
}
