/* ============================================================
   Luna СПА — CSS страницы мастера.

   ПЕРЕНЕСЁН ИЗ ЭТАЛОНА site-v3/master.html БЕЗ ИЗМЕНЕНИЙ.
   Подключается только на этой странице.

   Исключено намеренно только то, что решено глобально: цвет ссылок
   и кнопок (Q19), сброс отступов, анимация проявления — они в
   luna-base.css и luna.css.

   ВАЖНО: файлы страниц между собой НЕ дедуплицируются. Правило может
   повторяться в нескольких файлах — это нормально: каждая страница
   подключает только свой, и «уже есть в соседнем файле» здесь не
   значит «есть на странице». На этом уже споткнулись: `.btn-prof`
   выпал со страницы мастеров, потому что лежал в CSS программы.
   ============================================================ */

.btn-msg{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(59,50,42,0.24);color:#3B322A;font-weight:600;font-size:17px;padding:0 30px;height:62px;border-radius:999px;transition:background .25s ease,border-color .25s ease}
.btn-msg:hover{background:rgba(110,123,75,0.08);border-color:rgba(59,50,42,0.4);color:#3B322A}
/* V4: мессенджеры иконками рядом с главным CTA */
.msg-group{display:inline-flex;align-items:center;gap:10px}
.msg-ic{width:52px;height:52px;flex-shrink:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(59,50,42,0.22);color:#3B322A;transition:background .22s ease,border-color .22s ease,color .22s ease}
.msg-ic:hover{background:#3B322A;border-color:#3B322A;color:#FBF8F2}
.msg-ic svg{width:21px;height:21px;display:block}
@media (max-width:680px){.msg-group{width:100%;justify-content:center}}
.g-hero{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center}
/* master portrait */
.portrait{border-radius:24px;overflow:hidden;min-height:520px;background-size:cover;background-position:center top;box-shadow:0 24px 60px rgba(59,50,42,0.18)}
.tag-cat{display:inline-block;background:#DCE3C4;color:#4F5A34;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:7px 15px;border-radius:999px;margin-bottom:20px}
.stat-row{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 34px}
.stat{flex:1;min-width:130px;background:#fff;border:1px solid rgba(59,50,42,0.08);border-radius:16px;padding:18px 20px;box-shadow:0 8px 22px rgba(59,50,42,0.04);text-align:center}
.stat .v{font-family:'Manrope',sans-serif;font-size:28px;font-weight:700;color:#A6763E;letter-spacing:-0.01em;line-height:1}
.stat .k{font-size:13px;font-weight:600;color:#736546;margin-top:8px}
/* spec list */
.spec-li{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-top:1px solid rgba(59,50,42,0.09)}
.spec-li:first-child{border-top:none}
.spec-ic{flex-shrink:0;width:56px;height:56px;border-radius:14px;background:#DCE3C4;display:flex;align-items:center;justify-content:center}
.spec-ic img{width:36px;height:36px;display:block}
.spec-t{font-family:'Manrope',sans-serif;font-weight:700;font-size:18px;color:#3B322A;margin-bottom:4px}
.spec-x{font-size:16px;line-height:1.55;color:#6E6255}
/* cert cards */
.cert{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid rgba(59,50,42,0.08);border-radius:18px;padding:24px 24px;box-shadow:0 10px 26px rgba(59,50,42,0.05)}
.cert-ic{flex-shrink:0;width:48px;height:48px;border-radius:12px;background:#F3E7D5;display:flex;align-items:center;justify-content:center}
.cert-t{font-weight:700;font-size:17px;color:#3B322A;line-height:1.3;margin-bottom:5px}
.cert-m{font-size:14.5px;color:#736546}
.cert{transition:transform .3s ease,box-shadow .3s ease}
.cert:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(59,50,42,0.12)}
.cert-pdf{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:#8A5F30;font-size:14px;font-weight:600}
.cert:hover .cert-pdf{color:#8A5F30}
.cert-pdf svg{transition:transform .25s ease}
.cert:hover .cert-pdf svg{transform:translate(2px,-2px)}
/* carousel */
.carousel{position:relative}
.carousel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;flex-wrap:wrap}
.carousel-nav{display:flex;gap:10px;flex-shrink:0}
.cbtn{width:52px;height:52px;border-radius:50%;border:none;background:#fff;color:#3B322A;box-shadow:0 4px 14px rgba(59,50,42,0.10);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease,opacity .2s ease}
.cbtn:hover{background:#A6763E;color:#fff;box-shadow:0 6px 18px rgba(166,118,62,0.28)}
.cbtn:disabled{opacity:.32;cursor:default}
.cbtn:disabled:hover{background:#fff;color:#3B322A;box-shadow:0 4px 14px rgba(59,50,42,0.10)}
.ctrack-wrap{position:relative}
.ctrack{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:14px 0 36px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ctrack::-webkit-scrollbar{display:none}
.ctrack>*{scroll-snap-align:start;flex:0 0 auto}
.ctrack .cert{width:340px;flex-direction:column}
.ctrack .rev{width:min(440px,84vw)}
.ctrack .cert,.ctrack .rev{box-shadow:0 10px 24px rgba(59,50,42,0.05)}
.ctrack .cert:hover,.ctrack .rev:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(59,50,42,0.11)}
.cfade{position:absolute;top:0;bottom:0;width:70px;pointer-events:none;opacity:0;transition:opacity .35s ease;z-index:2}
.cfade-l{left:0;background:linear-gradient(to right,#F5EFE4,rgba(245,239,228,0))}
.cfade-r{right:0;background:linear-gradient(to left,#F5EFE4,rgba(245,239,228,0))}
.carousel.can-prev .cfade-l{opacity:1}
.carousel.can-next .cfade-r{opacity:1}
@media (max-width:680px){.ctrack .cert{width:82vw}.cfade{width:44px}}
/* ---------- RESPONSIVE ---------- */
@media (max-width:1040px){
  .nav,.hdr-actions{display:none}
  .burger{display:flex}
  .g3{grid-template-columns:repeat(2,1fr)}
  .g-hero{grid-template-columns:1fr;gap:36px}
  .g-hero .portrait{order:-1;min-height:420px}
  .cta-title{font-size:42px !important}
}
@media (max-width:680px){
  .container{padding-left:18px;padding-right:18px}
  .g3,.g2{grid-template-columns:1fr}
  .h2{font-size:32px}
  .cta-title{font-size:34px !important}
  .btn-primary,.btn-ghost,.btn-msg{width:100%;justify-content:center}
  .btn-primary{justify-content:space-between;height:56px;padding-left:24px}
  .btn-primary .lbl,.btn-ghost,.btn-outline,.btn-msg{font-size:16px}
  .portrait{min-height:360px}
}
