/* =========================================================
   Oak & Axis Realty — Home Valuation UI
   Loaded via plugin enqueue (theme-safe)
========================================================= */

.hv-page{font-family:inherit}
.hv-page *{box-sizing:border-box}
.hv-page a{color:inherit}

/* 
  Fix: stray “+” marks
  These typically come from admin-only editor overlays (page builder / block inserter) or a theme pattern.
  We hide common overlay elements for logged-in admins so the front-end preview looks clean.
*/
body.logged-in .hv-page .elementor-add-section,
body.logged-in .hv-page .elementor-add-new-section,
body.logged-in .hv-page .elementor-add-section-inner,
body.logged-in .hv-page .block-editor-inserter,
body.logged-in .hv-page .block-editor-button-block-appender,
body.logged-in .hv-page .block-editor-rich-text__editable{
  display:none !important;
}

/* Remove any background “pattern” overlays inside this page */
.hv-page,
.hv-page .hv-section,
.hv-page .hv-card,
.hv-page .hv-step-card,
.hv-page .hv-faq__item{
  background-image:none !important;
}

.hv-hero{position:relative;padding:66px 0;overflow:hidden;background:#0a3d1f;color:#fff}
.hv-hero__overlay{position:absolute;inset:0;background:radial-gradient(1200px 520px at 18% 18%, rgba(255,255,255,.14), transparent 60%),radial-gradient(900px 420px at 82% 42%, rgba(255,255,255,.10), transparent 55%),linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.02));pointer-events:none}
.hv-hero__inner{position:relative}
.hv-hero__eyebrow{margin:0 0 10px;letter-spacing:.16em;text-transform:uppercase;font-size:12.5px;opacity:.92;font-weight:900}
.hv-hero h1{margin:0;font-size:40px;line-height:1.08;font-weight:900;max-width:980px}
.hv-hero__sub{margin:14px 0 0;font-size:16px;line-height:1.65;opacity:.94;max-width:900px}

