/* ========================================================
   Концепт дизайна "Дом 5 чувств" (newconcept.tatiana-sakharova.ru)
   Цветовая палитра и эстетика dom5chuvstv.ru
   ======================================================== */

:root {
  --concept-bg: #fdfbf7;
  --concept-bg-alt: #f6f3ee;
  --concept-sage: #889e99;
  --concept-sage-light: #a5c1bb;
  --concept-sage-dark: #56a795;
  --concept-rose: #d0bad2;
  --concept-rose-light: #e8d3ea;
  --concept-rose-dark: #876887;
  --concept-brown: #6d593f;
  --concept-text: #3a352f;
  --concept-text-muted: #736b63;
  --concept-card-border: rgba(136, 158, 153, 0.22);
  --concept-pill-radius: 30px;
  --concept-card-radius: 20px;
  --concept-shadow: 0 10px 25px rgba(109, 89, 63, 0.07);
}

body {
  background-color: var(--concept-bg) !important;
  color: var(--concept-text) !important;
  font-family: 'Futura PT', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Header & Navigation */
.header {
  background: rgba(253, 251, 247, 0.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.header .header-container {
  background: #ffffff !important;
  border: 1px solid var(--concept-card-border) !important;
  box-shadow: 0 8px 24px rgba(109, 89, 63, 0.08) !important;
  border-radius: var(--concept-pill-radius) !important;
}

.header .logo h1, .header .logo .sitename {
  color: var(--concept-brown) !important;
  font-weight: 600 !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.01em;
}

.header .logo h1 span, .header .logo .sitename span {
  color: var(--concept-sage-dark) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
}

.navmenu a {
  color: var(--concept-text) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  transition: color 0.25s ease !important;
}

.navmenu a:hover, .navmenu a.active {
  color: var(--concept-sage-dark) !important;
}

.header .btn_record, .btn_hero, .btn_record {
  background-color: var(--concept-sage-light) !important;
  color: var(--concept-brown) !important;
  border: 1px solid var(--concept-rose-light) !important;
  border-radius: var(--concept-pill-radius) !important;
  box-shadow: 0 6px 16px rgba(109, 89, 63, 0.15) !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
  padding: 0.65rem 1.4rem !important;
  transition: all 0.25s ease !important;
}

.header .btn_record:hover, .btn_hero:hover, .btn_record:hover {
  background-color: var(--concept-sage) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(109, 89, 63, 0.22) !important;
}

.btn_events {
  background-color: transparent !important;
  color: var(--concept-brown) !important;
  border: 1.5px solid var(--concept-sage-dark) !important;
  border-radius: var(--concept-pill-radius) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  padding: 0.65rem 1.4rem !important;
  text-transform: uppercase !important;
  transition: all 0.25s ease !important;
}

.btn_events:hover {
  background-color: var(--concept-sage-dark) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

/* Headings & Section Titles */
h1, h2, h3, h4, h5, h6,
.section_title h2 {
  color: var(--concept-brown) !important;
  letter-spacing: -0.01em;
}

.section_title {
  text-align: center;
  margin-bottom: 2.5rem;
  position: relative;
}

.section_title h2 {
  font-size: 2.3rem !important;
  font-weight: 600 !important;
  position: relative;
  display: inline-block;
}

.section_title h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--concept-sage-light), var(--concept-rose));
  margin: 10px auto 0;
  border-radius: 2px;
}

.section_title .section_subtitle {
  color: var(--concept-text-muted);
  font-size: 1.1rem;
  max-width: 680px;
  margin: 12px auto 0;
}

/* Hero Section */
.hero {
  padding-top: 8.5rem !important;
  padding-bottom: 4rem !important;
  background: radial-gradient(circle at 15% 25%, rgba(208, 186, 210, 0.22) 0%, transparent 45%),
              radial-gradient(circle at 85% 65%, rgba(165, 193, 187, 0.25) 0%, transparent 50%),
              var(--concept-bg) !important;
}

.hero_title {
  font-size: 3rem !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  color: var(--concept-brown) !important;
}

.hero_title .gradient_text {
  background: linear-gradient(135deg, var(--concept-brown) 0%, var(--concept-rose-dark) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.hero .leaf {
  color: var(--concept-text-muted) !important;
  font-size: 1.18rem !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  margin-top: 1.25rem !important;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.5rem;
  margin-bottom: 1.8rem;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--concept-card-border);
  padding: 0.4rem 0.9rem;
  border-radius: var(--concept-pill-radius);
  font-size: 0.88rem;
  color: var(--concept-brown);
  font-weight: 500;
}

/* Two Entries Block (Два входа) */
.two-entries-section {
  padding: 4.5rem 0;
  background-color: var(--concept-bg-alt);
}

.entry-card {
  background: #ffffff;
  border-radius: var(--concept-card-radius);
  border: 1px solid var(--concept-card-border);
  box-shadow: var(--concept-shadow);
  padding: 2.2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.entry-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(109, 89, 63, 0.12);
}

.entry-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
}

.entry-card.entry-pain::before {
  background: linear-gradient(90deg, var(--concept-sage-dark), var(--concept-sage-light));
}

.entry-card.entry-vibe::before {
  background: linear-gradient(90deg, var(--concept-rose-dark), var(--concept-rose));
}

.entry-tag {
  display: inline-block;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  padding: 0.3rem 0.8rem;
  border-radius: var(--concept-pill-radius);
  margin-bottom: 1rem;
}

.entry-pain .entry-tag {
  background: rgba(86, 167, 149, 0.15);
  color: var(--concept-sage-dark);
}

.entry-vibe .entry-tag {
  background: rgba(135, 104, 135, 0.15);
  color: var(--concept-rose-dark);
}

.entry-card h3 {
  font-size: 1.45rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.entry-card ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 1.8rem;
  flex-grow: 1;
}

.entry-card ul li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.65rem;
  font-size: 0.98rem;
  color: var(--concept-text-muted);
}

