.btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.9rem 1.8rem; border-radius: 10px; font-weight: 600; font-size: 0.95rem; transition: all 0.2s; cursor: pointer; border: none; }
.btn-primary { background: var(--coral); color: #fff; }
.btn-primary:hover { background: var(--coral-dark); transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.btn-secondary { background: #fff; color: var(--text); border: 2px solid var(--border); }
.btn-secondary:hover { border-color: var(--coral); color: var(--coral); }

.service-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 2rem; transition: all 0.3s; height: 100%; display: flex; flex-direction: column; }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--coral); }
.service-icon { width: 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 1.2rem; }
.icon-pink { background: #fef2f2; } .icon-blue { background: #eef2ff; } .icon-purple { background: #f5f3ff; } .icon-orange { background: #fff7ed; }

.tariff { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 2rem; display: flex; flex-direction: column; transition: all 0.3s; position: relative; }
.tariff.featured { border-color: var(--coral); background: linear-gradient(180deg, #fff5f6 0%, #fff 30%); }
.tariff-badge { position: absolute; top: -12px; right: 24px; background: var(--coral); color: #fff; padding: 0.3rem 0.8rem; border-radius: 50px; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; }

.faq-item { border-bottom: 1px solid var(--border); padding: 1.2rem 0; }
.faq-q { width: 100%; background: none; border: none; text-align: left; cursor: pointer; font-family: var(--font-heading); font-size: 1.05rem; font-weight: 600; color: var(--dark); display: flex; justify-content: space-between; align-items: center; }
.faq-q .icon { width: 28px; height: 28px; border-radius: 50%; background: #fef2f2; color: var(--coral); display: flex; align-items: center; justify-content: center; transition: transform 0.3s; }
.faq-item.open .faq-q .icon { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; color: var(--text-light); font-size: 0.95rem; }
.faq-item.open .faq-a { max-height: 300px; margin-top: 0.8rem; }

.form-control { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--border); border-radius: 8px; font-family: inherit; margin-bottom: 1rem; background: #fff; }
.form-control:focus { outline: none; border-color: var(--coral); }
/* === Иконки услуг без светлой оболочки === */
/* === Иконки услуг без светлой оболочки, крупные === */
.service-icon {
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  justify-content: flex-start !important;
}
.service-icon img {
  width: 92px !important;
  height: 92px !important;
  max-width: 100%;
}
/* === Заголовок услуги с иконкой слева === */
.service-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.service-title-row img {
  width: 152px;
  height: 152px;
  object-fit: contain;
  flex-shrink: 0;
}
.service-title-row h1 {
  margin: 0;
  text-align: left;
}
@media (max-width: 600px) {
  .service-title-row { flex-direction: column; gap: 0.8rem; }
  .service-title-row h1 { text-align: center; }
}
