/* ==================================================================
   Балетные истории — дополнения: меню с подменю, отзывы, обратная связь
   Использует переменные темы (--maroon, --pink-pale, --serif …)
   ================================================================== */

/* ---------- Выпадающее меню в шапке ---------- */
.bix-dd{position:relative;display:flex;align-items:center;}
.bix-dd-link{display:inline-flex;align-items:center;gap:6px;}
.bix-dd-link .bix-caret{transition:transform .25s ease;opacity:.7;}
.bix-dd-toggle{display:none;}
.bix-dd-menu{
  position:absolute;top:100%;left:50%;
  min-width:240px;padding:10px;margin-top:14px;
  background:#fff;border:1px solid #F1DED7;border-radius:20px;
  box-shadow:0 22px 48px rgba(122,46,59,.14);
  display:flex;flex-direction:column;gap:2px;
  opacity:0;visibility:hidden;transform:translate(-50%,8px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
  z-index:120;
}
/* «мостик», чтобы подменю не закрывалось, пока курсор идёт вниз */
.bix-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px;}
/* декоративный уголок */
.bix-dd-menu::after{
  content:"";position:absolute;top:-7px;left:50%;width:12px;height:12px;background:#fff;
  border-left:1px solid #F1DED7;border-top:1px solid #F1DED7;transform:translateX(-50%) rotate(45deg);
}
nav.main-nav .bix-dd-menu a{
  display:block;padding:10px 14px;border-radius:12px;
  font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;text-decoration:none;
  transition:background .18s ease, color .18s ease, padding-left .18s ease;
}
nav.main-nav .bix-dd-menu a:hover,
nav.main-nav .bix-dd-menu a:focus-visible{background:var(--pink-pale,#FBE0CC);color:var(--maroon,#7A2E3B);padding-left:18px;}
nav.main-nav .bix-dd-menu a.nav-active{color:var(--maroon,#7A2E3B);font-weight:700;background:#FDF1E9;}

@media (min-width:981px){
  .bix-dd:hover .bix-dd-menu,
  .bix-dd:focus-within .bix-dd-menu,
  .bix-dd.open .bix-dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0);}
  .bix-dd:hover .bix-caret,
  .bix-dd.open .bix-caret{transform:rotate(180deg);}
}

/* мобильное меню (в теме оно выезжает справа на ширине ≤ 980px) */
@media (max-width:980px){
  nav.main-nav{overflow-y:auto;}
  .bix-dd{flex-wrap:wrap;width:100%;justify-content:space-between;}
  .bix-dd-link .bix-caret{display:none;}
  .bix-dd-toggle{
    display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:50%;border:1px solid #F1DED7;background:#fff;
    color:var(--maroon,#7A2E3B);cursor:pointer;transition:transform .25s ease, background .2s ease;
  }
  .bix-dd.open .bix-dd-toggle{transform:rotate(180deg);background:var(--pink-pale,#FBE0CC);}
  .bix-dd-menu{
    position:static;width:100%;min-width:0;margin:10px 0 0 0;padding:4px 0 4px 14px;
    border:none;border-left:2px solid var(--pink-light,#F6CCAF);border-radius:0;box-shadow:none;
    opacity:1;visibility:visible;transform:none;display:none;
  }
  .bix-dd-menu::before,.bix-dd-menu::after{display:none;}
  .bix-dd.open .bix-dd-menu{display:flex;}
  nav.main-nav .bix-dd-menu a{font-size:15.5px;padding:8px 10px;}
}

/* ---------- Меню в подвале ---------- */
footer .fnav{list-style:none;}

/* ---------- Отзывы ---------- */
.bix-reviews-section{padding:10px 0 80px 0;}
.bix-page-content{max-width:760px;margin:0 0 36px 0;font-size:15px;line-height:1.7;color:#5B4B49;}
.bix-page-content p{margin-bottom:14px;}
.bix-reviews-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start;
}
.bix-review-card{
  background:#fff;border-radius:24px;overflow:hidden;
  box-shadow:0 18px 40px rgba(122,46,59,.08);border:1px solid #F4E6E0;
  display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease;
}
.bix-review-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(122,46,59,.13);}
.bix-review-shot{position:relative;display:block;background:#F4EEEB;cursor:zoom-in;}
.bix-review-shot img{width:100%;height:auto;display:block;}
.bix-zoom{
  position:absolute;right:12px;bottom:12px;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--maroon,#7A2E3B);display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.12);opacity:0;transform:scale(.9);transition:.2s ease;
}
.bix-review-shot:hover .bix-zoom,.bix-review-shot:focus-visible .bix-zoom{opacity:1;transform:scale(1);}
.bix-review-card.has-shot .bix-review-body{padding:16px 22px 18px 22px;gap:10px;}
.bix-review-body{padding:22px 24px 24px 24px;display:flex;flex-direction:column;gap:14px;}
.bix-review-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.bix-stars{display:inline-flex;gap:2px;}
.bix-stars svg.on{fill:#F2B233;}
.bix-stars svg.off{fill:#EADCD6;}
.bix-review-date{font-size:12.5px;color:#8a7a77;}
.bix-review-text{font-size:14.5px;line-height:1.65;color:#4A3D3B;}
.bix-review-author{display:flex;align-items:center;gap:12px;}
.bix-avatar{
  width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--pink-pale,#FBE0CC);color:var(--maroon,#7A2E3B);font-family:var(--serif);font-weight:700;font-size:18px;
}
.bix-review-author > div > b{display:block;font-size:14.5px;color:var(--ink,#3A2F2E);}
.bix-review-author > div > span{display:block;font-size:12.5px;color:#8a7a77;margin-top:2px;}
.bix-review-source{font-size:12.5px;color:#8a7a77;border-top:1px solid #F4E6E0;padding-top:12px;}
.bix-review-source a{color:var(--maroon,#7A2E3B);text-decoration:none;font-weight:600;}
.bix-review-source a:hover{text-decoration:underline;}
.bix-empty{text-align:center;color:#8a7a77;padding:40px 0;}

/* лайтбокс */
.bix-lightbox{
  position:fixed;inset:0;z-index:1000;background:rgba(44,35,33,.82);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s;
}
.bix-lightbox.show{opacity:1;visibility:visible;}
.bix-lightbox img{max-width:min(1000px,100%);max-height:88vh;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.35);background:#fff;}
.bix-lightbox button{
  position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:#fff;color:var(--maroon,#7A2E3B);font-size:24px;line-height:1;
}

@media (max-width:980px){ .bix-reviews-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .bix-reviews-grid{grid-template-columns:1fr;} .bix-reviews-section{padding-bottom:56px;} }

/* ---------- Обратная связь (страница «Контакты») ---------- */
.bix-feedback-section{padding:30px 0 80px 0;}
.bix-feedback-grid{display:grid;grid-template-columns:1fr 520px;gap:48px;align-items:start;}
.bix-feedback-text .tag{
  display:block;margin-bottom:12px;color:var(--maroon-soft,#9C5361);
  font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.bix-feedback-text h2{font-family:var(--serif);font-size:clamp(26px,3.2vw,36px);line-height:1.25;color:var(--ink,#3A2F2E);margin-bottom:16px;}
.bix-feedback-text p{font-size:15px;line-height:1.7;color:#5B4B49;margin-bottom:20px;}
.bix-feedback-points{list-style:none;display:flex;flex-direction:column;gap:10px;}
.bix-feedback-points li{position:relative;padding-left:26px;font-size:14px;color:#5B4B49;}
.bix-feedback-points li::before{
  content:"";position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;
  background:var(--pink-light,#F6CCAF);box-shadow:inset 0 0 0 4px #fff, 0 0 0 1px var(--pink,#E79A76);
}
.bix-fb-card{padding:30px;}
.bix-f{flex:1;min-width:0;}
.bix-textarea{resize:vertical;min-height:120px;line-height:1.5;}
.bix-counter{font-size:11px;color:#a8918c;text-align:right;margin:-6px 4px 6px 0;}
.bix-counter.over{color:#B23A48;}
.bix-captcha label{display:block;font-size:13px;color:#5B4B49;margin:2px 0 8px 4px;}
.bix-captcha .field{max-width:140px;}
.bix-consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:#6E605D;cursor:pointer;margin:4px 0 10px 2px;}
.bix-consent input{margin-top:2px;width:17px;height:17px;accent-color:var(--maroon,#7A2E3B);flex:none;}
.bix-consent a{color:var(--maroon,#7A2E3B);}
.bix-consent.invalid span{color:#B23A48;}
.bix-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.bix-form-msg{display:none;font-size:13px;border-radius:12px;padding:11px 14px;margin:6px 0 10px 0;}
.bix-form-msg.is-error{display:block;background:#FBECEC;color:#9B2C3A;}
.bix-feedback-form .submit-btn[disabled]{opacity:.7;cursor:wait;}
.bix-feedback-form .field.valid{border-color:#B9CDBD;}
.bix-link-btn{margin-top:14px;background:none;border:none;color:var(--maroon,#7A2E3B);font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:underline;}

@media (max-width:1180px){ .bix-feedback-grid{grid-template-columns:1fr 460px;gap:36px;} }
@media (max-width:980px){ .bix-feedback-grid{grid-template-columns:1fr;} }
@media (max-width:640px){ .bix-fb-card{padding:22px;} .bix-feedback-section{padding-bottom:56px;} }
