/* =============================================================
   SPB KATERA — MAIN.CSS
   Общие стили: переменные, утилиты, топбар, хедер, футер
   ============================================================= */

/* ── СБРОС И БАЗОВЫЕ ── */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#040d1a;
  --navy2:#071020;
  --navy3:#0a1628;
  --gold:#D4A843;
  --gold2:#f0c86a;
  --gold3:rgba(212,168,67,.15);
  --white:#ffffff;
  --cream:#f0e8d0;
  --muted:#7a90a8;
  --border:rgba(212,168,67,.18);
  --border2:rgba(255,255,255,.07);
}
html{scroll-behavior:smooth}
body{font-family:'Raleway',sans-serif;background:var(--navy);color:var(--white);overflow-x:hidden}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-thumb{background:var(--gold)}
img{max-width:100%;height:auto;display:block}
a{transition:color .2s}

/* ── УТИЛИТЫ ── */
.container{max-width:1240px;margin:0 auto;padding:0 40px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin-bottom:16px}
.eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);flex-shrink:0}
.section-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:5px 16px;margin-bottom:18px}
h2.title{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,6vw,88px);line-height:.95;letter-spacing:.02em;color:var(--white);margin-bottom:20px}
h2.title em{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);font-size:.9em}
.subtitle{font-size:15px;color:var(--muted);line-height:1.75;max-width:500px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb .cur{color:var(--gold)}
.breadcrumb-sep{color:rgba(255,255,255,.2)}

/* ── КНОПКИ ── */
.btn{display:inline-block;text-decoration:none;font-family:'Raleway',sans-serif;font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:15px 36px;transition:all .25s;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold2);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.3)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-outline-gold{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.btn-outline-gold:hover{background:var(--gold);color:var(--navy)}
.btn-sm{padding:10px 24px;font-size:10px}

/* ── TOPBAR ── */
.topbar{background:rgba(4,13,26,.98);border-bottom:1px solid var(--border2);padding:9px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px;font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--muted)}
.topbar a{color:var(--muted);text-decoration:none;transition:color .2s}
.topbar a:hover{color:var(--gold)}
.topbar-divider{width:1px;height:12px;background:var(--border2)}

/* ── ХЕДЕР ── */
header{position:fixed;top:38px;left:0;right:0;z-index:200;transition:all .35s}
header.stuck{top:0;background:rgba(4,13,26,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1240px;margin:0 auto;padding:0 40px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{text-decoration:none;display:flex;align-items:baseline;gap:10px}
.logo-name{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:.08em;color:var(--white);transition:color .2s}
.logo-name:hover{color:var(--gold)}
.logo-dot{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--gold)}
/* WP меню */
.site-nav{display:flex;align-items:center;gap:0}
.site-nav ul{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.site-nav li a{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;padding:8px 16px;transition:color .2s;display:block}
.site-nav li a:hover,.site-nav li.current-menu-item a,.site-nav li.current-page-ancestor a{color:var(--white)}
.site-nav li.current-menu-item a{color:var(--gold)}
.site-nav li.menu-cta a{background:var(--gold);color:var(--navy);padding:10px 24px;margin-left:8px}
.site-nav li.menu-cta a:hover{background:var(--gold2)}
.header-tel{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.06em;color:var(--white);text-decoration:none;transition:color .2s}
.header-tel:hover{color:var(--gold)}
/* мобильное меню-бургер */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);transition:all .3s}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── HERO BREADCRUMB ── */
.page-hero{padding:160px 0 72px;border-bottom:1px solid var(--border2);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:0;right:0;width:45%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(212,168,67,.03) 100%);pointer-events:none}
.page-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:6px 16px;margin-bottom:20px}
.page-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(64px,8vw,112px);line-height:.9;letter-spacing:.03em;color:var(--white);margin-bottom:12px}
.page-title em{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);display:block;font-size:.72em;letter-spacing:.01em;line-height:1.05}
.page-lead{font-size:16px;color:rgba(255,255,255,.5);line-height:1.8;max-width:580px}

/* ── ОТЗЫВЫ (общее) ── */
.review-card{background:var(--navy3);padding:36px;position:relative}
.review-quote{font-family:'Playfair Display',serif;font-size:80px;color:rgba(212,168,67,.1);position:absolute;top:16px;right:24px;line-height:1;font-style:italic}
.review-stars{display:flex;gap:4px;margin-bottom:18px}
.star{color:var(--gold);font-size:15px}
.review-text{font-size:14px;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:24px;font-style:italic}
.review-author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--border2)}
.review-avatar{width:44px;height:44px;background:var(--gold3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--gold);flex-shrink:0}
.review-name{font-size:14px;font-weight:700;color:var(--white)}
.review-source{font-size:11px;color:var(--muted)}

