/* ==========================================================================
   /tools/baby-gender
   Inherits form/result base from bmi-calculator → school-readiness → maternity-bag.
   ========================================================================== */
@import url("/assets/css/bmi-calculator.css");

/* ---------- Visually hidden helper ---------- */
.bg-page .visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   PAGE & HERO — мягкий фон в розово-голубых тонах
   ========================================================================== */
.bg-page {
  background: #fdf6fb !important;
}

.bg-hero {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.55) 0%, rgba(232, 220, 246, 0.78) 100%),
    linear-gradient(180deg, #ffffff 0%, #f0e2f5 100%) !important;
  border-bottom-color: #e0c9ea !important;
}

.bg-hero .mb-hero-title span::after {
  background: linear-gradient(90deg, rgba(199, 175, 232, 0.65), rgba(247, 203, 202, 0.55));
}

.bg-eyebrow-short { display: none; }

@media (max-width: 600px) {
  .bg-eyebrow-full  { display: none; }
  .bg-eyebrow-short { display: inline; }
  .bg-hero .mb-hero-eyebrow {
    padding: 5px 12px;
    font-size: 12px;
  }
}

/* Override bmi-calculator's first-row layout (компактный пол + широкая колонка) */
.bg-page .bc-form > .bc-form-row:first-of-type {
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}
@media (max-width: 760px) {
  .bg-page .bc-form > .bc-form-row:first-of-type,
  .bg-page .bc-form-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.bg-row-single {
  grid-template-columns: 1fr !important;
}

/* ==========================================================================
   DISCLAIMER BLOCK — самый заметный элемент после hero
   ========================================================================== */
.bg-disclaimer {
  display: flex;
  gap: 18px;
  padding: 20px 24px;
  margin: 22px 0;
  background: linear-gradient(135deg, #fff8e8 0%, #fef0d4 100%);
  border: 1.5px solid #f1d589;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(241, 213, 137, 0.15);
}

.bg-disclaimer-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #ffffff;
  color: #b58a30;
}

.bg-disclaimer strong {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #6a4f1c;
  margin-bottom: 4px;
}

.bg-disclaimer p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: #5b462b;
}

.bg-disclaimer p strong {
  display: inline;
  margin: 0;
  font-size: inherit;
  color: #6a4f1c;
}

/* ==========================================================================
   TABS — три метода
   ========================================================================== */
.bg-calc {
  margin-top: 8px;
}

.bg-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 22px;
  padding: 8px;
  background: #f5edf3;
  border-radius: 16px;
}

