/* Неоклимат — стили калькулятора подбора кондиционера */
.neo-ac-calc,
.neo-ac-calc * { box-sizing: border-box; }

.neo-ac-calc {
  max-width: 980px;
  margin: 0 auto 42px;
  color: #17324d;
  font-family: inherit;
  line-height: 1.5;
}

.neo-ac-calc a { text-decoration: none; }
.neo-ac-calc .neo-ac-is-hidden { display: none !important; }

.neo-ac-hero {
  position: relative;
  overflow: hidden;
  padding: 42px 42px 38px;
  border-radius: 18px 18px 0 0;
  color: #fff;
  background: linear-gradient(135deg, #062f70 0%, #095aa3 62%, #11a1c7 100%);
}

.neo-ac-hero:after {
  position: absolute;
  right: -80px;
  bottom: -120px;
  width: 360px;
  height: 360px;
  border: 45px solid rgba(255,255,255,.11);
  border-radius: 50%;
  content: '';
}

.neo-ac-kicker {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 10px;
  color: #b9efff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.neo-ac-hero h2 {
  position: relative;
  z-index: 1;
  max-width: 650px;
  margin: 0 0 12px;
  color: #fff;
  font-size: 31px;
  line-height: 1.15;
}

.neo-ac-hero p {
  position: relative;
  z-index: 1;
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: 16px;
}

.neo-ac-badges {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.neo-ac-badge {
  padding: 6px 11px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 30px;
  color: #fff;
  font-size: 12px;
}

.neo-ac-box {
  padding: 30px;
  border: 1px solid #dce8f3;
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(5,46,110,.09);
}

.neo-ac-progress { margin-bottom: 30px; }
.neo-ac-progress-line { height: 7px; overflow: hidden; border-radius: 8px; background: #e5eef7; }
.neo-ac-progress-bar { display: block; width: 16.666%; height: 100%; border-radius: inherit; background: #0b83c5; transition: width .25s ease; }
.neo-ac-progress-label { margin-top: 8px; color: #6c8499; font-size: 13px; text-align: right; }

.neo-ac-step-title { margin: 0 0 8px; color: #123a63; font-size: 23px; }
.neo-ac-step-note { margin: 0 0 22px; color: #63798b; }

.neo-ac-area { display: flex; align-items: center; gap: 10px; max-width: 300px; color: #6c8499; font-size: 17px; }
.neo-ac-area-input { width: 190px; padding: 13px 15px; border: 1px solid #b8cad9; border-radius: 9px; color: #17324d; font-size: 20px; outline: none; }
.neo-ac-area-input:focus { border-color: #0b83c5; box-shadow: 0 0 0 3px rgba(11,131,197,.13); }

.neo-ac-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.neo-ac-shortcut { padding: 7px 11px; border: 1px solid #cfe0ed; border-radius: 8px; color: #17638e; background: #f4f9fc; font-size: 13px; cursor: pointer; }
.neo-ac-shortcut:hover { border-color: #0b83c5; background: #e9f6fc; }

.neo-ac-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.neo-ac-option { display: block; min-height: 76px; padding: 14px 16px; border: 1px solid #d5e2ed; border-radius: 10px; color: #17324d; background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.neo-ac-option:hover { border-color: #63b4d6; background: #f7fcff; }
.neo-ac-option.is-selected { border-color: #0b83c5; background: #eef9fe; box-shadow: 0 0 0 2px rgba(11,131,197,.12); }
.neo-ac-option-mark { display: inline-block; width: 15px; height: 15px; margin: 2px 10px 0 0; vertical-align: top; border: 2px solid #9db5c8; border-radius: 50%; }
.neo-ac-option.is-selected .neo-ac-option-mark { border-color: #0b83c5; box-shadow: inset 0 0 0 3px #eef9fe; background: #0b83c5; }
.neo-ac-option strong { display: inline; font-size: 15px; }
.neo-ac-option small { display: block; margin: 6px 0 0 26px; color: #71879a; font-size: 12px; line-height: 1.35; }

.neo-ac-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.neo-ac-button { display: inline-block; padding: 12px 22px; border: 0; border-radius: 8px; color: #fff !important; background: #087bc0; font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.neo-ac-button:hover { background: #05649e; }
.neo-ac-button_secondary { color: #246184 !important; background: #edf5fa; }
.neo-ac-button_secondary:hover { background: #dcecf5; }
.neo-ac-error { min-height: 20px; margin-top: 10px; color: #c33838; font-size: 13px; }

.neo-ac-result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.neo-ac-result-head h3 { margin: 0 0 8px; color: #123a63; font-size: 25px; }
.neo-ac-result-head p { margin: 0; color: #63798b; }
.neo-ac-power { min-width: 120px; padding: 12px 15px; border-radius: 10px; color: #27637f; background: #eaf7fb; text-align: center; }
.neo-ac-power strong { display: block; color: #087bc0; font-size: 29px; line-height: 1; }
.neo-ac-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.neo-ac-card { padding: 19px; border: 1px solid #d7e4ee; border-radius: 12px; background: #fff; }
.neo-ac-card.is-best { border: 2px solid #0b83c5; box-shadow: 0 8px 22px rgba(11,131,197,.13); }
.neo-ac-card-label { margin-bottom: 8px; color: #0b83c5; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.neo-ac-card h4 { margin: 0 0 9px; color: #17324d; font-size: 18px; }
.neo-ac-card p { min-height: 76px; margin: 0; color: #63798b; font-size: 13px; }
.neo-ac-product-card { overflow: hidden; }
.neo-ac-product-image { display: block; height: 155px; margin: -19px -19px 16px; background: #f7fafc; text-align: center; }
.neo-ac-product-image img { width: 100%; height: 100%; object-fit: contain; }
.neo-ac-product-card h4 a { color: #17324d; text-decoration: none; }
.neo-ac-product-card h4 a:hover { color: #087bc0; }
.neo-ac-product-attrs { min-height: 68px !important; line-height: 1.55; }
.neo-ac-product-attrs span { color: #2a8a54; }
.neo-ac-product-link { display: inline-block; margin-top: 15px; color: #087bc0; font-size: 13px; font-weight: 700; }
.neo-ac-catalog-loading, .neo-ac-catalog-empty { grid-column: 1 / -1; padding: 24px; border: 1px dashed #b9d1df; border-radius: 12px; color: #526d82; background: #f7fbfd; }
.neo-ac-catalog-empty strong { color: #123a63; }
.neo-ac-catalog-empty p { min-height: 0; margin: 8px 0 0; }
.neo-ac-price { margin-top: 16px; padding-top: 12px; border-top: 1px solid #e6eef4; }
.neo-ac-price-row, .neo-ac-total { display: flex; justify-content: space-between; gap: 8px; margin: 6px 0; font-size: 12px; }
.neo-ac-price-row strong, .neo-ac-total strong { color: #17324d; white-space: nowrap; }
.neo-ac-total { margin-top: 11px; padding-top: 9px; border-top: 1px solid #e6eef4; font-size: 13px; font-weight: 700; }
.neo-ac-total strong { color: #087bc0; font-size: 16px; }
.neo-ac-result-note { margin: 20px 0 0; color: #63798b; font-size: 13px; }
.neo-ac-result-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; padding: 18px; border-radius: 12px; background: #f0f8fc; }
.neo-ac-result-cta strong { color: #123a63; }
.neo-ac-result-cta p { margin: 5px 0 0; color: #63798b; font-size: 13px; }

.neo-ac-seo { margin-top: 38px; }
.neo-ac-seo h2, .neo-ac-seo h3 { color: #123a63; }
.neo-ac-seo h2 { margin: 28px 0 12px; font-size: 25px; }
.neo-ac-seo h3 { margin: 22px 0 8px; font-size: 20px; }
.neo-ac-seo p { color: #526d82; }
.neo-ac-seo li { margin: 5px 0; color: #526d82; }
.neo-ac-table-wrap { overflow-x: auto; margin: 18px 0; }
.neo-ac-table { width: 100%; min-width: 560px; border-collapse: collapse; }
.neo-ac-table th, .neo-ac-table td { padding: 10px 12px; border: 1px solid #d8e5ee; text-align: left; }
.neo-ac-table th { color: #123a63; background: #eef7fb; }
.neo-ac-faq { margin: 8px 0; padding: 12px 14px; border: 1px solid #d8e5ee; border-radius: 8px; }
.neo-ac-faq summary { color: #17638e; font-weight: 700; cursor: pointer; }
.neo-ac-faq p { margin: 10px 0 0; }

@media (max-width: 700px) {
  .neo-ac-hero { padding: 29px 20px 27px; }
  .neo-ac-hero h2 { font-size: 25px; }
  .neo-ac-box { padding: 20px 15px; }
  .neo-ac-options, .neo-ac-cards { grid-template-columns: 1fr; }
  .neo-ac-card p { min-height: 0; }
  .neo-ac-result-head, .neo-ac-result-cta { display: block; }
  .neo-ac-power { width: 120px; margin-top: 15px; }
  .neo-ac-result-cta .neo-ac-button { margin-top: 15px; }
  .neo-ac-button { padding: 12px 15px; }
}