.hv-section{padding:46px 0}
.hv-section--cma{background:#fff}
.hv-section--steps{background:#fafafa}
.hv-section--faq{background:#fff}
.hv-section--cta{background:#0a3d1f;color:#fff}

.hv-section__header h2{margin:0;font-weight:900;line-height:1.15;font-size:28px}

.hv-cma__intro h2{margin:0;font-weight:900;font-size:28px;line-height:1.15}
.hv-cma__intro p{margin:10px 0 0;max-width:820px;opacity:.88;line-height:1.65}
.hv-cma__grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hv-cma-card{border:1px solid #eee;border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.05)}
.hv-cma-card h3{margin:0;font-size:16px;font-weight:900}
.hv-cma-card p{margin:8px 0 0;opacity:.82;line-height:1.6}

.hv-avmLux{background:linear-gradient(180deg,#fafafa,#ffffff);border-top:1px solid #eee;border-bottom:1px solid #eee}
.hv-avmLux__header{max-width:980px;margin:0 auto;text-align:left}
.hv-avmLux__eyebrow{margin:0 0 10px;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:900;color:#0a3d1f;opacity:.92}
.hv-avmLux__h2{margin:0;font-size:32px;line-height:1.12;font-weight:900;max-width:980px}
.hv-avmLux__sub{margin:12px 0 0;opacity:.82;line-height:1.7;max-width:900px;font-size:15px}
.hv-avmLux__noteRow{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
.hv-avmLux__note{flex:1 1 420px;border:1px solid #e8e8e8;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 10px 26px rgba(0,0,0,.05);line-height:1.6;font-size:14px}
.hv-avmLux__note strong{color:#0a3d1f}
.hv-avmLux__stack{margin-top:18px;display:grid;grid-template-columns:1fr;gap:14px}

.hv-card{border:1px solid #eee;border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(0,0,0,.06);padding:22px}
.hv-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.hv-card__title{margin:0;font-size:18px;font-weight:900;letter-spacing:-.01em}
.hv-card__mini{margin:6px 0 0;font-size:13px;opacity:.76;line-height:1.5;max-width:720px}
.hv-card__accent{display:inline-flex;gap:8px;align-items:center;border:1px solid #e7e7e7;background:#fafafa;border-radius:999px;padding:8px 12px;font-size:12.5px;opacity:.86;white-space:nowrap}
.hv-dot{width:8px;height:8px;border-radius:999px;background:#0a3d1f;display:inline-block}

.pavm-grid{display:grid;grid-template-columns:2fr 1fr minmax(260px,1.25fr);gap:12px}
.pavm-full{grid-column:1 / -1}
.pavm-field label{display:block;font-size:12px;opacity:.78;margin-bottom:6px}
.pavm-input,.pavm-select{width:100%;min-width:0;padding:13px 14px;border:1px solid #ddd;border-radius:16px;background:#fff;outline:none;transition:box-shadow .15s ease,border-color .15s ease;color:#111}
.pavm-select{min-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pavm-input:focus,.pavm-select:focus{border-color:#0a3d1f;box-shadow:0 0 0 4px rgba(10,61,31,.10)}
.pavm-divider{height:1px;background:#eee;margin:18px 0}
.pavm-split{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.pavm-panel{border:1px solid #eee;border-radius:18px;background:#fff;padding:14px}
.pavm-panel__title{margin:0 0 10px;font-size:14px;font-weight:900}
.pavm-toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pavm-toggle{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.92}

.pavm-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pavm-slider{border:1px solid #eee;border-radius:16px;background:#fff;padding:12px}
.pavm-sliderTop{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.pavm-pill{font-size:12px;background:#111;color:#fff;border-radius:999px;padding:3px 10px;opacity:.92}
.pavm-hint{font-size:12px;opacity:.72;margin-top:6px}

/* Ensure range sliders render/behave consistently */
#pavmCond,#pavmUpd{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:#e9e9e9;outline:none}
#pavmCond::-webkit-slider-thumb,#pavmUpd::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:999px;background:#0a3d1f;cursor:pointer;border:2px solid #fff;box-shadow:0 6px 14px rgba(0,0,0,.18)}
#pavmCond::-moz-range-thumb,#pavmUpd::-moz-range-thumb{width:18px;height:18px;border-radius:999px;background:#0a3d1f;cursor:pointer;border:2px solid #fff;box-shadow:0 6px 14px rgba(0,0,0,.18)}

.pavm-btn{width:100%;margin-top:18px;padding:14px 14px;border-radius:18px;border:1px solid #0a3d1f;background:#0a3d1f;color:#fff !important;font-weight:900;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease}
.pavm-btn:hover{box-shadow:0 14px 30px rgba(10,61,31,.18);color:#fff !important}

.pavm-result{margin-top:14px}
.pavm-skeleton{border:1px solid #eee;border-radius:18px;padding:14px;background:#fff;opacity:.9}
.pavm-output{border:1px solid #e7e7e7;border-radius:20px;background:linear-gradient(180deg,#ffffff,#fbfbfb);padding:16px}
.pavm-output__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.pavm-badges{display:flex;gap:8px;flex-wrap:wrap}
.pavm-badge{border:1px solid #e8e8e8;background:#fff;border-radius:999px;padding:8px 12px;font-size:12.5px;opacity:.88;display:inline-flex;gap:8px;align-items:center;color:#111}
.pavm-badge--green{border-color:rgba(10,61,31,.25);background:rgba(10,61,31,.06)}
.pavm-range{margin-top:10px;font-size:34px;line-height:1.1;font-weight:950;letter-spacing:-.02em;color:#111}
.pavm-mid{margin-top:6px;font-size:14px;opacity:.82;line-height:1.5;color:#111}
.pavm-disclaimer{margin-top:10px;font-size:12.5px;opacity:.72;line-height:1.55;color:#111}
.pavm-err{background:#fff3f3;border:1px solid #ffd0d0;border-radius:18px;padding:12px;color:#111}

.hv-avmLux__ctaStrip{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#111;color:#fff;border-radius:22px;padding:18px 18px;box-shadow:0 14px 40px rgba(0,0,0,.10)}
.hv-avmLux__ctaText{max-width:720px;line-height:1.55;opacity:.92}
.hv-avmLux__ctaText strong{opacity:1}
.hv-avmLux__ctaBtn{display:inline-block;text-decoration:none;font-weight:900;padding:12px 14px;border-radius:16px;background:#fff;color:#111 !important;border:1px solid #fff;white-space:nowrap}

.hv-steps-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hv-step-card{border:1px solid #eee;border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.05)}
.hv-step-card__badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#0a3d1f;color:#fff;font-weight:900;margin-bottom:10px}
.hv-step-card h3{margin:0;font-size:16px;font-weight:900}
.hv-step-card p{margin:8px 0 0;opacity:.82;line-height:1.6}

.hv-faq{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hv-faq__item{border:1px solid #eee;border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.05)}
.hv-faq__item h3{margin:0;font-size:16px;font-weight:900}
.hv-faq__item p{margin:8px 0 0;opacity:.82;line-height:1.6}

.hv-cta{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.hv-cta__text h2{margin:0;font-weight:900;line-height:1.15;font-size:28px}
.hv-cta__text p{margin:10px 0 0;opacity:.92;max-width:720px;line-height:1.65}
.hv-cta__actions{display:flex;gap:10px;flex-wrap:wrap}
.hv-cta__btn{display:inline-block;text-decoration:none;font-weight:900;border-radius:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.35)}
.hv-cta__btn--primary{background:#fff;border-color:#fff;color:#0a3d1f !important}
.hv-cta__btn--ghost{background:transparent;color:#fff !important}

@media (max-width:980px){
  .hv-cma__grid,.hv-steps-grid,.hv-faq{grid-template-columns:1fr}
  .pavm-grid{grid-template-columns:1fr}
  .pavm-split{grid-template-columns:1fr}
  .pavm-toggles{grid-template-columns:1fr}
  .pavm-sliders{grid-template-columns:1fr}
  .hv-avmLux__ctaStrip{border-radius:18px}
  .hv-hero h1{font-size:34px}
  .hv-avmLux__h2{font-size:28px}
}

/* Force select to show full text */
.hv-page #pavmSubtype{min-width:260px;}
.hv-page .pavm-field{min-width:0;}