.entry-card ul li::before {
  content: "•";
  position: absolute;
  left: 0.3rem;
  font-size: 1.4rem;
  line-height: 1;
}

.entry-pain ul li::before {
  color: var(--concept-sage-dark);
}

.entry-vibe ul li::before {
  color: var(--concept-rose-dark);
}

/* Cards (Services / Masters / Five Senses) */
.card, .theme_card, .pricing, .sense_item, .card_event {
  background: #ffffff !important;
  border-radius: var(--concept-card-radius) !important;
  border: 1px solid var(--concept-card-border) !important;
  box-shadow: var(--concept-shadow) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.card:hover, .pricing:hover, .card_event:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 36px rgba(109, 89, 63, 0.12) !important;
  border-color: var(--concept-sage-light) !important;
}

.theme_card {
  background: linear-gradient(135deg, rgba(165, 193, 187, 0.18) 0%, rgba(208, 186, 210, 0.18) 100%) !important;
  color: var(--concept-text) !important;
  border: 1px solid rgba(136, 158, 153, 0.3) !important;
}

.theme_card p {
  color: var(--concept-text) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

.sense_item {
  background: #ffffff !important;
  border: 1px solid var(--concept-card-border) !important;
  border-radius: var(--concept-card-radius) !important;
  padding: 1.5rem !important;
}

.sense_item:hover {
  border-color: var(--concept-rose) !important;
  box-shadow: 0 12px 28px rgba(208, 186, 210, 0.25) !important;
}

.sense_item .sense_icon img {
  border-radius: 18px !important;
}

.sense_item .sense_content h4 {
  color: var(--concept-brown) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
}

.sense_item .sense_content p {
  color: var(--concept-text-muted) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* Master Cards */
.master-card {
  background: #ffffff;
  border-radius: var(--concept-card-radius);
  border: 1px solid var(--concept-card-border);
  box-shadow: var(--concept-shadow);
  padding: 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.master-photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 1.25rem;
  border: 4px solid var(--concept-rose-light);
  box-shadow: 0 6px 18px rgba(109, 89, 63, 0.1);
}

.master-name {
  text-align: center;
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--concept-brown);
  margin-bottom: 0.3rem;
}

.master-role {
  text-align: center;
  font-size: 0.88rem;
  color: var(--concept-sage-dark);
  font-weight: 500;
  margin-bottom: 1.25rem;
  line-height: 1.4;
}

.master-quote {
  font-style: italic;
  font-size: 0.95rem;
  color: var(--concept-rose-dark);
  text-align: center;
  background: rgba(208, 186, 210, 0.12);
  padding: 0.85rem 1.2rem;
  border-radius: 12px;
  margin-bottom: 1.25rem;
}

/* Pricing / Services */
.card.pricing {
  border-radius: var(--concept-card-radius) !important;
}

.card.pricing h3 {
  color: var(--concept-brown) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
}

.card.pricing .price_text {
  color: var(--concept-rose-dark) !important;
  font-weight: 700 !important;
  font-size: 1.45rem !important;
}

.card.pricing .card-footer {
  border-top: 1px dashed var(--concept-card-border) !important;
}

/* Call to action boxes */
.call_to {
  background: linear-gradient(135deg, rgba(165, 193, 187, 0.15), rgba(208, 186, 210, 0.15)) !important;
  border: 1px solid var(--concept-card-border) !important;
  border-radius: var(--concept-card-radius) !important;
  padding: 2.5rem 2rem !important;
}

.call_to p {
  color: var(--concept-brown) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
}

/* Buttons */
.btn_primary, .btn_ {
  background-color: var(--concept-sage-light) !important;
  color: var(--concept-brown) !important;
  border: 1px solid var(--concept-rose-light) !important;
  border-radius: var(--concept-pill-radius) !important;
  font-weight: 600 !important;
  padding: 0.75rem 1.8rem !important;
  box-shadow: 0 6px 18px rgba(109, 89, 63, 0.12) !important;
  transition: all 0.25s ease !important;
  display: inline-block;
  text-decoration: none;
}

.btn_primary:hover, .btn_:hover {
  background-color: var(--concept-sage) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(109, 89, 63, 0.2) !important;
}

/* Contacts & Social Buttons */
.msg_btn {
  border-radius: var(--concept-pill-radius) !important;
  font-weight: 500 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  padding: 0.65rem 1.4rem !important;
  transition: transform 0.2s ease !important;
}

.msg_btn:hover {
  transform: translateY(-2px) !important;
}

/* Footer */
footer {
  background: #ffffff !important;
  border-top: 1px solid var(--concept-card-border) !important;
  padding: 3rem 0 2rem !important;
}

footer a {
  color: var(--concept-brown) !important;
}

footer a:hover {
  color: var(--concept-sage-dark) !important;
}

.footer-copy {
  color: var(--concept-text-muted);
  font-size: 0.9rem;
}