/* ── CTA СЕКЦИЯ (общая) ── */
.cta-section{position:relative;padding:100px 0;overflow:hidden}
.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.25}
.cta-overlay{position:absolute;inset:0;background:rgba(4,13,26,.78)}
.cta-inner{position:relative;z-index:2;text-align:center;max-width:720px;margin:0 auto;padding:0 40px}
.cta-inner .eyebrow{justify-content:center}
.cta-inner .eyebrow::before{display:none}
.cta-h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(52px,6vw,88px);line-height:.92;letter-spacing:.04em;margin-bottom:20px}
.cta-h2 em{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold)}
.cta-p{font-size:15px;color:rgba(255,255,255,.5);line-height:1.75;margin-bottom:36px}
.cta-phone{font-family:'Bebas Neue',sans-serif;font-size:52px;letter-spacing:.06em;color:var(--gold);display:block;text-decoration:none;margin-bottom:4px;line-height:1;transition:color .2s}
.cta-phone:hover{color:var(--gold2)}
.cta-phone-sub{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;background:rgba(4,13,26,.97);z-index:1000;display:none;align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lb-img{max-width:92vw;max-height:85vh;object-fit:contain}
.lb-close{position:absolute;top:22px;right:28px;font-size:26px;color:var(--muted);cursor:pointer;background:none;border:none;transition:color .2s;line-height:1}
.lb-close:hover{color:var(--gold)}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(4,13,26,.6);border:1px solid var(--border2);width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--muted);cursor:pointer;transition:all .2s}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-prev:hover,.lb-next:hover{border-color:var(--gold);color:var(--gold)}
.lb-counter{position:absolute;bottom:20px;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--muted)}

/* ── STICKY BOTTOM BAR ── */
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:250;background:var(--navy2);border-top:1px solid var(--border);transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);pointer-events:none}
.sticky-bar.visible{transform:translateY(0);pointer-events:all}
.sb-inner{max-width:1240px;margin:0 auto;padding:0 40px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sb-name{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.04em;color:var(--white)}
.sb-stars{color:var(--gold);font-size:12px}
.sb-spec{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}
.sb-price{font-family:'Bebas Neue',sans-serif;font-size:26px;color:var(--gold);letter-spacing:.04em}
.sb-price-sub{font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* ── FAQ ── */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--border2)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;gap:16px}
.faq-q-text{font-size:15px;font-weight:600;color:var(--white);transition:color .2s}
.faq-q:hover .faq-q-text{color:var(--gold)}
.faq-icon{width:24px;height:24px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gold);flex-shrink:0;transition:transform .2s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{display:none;padding:0 0 20px;font-size:13px;color:var(--muted);line-height:1.8}
.faq-item.open .faq-a{display:block}

/* ── FOOTER ── */
footer{background:#030a14;padding:80px 0 0}
.footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.6fr;gap:56px;padding-bottom:60px}
.footer-brand{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:.08em;color:var(--white);margin-bottom:4px}
.footer-tagline{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-about{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:24px}
.footer-socials{display:flex;gap:10px}
.footer-social{width:38px;height:38px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);text-decoration:none;transition:all .2s}
.footer-social:hover{border-color:var(--gold);color:var(--gold)}
footer h4{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:.1em;color:var(--white);margin-bottom:22px}
/* WP nav в футере */
.footer-nav ul{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}
.footer-nav ul li a{font-size:13px;color:var(--muted);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:8px}
.footer-nav ul li a::before{content:'—';font-size:10px;color:var(--border);transition:color .2s;flex-shrink:0}
.footer-nav ul li a:hover{color:var(--cream)}
.footer-nav ul li a:hover::before{color:var(--gold)}
.footer-contact-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}
.fc-icon{color:var(--gold);font-size:14px;margin-top:2px;flex-shrink:0}
.fc-text{font-size:13px;color:var(--muted);line-height:1.65}
.fc-text a{color:var(--muted);text-decoration:none;transition:color .2s}
.fc-text a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid var(--border2);padding:22px 0;font-size:11px;color:rgba(255,255,255,.2)}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom a{color:rgba(255,255,255,.2);text-decoration:none;transition:color .2s}
.footer-bottom a:hover{color:var(--gold)}
.footer-bottom-links{display:flex;gap:24px}

/* ── АДАПТИВ ОБЩИЙ ── */
@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media(max-width:768px){
  header{top:0}
  .topbar{display:none}
  .nav-toggle{display:flex}
  .site-nav{display:none;position:fixed;inset:76px 0 0;background:rgba(4,13,26,.98);flex-direction:column;padding:32px 40px;overflow-y:auto;z-index:199}
  .site-nav.open{display:flex}
  .site-nav ul{flex-direction:column;gap:0;width:100%}
  .site-nav li a{font-size:16px;padding:16px 0;border-bottom:1px solid var(--border2)}
  .site-nav li.menu-cta a{background:none;color:var(--gold);margin:0;border-bottom-color:var(--gold)}
  .container{padding:0 24px}
  .footer-top{grid-template-columns:1fr}
  .sb-inner{flex-wrap:wrap;height:auto;padding:12px 24px;gap:10px}
}