.bg-tab {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: transparent;
  border: 1.5px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: var(--main-bg-color, #111);
  transition: background .2s, border-color .2s, transform .15s;
}

.bg-tab:hover {
  background: rgba(255, 255, 255, 0.6);
}

.bg-tab.is-active {
  background: #ffffff;
  border-color: #d8c5e0;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

.bg-tab-num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #efe1ea;
  color: #7a4d70;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 15px;
  transition: background .2s, color .2s;
}

.bg-tab.is-active .bg-tab-num {
  background: #b88cc6;
  color: #ffffff;
}

.bg-tab-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.bg-tab-text strong {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bg-tab-text em {
  font-style: normal;
  font-size: 12px;
  color: var(--dark-text-color, #6b6359);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 760px) {
  .bg-tabs {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 6px;
  }
  .bg-tab {
    padding: 10px 12px;
  }
}

/* ==========================================================================
   PANELS
   ========================================================================== */
.bg-panel:not(.is-active) {
  display: none;
}

/* Активная панель — flex-колонка с равномерным вертикальным гэпом
   (формы не обёрнуты в .bc-form, поэтому здесь это обязательно) */
.bg-panel.is-active {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

@media (max-width: 760px) {
  .bg-panel.is-active {
    gap: 20px;
  }
}

.bg-panel-intro {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--dark-text-color, #555);
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #fbf6f9;
  border-left: 3px solid #c7afdc;
  border-radius: 0 8px 8px 0;
}

.bg-hint-inline {
  font-weight: 500;
  color: var(--dark-text-color, #777);
  font-size: 12.5px;
  margin-left: 4px;
}

.bg-page .bc-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  padding-right: 38px;
  appearance: none;
  -webkit-appearance: none;
}

.bg-reset {
  margin-top: 16px;
  width: auto;
}

/* ==========================================================================
   DATE GROUP — три select'а (день / месяц / год) на одну дату
   ========================================================================== */
.bg-date-field {
  min-width: 0;
}

.bg-date-row {
  display: grid;
  grid-template-columns: 0.85fr 1.4fr 1fr;
  gap: 8px;
}

.bg-page .bg-date-row .bc-input.bc-select {
  padding-right: 30px;
  background-position: right 10px center;
  background-size: 14px;
}

@media (max-width: 480px) {
  .bg-date-row {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
  }
  .bg-page .bg-date-row .bc-input.bc-select {
    font-size: 14px;
    padding: 10px 26px 10px 10px;
  }
}

/* ==========================================================================
   RESULTS — карточки для каждого метода
   ========================================================================== */
.bg-results {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.bg-results:empty {
  display: none;
}

.bg-result-card {
  background: #ffffff;
  border: 1.5px solid #efe7ee;
  border-radius: 16px;
  padding: 18px 22px;
  animation: bg-fade-in .35s ease both;
}

@keyframes bg-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.bg-result-card[data-result="boy"]  { border-color: #b8d4ea; background: linear-gradient(180deg, #f0f7fd 0%, #ffffff 60%); }
.bg-result-card[data-result="girl"] { border-color: #efbfd0; background: linear-gradient(180deg, #fdf2f7 0%, #ffffff 60%); }

.bg-result-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.bg-result-method {
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--main-bg-color, #111);
}

.bg-result-confidence {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #a07429;
  font-weight: 600;
  background: #fff7e4;
  padding: 4px 10px;
  border-radius: 999px;
}

.bg-result-body {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
}

.bg-result-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 110px;
  padding: 14px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.6);
}

.bg-result-card[data-result="boy"]  .bg-result-figure { background: rgba(184, 212, 234, 0.25); }
.bg-result-card[data-result="girl"] .bg-result-figure { background: rgba(239, 191, 208, 0.25); }

.bg-figure-emoji {
  font-size: 42px;
  line-height: 1;
}

.bg-figure-label {
  font-family: "Montserrat", sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--main-bg-color, #111);
  letter-spacing: -0.01em;
}

.bg-result-text {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--main-bg-color, #2b2b2b);
  margin: 0;
}

@media (max-width: 600px) {
  .bg-result-body {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .bg-result-figure {
    min-width: 0;
  }
}

/* ==========================================================================
   SUMMARY — итог по трём методам
   ========================================================================== */
.bg-summary {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 20px;
  background: linear-gradient(135deg, #f3edfa 0%, #fbf2f7 100%);
  border: 1.5px solid #d8c5e0;
  border-radius: 14px;
  margin-top: 4px;
}

.bg-summary[hidden] { display: none; }

.bg-summary-icon {
  flex-shrink: 0;
  color: #7a4d70;
}

.bg-summary p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--main-bg-color, #2b2b2b);
}

/* ==========================================================================
   SHARE — копия (как в pwg, потому что .calc-share-* живёт только в pregnancy-calculator.css)
   ========================================================================== */
.bg-page .calc-share {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.bg-page .calc-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 22px;
  background: #fff;
  color: var(--main-bg-color, #111);
  border: 1.5px solid #e5ecec;
  border-radius: 12px;
  font-family: "Montserrat", sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .2s, color .2s, transform .2s;
}

.bg-page .calc-share-btn:hover {
  border-color: var(--gold-color, #bda000);
  color: var(--gold-color, #bda000);
  transform: translateY(-1px);
}

.bg-page .calc-share-btn svg {
  color: var(--gold-color, #bda000);
}

.bg-page .calc-share-toast {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: var(--main-bg-color, #111);
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .28s, transform .28s;
}

.bg-page .calc-share-toast[hidden] { display: none; }

.bg-page .calc-share-toast::before {
  content: "✓";
  font-weight: 700;
  color: #54d07f;
}

.bg-page .calc-share-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ==========================================================================
   SEO body
   ========================================================================== */
.bg-seo h2 {
  margin-top: 32px;
}

.bg-seo h3 {
  margin-top: 22px;
  font-size: 19px;
}

/* Шаги внутри SEO-блока — оформляем <ol> как карточки с круглыми бейджами */
.bg-seo ol {
  counter-reset: bg-step;
  list-style: none;
  padding-left: 0;
  margin: 18px 0 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bg-seo ol > li {
  counter-increment: bg-step;
  position: relative;
  padding: 16px 22px 16px 64px;
  background: linear-gradient(135deg, #faf6fd 0%, #ffffff 60%);
  border: 1px solid #e6dcef;
  border-radius: 14px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--main-bg-color, #222);
}

.bg-seo ol > li::before {
  content: counter(bg-step);
  position: absolute;
  left: 16px;
  top: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #b88cc6;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 14px;
  box-shadow: 0 2px 6px rgba(184, 140, 198, 0.35);
}

.bg-seo ol > li strong {
  font-weight: 700;
  color: var(--main-bg-color, #111);
}

@media (max-width: 480px) {
  .bg-seo ol > li {
    padding: 14px 16px 14px 54px;
    font-size: 14.5px;
  }
  .bg-seo ol > li::before {
    left: 12px;
    top: 12px;
    width: 28px;
    height: 28px;
    font-size: 13px;
  }
}
