:root{
      --ink:#0B0C08;
      --ink-2:#17150F;
      --pine:#183A2F;
      --pine-2:#2D5A48;
      --honey:#FFC65A;
      --honey-2:#E99D23;
      --terracotta:#C96A32;
      --wood:#8B5A35;
      --cream:#FFF7E8;
      --sand:#F2E1C3;
      --mist:#F7F4EC;
      --white:#FFFFFF;
      --muted:#71695D;
      --line:rgba(23,21,15,.12);
      --shadow:0 30px 80px rgba(16,12,4,.16);
      --radius:28px;
      --header-h:78px;
      --maxw:1180px;
    }

    *{box-sizing:border-box;min-width:0}
    *::before,*::after{box-sizing:border-box;min-width:0}
    html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 14px);-webkit-text-size-adjust:100%}
    body{
      min-width:320px;
      margin:0;
      overflow-x:hidden;
      font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
      color:var(--ink);
      background:linear-gradient(180deg,#fffaf0 0%,#f6efe2 46%,#fffaf0 100%);
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      z-index:-2;
      pointer-events:none;
      opacity:.65;
      background:
        radial-gradient(circle at 7% 18%,rgba(255,198,90,.28),transparent 28rem),
        radial-gradient(circle at 88% 8%,rgba(45,90,72,.16),transparent 24rem),
        radial-gradient(circle at 90% 74%,rgba(201,106,50,.14),transparent 28rem),
        url("../image/honeycomb-pattern.svg");
    }
    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
    button,input,textarea,select{font:inherit}
    input,select,textarea{font-size:16px}

    .container{width:min(var(--maxw),calc(100% - 40px));margin-inline:auto}
    .section{position:relative;padding:50px 0}
    .section-head{display:grid;grid-template-columns:1fr .72fr;gap:40px;align-items:end;margin-bottom:48px}
    .section-head p{font-size:18px}

    h1,h2,h3{
      margin:0;
      font-family:'Unbounded','Manrope',sans-serif;
      letter-spacing:-.04em;
      line-height:1.02;
    }
    h1{max-width:1120px;font-size:clamp(46px,6vw,104px);color:#fff7df}
    h2{font-size:clamp(34px,3.5vw,66px);color:var(--ink-2)}
    h3{font-size:clamp(20px,1.9vw,30px);color:var(--ink-2)}
    p{margin:0;color:var(--muted);line-height:1.75}
    .lead{max-width:900px;font-size:18px;color:rgba(255,247,232,.82)}

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:9px 14px;
      border:1px solid rgba(255,198,90,.42);
      border-radius:999px;
      background:rgba(255,255,255,.08);
      color:#f8df9b;
      font-size:13px;
      font-weight:800;
      letter-spacing:.08em;
      line-height:1.35;
      text-transform:uppercase;
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
    }
    .eyebrow.dark{color:var(--pine);background:rgba(255,255,255,.74);border-color:rgba(24,58,47,.12)}
    .dot{width:8px;height:8px;flex:0 0 8px;border-radius:99px;background:var(--honey);box-shadow:0 0 18px rgba(255,198,90,.8)}
    .accent{color:var(--honey)}
    .accent-dark{color:var(--terracotta)}

    .btn{
      /*min-height:56px;*/
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:16px;
      border:0;
      border-radius:999px;
      font-weight:900;
      line-height:1.2;
      white-space:nowrap;
      cursor:pointer;
      transition:.28s ease;
    }
    .btn svg{width:19px;height:19px;flex:0 0 auto}
    .btn-primary{
      color:#151005;
      background:linear-gradient(135deg,#ffe08a 0%,#ffc65a 40%,#e99d23 100%);
      box-shadow:0 18px 34px rgba(233,157,35,.35),inset 0 1px 0 rgba(255,255,255,.55);
    }
    .btn-primary:hover{transform:translateY(-3px);box-shadow:0 24px 48px rgba(233,157,35,.45)}
    .btn-secondary{color:#fff6db;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
    .btn-secondary:hover{transform:translateY(-3px);background:rgba(255,255,255,.14)}
    .btn-dark{color:var(--cream);background:var(--ink);box-shadow:0 18px 42px rgba(11,12,8,.22)}
    .btn-dark:hover{transform:translateY(-3px)}
    .btn-light{background:#fff;color:var(--pine);border:1px solid var(--line)}
    .pill{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(23,21,15,.08);font-size:13px;font-weight:800;color:var(--pine)}

    .site-header{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:50;
      height:var(--header-h);
      background:rgba(11,12,8,.28);
      border-bottom:1px solid rgba(255,255,255,.08);
      backdrop-filter:blur(24px);
      -webkit-backdrop-filter:blur(24px);
      transition:.25s ease;
    }
    .site-header.scrolled{background:rgba(11,12,8,.88);box-shadow:0 14px 48px rgba(0,0,0,.18)}
    .nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand{display:flex;align-items:center;color:#fff}
    .brand-logo{width:86px;height:52px;object-fit:contain;box-shadow:0 12px 26px rgba(0,0,0,.26)}
    .menu{display:flex;align-items:center;gap:28px;color:rgba(255,255,255,.82);font-size:13px;font-weight:800}
    .menu a{position:relative}
    .menu a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--honey);transform:scaleX(0);transform-origin:left;transition:.22s}
    .menu a:hover::after{transform:scaleX(1)}
    .header-actions{display:flex;align-items:center;gap:12px}
    .phone{color:#fff;font-size:14px;font-weight:900}
    .menu-btn{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.12);color:#fff}

    .mobile-menu{
      display:none;
      position:fixed;
      top:calc(var(--header-h) + 10px);
      left:12px;
      right:12px;
      z-index:49;
      max-height:calc(100svh - var(--header-h) - 24px);
      overflow:auto;
      grid-template-columns:1fr;
      gap:6px;
      padding:12px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:24px;
      background:rgba(11,12,8,.88);
      box-shadow:0 24px 70px rgba(0,0,0,.38);
      backdrop-filter:blur(22px);
      -webkit-backdrop-filter:blur(22px);
    }
    .mobile-menu.open{display:grid}
    .mobile-menu a{min-height:44px;padding:11px 13px;border-radius:15px;color:#fff;font-size:14px;font-weight:600;line-height:1.2}
    .mobile-menu a:hover{background:rgba(255,255,255,.08)}
    .mobile-menu-divider{height:1px;margin:6px 3px;background:rgba(255,255,255,.12)}
    .mobile-menu .mobile-menu-contact{display:flex;align-items:center;gap:10px;padding:10px;color:#fff7df;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
    .mobile-menu-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:50%;color:#151005;background:linear-gradient(135deg,#ffe08a,#ffc65a);box-shadow:0 10px 26px rgba(255,198,90,.24)}
    .mobile-menu-icon svg{width:18px;height:18px}
    .mobile-menu-contact small{display:block;margin-bottom:3px;color:rgba(255,247,232,.6);font-size:11px;font-weight:800}
    .mobile-menu-contact strong{display:block;color:#fff7df;font-size:14px;font-weight:900;line-height:1.25}
    .mobile-menu .mobile-menu-booking{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:4px;padding:13px 16px;border-radius:999px;color:#151005;font-weight:900;background:linear-gradient(135deg,#ffe08a 0%,#ffc65a 45%,#e99d23 100%);box-shadow:0 16px 34px rgba(233,157,35,.28)}

    .hero{
      min-height:100svh;
      display:grid;
      align-items:center;
      position:relative;
      overflow:hidden;
      padding:calc(var(--header-h) + 52px) 0 44px;
      color:#fff;
  background:
    linear-gradient(90deg, rgba(7, 10, 7, 0.86) 0%, rgba(7, 10, 7, 0.68) 34%, rgba(7, 10, 7, 0.30) 62%, rgba(7, 10, 7, 0.16) 100%),
    linear-gradient(180deg, rgba(7, 10, 7, 0.28) 0%, rgba(7, 10, 7, 0.08) 42%, rgba(7, 10, 7, 0.62) 100%),
    url("../image/18.jpg") 48% center / cover no-repeat !important;
    }
	
	@media (max-width: 720px) {
  .hero {
	   min-height:100svh;
      display:grid;
      align-items:center;
      position:relative;
      overflow:hidden;
      padding:calc(var(--header-h) + 52px) 0 44px;
      color:#fff;
    background:
      linear-gradient(90deg, rgba(7, 10, 7, 0.88) 0%, rgba(7, 10, 7, 0.70) 46%, rgba(7, 10, 7, 0.32) 72%, rgba(7, 10, 7, 0.16) 100%),
      linear-gradient(180deg, rgba(7, 10, 7, 0.48) 0%, rgba(7, 10, 7, 0.18) 42%, rgba(7, 10, 7, 0.80) 100%),
      url("../image/18.jpg") 18% center / cover no-repeat !important;
  }
}
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      opacity:.8;
      background:
        radial-gradient(circle at 74% 24%,rgba(255,198,90,.18),transparent 28rem),
        radial-gradient(circle at 12% 90%,rgba(201,106,50,.24),transparent 24rem),
        url("../image/honeycomb-pattern.svg");
    }
    .hero::after{content:"";position:absolute;inset:auto -8% -22% -8%;height:38%;background:linear-gradient(180deg,transparent,rgba(255,250,240,.92));filter:blur(18px)}
    .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:42px;align-items:center}
    .hero-copy{display:flex;flex-direction:column;align-items:stretch;gap:28px;width:100%}
    .hero-copy > .eyebrow{
      width:100%;
      display:grid;
      grid-template-columns:8px minmax(0,1fr) 8px;
      align-items:center;
      justify-items:center;
      gap:16px;
      padding:12px 22px;
      text-align:center;
      white-space:normal;
    }
    .hero-copy > .eyebrow .dot{justify-self:center}
    .hero-copy .lead{max-width:900px;font-size:18px;line-height:1.55;letter-spacing:-.03em;color:rgba(255,247,223,.92);font-weight:500}
    .hero-copy .lead strong{color:var(--honey);font-weight:900}
    .hero-copy > p:not(.lead){max-width:920px;color:rgba(255,247,232,.74);font-size:clamp(16px,1.35vw,19px);line-height:1.75;font-weight:500;letter-spacing:-.01em}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;max-width:920px;margin-top:4px}
    .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:920px;margin-top:12px}
    .stat{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
    .stat strong{display:block;color:#fff7de;font-family:'Unbounded';font-size:clamp(22px,2.4vw,32px);letter-spacing:-.04em}
    .stat span{display:block;margin-top:5px;color:rgba(255,255,255,.62);font-size:13px;font-weight:700;line-height:1.45}

    .marquee{position:relative;z-index:3;margin-top:30px;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
    .marquee-track{display:flex;width:max-content;animation:marquee 36s linear infinite}
    .marquee span{display:inline-flex;align-items:center;gap:14px;padding:16px 28px;color:rgba(255,247,232,.78);font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
    .marquee i{width:8px;height:8px;border-radius:50%;background:var(--honey)}
    @keyframes marquee{to{transform:translateX(-50%)}}

    .card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .card{position:relative;min-height:250px;overflow:hidden;padding:28px;border:1px solid rgba(23,21,15,.08);border-radius:var(--radius);background:rgba(255,255,255,.74);box-shadow:0 20px 60px rgba(89,65,24,.08);transition:.28s ease}
    .card:hover{transform:translateY(-6px);box-shadow:0 30px 80px rgba(89,65,24,.14)}
    .card::after{content:"";position:absolute;right:-36px;top:-42px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,198,90,.28),transparent 68%)}
    .icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:24px;border-radius:20px;background:linear-gradient(135deg,rgba(255,198,90,.9),rgba(201,106,50,.88));box-shadow:0 16px 34px rgba(201,106,50,.2)}
    .icon svg{width:30px;height:30px;stroke:#151005}
    .card h3{margin-bottom:12px;font-size:22px}
    .card p{font-size:15px}

    .about-wrap{display:grid;grid-template-columns:.92fr 1fr;gap:44px;align-items:center}
    .image-panel{position:relative;padding:18px;border-radius:42px/*;background:linear-gradient(135deg,rgba(255,198,90,.8),rgba(24,58,47,.9));box-shadow:var(--shadow)*/}
    .image-panel img{width:100%;height:660px;object-fit:cover;border-radius:30px}
    .image-panel .mini{position:absolute;right:-18px;bottom:52px;width:220px;padding:14px;border-radius:28px;background:#2f473b;box-shadow:0 28px 60px rgba(0,0,0,.25)}
    .image-panel .mini img{height:auto;border-radius:8px}
    .content-list{display:grid;gap:16px;margin-top:15px}
    .content-item,.content-item1,.content-item2{display:grid;align-items:center;gap:16px;padding:10px;border:1px solid rgba(23,21,15,.08);border-radius:22px;background:rgba(255,255,255,.7)}
    .content-item{grid-template-columns:54px 1fr}
    .content-item1{grid-template-columns:14px 1fr}
    .content-item2{grid-template-columns:230px 1fr}
    .number{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--pine);color:var(--honey);font-family:'Unbounded';font-weight:900}
    .number1{min-height:54px;display:grid;place-items:center;padding:8px 20px 10px;border-radius:18px;background:var(--pine);color:#fcf3d9;font-family:'Unbounded';font-weight:900}

    .dark-section{overflow:hidden;background:linear-gradient(135deg,#0b0c08 0%,#183a2f 100%);color:#fff}
    .dark-section::before{content:"";position:absolute;inset:0;opacity:.7;background:url("../image/honeycomb-pattern.svg"),radial-gradient(circle at 10% 10%,rgba(255,198,90,.16),transparent 24rem)}
    .dark-section .container{position:relative;z-index:2}
    .dark-section h2,.dark-section h3{color:#fff7df}
    .dark-section p{color:rgba(255,247,232,.7)}
    .process{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:42px}
    .step{min-height:260px;padding:26px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.08)}
    .step b{width:42px;height:42px;display:inline-grid;place-items:center;margin-bottom:24px;border-radius:15px;background:var(--honey);color:#111;font-family:'Unbounded'}
    .step h3{margin-bottom:12px;font-size:20px}
    .step p{font-size:14px}

    .formats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .format{display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid rgba(23,21,15,.08);border-radius:34px;background:rgba(255,255,255,.82);box-shadow:0 24px 70px rgba(89,65,24,.1)}
    .format.featured{transform:translateY(-14px);background:linear-gradient(135deg,#0b0c08,#183a2f);color:#fff}
    .format.featured h3,.format.featured .price{color:#fff7df}
    .format.featured p,.format.featured li{color:rgba(255,247,232,.74)}
    .format-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
    .tag{padding:7px 10px;border-radius:999px;background:rgba(255,198,90,.25);color:var(--terracotta);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
    .featured .tag{background:rgba(255,198,90,.18);color:var(--honey)}
    .price{color:var(--ink);font-family:'Unbounded';font-size:42px;letter-spacing:-.05em}
    .price small{color:var(--muted);font-family:'Manrope';font-size:14px;font-weight:800}
    .featured .price small{color:rgba(255,247,232,.55)}
    .format ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
    .format li{position:relative;padding-left:26px;color:var(--muted);line-height:1.55}
    .format li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:3px;background:var(--honey);transform:rotate(45deg)}
    .format .btn{width:100%;margin-top:auto}

    .safety{display:grid;grid-template-columns:.8fr 1fr;gap:34px;align-items:start}
    .notice{position:sticky;top:102px;padding:22px 32px;border:1px solid rgba(233,157,35,.22);border-radius:34px;background:linear-gradient(135deg,#fff 0%,#fff1d0 100%);box-shadow:var(--shadow)}
    .check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
    .check{padding:22px;border:1px solid rgba(23,21,15,.08);border-radius:24px;background:rgba(255,255,255,.76)}
    .check strong{display:flex;gap:10px;align-items:center;margin-bottom:8px;color:var(--pine);font-weight:900}
    .check strong svg{width:20px;height:20px;stroke:var(--terracotta)}
    .check p{font-size:15px}

    .franchise-box{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr .9fr;gap:30px;align-items:center;padding:46px;border-radius:42px;background:linear-gradient(135deg,#183a2f 0%,#0b0c08 100%);color:#fff;box-shadow:0 34px 90px rgba(11,12,8,.25)}
    .franchise-box::before{content:"";position:absolute;right:-120px;top:-110px;width:360px;height:360px;border-radius:50%;background:rgba(255,198,90,.16)}
    .franchise-box h2,.franchise-box h3{color:#fff7df}
    .franchise-box p{color:rgba(255,247,232,.72)}
    .metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
    .metric{padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(255,255,255,.08)}
    .metric strong{display:block;margin-bottom:7px;color:var(--honey);font-family:'Unbounded';font-size:28px}
    .metric span{color:rgba(255,247,232,.66);font-size:14px;font-weight:700;line-height:1.5}

    .faq{display:grid;grid-template-columns:.62fr 1fr;gap:36px}
    .accordion{display:grid;gap:12px}
    .faq-item{overflow:hidden;border:1px solid rgba(23,21,15,.08);border-radius:24px;background:rgba(255,255,255,.78)}
    .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:0;background:transparent;color:var(--ink);font-weight:900;text-align:left;cursor:pointer}
    .faq-q span{font-size:18px}
    .faq-q i{position:relative;width:28px;height:28px;flex:0 0 28px;border-radius:99px;background:var(--honey)}
    .faq-q i::before,.faq-q i::after{content:"";position:absolute;left:8px;right:8px;top:13px;height:2px;background:#111}
    .faq-q i::after{transform:rotate(90deg);transition:.2s}
    .faq-item.open .faq-q i::after{transform:rotate(0)}
    .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease}
    .faq-a p{padding:0 24px 24px}
    .faq-item.open .faq-a{max-height:900px}

    .contact-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
    .forms-stack{display:grid;gap:22px}
    .form-card{padding:34px;border:1px solid rgba(23,21,15,.08);border-radius:38px;background:rgba(255,255,255,.82);box-shadow:var(--shadow)}
    .lead-form{height:100%;display:flex;flex-direction:column}
    .lead-form .form-grid{flex:0 0 auto}
    .lead-form .form-submit{margin-top:auto}
    .lead-form .consent{margin:12px 0 0}
    .lead-form .consent + .consent{margin-top:10px;margin-bottom:18px}

    .form-title{margin-bottom:22px}
    .form-title h3{margin:8px 0 10px;color:var(--ink-2)}
    .form-title p{color:var(--muted);font-size:15px;line-height:1.65}
    .form-kicker{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,198,90,.22);color:var(--terracotta);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .field{display:grid;gap:8px}
    .field.full{grid-column:1/-1}
    .field label{color:var(--pine);font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
    .field label span,.consent b{color:#d83a2e}
    .field input,.field select,.field textarea{width:100%;padding:15px 16px;border:1px solid rgba(23,21,15,.12);border-radius:18px;background:#fffdf8;color:var(--ink);outline:none;transition:.2s}
    .field textarea{min-height:128px;resize:vertical}
    .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--honey-2);box-shadow:0 0 0 4px rgba(255,198,90,.18)}
    .field input.is-invalid,.field select.is-invalid,.field textarea.is-invalid{border-color:#d83a2e;background:#fff7f5;box-shadow:0 0 0 4px rgba(216,58,46,.13)}
    .consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0 22px;color:var(--muted);font-size:13px;line-height:1.55}
    .consent input{margin-top:3px;flex:0 0 auto}
    .consent a{color:var(--pine);font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
    .consent.is-invalid{margin:10px 0;padding:12px;border:1px solid rgba(216,58,46,.28);border-radius:16px;background:rgba(216,58,46,.07);color:#9f241d}
    .form-submit{width:100%;margin-top:2px}
    .form-submit:disabled{cursor:wait;opacity:.72;transform:none}
    .form-message{display:none;margin-top:14px;padding:14px 16px;border-radius:18px;font-size:14px;font-weight:900;line-height:1.5}
    .form-message.show{display:block}
    .form-message.success{color:#0f5c2a;background:rgba(87,214,123,.16);border:1px solid rgba(87,214,123,.38)}
    .form-message.error{color:#9f241d;background:rgba(216,58,46,.11);border:1px solid rgba(216,58,46,.3)}

    .reviews-head{display:grid;grid-template-columns:1fr .72fr;gap:40px;align-items:end;margin-bottom:42px}
    .reviews-head h2{margin-top:18px}
    .reviews-head p{color:var(--muted);font-size:18px}
    .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .review-card{position:relative;min-height:310px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border:1px solid rgba(23,21,15,.08);border-radius:32px;background:rgba(255,255,255,.78);box-shadow:0 24px 70px rgba(89,65,24,.1)}
    .review-card::before{content:"“";position:absolute;right:24px;top:8px;color:rgba(255,198,90,.18);font-family:'Unbounded','Manrope',sans-serif;font-size:120px;line-height:1;pointer-events:none}
    .review-card-main{transform:translateY(-12px);background:linear-gradient(135deg,#0b0c08,#183a2f);color:#fff}
    .review-card-main::before{color:rgba(255,198,90,.2)}
    .review-stars{margin-bottom:24px;color:var(--honey-2);font-size:16px;font-weight:900;letter-spacing:.18em}
    .review-card-main .review-stars{color:var(--honey)}
    .review-text{position:relative;z-index:1;color:var(--ink-2);font-size:clamp(17px,1.2vw,20px);font-weight:700;line-height:1.65;letter-spacing:-.02em}
    .review-card-main .review-text{color:rgba(255,247,232,.92)}
    .review-author{position:relative;z-index:1;margin-top:28px;padding-top:18px;border-top:1px solid rgba(23,21,15,.1)}
    .review-card-main .review-author{border-top-color:rgba(255,255,255,.14)}
    .review-author strong{display:block;color:var(--pine);font-size:17px;font-weight:900}
    .review-card-main .review-author strong{color:#fff7df}
    .review-author span{display:block;margin-top:5px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.45}
    .review-card-main .review-author span{color:rgba(255,247,232,.62)}

    .contacts-section{padding:50px 0 0;background:#fffaf0}
    .contacts-card{max-width:100%;margin:30px auto;padding:32px;/*border-radius:16px;*/background:#f9efdd;box-shadow:0 10px 30px rgba(2,6,23,.06);text-align:center}
    .contacts-card p{font-size:16px;line-height:1.65}
    .contacts-card a{font-weight:800;color:var(--pine);border-bottom:1px solid rgba(24,58,47,.25)}
    .full-map-card{width:100%;height:460px;overflow:hidden;background:#f2e1c3;border-top:1px solid rgba(23,21,15,.08);border-bottom:1px solid rgba(23,21,15,.08)}
    .yandex-map{width:100%;height:100%;min-height:460px}

    .footer{padding:40px 0;background:#0b0c08;color:#fff}
    .footer-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
    .footer p{color:rgba(255,255,255,.55);font-size:13px}
    .footer a{color:rgba(255,255,255,.72);font-weight:800}
    .footer-links{display:flex;gap:18px;color:rgba(255,255,255,.72);font-size:13px;font-weight:800}

    /*#floating-buttons{position:fixed;right:24px;bottom:24px;z-index:999;display:flex;flex-direction:column;gap:12px}
    .float-btn{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(255,198,90,.28);border-radius:50%;background:rgba(24,58,47,.58);color:#fff7df;box-shadow:0 16px 36px rgba(11,12,8,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:.25s ease}
    .float-btn:hover{transform:translateY(-4px);background:rgba(24,58,47,.86);border-color:rgba(255,198,90,.62);box-shadow:0 22px 46px rgba(11,12,8,.32)}
    .float-up{opacity:0;pointer-events:none;background:rgba(11,12,8,.48)}
    .float-up.visible{opacity:1;pointer-events:auto}
    .float-call{background:rgba(233,157,35,.62);color:#151005}
    .float-call:hover{background:rgba(255,198,90,.9)}
    .float-tg{background:rgba(45,90,72,.62)}*/

    .reveal{opacity:0;transform:translateY(24px);transition:.7s ease}
    .reveal.visible{opacity:1;transform:none}

    @media (max-width:1180px){
      .container{width:min(100% - 32px,var(--maxw))}
      .menu{gap:18px;font-size:13px}
      .card-grid{grid-template-columns:repeat(2,1fr)}
      .process{grid-template-columns:repeat(3,1fr)}
    }

    @media (max-width:1040px){
      .site-header{background:rgba(11,12,8,.72)}
      .menu{display:none}
      .menu-btn{display:grid;place-items:center}
      .phone,.header-actions .btn{display:none!important}
      .section-head,.reviews-head{grid-template-columns:1fr;gap:18px;margin-bottom:30px}
      .about-wrap,.safety,.franchise-box,.faq{grid-template-columns:1fr}
      .notice{position:relative;top:auto}
      .formats,.reviews-grid{grid-template-columns:1fr}
      .format.featured,.review-card-main{transform:none}
    }

    @media (max-width:760px){
      :root{--header-h:66px;--radius:24px}
      .container{width:min(100% - 24px,var(--maxw))}
      h1{font-size:clamp(34px,10.2vw,48px);line-height:1.04;letter-spacing:-.055em}
      h2{font-size:clamp(27px,7.8vw,39px);line-height:1.08;letter-spacing:-.05em}
      h3{font-size:clamp(18px,5.2vw,23px);line-height:1.16}
      p{font-size:15px;line-height:1.68}
      .section{padding:38px 0}
      .eyebrow{max-width:100%;gap:7px;padding:8px 11px;font-size:10px;line-height:1.35;letter-spacing:.055em;white-space:normal}
      .dot{width:7px;height:7px;flex-basis:7px}
      .btn{min-height:48px;padding:13px 18px;font-size:14px;white-space:normal;text-align:center}
      .brand-logo{width:72px;height:44px;box-shadow:0 10px 22px rgba(0,0,0,.22)}
      .menu-btn{width:42px;height:42px;border-radius:14px}
      .hero{min-height:auto;padding:calc(var(--header-h) + 30px) 0 28px;align-items:start}
      .hero::after{height:24%;filter:blur(12px)}
      .hero-copy{gap:18px}
      .hero-copy > .eyebrow{grid-template-columns:7px minmax(0,1fr) 7px;gap:8px;padding:10px 12px;border-radius:20px;font-size:10px;letter-spacing:.045em}
      .hero-copy .lead{max-width:100%;font-size:16px;line-height:1.58;letter-spacing:-.015em}
      .hero-copy > p:not(.lead){max-width:100%;font-size:15px;line-height:1.66;color:rgba(255,247,232,.78)}
      .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:2px}
      .hero-actions .btn{width:100%}
      .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
      .stat{padding:13px;border-radius:18px}
      .stat strong{font-size:24px}
      .stat span{font-size:12px;line-height:1.35}
      .marquee{margin-top:18px}
      .marquee span{padding:12px 18px;font-size:11px;gap:10px}
      .card-grid,.process,.check-grid,.metrics,.form-grid{grid-template-columns:1fr}
      .card,.step,.format,.check,.metric,.review-card{min-height:auto;padding:22px;border-radius:24px}
      .card h3{font-size:19px}
      .card p,.step p,.check p{font-size:14px!important}
      .icon{width:48px;height:48px;margin-bottom:16px;border-radius:17px}
      .icon svg{width:25px;height:25px}
      .content-list{gap:12px;margin-top:22px}
      .content-item,.content-item1,.content-item2{grid-template-columns:1fr;gap:12px;padding:16px;border-radius:20px}
      .content-item{grid-template-columns:44px 1fr;align-items:start}
      .number{width:44px;height:44px;border-radius:15px;font-size:13px}
      .number1{width:100%;min-height:44px;height:auto;justify-items:start;padding:10px 14px;border-radius:15px;font-size:13px;line-height:1.25}
      .image-panel{padding:10px;border-radius:28px}
      .image-panel img{height:320px;border-radius:22px}
      .image-panel .mini{display:none}
      .process{gap:12px;margin-top:28px}
      .step b{width:38px;height:38px;margin-bottom:16px;border-radius:14px}
      .format-top{flex-direction:column;gap:10px}
      .price{font-size:34px}
      .notice,.franchise-box,.form-card,.contacts-card{padding:24px;border-radius:26px}
      .franchise-box::before{width:240px;height:240px;right:-130px;top:-110px}
      .faq-q{padding:18px;gap:14px}
      .faq-q span{font-size:15px;line-height:1.35}
      .faq-q i{width:26px;height:26px;flex-basis:26px}
      .faq-a p{padding:0 18px 18px;font-size:14px}
      .forms-stack{gap:16px}
      .lead-form + .lead-form{margin-top:16px}
      .form-card br{display:none}
      .form-title{margin-bottom:16px}
      .field{gap:6px}
      .field label{font-size:11px;letter-spacing:.05em}
      .field input,.field select,.field textarea{min-height:48px;padding:13px 14px;border-radius:15px}
      .field textarea{min-height:108px}
      .consent{gap:9px;margin:12px 0;font-size:12px;line-height:1.45}
      .consent input{width:18px;height:18px}
      .form-message{padding:12px 14px;font-size:13px}
      .review-card::before{right:16px;top:6px;font-size:86px}
      .review-stars{margin-bottom:16px;font-size:14px}
      .review-text{font-size:16px;line-height:1.55}
      .review-author{margin-top:20px;padding-top:14px}
      .contacts-section{padding-top:38px}
      .contacts-card{width:min(100% - 24px,700px);margin:0 auto 24px;text-align:center}
      .contacts-card p{font-size:14px;line-height:1.55;overflow-wrap:anywhere}
      .contacts-card a{overflow-wrap:anywhere}
      .full-map-card,.yandex-map{height:340px;min-height:340px}
      .footer{padding:30px 0}
      .footer [style*="justify-content:space-between"]{flex-direction:column!important;align-items:flex-start!important}
      .footer [style*="display:flex"]{gap:10px!important}
      .footer-links{width:100%;flex-wrap:wrap;gap:10px 14px}
      #floating-buttons{display:none!important}
      .reveal{transform:translateY(14px)}
    }

    @media (max-width:420px){
      .container{width:min(100% - 20px,var(--maxw))}
      h1{font-size:clamp(31px,10.5vw,40px)}
      h2{font-size:clamp(25px,8.3vw,34px)}
      .stat{padding:12px 10px}
      .stat strong{font-size:22px}
      .stat span{font-size:11.5px}
      .content-item{grid-template-columns:1fr}
      .number{width:auto;min-width:44px;justify-self:start;padding:0 14px}
      .image-panel img{height:270px}
      .price{font-size:30px}
      .contacts-card,.form-card,.notice,.franchise-box{padding:20px}
      .full-map-card,.yandex-map{height:300px;min-height:300px}
    }

    @media (hover:none){
      .card:hover,.btn:hover,.format:hover,.float-btn:hover{transform:none}
    }

    @media (prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
    }
	/* FIX: заголовок и "приватно" всегда рядом внутри карточки */
.format {
  overflow: hidden;
}

.format-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 8px !important;
  width: 100% !important;
}

.format-top h3 {
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  font-size: clamp(19px, 1.45vw, 25px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.045em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.format-top .tag {
  flex: none !important;
  justify-self: end !important;
  align-self: start !important;
  white-space: nowrap !important;
  max-width: none !important;
  padding: 7px 9px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  letter-spacing: 0.045em !important;
}

/* для узких экранов — всё равно рядом */
@media (max-width: 760px) {
  .format-top {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
  }

  .format-top h3 {
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.12 !important;
  }

  .format-top .tag {
    font-size: 10px !important;
    padding: 6px 8px !important;
  }
}
/* ===== Красивый блок: франшиза + онлайн-запись ===== */

.forms-section-head {
  max-width: 920px;
  margin-bottom: 34px;
}

.forms-section-head h2 {
  margin: 18px 0 16px;
}

.forms-section-head p {
  max-width: 760px;
  font-size: 18px;
}

.lead-forms-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
  gap: 22px;
  align-items: stretch;
}

.lead-forms-grid .form-card {
  height: 100%;
  padding: 28px;
  border-radius: 34px;
}

.franchise-form,
.booking-card {
  display: flex;
  flex-direction: column;
}

.compact-form-grid {
  gap: 12px;
}

.compact-form-grid .field input,
.compact-form-grid .field select {
  min-height: 48px;
  padding: 13px 14px;
  border-radius: 15px;
}

.compact-form-grid .field textarea {
  min-height: 86px;
  padding: 13px 14px;
  border-radius: 15px;
}

.franchise-form .consent {
  margin: 11px 0 0;
  font-size: 12px;
  line-height: 1.45;
}

.franchise-form .form-submit {
  margin-top: auto;
}

/* правая карточка онлайн-записи */

.booking-card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 198, 90, 0.22), transparent 190px),
    linear-gradient(135deg, rgba(11, 12, 8, 0.96), rgba(24, 58, 47, 0.96));
  color: #fff7df;
  border-color: rgba(255, 255, 255, 0.12);
}

.booking-card::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 198, 90, 0.13);
  pointer-events: none;
}

.booking-card .form-title,
.booking-card .booking-preview,
.booking-card .booking-options,
.booking-card .booking-benefits,
.booking-card .booking-main-btn,
.booking-card .booking-contact-row,
.booking-card .booking-note {
  position: relative;
  z-index: 1;
}

.booking-card h3 {
  color: #fff7df;
}

.booking-card .form-title p {
  color: rgba(255, 247, 232, 0.68);
}

.booking-preview {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  margin: 20px 0 16px;
  padding: 16px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.booking-preview-main strong {
  display: block;
  font-family: 'Unbounded', 'Manrope', sans-serif;
  font-size: 17px;
  color: #fff7df;
}

.booking-preview-main span {
  display: block;
  margin-top: 5px;
  color: rgba(255, 247, 232, 0.58);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

.booking-time {
  min-width: 118px;
  padding: 11px 12px;
  border-radius: 18px;
  background: rgba(255, 198, 90, 0.16);
  border: 1px solid rgba(255, 198, 90, 0.22);
  text-align: center;
}

.booking-time span {
  display: block;
  color: rgba(255, 247, 232, 0.58);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.booking-time strong {
  display: block;
  margin-top: 3px;
  color: var(--honey);
  font-size: 13px;
  font-weight: 900;
}

.booking-options {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
}

.booking-options div {
  padding: 13px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.065);
  border: 1px solid rgba(255, 255, 255, 0.09);
}

.booking-options strong {
  display: block;
  color: #fff7df;
  font-size: 14px;
  font-weight: 900;
}

.booking-options span {
  display: block;
  margin-top: 3px;
  color: rgba(255, 247, 232, 0.55);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.booking-benefits {
  display: grid;
  gap: 8px;
  margin: 0 0 18px;
}

.booking-benefits div {
  color: rgba(255, 247, 232, 0.76);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
}

.booking-main-btn {
  width: 100%;
  margin-top: auto;
}

.booking-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.booking-contact-row a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px;
  border-radius: 999px;
  color: #fff7df;
  font-size: 13px;
  font-weight: 900;
  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.booking-note {
  margin-top: 12px;
  color: rgba(255, 247, 232, 0.52);
  font-size: 12px;
  line-height: 1.45;
}

/* планшет */
@media (max-width: 1040px) {
  .lead-forms-grid {
    grid-template-columns: 1fr;
  }
}

/* телефон */
@media (max-width: 680px) {
  .forms-section-head {
    margin-bottom: 24px;
  }

  .forms-section-head p {
    font-size: 15px;
  }

  .lead-forms-grid {
    gap: 16px;
  }

  .lead-forms-grid .form-card {
    padding: 22px;
    border-radius: 26px;
  }

  .booking-preview {
    grid-template-columns: 1fr;
  }

  .booking-time {
    min-width: 0;
    text-align: left;
  }

  .booking-contact-row {
    grid-template-columns: 1fr;
  }
}
/* ===== Footer APIS HOUSE ===== */

.footer {
  padding: 34px 0 28px;
  background: #0b0c08;
  color: rgba(255, 255, 255, 0.72);
  font-family: 'Manrope', system-ui, sans-serif;
}

.footer-inner {
  display: grid;
  gap: 18px;
}

.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.footer-copy {
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.footer-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  transition: 0.22s ease;
}

.footer-links a:hover {
  color: var(--honey);
}

.footer-legal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.42);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
}

.footer-legal a {
  color: rgba(255, 247, 223, 0.64);
  border-bottom: 1px solid rgba(255, 198, 90, 0.22);
  transition: 0.22s ease;
}

.footer-legal a:hover {
  color: var(--honey);
  border-bottom-color: var(--honey);
}

.footer-company {
  max-width: 820px;
  margin: 0 auto;
  padding-top: 14px;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.045);
}

.footer-company p {
  margin: 0;
  color: rgba(255, 255, 255, 0.38);
  font-size: 10.5px;
  line-height: 1.65;
  font-weight: 600;
}

.footer-company p + p {
  margin-top: 2px;
}

@media (max-width: 680px) {
  .footer {
    padding: 28px 0 24px;
  }

  .footer-inner {
    gap: 16px;
  }

  .footer-top {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
  }

  .footer-links {
    justify-content: center;
    gap: 10px 16px;
  }

  .footer-links a {
    font-size: 11.5px;
  }

  .footer-legal {
    flex-direction: column;
    gap: 5px;
    text-align: center;
  }

  .footer-company {
    max-width: 100%;
    padding-top: 12px;
  }

  .footer-company p {
    font-size: 10px;
    line-height: 1.55;
  }
}
  
/* Антиспам-поле формы: скрыто от пользователя */
.hp-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}



/* FIX: мобильный заголовок hero не выходит за экран без ручного переноса */
.hero-title {
  font-size: clamp(38px, 5.15vw, 86px) !important;
  line-height: 1.06 !important;
}

@media (max-width: 760px) {
  .hero-title {
    font-size: clamp(28px, 8.15vw, 40px) !important;
    line-height: 1.09 !important;
	letter-spacing: -0.064em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
    text-wrap: balance;
  }
}

.hero-nowrap {
  display: inline-block;
  white-space: nowrap;
}



  .hero-title .accent {
    display: inline !important;
  }

  .hero-nowrap {
    display: inline-block;
    white-space: nowrap;
    font-size: .96em;
  }
}

@media (max-width: 380px) {
  .hero-title {
    font-size: clamp(24px, 7.6vw, 31px) !important;
    letter-spacing: -0.07em !important;
  }
}

@media (max-width: 340px) {
  .hero-title {
    font-size: 22px !important;
  }
}
  

/* ===== FINAL: favicon/map/title safety ===== */
.hero-title {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}

.hero-nowrap {
  display: inline-block;
  white-space: nowrap;
}

.yandex-map {
  width: 100%;
  height: 100%;
  min-height: 460px;
}

@media (max-width: 760px) {
  .hero-title {
    max-width: 100% !important;
    font-size: clamp(27px, 8.15vw, 40px) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.064em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
    text-wrap: balance;
  }

  .hero-nowrap {
    display: inline-block;
    white-space: nowrap;
    font-size: .96em;
  }

  .full-map-card,
  .yandex-map {
    height: 340px;
    min-height: 340px;
  }

  .yandex-map {
    touch-action: pan-y;
  }
}

@media (max-width: 380px) {
  .hero-title {
    font-size: clamp(24px, 7.6vw, 31px) !important;
    letter-spacing: -0.07em !important;
  }
}

@media (max-width: 340px) {
  .hero-title {
    font-size: 22px !important;
  }
}


/* ===== FINAL HARD FIX: hero title, favicon-safe layout, map scroll ===== */
.hero-title {
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

.hero-nowrap {
  display: inline-block !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  vertical-align: baseline !important;
}

.yandex-map {
  width: 100%;
  height: 100%;
  min-height: 460px;
}

@media (max-width: 760px) {
  .hero-title {
    font-size: clamp(27px, 8.15vw, 40px) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.064em !important;
    text-wrap: balance;
  }

  .hero-nowrap {
    font-size: .96em !important;
  }

  .full-map-card,
  .yandex-map {
    height: 340px !important;
    min-height: 340px !important;
  }

  .yandex-map {
    touch-action: pan-y;
  }
}

@media (max-width: 380px) {
  .hero-title {
    font-size: clamp(24px, 7.6vw, 31px) !important;
    letter-spacing: -0.07em !important;
  }
}

@media (max-width: 340px) {
  .hero-title {
    font-size: 22px !important;
  }
}
/* ===== Правильные тонкие соты: мелкая бесшовная сетка ===== */

:root {
  --apis-honeycomb-grid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='17.3205' viewBox='0 0 30 17.3205'%3E%3Cpath d='M5 -8.6603L10 0L5 8.6603M10 0H20L25 8.6603L20 17.3205M-5 8.6603H5L10 17.3205L5 25.9808' fill='none' stroke='%23FFC65A' stroke-opacity='.095' stroke-width='.55' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
}



/* Тёмная зелёная секция */
.dark-section::before {
  background:
    var(--apis-honeycomb-grid),
    radial-gradient(circle at 10% 10%, rgba(255,198,90,.14), transparent 24rem) !important;
  background-size:
    68px 39.25px,
    auto !important;
  background-position:
    center,
    center !important;
  opacity: .62 !important;
}

/* Блок франшизы */
.franchise-box {
  position: relative;
  overflow: hidden;
}

.franchise-box::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: var(--apis-honeycomb-grid);
  background-size: 68px 39.25px;
  background-position: center;
  opacity: .55;
}

.franchise-box > * {
  position: relative;
  z-index: 2;
}

/* Карточка онлайн-записи */
.booking-card {
  position: relative;
  overflow: hidden;
}

.booking-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--apis-honeycomb-grid);
  background-size: 68px 39.25px;
  background-position: center;
  opacity: .5;
}

.booking-card > * {
  position: relative;
  z-index: 2;
}

/* Зелёная карточка тарифа */
.format.featured {
  position: relative;
  overflow: hidden;
}

.format.featured::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--apis-honeycomb-grid);
  background-size: 68px 39.25px;
  background-position: center;
  opacity: .48;
}

.format.featured > * {
  position: relative;
  z-index: 1;
}
.hero-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 820px;
}

.hero-benefits span {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 247, 223, 0.9);
  font-size: 14px;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

.hero-note {
  max-width: 680px !important;
  color: rgba(255, 247, 223, 0.78) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

@media (max-width: 760px) {
  .hero-benefits {
    display: grid;
    gap: 8px;
  }

  .hero-benefits span {
    font-size: 13px;
    line-height: 1.35;
  }

  .hero-note {
    font-size: 14px !important;
  }
}
/* ===== FIX: картинка апидомика целиком и по высоте текстового блока ===== */

#module .about-wrap {
  align-items: stretch !important;
}

#module .image-panel {
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  overflow: hidden !important;
}

#module .image-panel img {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  /*object-fit: contain !important;*/
  object-position: center center !important;
  border-radius: 22px;
}

/* маленький логотип на картинке лучше убрать, чтобы не мешал */
#module .image-panel .mini {
  display: none !important;
}

/* планшет */
@media (max-width: 1040px) {
  #module .about-wrap {
    align-items: start !important;
  }

  #module .image-panel {
    height: auto !important;
    min-height: 0 !important;
  }

  #module .image-panel img {
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

/* мобильная версия */
@media (max-width: 760px) {
  #module .image-panel {
    padding: 10px !important;
    border-radius: 28px !important;
  }

  #module .image-panel img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    border-radius: 22px !important;
  }
}
/* ===== Hero title line break ===== */

.hero-title-line {
  display: block;
}

/* ===== Hero benefits: 4 equal matte cards ===== */

.hero-benefits {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  max-width: 980px !important;
}

.hero-benefits span {
  min-height: 74px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;

  background: rgba(255, 255, 255, 0.13) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);

  color: rgba(255, 247, 223, 0.92) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: center !important;

  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}

/* планшет */
@media (max-width: 980px) {
  .hero-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* мобильная версия */
@media (max-width: 560px) {
  .hero-benefits {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .hero-benefits span {
    min-height: 54px !important;
    padding: 11px 14px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
  }
}
/* ===== Module block: более мягкие карточки и цифры ===== */

#module .content-list {
  gap: 14px !important;
}

#module .content-item {
  grid-template-columns: 50px 1fr !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 16px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(23, 21, 15, 0.07) !important;
  box-shadow: 0 14px 40px rgba(89, 65, 24, 0.06) !important;
}

#module .content-item .number {
  width: 50px !important;
  height: 50px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #f0c56a 0%, #c96a32 100%) !important;
  color: #1c1308 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 12px 26px rgba(201, 106, 50, 0.18) !important;
}

#module .content-item h3 {
  font-size: clamp(17px, 1.15vw, 20px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 12px !important;
}

#module .content-item p {
  font-size: 14.5px !important;
  line-height: 1.62 !important;
  margin: 0 !important;
}

/* мобильная версия */
@media (max-width: 760px) {
  #module .content-item {
    grid-template-columns: 44px 1fr !important;
    gap: 13px !important;
    padding: 14px !important;
    border-radius: 24px !important;
  }

  #module .content-item .number {
    width: 44px !important;
    height: 44px !important;
    border-radius: 17px !important;
    font-size: 12px !important;
  }

  #module .content-item h3 {
    font-size: 17px !important;
    margin-bottom: 10px !important;
  }

  #module .content-item p {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }
}
/* ===== FIX: центрирование цифр в карточках модуля ===== */

#module .content-item {
  align-items: center !important;
}

#module .content-item .number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
}
/* ===== Franchise block: адаптивный заголовок ===== */

.franchise-title {
  margin-top: 18px !important;
  max-width: 820px !important;
  font-size: clamp(30px, 3.1vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.045em !important;
}

.franchise-text {
  max-width: 760px !important;
  margin-top: 18px !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  line-height: 1.7 !important;
}

.franchise-actions {
  margin-top: 26px !important;
}

@media (max-width: 760px) {
  .franchise-title {
    font-size: clamp(25px, 7.4vw, 34px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.05em !important;
  }

  .franchise-text {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .franchise-actions {
    margin-top: 22px !important;
  }
}
/* ===== Franchise title: меньше, контрастнее, читабельнее ===== */

.franchise-title {
  display: inline-block !important;
  max-width: 660px !important;
  margin-top: 18px !important;
  padding: 18px 20px !important;
  border-radius: 24px !important;

  background: rgba(255, 247, 223, 0.08) !important;
  border: 1px solid rgba(255, 198, 90, 0.16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);

  color: #fff7df !important;
  font-size: clamp(25px, 2.35vw, 36px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.045em !important;

  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.franchise-title span {
  display: block !important;
  margin-top: 7px !important;
  color: rgba(255, 247, 223, 0.72) !important;
  font-size: clamp(18px, 1.5vw, 24px) !important;
  line-height: 1.28 !important;
  letter-spacing: -0.035em !important;
}

.franchise-text {
  max-width: 620px !important;
  margin-top: 18px !important;
  color: rgba(255, 247, 232, 0.76) !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}

@media (max-width: 760px) {
  .franchise-title {
    max-width: 100% !important;
    padding: 16px !important;
    border-radius: 20px !important;
    font-size: clamp(23px, 6.4vw, 29px) !important;
    line-height: 1.16 !important;
  }

  .franchise-title span {
    margin-top: 6px !important;
    font-size: clamp(16px, 4.6vw, 20px) !important;
    line-height: 1.3 !important;
  }

  .franchise-text {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
  }
}
/* ===== Brand story with premium background ===== */

.brand-story-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 76px 0 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 198, 90, 0.18), transparent 28rem),
    radial-gradient(circle at 88% 72%, rgba(201, 106, 50, 0.16), transparent 26rem),
    linear-gradient(135deg, #10251f 0%, #183a2f 48%, #0b0c08 100%) !important;
}

.brand-story-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 0.18 !important;
  background-image: url("../image/honeycomb-pattern.svg") !important;
  background-size: 260px auto !important;
  background-position: center !important;
}

.brand-story-section::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(11, 12, 8, 0.08), rgba(11, 12, 8, 0.22)) !important;
}

.brand-story-section .container {
  position: relative !important;
  z-index: 2 !important;
}

.brand-story-clean {
  max-width: 1120px !important;
}

.brand-story-layout {
  display: grid !important;
  grid-template-columns: 0.85fr 1.15fr !important;
  gap: 56px !important;
  align-items: start !important;
  margin-top: 28px !important;
  padding: 34px !important;
  border-radius: 38px !important;

  background: rgba(255, 247, 232, 0.08) !important;
  border: 1px solid rgba(255, 198, 90, 0.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 28px 80px rgba(0, 0, 0, 0.18) !important;

  backdrop-filter: blur(18px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
}

.brand-story-title {
  margin: 0 !important;
  max-width: 520px !important;
  color: #fff7df !important;
  font-size: clamp(38px, 4vw, 62px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.06em !important;
}

.brand-story-title span {
  display: block !important;
  color: var(--honey) !important;
}

.brand-story-text {
  display: grid !important;
  gap: 16px !important;
  padding-left: 26px !important;
  border-left: 3px solid rgba(255, 198, 90, 0.75) !important;
}

.brand-story-text p {
  margin: 0 !important;
  color: rgba(255, 247, 232, 0.82) !important;
  font-size: clamp(16px, 1.18vw, 19px) !important;
  line-height: 1.72 !important;
  font-weight: 600 !important;
}

/* карточки ниже в этом блоке */
#brand-story .content-list {
  margin-top: 24px !important;
  gap: 12px !important;
}

#brand-story .content-item1 {
  padding: 18px 20px !important;
  border-radius: 26px !important;
  background: rgba(255, 247, 232, 0.10) !important;
  border: 1px solid rgba(255, 198, 90, 0.13) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

#brand-story .content-item1 p {
  color: rgba(255, 247, 232, 0.74) !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
}

#brand-story .content-item1 strong {
  color: var(--honey) !important;
}

/* мобильная версия */
@media (max-width: 760px) {
  .brand-story-section {
    padding: 54px 0 !important;
  }

  .brand-story-layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    margin-top: 20px !important;
    padding: 22px !important;
    border-radius: 28px !important;
  }

  .brand-story-title {
    font-size: clamp(31px, 9vw, 43px) !important;
    line-height: 1.06 !important;
  }

  .brand-story-text {
    padding-left: 18px !important;
    gap: 13px !important;
  }

  .brand-story-text p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  #brand-story .content-list {
    margin-top: 18px !important;
  }

  #brand-story .content-item1 {
    padding: 15px 16px !important;
    border-radius: 22px !important;
  }

  #brand-story .content-item1 p {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================================
   APIS HOUSE — HONEY LIGHT REDESIGN v12
   Светлее, золотистее, теплее: мёд / пчёлы / дерево.
   Вставлено поверх исходных правил.
   ========================================================= */

:root {
  --ink: #2a1b08;
  --ink-2: #1c1307;
  --pine: #315f43;
  --pine-2: #4f7b54;
  --honey: #f6bd3e;
  --honey-2: #d89217;
  --terracotta: #bf6a2f;
  --wood: #8d5c2e;
  --cream: #fff8e8;
  --sand: #f7dfaa;
  --mist: #fffaf0;
  --muted: #796247;
  --line: rgba(98, 62, 18, .13);
  --shadow: 0 28px 80px rgba(129, 83, 19, .13);
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 6% 6%, rgba(255, 207, 95, .35), transparent 28rem),
    radial-gradient(circle at 90% 16%, rgba(255, 176, 45, .20), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #fff3d8 42%, #fffaf0 100%) !important;
}

body::before {
  opacity: .35 !important;
  background:
    radial-gradient(circle at 12% 24%, rgba(246, 189, 62, .22), transparent 28rem),
    radial-gradient(circle at 88% 70%, rgba(216, 146, 23, .14), transparent 30rem),
    url("../image/honeycomb-pattern.svg") !important;
}

.site-header {
  background: rgba(255, 248, 232, .88) !important;
  border-bottom: 1px solid rgba(216, 146, 23, .20) !important;
  box-shadow: 0 14px 44px rgba(129, 83, 19, .10) !important;
}

.site-header.scrolled {
  background: rgba(255, 248, 232, .96) !important;
  box-shadow: 0 16px 46px rgba(129, 83, 19, .16) !important;
}

.menu,
.phone,
.brand {
  color: #2a1b08 !important;
}

.menu a::after {
  background: linear-gradient(90deg, var(--honey), var(--honey-2)) !important;
}

.menu-btn {
  color: #2a1b08 !important;
  background: rgba(255, 198, 90, .24) !important;
  border-color: rgba(216, 146, 23, .22) !important;
}

.brand-logo {
  box-shadow: none !important;
}

.mobile-menu {
  background: rgba(255, 248, 232, .96) !important;
  border-color: rgba(216, 146, 23, .24) !important;
  box-shadow: 0 24px 70px rgba(129, 83, 19, .20) !important;
}

.mobile-menu a,
.mobile-menu-contact strong {
  color: #2a1b08 !important;
}

.mobile-menu-contact small {
  color: rgba(42, 27, 8, .58) !important;
}

.mobile-menu .mobile-menu-contact {
  background: rgba(255, 255, 255, .58) !important;
  border-color: rgba(216, 146, 23, .20) !important;
}

.mobile-menu-divider {
  background: rgba(216, 146, 23, .18) !important;
}

.hero {
  background:
    linear-gradient(90deg, rgba(55, 34, 6, .72) 0%, rgba(68, 44, 9, .54) 34%, rgba(68, 44, 9, .22) 62%, rgba(68, 44, 9, .10) 100%),
    linear-gradient(180deg, rgba(255, 203, 92, .10) 0%, rgba(35, 22, 6, .06) 44%, rgba(41, 24, 4, .54) 100%),
    url("../image/18.jpg") center center / cover no-repeat !important;
}

.hero::before {
  opacity: .32 !important;
  background:
    radial-gradient(circle at 72% 22%, rgba(255, 211, 105, .18), transparent 30rem),
    radial-gradient(circle at 12% 90%, rgba(255, 185, 55, .20), transparent 26rem),
    url("../image/honeycomb-pattern.svg") !important;
}

.hero::after {
  background: linear-gradient(180deg, transparent, rgba(255, 250, 240, .95)) !important;
}

.hero-title {
  color: #fff7df !important;
  text-shadow: 0 10px 40px rgba(58, 32, 0, .30) !important;
}

.accent {
  color: #ffd36b !important;
}

.lead,
.hero-note {
  color: rgba(255, 249, 232, .92) !important;
}

.hero-benefits span,
.stat {
  background: rgba(255, 248, 232, .18) !important;
  border-color: rgba(255, 218, 135, .26) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 16px 36px rgba(49, 31, 5, .12) !important;
}

.section {
  background: transparent;
}

.card,
.content-item,
.content-item1,
.content-item2,
.format,
.check,
.faq-item,
.form-card,
.review-card,
.contacts-card {
  background: rgba(255, 255, 255, .72) !important;
  border-color: rgba(216, 146, 23, .13) !important;
  box-shadow: 0 24px 70px rgba(129, 83, 19, .10) !important;
}

.card::after,
.review-card::before {
  color: rgba(246, 189, 62, .16) !important;
  background: radial-gradient(circle, rgba(255, 203, 92, .24), transparent 68%) !important;
}

.eyebrow.dark {
  color: #6b4307 !important;
  background: rgba(255, 255, 255, .70) !important;
  border-color: rgba(216, 146, 23, .20) !important;
}

.icon,
.number,
.number1,
.step b {
  background: linear-gradient(135deg, #ffe08a 0%, #f6bd3e 48%, #c97919 100%) !important;
  color: #291906 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .36), 0 14px 30px rgba(201, 121, 25, .20) !important;
}

.icon svg {
  stroke: #291906 !important;
}

.dark-section {
  background:
    radial-gradient(circle at 10% 12%, rgba(255, 205, 90, .35), transparent 28rem),
    linear-gradient(135deg, #fff5d9 0%, #f4ce77 52%, #fff8e8 100%) !important;
  color: #2a1b08 !important;
}

.dark-section::before {
  opacity: .28 !important;
  background:
    url("../image/honeycomb-pattern.svg"),
    radial-gradient(circle at 10% 10%, rgba(255, 198, 90, .20), transparent 24rem) !important;
}

.dark-section h2,
.dark-section h3,
.dark-section p {
  color: #2a1b08 !important;
}

.dark-section .eyebrow {
  color: #6b4307 !important;
  background: rgba(255, 255, 255, .58) !important;
  border-color: rgba(216, 146, 23, .22) !important;
}

.step {
  background: rgba(255, 255, 255, .58) !important;
  border-color: rgba(216, 146, 23, .18) !important;
}

.format.featured,
.franchise-box {
  background:
    radial-gradient(circle at 86% 10%, rgba(255, 255, 255, .40), transparent 20rem),
    linear-gradient(135deg, #fff2c9 0%, #f2bd4c 46%, #fff7df 100%) !important;
  color: #2a1b08 !important;
  border: 1px solid rgba(216, 146, 23, .22) !important;
  box-shadow: 0 32px 88px rgba(129, 83, 19, .16) !important;
}

.format.featured h3,
.format.featured .price,
.format.featured p,
.format.featured li,
.franchise-box h2,
.franchise-box h3,
.franchise-box p {
  color: #2a1b08 !important;
}

.featured .tag,
.tag {
  background: rgba(255, 255, 255, .56) !important;
  color: #8a5311 !important;
  border: 1px solid rgba(216, 146, 23, .16) !important;
}

.btn-primary {
  color: #2a1b08 !important;
  background: linear-gradient(135deg, #fff0a8 0%, #f6bd3e 48%, #d89217 100%) !important;
}

.btn-secondary,
.btn-dark {
  color: #fff8e6 !important;
  background: linear-gradient(135deg, #6b4307 0%, #9b6312 100%) !important;
  border: 1px solid rgba(255, 220, 140, .24) !important;
}

.notice {
  background: linear-gradient(135deg, #fffdf6 0%, #fff0c0 100%) !important;
  border-color: rgba(216, 146, 23, .20) !important;
}

/* ===== Brand story light golden section ===== */
.brand-story-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 76px 0 !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(255, 207, 95, .38), transparent 28rem),
    radial-gradient(circle at 88% 70%, rgba(225, 145, 30, .16), transparent 26rem),
    linear-gradient(135deg, #fffaf0 0%, #ffe8a7 46%, #fff6dc 100%) !important;
}

.brand-story-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .20 !important;
  background-image: url("../image/honeycomb-pattern.svg") !important;
  background-size: 280px auto !important;
  background-position: center !important;
}

.brand-story-section .container {
  position: relative !important;
  z-index: 2 !important;
}

.brand-story-clean {
  max-width: 1120px !important;
}

.brand-story-layout {
  display: grid !important;
  grid-template-columns: .85fr 1.15fr !important;
  gap: 48px !important;
  align-items: start !important;
  margin-top: 24px !important;
  padding: 34px !important;
  border-radius: 38px !important;
  background: rgba(255, 255, 255, .62) !important;
  border: 1px solid rgba(216, 146, 23, .18) !important;
  box-shadow: 0 28px 80px rgba(129, 83, 19, .12) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}

.brand-story-title {
  margin: 0 !important;
  color: #2a1b08 !important;
  font-size: clamp(36px, 3.7vw, 58px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.06em !important;
}

.brand-story-title span {
  display: block !important;
  color: #a96210 !important;
}

.brand-story-text {
  display: grid !important;
  gap: 14px !important;
  padding-left: 24px !important;
  border-left: 3px solid rgba(216, 146, 23, .72) !important;
}

.brand-story-text p {
  margin: 0 !important;
  color: #685139 !important;
  font-size: clamp(16px, 1.15vw, 18px) !important;
  line-height: 1.7 !important;
  font-weight: 650 !important;
}

/* ===== New block: sleep on hives ===== */
.sleep-hives-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 84px 0 !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 209, 102, .26), transparent 28rem),
    linear-gradient(180deg, #fffaf0 0%, #fff0c9 100%) !important;
}

.sleep-hives-head {
  max-width: 920px !important;
  margin-bottom: 34px !important;
}

.sleep-hives-head h2 {
  margin-top: 18px !important;
  max-width: 880px !important;
  color: #2a1b08 !important;
  font-size: clamp(34px, 3.5vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.055em !important;
}

.sleep-hives-head p {
  max-width: 820px !important;
  margin-top: 20px !important;
  color: #6c543b !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.72 !important;
  font-weight: 650 !important;
}

.sleep-hives-layout {
  display: grid !important;
  grid-template-columns: .42fr .58fr !important;
  gap: 26px !important;
  align-items: stretch !important;
}

.sleep-hives-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 30px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 255, 255, .55), transparent 18rem),
    linear-gradient(135deg, #fff6d9 0%, #f8d67e 100%) !important;
  border: 1px solid rgba(216, 146, 23, .22) !important;
  box-shadow: 0 28px 80px rgba(129, 83, 19, .14) !important;
}

.sleep-hives-card h3 {
  color: #2a1b08 !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1.12 !important;
}

.sleep-hives-card p {
  margin-top: 18px !important;
  color: #6a4e2f !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 650 !important;
}

.sleep-hives-facts {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

.sleep-hives-facts div {
  padding: 16px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .50) !important;
  border: 1px solid rgba(216, 146, 23, .16) !important;
}

.sleep-hives-facts strong {
  display: block !important;
  color: #8c530d !important;
  font-family: 'Unbounded', 'Manrope', sans-serif !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

.sleep-hives-facts span {
  display: block !important;
  margin-top: 5px !important;
  color: #6a4e2f !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.sleep-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.sleep-photo {
  position: relative !important;
  overflow: hidden !important;
  min-height: 220px !important;
  margin: 0 !important;
  border-radius: 28px !important;
  background: #f4d07a !important;
  border: 1px solid rgba(216, 146, 23, .18) !important;
  box-shadow: 0 18px 48px rgba(129, 83, 19, .12) !important;
}

.sleep-photo-large {
  grid-column: span 2 !important;
  grid-row: span 2 !important;
  min-height: 452px !important;
}

.sleep-photo img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform .55s ease, filter .55s ease !important;
}

.sleep-photo:hover img {
  transform: scale(1.045) !important;
  filter: saturate(1.04) brightness(1.03) !important;
}

.sleep-photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 50%, rgba(42, 27, 8, .70) 100%) !important;
  pointer-events: none !important;
}

.sleep-photo figcaption {
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 14px !important;
  z-index: 2 !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  color: #fff8e8 !important;
  background: rgba(255, 255, 255, .14) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

@media (max-width: 1040px) {
  .brand-story-layout,
  .sleep-hives-layout {
    grid-template-columns: 1fr !important;
  }

  .sleep-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sleep-photo-large {
    grid-column: span 2 !important;
    min-height: 360px !important;
  }
}

@media (max-width: 760px) {
  .site-header {
    background: rgba(255, 248, 232, .94) !important;
  }

  .hero {
    background:
      linear-gradient(90deg, rgba(55, 34, 6, .78) 0%, rgba(68, 44, 9, .60) 48%, rgba(68, 44, 9, .30) 76%, rgba(68, 44, 9, .18) 100%),
      linear-gradient(180deg, rgba(255, 203, 92, .10) 0%, rgba(35, 22, 6, .06) 40%, rgba(41, 24, 4, .62) 100%),
      url("../image/18.jpg") 48% center / cover no-repeat !important;
  }

  .brand-story-section,
  .sleep-hives-section {
    padding: 54px 0 !important;
  }

  .brand-story-layout {
    gap: 18px !important;
    padding: 22px !important;
    border-radius: 28px !important;
  }

  .brand-story-title {
    font-size: clamp(31px, 9vw, 42px) !important;
  }

  .brand-story-text {
    padding-left: 16px !important;
  }

  .brand-story-text p,
  .sleep-hives-head p,
  .sleep-hives-card p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .sleep-hives-head h2 {
    font-size: clamp(29px, 8.4vw, 40px) !important;
  }

  .sleep-hives-card {
    padding: 22px !important;
    border-radius: 28px !important;
  }

  .sleep-gallery {
    grid-template-columns: 1fr !important;
  }

  .sleep-photo,
  .sleep-photo-large {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 260px !important;
    border-radius: 24px !important;
  }

  .sleep-hives-facts {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   FINAL READABILITY + MOBILE CTA UPDATE v13
   Светлый медовый визуал, читаемые формы, компактный блок сна на ульях
   ========================================================= */

:root {
  --honey-soft: #fff3c9;
  --honey-card: #fff9ea;
  --honey-border: rgba(196, 123, 18, 0.18);
  --honey-text: #2b1b08;
  --honey-muted: #60472b;
  --honey-accent: #b66d10;
}

body {
  color: var(--honey-text) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 212, 111, 0.32), transparent 26rem),
    radial-gradient(circle at 92% 46%, rgba(255, 191, 71, 0.18), transparent 28rem),
    linear-gradient(180deg, #fffaf0 0%, #fff0c9 42%, #fff8e6 100%) !important;
}

body::before {
  opacity: .18 !important;
}

.section:not(.hero):not(.dark-section):not(.brand-story-section):not(.sleep-hives-section) {
  background: transparent !important;
}

h2, h3,
.section h2,
.section h3,
.forms-section-head h2,
.reviews-head h2,
.contacts-card h2 {
  color: var(--honey-text) !important;
}

p,
.section p,
.card p,
.format p,
.format li,
.check p,
.faq-a p,
.review-author span,
.contacts-card p {
  color: var(--honey-muted) !important;
}

strong {
  color: inherit;
}

.eyebrow.dark {
  color: #7b4a08 !important;
  background: rgba(255, 255, 255, .72) !important;
  border-color: rgba(196, 123, 18, .18) !important;
}

/* Header readability */
.site-header.scrolled {
  background: rgba(255, 248, 230, .92) !important;
  border-bottom-color: rgba(196, 123, 18, .14) !important;
  box-shadow: 0 16px 44px rgba(83, 50, 9, .12) !important;
}
.site-header.scrolled .menu,
.site-header.scrolled .phone,
.site-header.scrolled .menu-btn {
  color: #2b1b08 !important;
}
.site-header.scrolled .menu-btn {
  border-color: rgba(43, 27, 8, .15) !important;
  background: rgba(255, 255, 255, .48) !important;
}

/* Cards/text blocks contrast */
.card,
.content-item,
.content-item1,
.content-item2,
.format,
.check,
.faq-item,
.review-card,
.contacts-card,
.form-card,
.notice {
  background: rgba(255, 255, 255, .78) !important;
  border-color: var(--honey-border) !important;
  color: var(--honey-text) !important;
  box-shadow: 0 18px 54px rgba(126, 78, 14, .08) !important;
}

.card h3,
.content-item h3,
.content-item1 h3,
.content-item2 h3,
.format h3,
.check strong,
.faq-q,
.review-author strong {
  color: var(--honey-text) !important;
}

.icon,
.number,
.number1,
.step b,
.faq-q i {
  background: linear-gradient(135deg, #ffd978 0%, #d99118 100%) !important;
  color: #281707 !important;
}

/* Franchise and dark blocks: make golden but readable */
.dark-section,
.franchise-box,
.format.featured {
  background:
    radial-gradient(circle at 82% 10%, rgba(255, 255, 255, .42), transparent 22rem),
    linear-gradient(135deg, #fff5d3 0%, #f3c35c 50%, #fff7df 100%) !important;
  color: var(--honey-text) !important;
  border: 1px solid var(--honey-border) !important;
}

.dark-section::before,
.franchise-box::before,
.format.featured::before {
  opacity: .16 !important;
}

.dark-section h2,
.dark-section h3,
.dark-section p,
.franchise-box h2,
.franchise-box h3,
.franchise-box p,
.format.featured h3,
.format.featured p,
.format.featured li,
.format.featured .price {
  color: var(--honey-text) !important;
}

.dark-section .eyebrow,
.franchise-box .eyebrow {
  color: #7b4a08 !important;
  background: rgba(255, 255, 255, .64) !important;
  border-color: rgba(196, 123, 18, .20) !important;
}

.step,
.metric {
  background: rgba(255, 255, 255, .58) !important;
  border-color: rgba(196, 123, 18, .18) !important;
}
.metric strong {
  color: #9a5b0d !important;
}
.metric span {
  color: var(--honey-muted) !important;
}

/* Form readability fix */
#booking,
#booking .container,
.forms-section-head,
.lead-forms-grid,
.form-card,
.lead-form,
.booking-card {
  color: var(--honey-text) !important;
}

.forms-section-head h2,
.forms-section-head p,
.form-title h3,
.form-title p,
.booking-card h3,
.booking-card p {
  color: var(--honey-text) !important;
}

.forms-section-head p,
.form-title p,
.booking-note {
  color: var(--honey-muted) !important;
}

.form-kicker {
  color: #7b4a08 !important;
  background: rgba(255, 214, 120, .40) !important;
  border: 1px solid rgba(196, 123, 18, .14) !important;
}

.field label,
.consent,
.consent span,
.consent a,
.booking-contact-row a {
  color: var(--honey-text) !important;
}

.consent a {
  font-weight: 900 !important;
  border-bottom: 1px solid rgba(43, 27, 8, .22) !important;
}

.field input,
.field select,
.field textarea {
  background: #fffef8 !important;
  color: var(--honey-text) !important;
  border-color: rgba(43, 27, 8, .16) !important;
}

.field input::placeholder,
.field textarea::placeholder {
  color: rgba(43, 27, 8, .45) !important;
}

.booking-preview,
.booking-options > div,
.booking-benefits > div,
.booking-time {
  background: rgba(255, 255, 255, .68) !important;
  border: 1px solid rgba(196, 123, 18, .16) !important;
  color: var(--honey-text) !important;
}
.booking-preview strong,
.booking-options strong,
.booking-time strong {
  color: var(--honey-text) !important;
}
.booking-preview span,
.booking-options span,
.booking-time span,
.booking-benefits div {
  color: var(--honey-muted) !important;
}

.form-message.error {
  color: #8c1f16 !important;
  background: #fff1ee !important;
  border-color: rgba(198, 46, 31, .25) !important;
}
.form-message.success {
  color: #145b2a !important;
  background: #ecfff2 !important;
  border-color: rgba(41, 142, 72, .25) !important;
}

/* Compact sleep-on-hives block */
.sleep-hives-section {
  padding: 72px 0 !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(255, 209, 102, .36), transparent 26rem),
    radial-gradient(circle at 92% 84%, rgba(210, 133, 20, .13), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #fff1c9 52%, #fff8e6 100%) !important;
}

.sleep-hives-head {
  max-width: 880px !important;
  margin-bottom: 24px !important;
}
.sleep-hives-head h2 {
  margin-top: 16px !important;
  max-width: 820px !important;
  color: var(--honey-text) !important;
  font-size: clamp(31px, 3.15vw, 52px) !important;
  line-height: 1.08 !important;
}
.sleep-hives-head p {
  max-width: 720px !important;
  margin-top: 16px !important;
  color: var(--honey-muted) !important;
  font-size: clamp(15px, 1.12vw, 18px) !important;
  line-height: 1.68 !important;
}

.sleep-hives-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin-bottom: 22px !important;
}

.sleep-hives-text,
.sleep-hives-facts {
  padding: 24px !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, .72) !important;
  border: 1px solid var(--honey-border) !important;
  box-shadow: 0 18px 54px rgba(126, 78, 14, .08) !important;
}
.sleep-hives-text h3 {
  color: var(--honey-text) !important;
  font-size: clamp(22px, 1.75vw, 30px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.045em !important;
}
.sleep-hives-text p {
  margin-top: 14px !important;
  color: var(--honey-muted) !important;
  font-size: 15.5px !important;
  line-height: 1.68 !important;
}
.sleep-hives-text strong {
  color: #8d5108 !important;
  font-weight: 900 !important;
}
.sleep-hives-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}
.sleep-hives-facts div {
  min-height: 122px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 16px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fff9eb 0%, #ffe2a0 100%) !important;
  border: 1px solid rgba(196, 123, 18, .16) !important;
}
.sleep-hives-facts strong {
  color: #8c530d !important;
  font-family: 'Unbounded', 'Manrope', sans-serif !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1 !important;
}
.sleep-hives-facts span {
  margin-top: 8px !important;
  color: var(--honey-muted) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.sleep-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.sleep-photo,
.sleep-photo-large {
  grid-column: auto !important;
  grid-row: auto !important;
  position: relative !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: #f7d783 !important;
  border: 1px solid rgba(196, 123, 18, .18) !important;
  box-shadow: 0 16px 42px rgba(126, 78, 14, .10) !important;
}
.sleep-photo img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}
.sleep-photo::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 52%, rgba(42, 27, 8, .58) 100%) !important;
  pointer-events: none !important;
}
.sleep-photo figcaption {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 2 !important;
  padding: 9px 11px !important;
  border-radius: 14px !important;
  color: #fffaf0 !important;
  background: rgba(43, 27, 8, .28) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

/* Mobile bottom CTA */
.mobile-bottom-cta {
  display: none;
}

@media (max-width: 760px) {
  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  }

  .desktop-float,
  #floating-buttons {
    display: none !important;
  }

  .site-header {
    background: rgba(255, 248, 232, .94) !important;
    border-bottom: 1px solid rgba(196, 123, 18, .16) !important;
  }
  .site-header .menu-btn {
    color: #2b1b08 !important;
    border-color: rgba(43, 27, 8, .14) !important;
    background: rgba(255, 255, 255, .48) !important;
  }

  .brand-logo {
    box-shadow: none !important;
  }

  .mobile-bottom-cta {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    z-index: 1000 !important;
    display: grid !important;
    grid-template-columns: 1.1fr .9fr !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 22px !important;
    background: rgba(255, 250, 236, .88) !important;
    border: 1px solid rgba(196, 123, 18, .18) !important;
    box-shadow: 0 18px 48px rgba(43, 27, 8, .22) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }
  .mobile-bottom-cta a {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 17px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-align: center !important;
  }
  .mobile-cta-book {
    color: #2b1b08 !important;
    background: linear-gradient(135deg, #fff0a8 0%, #f6bd3e 52%, #d89217 100%) !important;
    box-shadow: 0 10px 24px rgba(216, 146, 23, .26) !important;
  }
  .mobile-cta-call {
    color: #fff9ea !important;
    background: linear-gradient(135deg, #6b4307 0%, #9d6410 100%) !important;
  }

  .sleep-hives-section {
    padding: 52px 0 !important;
  }
  .sleep-hives-info {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .sleep-hives-text,
  .sleep-hives-facts {
    padding: 18px !important;
    border-radius: 24px !important;
  }
  .sleep-hives-facts {
    grid-template-columns: 1fr !important;
  }
  .sleep-hives-facts div {
    min-height: 88px !important;
  }
  .sleep-gallery {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .sleep-photo,
  .sleep-photo-large {
    aspect-ratio: 4 / 3 !important;
    border-radius: 22px !important;
  }

  .lead-forms-grid,
  .contact-wrap,
  .reviews-grid,
  .formats,
  .check-grid,
  .metrics,
  .process,
  .card-grid {
    grid-template-columns: 1fr !important;
  }

  .form-card {
    padding: 22px !important;
    border-radius: 28px !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .sleep-hives-info {
    grid-template-columns: 1fr !important;
  }
  .sleep-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ===== FINAL: Bottom CTA in page flow, not fixed ===== */
.mobile-bottom-cta,
.mobile-fixed-cta,
.mobile-cta-bar {
  display: none !important;
  position: static !important;
}

@media (max-width: 760px) {
  body {
    padding-bottom: 0 !important;
  }
}

.bottom-cta-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 56px 0 68px !important;
  background:
    radial-gradient(circle at 16% 16%, rgba(255, 198, 90, .32), transparent 28rem),
    radial-gradient(circle at 86% 78%, rgba(216, 146, 23, .20), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #fff0c9 48%, #f5d989 100%) !important;
}

.bottom-cta-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .16 !important;
  background-image: url("../image/honeycomb-pattern.svg") !important;
  background-size: 220px auto !important;
  background-position: center !important;
}

.bottom-cta-section .container {
  position: relative !important;
  z-index: 2 !important;
}

.bottom-cta-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 34px !important;
  padding: 34px !important;
  border-radius: 36px !important;
  background: rgba(255, 255, 255, .76) !important;
  border: 1px solid rgba(143, 92, 24, .16) !important;
  box-shadow: 0 24px 70px rgba(143, 92, 24, .14) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}

.bottom-cta-text h2 {
  max-width: 720px !important;
  margin: 18px 0 0 !important;
  color: #17150f !important;
  font-size: clamp(30px, 3vw, 48px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.05em !important;
}

.bottom-cta-text p {
  max-width: 680px !important;
  margin: 16px 0 0 !important;
  color: #5b4d3d !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 650 !important;
}

.bottom-cta-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.bottom-cta-actions .btn {
  min-width: 170px !important;
}

@media (max-width: 760px) {
  .bottom-cta-section {
    padding: 40px 0 48px !important;
  }

  .bottom-cta-card {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    padding: 24px !important;
    border-radius: 28px !important;
  }

  .bottom-cta-text h2 {
    font-size: clamp(26px, 7.4vw, 36px) !important;
    line-height: 1.12 !important;
  }

  .bottom-cta-text p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .bottom-cta-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .bottom-cta-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* ===== FINAL: mobile fixed bottom action bar like reference ===== */
.mobile-fixed-action-bar {
  display: none;
}

@media (max-width: 760px) {
  body {
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
  }

  #floating-buttons,
  .desktop-float,
  .float-btn {
    display: none !important;
  }

  .mobile-bottom-cta,
  .mobile-fixed-cta,
  .mobile-cta-bar {
    display: none !important;
  }

  .mobile-fixed-action-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1200 !important;
    display: grid !important;
    grid-template-columns: 1.25fr 0.85fr !important;
    gap: 8px !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    background: rgba(255, 250, 236, 0.96) !important;
    border-top: 1px solid rgba(160, 101, 18, 0.18) !important;
    box-shadow: 0 -14px 36px rgba(80, 48, 8, 0.18) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-fixed-action {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 12px !important;
    border-radius: 18px !important;
    text-align: center !important;
    font-size: 13.5px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: -0.015em !important;
    text-decoration: none !important;
  }

  .mobile-fixed-action-icon {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    display: grid !important;
    place-items: center !important;
  }

  .mobile-fixed-action-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  .mobile-fixed-action-book {
    color: #2b1b08 !important;
    background: linear-gradient(135deg, #fff0a8 0%, #ffc65a 42%, #e99d23 100%) !important;
    box-shadow: 0 12px 26px rgba(216, 146, 23, 0.28), inset 0 1px 0 rgba(255,255,255,0.55) !important;
  }

  .mobile-fixed-action-call {
    color: #fff9ea !important;
    background: linear-gradient(135deg, #5b3a0a 0%, #9d6410 100%) !important;
    box-shadow: 0 12px 26px rgba(76, 42, 4, 0.18), inset 0 1px 0 rgba(255,255,255,0.12) !important;
  }

  .mobile-fixed-action:active {
    transform: translateY(1px) !important;
  }
}

@media (max-width: 380px) {
  .mobile-fixed-action-bar {
    grid-template-columns: 1.15fr .85fr !important;
    gap: 7px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  .mobile-fixed-action {
    min-height: 50px !important;
    gap: 6px !important;
    padding: 11px 9px !important;
    border-radius: 16px !important;
    font-size: 12.5px !important;
  }

  .mobile-fixed-action-icon {
    width: 19px !important;
    height: 19px !important;
    flex-basis: 19px !important;
  }

  .mobile-fixed-action-icon svg {
    width: 18px !important;
    height: 18px !important;
  }
}
/* ===== Floating buttons: APIS HOUSE honey design ===== */

#floating-buttons {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.float-btn {
  position: relative;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;

  color: #3a2406;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 247, 223, 0.62));
  border: 1px solid rgba(214, 145, 35, 0.28);

  box-shadow:
    0 16px 38px rgba(143, 92, 24, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);

  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

.float-btn svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
}

.float-btn:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 198, 90, 0.72);
  box-shadow:
    0 22px 50px rgba(143, 92, 24, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.float-call {
  color: #1c1308;
  background:
    linear-gradient(135deg, #fff1a6 0%, #ffc65a 48%, #e99d23 100%);
  border-color: rgba(233, 157, 35, 0.55);
  box-shadow:
    0 18px 42px rgba(233, 157, 35, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.float-call:hover {
  background:
    linear-gradient(135deg, #fff6c7 0%, #ffd36f 48%, #e99d23 100%);
}

.float-tg {
  color: #183a2f;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(255, 247, 223, 0.68));
}

.float-up {
  opacity: 0;
  pointer-events: none;
  color: #5a3a0b;
}

.float-up.visible {
  opacity: 1;
  pointer-events: auto;
}

/* подсказки при наведении */
.float-btn::before {
  content: attr(title);
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);

  padding: 8px 11px;
  border-radius: 999px;

  color: #3a2406;
  background: rgba(255, 247, 223, 0.92);
  border: 1px solid rgba(214, 145, 35, 0.18);
  box-shadow: 0 12px 28px rgba(89, 65, 24, 0.14);

  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;

  opacity: 0;
  pointer-events: none;
  transition: 0.22s ease;
}

.float-btn:hover::before {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* на мобильной версии скрываем правые плавающие кнопки */
@media (max-width: 760px) {
  #floating-buttons {
    display: none !important;
  }
}

/* ===== FINAL FIX v19: объединенный блок, верх "Сон на ульях" как в исходной версии ===== */
.sleep-hives-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 72px 0 !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(255, 209, 102, .36), transparent 26rem),
    radial-gradient(circle at 92% 84%, rgba(210, 133, 20, .13), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #fff1c9 52%, #fff8e6 100%) !important;
}

.sleep-hives-head {
  max-width: 880px !important;
  margin-bottom: 24px !important;
}

.sleep-hives-head h2 {
  margin-top: 16px !important;
  max-width: 820px !important;
  color: #2b1b08 !important;
  font-size: clamp(31px, 3.15vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.055em !important;
}

.sleep-hives-head p {
  max-width: 720px !important;
  margin-top: 16px !important;
  color: #6a4e2f !important;
  font-size: clamp(15px, 1.12vw, 18px) !important;
  line-height: 1.68 !important;
  font-weight: 650 !important;
}

.sleep-hives-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  margin-bottom: 42px !important;
}

.sleep-hives-text,
.sleep-hives-facts {
  padding: 24px !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, .72) !important;
  border: 1px solid rgba(196, 123, 18, .16) !important;
  box-shadow: 0 18px 54px rgba(126, 78, 14, .08) !important;
}

.sleep-hives-text h3 {
  margin: 0 !important;
  color: #2b1b08 !important;
  font-size: clamp(22px, 1.75vw, 30px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.045em !important;
}

.sleep-hives-text p {
  margin-top: 14px !important;
  color: #6a4e2f !important;
  font-size: 15.5px !important;
  line-height: 1.68 !important;
  font-weight: 650 !important;
}

.sleep-hives-text strong {
  color: #8d5108 !important;
  font-weight: 900 !important;
}

.sleep-hives-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}

.sleep-hives-facts div {
  min-height: 122px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 16px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fff9eb 0%, #ffe2a0 100%) !important;
  border: 1px solid rgba(196, 123, 18, .16) !important;
}

.sleep-hives-facts strong {
  display: block !important;
  color: #8c530d !important;
  font-family: 'Unbounded', 'Manrope', sans-serif !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

.sleep-hives-facts span {
  display: block !important;
  margin-top: 8px !important;
  color: #6a4e2f !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.sleep-module-anchor {
  position: relative !important;
  top: calc(-1 * var(--header-h)) !important;
  height: 1px !important;
  pointer-events: none !important;
}

.sleep-module-intro {
  max-width: 1060px !important;
  margin: 0 0 24px !important;
}

.sleep-module-intro h2 {
  margin-top: 18px !important;
  max-width: 980px !important;
  color: #2b1b08 !important;
  font-size: clamp(34px, 3.6vw, 62px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.06em !important;
}

.sleep-module-intro p {
  max-width: 920px !important;
  margin-top: 18px !important;
  color: #6a4e2f !important;
  font-size: clamp(15.5px, 1.16vw, 18px) !important;
  line-height: 1.72 !important;
  font-weight: 650 !important;
}

.sleep-module-intro strong {
  color: #2b1b08 !important;
  font-weight: 900 !important;
}

.module-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin-top: 26px !important;
}

.module-gallery-card {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, .78) !important;
  border: 1px solid rgba(196, 123, 18, .16) !important;
  box-shadow: 0 18px 52px rgba(126, 78, 14, .10) !important;
}

.module-gallery-card figure {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  background: #f7d783 !important;
}

.module-gallery-card img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform .45s ease, filter .45s ease !important;
}

.module-gallery-card:hover img {
  transform: scale(1.035) !important;
  filter: saturate(1.03) brightness(1.02) !important;
}

.module-gallery-card figure::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 52%, rgba(42, 27, 8, .58) 100%) !important;
  pointer-events: none !important;
}

.module-gallery-card figcaption {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 2 !important;
  padding: 9px 11px !important;
  border-radius: 14px !important;
  color: #fffaf0 !important;
  background: rgba(43, 27, 8, .30) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.module-gallery-text {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 18px !important;
}

.module-number {
  width: 48px !important;
  height: 48px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #f2c96d 0%, #c96a32 100%) !important;
  color: #221406 !important;
  font-family: 'Unbounded', 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 12px 26px rgba(201, 106, 50, .16) !important;
}

.module-gallery-text h3 {
  margin: 0 0 10px !important;
  color: #2b1b08 !important;
  font-size: clamp(17px, 1.2vw, 21px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.04em !important;
}

.module-gallery-text p {
  margin: 0 !important;
  color: #6a4e2f !important;
  font-size: 14.5px !important;
  line-height: 1.62 !important;
  font-weight: 620 !important;
}

@media (min-width: 761px) and (max-width: 1100px) {
  .sleep-hives-info {
    grid-template-columns: 1fr !important;
  }

  .module-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .sleep-hives-section {
    padding: 52px 0 !important;
  }

  .sleep-hives-info {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 32px !important;
  }

  .sleep-hives-text,
  .sleep-hives-facts {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .sleep-hives-facts {
    grid-template-columns: 1fr !important;
  }

  .sleep-hives-facts div {
    min-height: 88px !important;
  }

  .sleep-module-intro {
    margin-top: 4px !important;
  }

  .sleep-module-intro h2 {
    font-size: clamp(29px, 8.4vw, 40px) !important;
    line-height: 1.08 !important;
  }

  .sleep-module-intro p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .module-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .module-gallery-card {
    border-radius: 24px !important;
  }

  .module-gallery-card figure {
    aspect-ratio: 4 / 3 !important;
  }

  .module-gallery-text {
    grid-template-columns: 44px 1fr !important;
    gap: 12px !important;
    padding: 15px !important;
  }

  .module-number {
    width: 44px !important;
    height: 44px !important;
    border-radius: 16px !important;
    font-size: 12px !important;
  }

  .module-gallery-text h3 {
    font-size: 17px !important;
    margin-bottom: 8px !important;
  }

  .module-gallery-text p {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }
}


/* ===== Social icons APIS HOUSE: header, footer, mobile menu, mobile bar ===== */
.header-socials {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.social-icon,
.footer-social,
.mobile-fixed-social {
  text-decoration: none !important;
}

.social-icon {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: #2b1b08 !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(255, 247, 223, .58)) !important;
  border: 1px solid rgba(255, 198, 90, .24) !important;
  box-shadow: 0 10px 26px rgba(80, 48, 8, .14), inset 0 1px 0 rgba(255,255,255,.58) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease !important;
}

.social-icon svg {
  width: 20px !important;
  height: 20px !important;
}

.social-icon:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 198, 90, .62) !important;
  box-shadow: 0 16px 34px rgba(80, 48, 8, .20), inset 0 1px 0 rgba(255,255,255,.7) !important;
}

.social-icon-telegram {
  color: #183a2f !important;
}

.social-icon-instagram {
  color: #8c530d !important;
}

.mobile-menu-social-instagram .mobile-menu-icon {
  color: #2b1b08 !important;
  background: linear-gradient(135deg, #fff1a6 0%, #ffc65a 48%, #e99d23 100%) !important;
}

.mobile-menu-social-telegram .mobile-menu-icon {
  color: #183a2f !important;
  background: linear-gradient(135deg, #fff7df 0%, #ffc65a 100%) !important;
}

.mobile-menu-social-instagram svg,
.mobile-menu-social-telegram svg {
  width: 18px !important;
  height: 18px !important;
}

.footer-top {
  align-items: center !important;
}

.footer-socials {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.footer-social {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  color: rgba(255, 247, 223, .86) !important;
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 198, 90, .16) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease !important;
}

.footer-social svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}

.footer-social:hover {
  transform: translateY(-2px) !important;
  color: var(--honey) !important;
  background: rgba(255, 198, 90, .10) !important;
  border-color: rgba(255, 198, 90, .36) !important;
}

.float-ig {
  color: #8c530d !important;
  background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(255, 234, 179, .72)) !important;
}

.float-tg {
  color: #183a2f !important;
}

@media (max-width: 1040px) {
  .header-socials {
    display: none !important;
  }
}

@media (max-width: 760px) {
  body {
    padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-fixed-action-bar {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr) 48px 48px !important;
    align-items: stretch !important;
    gap: 7px !important;
  }

  .mobile-fixed-action {
    min-width: 0 !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  .mobile-fixed-social {
    min-height: 52px !important;
    width: 48px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 18px !important;
    color: #2b1b08 !important;
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(160, 101, 18, .16) !important;
    box-shadow: 0 10px 24px rgba(80, 48, 8, .10), inset 0 1px 0 rgba(255,255,255,.65) !important;
  }

  .mobile-fixed-social svg {
    width: 21px !important;
    height: 21px !important;
  }

  .mobile-fixed-social-instagram {
    background: linear-gradient(135deg, #fff1a6 0%, #ffc65a 56%, #e99d23 100%) !important;
    color: #2b1b08 !important;
  }

  .mobile-fixed-social-telegram {
    background: linear-gradient(135deg, #ffffff 0%, #fff3c7 100%) !important;
    color: #183a2f !important;
  }
}

@media (max-width: 420px) {
  .mobile-fixed-action-bar {
    grid-template-columns: minmax(0, 1fr) minmax(0, .74fr) 44px 44px !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .mobile-fixed-action {
    min-height: 50px !important;
    font-size: 12px !important;
    gap: 5px !important;
  }

  .mobile-fixed-action-icon {
    width: 18px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }

  .mobile-fixed-action-icon svg {
    width: 17px !important;
    height: 17px !important;
  }

  .mobile-fixed-social {
    min-height: 50px !important;
    width: 44px !important;
    border-radius: 16px !important;
  }

  .mobile-fixed-social svg {
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 680px) {
  .footer-socials {
    justify-content: center !important;
  }

  .footer-social {
    min-height: 36px !important;
    padding: 8px 11px !important;
    font-size: 11.5px !important;
  }
}
/* ===== END Social icons APIS HOUSE ===== */



/* ===== FINAL FIX: compact social icons in header ===== */
.site-header .nav {
  gap: 18px !important;
}

.site-header .header-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.site-header .header-socials {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: 2px !important;
  padding-left: 10px !important;
  border-left: 1px solid rgba(255, 247, 223, 0.18) !important;
}

.site-header .social-icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  color: rgba(255, 247, 223, 0.88) !important;
  background: rgba(255, 255, 255, 0.075) !important;
  border: 1px solid rgba(255, 198, 90, 0.18) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}

.site-header .social-icon svg {
  width: 16.5px !important;
  height: 16.5px !important;
  stroke-width: 1.85 !important;
}

.site-header .social-icon-instagram,
.site-header .social-icon-telegram {
  color: rgba(255, 247, 223, 0.88) !important;
}

.site-header .social-icon:hover {
  transform: translateY(-2px) !important;
  color: #ffc65a !important;
  background: rgba(255, 198, 90, 0.12) !important;
  border-color: rgba(255, 198, 90, 0.46) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16) !important;
}

.site-header.scrolled .social-icon {
  background: rgba(255, 255, 255, 0.065) !important;
  border-color: rgba(255, 198, 90, 0.16) !important;
}

@media (max-width: 1240px) {
  .site-header .header-socials {
    display: none !important;
  }
}


/* ===== FINAL FIX v21: visible header socials + original sleep block position ===== */

/* Header icons: visible on desktop light header */
.site-header .header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
}

.site-header .header-socials {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-left: 0 !important;
  padding-left: 10px !important;
  border-left: 1px solid rgba(216, 146, 23, 0.24) !important;
}

.site-header .social-icon,
.site-header.scrolled .social-icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  border-radius: 12px !important;
  color: #2b1b08 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(216, 146, 23, 0.34) !important;
  box-shadow: 0 8px 20px rgba(80, 48, 8, 0.10), inset 0 1px 0 rgba(255,255,255,0.74) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header .social-icon svg,
.site-header.scrolled .social-icon svg {
  width: 17px !important;
  height: 17px !important;
  display: block !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
}

.site-header .social-icon-instagram,
.site-header.scrolled .social-icon-instagram {
  color: #9a5a08 !important;
}

.site-header .social-icon-telegram,
.site-header.scrolled .social-icon-telegram {
  color: #183a2f !important;
}

.site-header .social-icon:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #fff6d2 0%, #ffc65a 100%) !important;
  border-color: rgba(233, 157, 35, 0.60) !important;
  box-shadow: 0 12px 26px rgba(80, 48, 8, 0.16), inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

/* show socials until the real mobile breakpoint; previous 1240px hiding is cancelled */
@media (max-width: 1240px) {
  .site-header .header-socials {
    display: flex !important;
  }
}

@media (max-width: 1080px) {
  .site-header .header-socials {
    display: none !important;
  }
}

/* Sleep-on-hives: restore original top block layout and prevent visual shift */
.sleep-hives-section {
  padding: 72px 0 !important;
  overflow: hidden !important;
}

.sleep-hives-section > .container {
  width: min(var(--maxw), calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sleep-hives-head {
  max-width: 920px !important;
  margin: 0 0 28px 0 !important;
  text-align: left !important;
}

.sleep-hives-head h2 {
  max-width: 900px !important;
  margin: 18px 0 0 !important;
  font-size: clamp(34px, 4vw, 66px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
}

.sleep-hives-head p {
  max-width: 820px !important;
  margin: 20px 0 0 !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.72 !important;
}

.sleep-hives-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr) !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 30px 0 42px !important;
}

.sleep-hives-text {
  padding: 30px 34px !important;
  border-radius: 34px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  border: 1px solid rgba(143, 92, 24, 0.12) !important;
  box-shadow: 0 22px 60px rgba(143, 92, 24, 0.09) !important;
}

.sleep-hives-text h3 {
  margin: 0 0 16px !important;
  font-size: clamp(21px, 1.8vw, 30px) !important;
  line-height: 1.18 !important;
}

.sleep-hives-text p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.sleep-hives-facts {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sleep-hives-facts div {
  min-height: 112px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 22px 24px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(255, 244, 207, 0.96), rgba(255, 255, 255, 0.78)) !important;
  border: 1px solid rgba(233, 157, 35, 0.20) !important;
  box-shadow: 0 18px 46px rgba(143, 92, 24, 0.08) !important;
}

.sleep-hives-facts strong {
  font-size: clamp(28px, 3vw, 44px) !important;
}

.sleep-module-intro {
  scroll-margin-top: calc(var(--header-h) + 18px) !important;
}

.sleep-module-anchor {
  display: none !important;
}

@media (max-width: 980px) {
  .sleep-hives-info {
    grid-template-columns: 1fr !important;
  }

  .sleep-hives-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .sleep-hives-section {
    padding: 52px 0 !important;
  }

  .sleep-hives-section > .container {
    width: min(100% - 24px, var(--maxw)) !important;
  }

  .sleep-hives-head {
    margin-bottom: 22px !important;
  }

  .sleep-hives-head h2 {
    font-size: clamp(29px, 8.8vw, 42px) !important;
    line-height: 1.08 !important;
  }

  .sleep-hives-head p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .sleep-hives-info {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 22px 0 32px !important;
  }

  .sleep-hives-text {
    padding: 22px !important;
    border-radius: 26px !important;
  }

  .sleep-hives-text h3 {
    font-size: 21px !important;
    line-height: 1.22 !important;
    margin-bottom: 12px !important;
  }

  .sleep-hives-text p {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
  }

  .sleep-hives-facts {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .sleep-hives-facts div {
    min-height: auto !important;
    padding: 18px 20px !important;
    border-radius: 22px !important;
  }
}
/* ===== END FINAL FIX v21 ===== */

/* ===== FINAL FIX v22: вернуть верхний блок "Сон на ульях" ровно как в исходной версии ===== */
/* Этот блок стоит самым последним и перебивает предыдущие ошибочные правки v19/v21. */
.sleep-hives-section {
  padding: 72px 0 !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(255, 209, 102, .36), transparent 26rem),
    radial-gradient(circle at 92% 84%, rgba(210, 133, 20, .13), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #fff1c9 52%, #fff8e6 100%) !important;
  overflow: hidden !important;
}

.sleep-hives-section > .container {
  width: min(var(--maxw), calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sleep-hives-head {
  max-width: 880px !important;
  margin: 0 0 24px 0 !important;
  text-align: left !important;
}

.sleep-hives-head h2 {
  margin: 16px 0 0 !important;
  max-width: 820px !important;
  color: var(--honey-text, #2b1b08) !important;
  font-size: clamp(31px, 3.15vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
}

.sleep-hives-head p {
  max-width: 720px !important;
  margin: 16px 0 0 !important;
  color: var(--honey-muted, #6a4e2f) !important;
  font-size: clamp(15px, 1.12vw, 18px) !important;
  line-height: 1.68 !important;
  font-weight: 500 !important;
}

.sleep-hives-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 0 22px 0 !important;
}

.sleep-hives-text,
.sleep-hives-facts {
  padding: 24px !important;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, .72) !important;
  border: 1px solid var(--honey-border, rgba(196, 123, 18, .16)) !important;
  box-shadow: 0 18px 54px rgba(126, 78, 14, .08) !important;
}

.sleep-hives-text h3 {
  margin: 0 !important;
  color: var(--honey-text, #2b1b08) !important;
  font-size: clamp(22px, 1.75vw, 30px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.045em !important;
}

.sleep-hives-text p {
  margin: 14px 0 0 !important;
  color: var(--honey-muted, #6a4e2f) !important;
  font-size: 15.5px !important;
  line-height: 1.68 !important;
  font-weight: 500 !important;
}

.sleep-hives-text strong {
  color: #8d5108 !important;
  font-weight: 900 !important;
}

.sleep-hives-facts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}

.sleep-hives-facts div {
  min-height: 122px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 16px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fff9eb 0%, #ffe2a0 100%) !important;
  border: 1px solid rgba(196, 123, 18, .16) !important;
  box-shadow: none !important;
}

.sleep-hives-facts strong {
  display: block !important;
  color: #8c530d !important;
  font-family: 'Unbounded', 'Manrope', sans-serif !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}

.sleep-hives-facts span {
  display: block !important;
  margin-top: 8px !important;
  color: var(--honey-muted, #6a4e2f) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.sleep-module-anchor {
  display: none !important;
}

.sleep-module-intro {
  scroll-margin-top: calc(var(--header-h) + 18px) !important;
}

@media (max-width: 760px) {
  .sleep-hives-section {
    padding: 52px 0 !important;
  }

  .sleep-hives-section > .container {
    width: min(100% - 24px, var(--maxw)) !important;
  }

  .sleep-hives-info {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .sleep-hives-text,
  .sleep-hives-facts {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .sleep-hives-facts {
    grid-template-columns: 1fr !important;
  }

  .sleep-hives-facts div {
    min-height: 88px !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .sleep-hives-info {
    grid-template-columns: 1fr !important;
  }
}
/* ===== END FINAL FIX v22 ===== */

/* ===== FINAL FIX v23: iPhone Chrome/WebKit marquee + bottom overscroll ===== */

/* Chrome на iPhone работает на движке WebKit, поэтому строку фиксируем отдельной 3D-анимацией */
.marquee {
  overflow: hidden !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

.marquee-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: max-content !important;
  will-change: transform !important;
  animation: apisMarqueeWebkit 34s linear infinite !important;
  -webkit-animation: apisMarqueeWebkit 34s linear infinite !important;
}

.marquee-track span {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

@keyframes apisMarqueeWebkit {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

@-webkit-keyframes apisMarqueeWebkit {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
  }
}

/* Даже если на iPhone включено «Уменьшение движения», оставляем только бегущую строку рабочей */
@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: apisMarqueeWebkit 42s linear infinite !important;
    -webkit-animation: apisMarqueeWebkit 42s linear infinite !important;
    transition: none !important;
  }
}

@media (max-width: 760px) {
  /* Убираем белое поле после футера: больше не используем нижний padding у body */
  html {
    background: #0b0c08 !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: none !important;
  }

  body {
    padding-bottom: 0 !important;
    background: #0b0c08 !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: none !important;
  }

  main {
    background: linear-gradient(180deg, #fffaf0 0%, #f6efe2 46%, #fffaf0 100%) !important;
  }

  .marquee-track {
    animation-duration: 30s !important;
    -webkit-animation-duration: 30s !important;
  }

  /* Футер сам даёт место под фиксированную нижнюю панель, поэтому после него нет белого зазора */
  .footer {
    margin-bottom: 0 !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    background: #0b0c08 !important;
  }

  .footer::after {
    content: "" !important;
    display: block !important;
    height: 0 !important;
    clear: both !important;
  }

  .mobile-fixed-action-bar {
    bottom: 0 !important;
    margin: 0 !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }
}

@media (max-width: 420px) {
  .footer {
    padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
  }
}
/* ===== END FINAL FIX v23 ===== */


/* ===== FINAL FIX v24: вернуть нижние кнопки на iPhone / mobile ===== */
@media (max-width: 760px) {
  html {
    background: #0b0c08 !important;
    overflow-x: hidden !important;
  }

  body {
    padding-bottom: 0 !important;
    background: #0b0c08 !important;
    overflow-x: hidden !important;
  }

  main {
    background: linear-gradient(180deg, #fffaf0 0%, #f6efe2 46%, #fffaf0 100%) !important;
  }

  /* оставляем место под фиксированную панель внутри футера, а не белым padding у body */
  .footer {
    margin-bottom: 0 !important;
    padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    background: #0b0c08 !important;
  }

  /* главная нижняя панель: две крупные кнопки */
  .mobile-fixed-action-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 99999 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr) !important;
    align-items: stretch !important;
    gap: 8px !important;

    width: 100% !important;
    min-height: calc(72px + env(safe-area-inset-bottom)) !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    background: rgba(255, 250, 236, .97) !important;
    border-top: 1px solid rgba(160, 101, 18, .20) !important;
    box-shadow: 0 -14px 36px rgba(80, 48, 8, .18) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;

    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }

  .mobile-fixed-action {
    min-width: 0 !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 12px !important;
    border-radius: 18px !important;
    text-align: center !important;
    font-size: 13.5px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: -0.015em !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mobile-fixed-action-book {
    color: #2b1b08 !important;
    background: linear-gradient(135deg, #fff0a8 0%, #ffc65a 42%, #e99d23 100%) !important;
    box-shadow: 0 12px 26px rgba(216, 146, 23, .28), inset 0 1px 0 rgba(255,255,255,.55) !important;
  }

  .mobile-fixed-action-call {
    color: #fff9ea !important;
    background: linear-gradient(135deg, #5b3a0a 0%, #9d6410 100%) !important;
    box-shadow: 0 12px 26px rgba(76, 42, 4, .18), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .mobile-fixed-action-icon {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
    display: grid !important;
    place-items: center !important;
  }

  .mobile-fixed-action-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  /* соцсети остаются в мобильном меню и футере; в нижней панели оставляем только две главные кнопки */
  .mobile-fixed-action-bar .mobile-fixed-social {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .mobile-fixed-action-bar {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
    gap: 7px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  .mobile-fixed-action {
    min-height: 50px !important;
    gap: 6px !important;
    padding: 11px 9px !important;
    border-radius: 16px !important;
    font-size: 12.5px !important;
  }
}
/* ===== END FINAL FIX v24 ===== */


/* ===== FINAL FIX v25: вернуть вертикальный скролл на iPhone/мобильных и сохранить нижние кнопки ===== */
@media (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    position: static !important;
    touch-action: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: auto !important;
  }

  body {
    padding-bottom: 0 !important;
    background: #0b0c08 !important;
  }

  /* Блокируем страницу только когда реально открыто мобильное меню */
  body.menu-open {
    overflow: hidden !important;
  }

  main {
    display: block !important;
    min-height: 0 !important;
    background: linear-gradient(180deg, #fffaf0 0%, #f6efe2 46%, #fffaf0 100%) !important;
  }

  .site-header,
  .menu-btn,
  .mobile-fixed-action-bar,
  .mobile-fixed-action,
  .mobile-fixed-social {
    touch-action: manipulation !important;
  }

  .mobile-menu:not(.open) {
    pointer-events: none !important;
  }

  .mobile-menu.open {
    pointer-events: auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-height: calc(100dvh - var(--header-h) - 24px) !important;
  }

  /* Футер сам даёт место под фиксированную панель: нет белого поля после сайта */
  .footer {
    margin-bottom: 0 !important;
    padding-bottom: calc(86px + env(safe-area-inset-bottom)) !important;
    background: #0b0c08 !important;
  }

  .mobile-fixed-action-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 99999 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr) !important;
    align-items: stretch !important;
    gap: 8px !important;

    width: 100% !important;
    min-height: calc(72px + env(safe-area-inset-bottom)) !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    background: rgba(255, 250, 236, .97) !important;
    border-top: 1px solid rgba(160, 101, 18, .20) !important;
    box-shadow: 0 -14px 36px rgba(80, 48, 8, .18) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;

    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }

  .mobile-fixed-action {
    min-width: 0 !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 12px !important;
    border-radius: 18px !important;
    text-align: center !important;
    font-size: 13.5px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: -0.015em !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .mobile-fixed-action-book {
    color: #2b1b08 !important;
    background: linear-gradient(135deg, #fff0a8 0%, #ffc65a 42%, #e99d23 100%) !important;
    box-shadow: 0 12px 26px rgba(216, 146, 23, .28), inset 0 1px 0 rgba(255,255,255,.55) !important;
  }

  .mobile-fixed-action-call {
    color: #fff9ea !important;
    background: linear-gradient(135deg, #5b3a0a 0%, #9d6410 100%) !important;
    box-shadow: 0 12px 26px rgba(76, 42, 4, .18), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }

  .mobile-fixed-action-icon {
    width: 21px !important;
    height: 21px !important;
    flex: 0 0 21px !important;
    display: grid !important;
    place-items: center !important;
  }

  .mobile-fixed-action-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  /* Соцсети остаются в мобильном меню и футере; нижняя панель — только два основных действия */
  .mobile-fixed-action-bar .mobile-fixed-social {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .mobile-fixed-action-bar {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
    gap: 7px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }

  .mobile-fixed-action {
    min-height: 50px !important;
    gap: 6px !important;
    padding: 11px 9px !important;
    border-radius: 16px !important;
    font-size: 12.5px !important;
  }
}
/* ===== END FINAL FIX v25 ===== */


/* ===== FINAL FIX v26: мобильная нижняя панель с Instagram/Telegram + рабочая бегущая строка ===== */

/* Бегущая строка: убираем конфликт статичного transform и запускаем обычную transform-анимацию */
.marquee {
  overflow: hidden !important;
  width: 100% !important;
  isolation: isolate !important;
}

.marquee-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  min-width: max-content !important;
  will-change: transform !important;
  animation-name: apisMarqueeMoveV26 !important;
  animation-duration: 34s !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  -webkit-animation-name: apisMarqueeMoveV26 !important;
  -webkit-animation-duration: 34s !important;
  -webkit-animation-timing-function: linear !important;
  -webkit-animation-iteration-count: infinite !important;
}

.marquee-track span {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

@keyframes apisMarqueeMoveV26 {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@-webkit-keyframes apisMarqueeMoveV26 {
  from { -webkit-transform: translate3d(0, 0, 0); }
  to { -webkit-transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation-duration: 42s !important;
    -webkit-animation-duration: 42s !important;
  }
}

/* Нижняя мобильная панель: возвращаем Instagram и Telegram рядом с основными кнопками */
@media (max-width: 760px) {
  html,
  body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }

  body.menu-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  .footer {
    margin-bottom: 0 !important;
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
    background: #0b0c08 !important;
  }

  .mobile-fixed-action-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 99999 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .82fr) 46px 46px !important;
    align-items: stretch !important;
    gap: 7px !important;

    width: 100% !important;
    min-height: calc(72px + env(safe-area-inset-bottom)) !important;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    background: rgba(255, 250, 236, .98) !important;
    border-top: 1px solid rgba(160, 101, 18, .20) !important;
    box-shadow: 0 -14px 36px rgba(80, 48, 8, .18) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
  }

  .mobile-fixed-action {
    min-width: 0 !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 11px 9px !important;
    border-radius: 17px !important;
    text-align: center !important;
    font-size: 12.8px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  .mobile-fixed-action-icon {
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 19px !important;
    display: grid !important;
    place-items: center !important;
  }

  .mobile-fixed-action-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  .mobile-fixed-action-bar .mobile-fixed-social {
    min-width: 0 !important;
    width: 46px !important;
    height: 52px !important;
    min-height: 52px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 17px !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    border: 1px solid rgba(143, 92, 24, .16) !important;
    box-shadow: 0 10px 24px rgba(89, 65, 24, .10), inset 0 1px 0 rgba(255,255,255,.62) !important;
  }

  .mobile-fixed-action-bar .mobile-fixed-social svg {
    width: 20px !important;
    height: 20px !important;
    stroke-width: 2 !important;
  }

  .mobile-fixed-social-instagram {
    color: #7a3b12 !important;
    background: linear-gradient(135deg, #fff7df 0%, #ffe2a4 100%) !important;
  }

  .mobile-fixed-social-telegram {
    color: #183a2f !important;
    background: linear-gradient(135deg, #ffffff 0%, #fff1c7 100%) !important;
  }
}

@media (max-width: 380px) {
  .mobile-fixed-action-bar {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .78fr) 40px 40px !important;
    gap: 6px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .mobile-fixed-action {
    min-height: 50px !important;
    padding: 10px 7px !important;
    border-radius: 16px !important;
    font-size: 12px !important;
  }

  .mobile-fixed-action-icon {
    display: none !important;
  }

  .mobile-fixed-action-bar .mobile-fixed-social {
    width: 40px !important;
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 16px !important;
  }
}
/* ===== END FINAL FIX v26 ===== */


/* ===== FINAL FIX v27: franchise full-width background like scenario section ===== */
#franchise {
  position: relative !important;
  overflow: hidden !important;
  padding: 72px 0 !important;
  background:
    radial-gradient(circle at 9% 12%, rgba(255, 205, 90, .34), transparent 28rem),
    radial-gradient(circle at 88% 82%, rgba(201, 106, 50, .16), transparent 26rem),
    linear-gradient(135deg, #fff5d3 0%, #f3c35c 50%, #fff7df 100%) !important;
  color: #2a1b08 !important;
}

#franchise::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .24 !important;
  background:
    var(--apis-honeycomb-grid, url("../image/honeycomb-pattern.svg")),
    radial-gradient(circle at 12% 10%, rgba(255, 198, 90, .18), transparent 24rem) !important;
  background-size:
    68px 39.25px,
    auto !important;
  background-position:
    center,
    center !important;
}

#franchise .container {
  position: relative !important;
  z-index: 2 !important;
}

#franchise .franchise-box {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr) !important;
  gap: 30px !important;
  align-items: stretch !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #2a1b08 !important;
}

#franchise .franchise-box::before,
#franchise .franchise-box::after {
  display: none !important;
  content: none !important;
}

#franchise .franchise-box > div:first-child {
  position: relative !important;
  z-index: 2 !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 42px 46px !important;
  border-radius: 42px !important;
  background: rgba(255, 255, 255, .54) !important;
  border: 1px solid rgba(196, 123, 18, .18) !important;
  box-shadow: 0 26px 70px rgba(129, 83, 19, .12) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}

#franchise .franchise-title,
#franchise .franchise-title span,
#franchise .franchise-text,
#franchise .franchise-box h2,
#franchise .franchise-box h3,
#franchise .franchise-box p {
  color: #2a1b08 !important;
}

#franchise .franchise-title {
  max-width: 720px !important;
  margin-top: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: clamp(31px, 3.15vw, 54px) !important;
  line-height: 1.07 !important;
  letter-spacing: -0.055em !important;
}

#franchise .franchise-title span {
  display: block !important;
  margin-top: 10px !important;
  color: rgba(42, 27, 8, .70) !important;
  font-size: clamp(18px, 1.45vw, 24px) !important;
  line-height: 1.32 !important;
  letter-spacing: -0.035em !important;
}

#franchise .franchise-text {
  max-width: 650px !important;
  margin-top: 20px !important;
  color: rgba(42, 27, 8, .70) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  font-weight: 700 !important;
}

#franchise .franchise-actions {
  max-width: 650px !important;
  margin-top: 28px !important;
}

#franchise .btn-secondary {
  color: #2a1b08 !important;
  background: rgba(255, 255, 255, .48) !important;
  border: 1px solid rgba(42, 27, 8, .14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .52) !important;
}

#franchise .metrics {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#franchise .metric {
  min-height: 168px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 26px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .58) !important;
  border: 1px solid rgba(196, 123, 18, .18) !important;
  box-shadow: 0 22px 60px rgba(129, 83, 19, .10) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}

#franchise .metric strong {
  color: #9a5b09 !important;
  font-size: clamp(25px, 2.2vw, 34px) !important;
}

#franchise .metric span {
  color: rgba(42, 27, 8, .66) !important;
  font-size: 14px !important;
  line-height: 1.52 !important;
}

#franchise .eyebrow {
  color: #7b4a08 !important;
  background: rgba(255, 255, 255, .64) !important;
  border-color: rgba(196, 123, 18, .20) !important;
}

@media (max-width: 1040px) {
  #franchise {
    padding: 56px 0 !important;
  }

  #franchise .franchise-box {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #franchise .franchise-box > div:first-child {
    padding: 34px !important;
    border-radius: 34px !important;
  }
}

@media (max-width: 760px) {
  #franchise {
    padding: 42px 0 !important;
  }

  #franchise .franchise-box > div:first-child {
    padding: 24px !important;
    border-radius: 28px !important;
  }

  #franchise .franchise-title {
    font-size: clamp(25px, 7.6vw, 36px) !important;
    line-height: 1.12 !important;
  }

  #franchise .franchise-title span {
    font-size: clamp(16px, 4.4vw, 20px) !important;
  }

  #franchise .franchise-text {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
  }

  #franchise .metrics {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  #franchise .metric {
    min-height: auto !important;
    padding: 22px !important;
    border-radius: 24px !important;
  }
}
/* ===== END FINAL FIX v27 ===== */

/* ===== FINAL FIX v28: premium readable fonts, cross-browser fallbacks ===== */
:root {
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--font-body) !important;
  font-feature-settings: 'kern' 1, 'liga' 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
p,
.lead,
.card p,
.step p,
.format p,
.check p,
.faq-a p,
.review-text,
.form-title p,
.field input,
.field select,
.field textarea,
.consent,
.contacts-card p,
.footer p,
.mobile-menu a,
.mobile-menu-contact small,
.mobile-menu-contact strong {
  font-family: var(--font-body) !important;
}

h1,
h2,
.hero-title,
.brand-story-title,
.franchise-title,
.sleep-hives-head h2,
.forms-section-head h2,
.reviews-head h2,
.section-head h2,
#module h2,
#experience h2,
#formats h2,
#safety h2,
#faq h2 {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  letter-spacing: -0.026em !important;
  line-height: .98 !important;
}

h3,
.card h3,
.content-item h3,
.content-item2 h3,
.step h3,
.format h3,
.check strong,
.faq-q span,
.form-title h3,
.review-author strong,
.booking-preview-main strong,
.booking-options strong,
.sleep-hives-text h3,
.module-card h3,
.module-feature-card h3 {
  font-family: var(--font-ui) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}

.menu,
.phone,
.btn,
.eyebrow,
.tag,
.form-kicker,
.hero-benefits span,
.hero-note,
.marquee span,
.stat strong,
.number,
.number1,
.step b,
.price,
.price small,
.metric strong,
.metric span,
.footer,
.footer-links a,
.footer-copy,
.footer-legal,
.footer-company p,
.mobile-fixed-action,
.float-btn,
.social-link,
.header-social,
.booking-time strong,
.booking-time span,
.booking-benefits div,
.booking-contact-row a {
  font-family: var(--font-ui) !important;
}

.hero-title {
  font-size: clamp(42px, 5.6vw, 96px) !important;
  line-height: .96 !important;
  letter-spacing: -0.025em !important;
  font-weight: 600 !important;
}

.hero-title .accent,
.accent {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
}

.hero-copy .lead,
.hero-copy > p:not(.lead) {
  letter-spacing: -0.012em !important;
}

h2 {
  font-size: clamp(36px, 3.8vw, 70px) !important;
}

.card h3,
.format-top h3,
.content-item h3,
.step h3,
.faq-q span {
  line-height: 1.16 !important;
}

.price,
.metric strong,
.stat strong {
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
}

.brand-story-title span,
.franchise-title span,
.hero-title-line {
  font-family: inherit !important;
}

@media (max-width: 760px) {
  h1,
  h2,
  .hero-title,
  .brand-story-title,
  .franchise-title,
  .sleep-hives-head h2,
  .forms-section-head h2,
  .reviews-head h2,
  .section-head h2 {
    letter-spacing: -0.02em !important;
    line-height: 1.03 !important;
  }

  .hero-title {
    font-size: clamp(31px, 9.4vw, 46px) !important;
    letter-spacing: -0.022em !important;
    line-height: 1.02 !important;
  }

  h2 {
    font-size: clamp(31px, 8.5vw, 43px) !important;
    line-height: 1.04 !important;
  }

  h3,
  .card h3,
  .content-item h3,
  .step h3,
  .format h3,
  .faq-q span,
  .form-title h3 {
    letter-spacing: -0.028em !important;
  }
}

@media (max-width: 380px) {
  .hero-title {
    font-size: clamp(27px, 8.6vw, 36px) !important;
    letter-spacing: -0.018em !important;
  }
}
/* ===== END FINAL FIX v28 ===== */


/* ===== FINAL FIX v30: вернуть хорошие фоны, поправить читаемость цены и убрать жирность белых надписей ===== */

/* Прайс: возвращаем прежние фоны карточек */
#formats .format {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(23, 21, 15, 0.08) !important;
  box-shadow: 0 24px 70px rgba(89, 65, 24, 0.10) !important;
  color: var(--ink) !important;
}

#formats .format.featured {
  background: linear-gradient(135deg, #0b0c08 0%, #183a2f 100%) !important;
  color: #fff7df !important;
  box-shadow: 0 24px 70px rgba(11, 12, 8, 0.20) !important;
}

#formats .format.featured::before {
  opacity: 0.48 !important;
}

#formats .format h3,
#formats .format .price {
  color: var(--ink-2) !important;
}

#formats .format.featured h3,
#formats .format.featured .price {
  color: #fff7df !important;
}

#formats .format p,
#formats .format li {
  color: var(--muted) !important;
}

#formats .format.featured p,
#formats .format.featured li {
  color: rgba(255, 247, 232, 0.72) !important;
  font-weight: 400 !important;
}

/* 45 минут / мелкие подписи в прайсе: не белые, читаемые */
#formats .price small,
.price small {
  color: #6b4318 !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

#formats .format.featured .price small,
.format.featured .price small,
.featured .price small {
  color: #e4bd73 !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* Франшиза: возвращаем прежний светло-медовый фон и карточки */
#franchise {
  position: relative !important;
  overflow: hidden !important;
  padding: 72px 0 !important;
  background:
    radial-gradient(circle at 9% 12%, rgba(255, 205, 90, .34), transparent 28rem),
    radial-gradient(circle at 88% 82%, rgba(201, 106, 50, .16), transparent 26rem),
    linear-gradient(135deg, #fff5d3 0%, #f3c35c 50%, #fff7df 100%) !important;
  color: #2a1b08 !important;
}

#franchise::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .24 !important;
  background:
    var(--apis-honeycomb-grid, url("../image/honeycomb-pattern.svg")),
    radial-gradient(circle at 12% 10%, rgba(255, 198, 90, .18), transparent 24rem) !important;
  background-size: 68px 39.25px, auto !important;
  background-position: center, center !important;
}

#franchise .container {
  position: relative !important;
  z-index: 2 !important;
}

#franchise .franchise-box {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr) !important;
  gap: 30px !important;
  align-items: stretch !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #2a1b08 !important;
}

#franchise .franchise-box::before,
#franchise .franchise-box::after {
  display: none !important;
  content: none !important;
}

#franchise .franchise-box > div:first-child {
  position: relative !important;
  z-index: 2 !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 42px 46px !important;
  border-radius: 42px !important;
  background: rgba(255, 255, 255, .54) !important;
  border: 1px solid rgba(196, 123, 18, .18) !important;
  box-shadow: 0 26px 70px rgba(129, 83, 19, .12) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}

#franchise .franchise-title,
#franchise .franchise-title span,
#franchise .franchise-text,
#franchise .franchise-box h2,
#franchise .franchise-box h3,
#franchise .franchise-box p {
  color: #2a1b08 !important;
  text-shadow: none !important;
}

#franchise .franchise-title {
  max-width: 720px !important;
  margin-top: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: clamp(31px, 3.15vw, 54px) !important;
  line-height: 1.07 !important;
  letter-spacing: -0.055em !important;
}

#franchise .franchise-title span {
  display: block !important;
  margin-top: 10px !important;
  color: rgba(42, 27, 8, .70) !important;
  font-size: clamp(18px, 1.45vw, 24px) !important;
  line-height: 1.32 !important;
  letter-spacing: -0.035em !important;
  font-weight: 500 !important;
}

#franchise .franchise-text {
  max-width: 650px !important;
  margin-top: 20px !important;
  color: rgba(42, 27, 8, .70) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
}

#franchise .franchise-actions {
  max-width: 650px !important;
  margin-top: 28px !important;
}

#franchise .btn-secondary {
  color: #2a1b08 !important;
  background: rgba(255, 255, 255, .48) !important;
  border: 1px solid rgba(42, 27, 8, .14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .52) !important;
}

#franchise .metrics {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#franchise .metric {
  min-height: 168px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 26px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .58) !important;
  border: 1px solid rgba(196, 123, 18, .18) !important;
  box-shadow: 0 22px 60px rgba(129, 83, 19, .10) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}

#franchise .metric strong {
  color: #9a5b09 !important;
  font-size: clamp(25px, 2.2vw, 34px) !important;
  text-shadow: none !important;
}

#franchise .metric span {
  color: rgba(42, 27, 8, .66) !important;
  font-size: 14px !important;
  line-height: 1.52 !important;
  font-weight: 500 !important;
}

#franchise .eyebrow {
  color: #7b4a08 !important;
  background: rgba(255, 255, 255, .64) !important;
  border-color: rgba(196, 123, 18, .20) !important;
  font-weight: 700 !important;
}

/* Убираем тяжёлую жирность с белых надписей, но оставляем читаемость */
.hero-copy .lead,
.hero-copy > p:not(.lead),
.dark-section p,
.format.featured p,
.format.featured li,
.booking-card .form-title p,
.booking-options span,
.booking-benefits div,
.review-card-main .review-text,
.mobile-fixed-action,
.hero-benefits span {
  font-weight: 400 !important;
  text-shadow: none !important;
}

.hero-title,
.dark-section h2,
.dark-section h3,
.format.featured h3 {
  text-shadow: none !important;
}

.hero-benefits span {
  font-weight: 600 !important;
}

@media (max-width: 1040px) {
  #franchise {
    padding: 56px 0 !important;
  }

  #franchise .franchise-box {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #franchise .franchise-box > div:first-child {
    padding: 34px !important;
    border-radius: 34px !important;
  }
}

@media (max-width: 760px) {
  #franchise {
    padding: 42px 0 !important;
  }

  #franchise .franchise-box > div:first-child {
    padding: 24px !important;
    border-radius: 28px !important;
  }

  #franchise .franchise-title {
    font-size: clamp(25px, 7.6vw, 36px) !important;
    line-height: 1.12 !important;
  }

  #franchise .franchise-title span {
    font-size: clamp(16px, 4.4vw, 20px) !important;
  }

  #franchise .franchise-text {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
  }

  #franchise .metrics {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  #franchise .metric {
    min-height: auto !important;
    padding: 22px !important;
    border-radius: 24px !important;
  }
}
/* ===== END FINAL FIX v30 ===== */


/* ===== FINAL FIX v31: белый текст до 600, прайс в жёлтых оттенках, меню 13px ===== */

/* Меню — ровно 13px */
.site-header .menu,
.site-header .menu a,
.menu,
.menu a {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

/* Белые надписи: без чрезмерной жирности, максимум визуально 600 */
.hero-title,
.hero-title .accent,
.hero-title-line,
.hero-copy .eyebrow,
.hero-copy .lead,
.hero-copy > p:not(.lead),
.hero-benefits span,
.hero-note,
.btn-secondary,
.dark-section h2,
.dark-section h3,
.dark-section p,
.dark-section .eyebrow,
.step h3,
.step p,
.franchise-box h2,
.franchise-box h3,
.franchise-box p,
.booking-card h3,
.booking-card .form-title p,
.booking-preview-main strong,
.booking-preview-main span,
.booking-options strong,
.booking-options span,
.booking-benefits div,
.booking-note,
.footer,
.footer a,
.footer p,
.footer-copy,
.footer-links a,
.footer-legal,
.footer-company p,
.mobile-menu a,
.mobile-menu-contact small,
.mobile-menu-contact strong,
.mobile-fixed-action,
.float-btn {
  font-weight: 600 !important;
}

/* Исключение: обычные длинные абзацы на тёмном фоне остаются мягкими, но не жирными */
.dark-section p,
.step p,
.booking-card .form-title p,
.booking-preview-main span,
.booking-options span,
.booking-note,
.footer p,
.footer-company p {
  font-weight: 500 !important;
}

/* Прайс: возвращаем тёплые жёлто-медовые оттенки без хвойного */
#formats {
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 198, 90, 0.24), transparent 28rem),
    radial-gradient(circle at 90% 80%, rgba(233, 157, 35, 0.14), transparent 26rem),
    linear-gradient(180deg, #fffaf0 0%, #fff2cf 48%, #fffaf0 100%) !important;
}

#formats .format {
  color: #2a1b08 !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 246, 218, 0.88) 100%) !important;
  border: 1px solid rgba(196, 123, 18, 0.16) !important;
  box-shadow: 0 24px 70px rgba(129, 83, 19, 0.10) !important;
}

#formats .format.featured {
  color: #2a1b08 !important;
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 255, 255, 0.64), transparent 210px),
    linear-gradient(135deg, #fff4bd 0%, #ffc65a 46%, #e9a22c 100%) !important;
  border: 1px solid rgba(169, 103, 12, 0.24) !important;
  box-shadow:
    0 28px 78px rgba(196, 123, 18, 0.20),
    inset 0 1px 0 rgba(255,255,255,0.48) !important;
}

#formats .format.featured::before,
#formats .format.featured::after {
  opacity: 0 !important;
  display: none !important;
}

#formats .format h3,
#formats .format.featured h3,
#formats .format .price,
#formats .format.featured .price {
  color: #2a1b08 !important;
  text-shadow: none !important;
}

#formats .format p,
#formats .format li,
#formats .format.featured p,
#formats .format.featured li {
  color: rgba(42, 27, 8, 0.68) !important;
  font-weight: 500 !important;
  text-shadow: none !important;
}

#formats .price small,
#formats .format.featured .price small,
.price small,
.featured .price small {
  color: #6b4318 !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

#formats .format .tag,
#formats .format.featured .tag {
  color: #7b4a08 !important;
  background: rgba(255, 255, 255, 0.50) !important;
  border: 1px solid rgba(123, 74, 8, 0.14) !important;
  font-weight: 600 !important;
}

#formats .format .btn-dark,
#formats .format.featured .btn-primary {
  color: #fff7df !important;
  background: linear-gradient(135deg, #6b4318 0%, #2a1b08 100%) !important;
  box-shadow: 0 18px 42px rgba(78, 45, 8, 0.22) !important;
  font-weight: 600 !important;
}

/* Белые кнопки/надписи не должны выглядеть жирнее 600 */
.btn,
.btn-primary,
.btn-secondary,
.btn-dark,
.mobile-fixed-action,
.mobile-menu-booking {
  font-weight: 600 !important;
}

/* ===== END FINAL FIX v31 ===== */


/* ===== FINAL FIX v32: marquee lighter, phone 13px, partner badge normal width ===== */

/* Бегущая строка — легче, без жирного перегруза */
.marquee span,
.marquee-track span {
  font-weight: 500 !important;
  letter-spacing: 0.045em !important;
}

/* Телефон в шапке — 13px */
.site-header .phone,
.phone {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

/* Плашка «для партнёров» — не растягивается, выглядит как остальные eyebrow */
#franchise .franchise-box > div:first-child {
  align-items: flex-start !important;
}

#franchise .eyebrow,
#franchise .franchise-box .eyebrow {
  width: auto !important;
  max-width: max-content !important;
  align-self: flex-start !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
}

@media (max-width: 760px) {
  #franchise .eyebrow,
  #franchise .franchise-box .eyebrow {
    max-width: 100% !important;
    white-space: normal !important;
  }
}
/* ===== END FINAL FIX v32 ===== */


/* ===== FINAL FIX v33: warm brand philosophy + clear sleep/module separation ===== */

/* Философия бренда: убираем серость, возвращаем тёплый медовый премиальный фон */
.brand-story-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background-color: #fff6dc !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(255, 198, 90, 0.34), transparent 30rem),
    radial-gradient(circle at 90% 78%, rgba(233, 157, 35, 0.18), transparent 28rem),
    linear-gradient(135deg, #fffaf0 0%, #ffe9ad 48%, #fff7df 100%) !important;
}

.brand-story-section::before {
  opacity: 0.16 !important;
  background-image: var(--apis-honeycomb-grid, url("../image/honeycomb-pattern.svg")) !important;
  background-size: 72px 42px !important;
  background-position: center !important;
  mix-blend-mode: multiply !important;
}

.brand-story-section::after {
  display: none !important;
  content: none !important;
}

.brand-story-layout {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 248, 227, 0.76) 100%) !important;
  border: 1px solid rgba(216, 146, 23, 0.18) !important;
  box-shadow: 0 24px 70px rgba(129, 83, 19, 0.10) !important;
}

.brand-story-title,
.brand-story-title span {
  text-shadow: none !important;
}

.brand-story-title {
  color: #2a1b08 !important;
}

.brand-story-title span {
  color: #a96210 !important;
}

.brand-story-text {
  border-left-color: rgba(216, 146, 23, 0.72) !important;
}

.brand-story-text p {
  color: #5f4931 !important;
  font-weight: 500 !important;
}

/* Разделение внутри объединённого блока: "Сон на ульях" и "Архитектурный модуль" */
.sleep-module-intro {
  position: relative !important;
  max-width: 1080px !important;
  margin-top: 46px !important;
  margin-bottom: 26px !important;
  padding: 40px 34px 28px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 198, 90, 0.20), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 246, 220, 0.62) 100%) !important;
  border: 1px solid rgba(196, 123, 18, 0.14) !important;
  box-shadow: 0 20px 58px rgba(126, 78, 14, 0.08) !important;
}

.sleep-module-intro::before {
  content: "" !important;
  position: absolute !important;
  left: 34px !important;
  right: 34px !important;
  top: 0 !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 198, 90, 0.86) 22%, rgba(201, 106, 50, 0.58) 50%, rgba(255, 198, 90, 0.86) 78%, transparent 100%) !important;
}

.sleep-module-intro .eyebrow,
.sleep-module-intro .eyebrow.dark {
  background: rgba(255, 255, 255, 0.78) !important;
  border-color: rgba(216, 146, 23, 0.20) !important;
  color: #6b4307 !important;
}

.sleep-module-intro h2 {
  color: #2a1b08 !important;
  margin-top: 18px !important;
}

.sleep-module-intro p {
  color: #5f4931 !important;
  font-weight: 500 !important;
}

.sleep-module-intro strong {
  color: #8d5108 !important;
  font-weight: 650 !important;
}

.module-gallery-grid {
  margin-top: 22px !important;
}

@media (max-width: 760px) {
  .brand-story-section {
    background:
      radial-gradient(circle at 10% 12%, rgba(255, 198, 90, 0.28), transparent 20rem),
      linear-gradient(135deg, #fffaf0 0%, #ffeab8 52%, #fff8e6 100%) !important;
  }

  .brand-story-layout {
    background: rgba(255, 255, 255, 0.74) !important;
  }

  .sleep-module-intro {
    margin-top: 34px !important;
    padding: 30px 22px 22px !important;
    border-radius: 26px !important;
  }

  .sleep-module-intro::before {
    left: 22px !important;
    right: 22px !important;
  }

  .sleep-module-intro h2 {
    font-size: clamp(28px, 8.2vw, 39px) !important;
  }
}
/* ===== END FINAL FIX v33 ===== */


/* ===== FINAL FIX v34: 1280px width for Philosophy and Architectural module ===== */

/* Философия бренда: шире, но в общем контейнерном стиле сайта */
.brand-story-section > .container,
#brand-story > .container {
  width: min(1280px, calc(100% - 40px)) !important;
  max-width: 1280px !important;
}

.brand-story-clean,
.brand-story-layout {
  width: 100% !important;
}

/* Архитектурный модуль внутри объединённого блока: растягиваем до 1280,
   не трогая верхний блок «Сон на ульях» */
.sleep-module-intro,
.module-gallery-grid {
  width: min(1280px, calc(100vw - 40px)) !important;
  max-width: 1280px !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}

.sleep-module-intro {
  max-width: 1280px !important;
}

/* Чтобы reveal-анимация не конфликтовала с центрированием через transform */
.sleep-module-intro.reveal,
.module-gallery-grid.reveal {
  opacity: 1 !important;
  transform: translateX(-50%) !important;
}

.sleep-module-intro.reveal.visible,
.module-gallery-grid.reveal.visible {
  opacity: 1 !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 760px) {
  .brand-story-section > .container,
  #brand-story > .container {
    width: min(100% - 24px, var(--maxw)) !important;
    max-width: var(--maxw) !important;
  }

  .sleep-module-intro,
  .module-gallery-grid,
  .sleep-module-intro.reveal,
  .module-gallery-grid.reveal,
  .sleep-module-intro.reveal.visible,
  .module-gallery-grid.reveal.visible {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}
/* ===== END FINAL FIX v34 ===== */


/* ===== FINAL FIX v35: единая ширина для философии и архитектурного блока ===== */

/* Одна и та же рабочая ширина: философия бренда и объединённый блок сон/архитектура */
#brand-story > .container,
#sleep-on-hives > .container {
  width: min(1280px, calc(100% - 40px)) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Убираем старый хак с 50% + translateX: из-за него один блок выглядел шире/смещённее другого */
#brand-story .brand-story-clean,
#brand-story .brand-story-layout,
#sleep-on-hives .sleep-module-intro,
#sleep-on-hives .module-gallery-grid {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Нормальное выравнивание архитектурного блока внутри того же контейнера, что и «Сон на ульях» */
#sleep-on-hives .sleep-module-intro {
  box-sizing: border-box !important;
  margin-top: 46px !important;
  margin-bottom: 26px !important;
}

#sleep-on-hives .module-gallery-grid {
  box-sizing: border-box !important;
  margin-top: 22px !important;
}

/* Возвращаем reveal-анимацию без горизонтального смещения */
#sleep-on-hives .sleep-module-intro.reveal,
#sleep-on-hives .module-gallery-grid.reveal {
  opacity: 0 !important;
  transform: translateY(24px) !important;
}

#sleep-on-hives .sleep-module-intro.reveal.visible,
#sleep-on-hives .module-gallery-grid.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}

/* Философия: та же ширина, что и архитектура, без лишних смещений */
#brand-story .brand-story-clean.reveal {
  width: 100% !important;
}

#brand-story .brand-story-clean.reveal.visible {
  transform: none !important;
}

/* Мобильную версию не растягиваем: оставляем стандартный аккуратный контейнер */
@media (max-width: 760px) {
  #brand-story > .container,
  #sleep-on-hives > .container {
    width: min(100% - 24px, var(--maxw)) !important;
    max-width: var(--maxw) !important;
  }

  #sleep-on-hives .sleep-module-intro,
  #sleep-on-hives .module-gallery-grid,
  #brand-story .brand-story-clean,
  #brand-story .brand-story-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  #sleep-on-hives .sleep-module-intro.reveal,
  #sleep-on-hives .module-gallery-grid.reveal {
    transform: translateY(14px) !important;
  }

  #sleep-on-hives .sleep-module-intro.reveal.visible,
  #sleep-on-hives .module-gallery-grid.reveal.visible {
    transform: none !important;
  }
}
/* ===== END FINAL FIX v35 ===== */


/* ===== FINAL FIX v36: единая аккуратная ширина всех блоков ===== */
:root {
  --content-w: 1180px;
  --content-gutter: 40px;
}

/* Единый рабочий контейнер для всех секций сайта */
.container,
.site-header .container,
.hero .container,
#therapy > .container,
#brand-story > .container,
#sleep-on-hives > .container,
#spa-effect > .container,
#experience > .container,
#formats > .container,
#safety > .container,
#franchise > .container,
#booking > .container,
#faq > .container,
#reviews > .container,
#contacts > .container,
.contacts-section > .container,
.bottom-cta-section > .container,
.footer > .container {
  width: min(var(--content-w), calc(100% - var(--content-gutter))) !important;
  max-width: var(--content-w) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Все основные внутренние карточки и сетки занимают одну и ту же ширину контейнера */
.section-head,
.cards,
.brand-story-clean,
.brand-story-layout,
.sleep-hives-head,
.sleep-hives-info,
.sleep-module-intro,
.module-gallery-grid,
.spa-effect-card,
.process,
.formats,
.safety,
.franchise-box,
.forms-section-head,
.forms-grid,
.faq,
.reviews-head,
.reviews-grid,
.contacts-card,
.bottom-cta-box,
.footer-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Заголовочные области могут быть уже по тексту, но не должны ломать общую ось */
.sleep-hives-head,
.forms-section-head,
.reviews-head,
.section-head {
  justify-self: stretch !important;
}

/* Убираем все старые способы растягивания/сдвига архитектурного блока */
#brand-story .brand-story-clean,
#brand-story .brand-story-layout,
#sleep-on-hives .sleep-module-intro,
#sleep-on-hives .module-gallery-grid,
#sleep-on-hives .sleep-module-intro.reveal,
#sleep-on-hives .module-gallery-grid.reveal,
#sleep-on-hives .sleep-module-intro.reveal.visible,
#sleep-on-hives .module-gallery-grid.reveal.visible {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

/* Возвращаем нормальную reveal-анимацию без горизонтальных смещений */
#brand-story .brand-story-clean.reveal,
#sleep-on-hives .sleep-module-intro.reveal,
#sleep-on-hives .module-gallery-grid.reveal {
  opacity: 0 !important;
  transform: translateY(22px) !important;
}

#brand-story .brand-story-clean.reveal.visible,
#sleep-on-hives .sleep-module-intro.reveal.visible,
#sleep-on-hives .module-gallery-grid.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}

/* Более ровный переход между "сон на ульях" и "архитектурный модуль" */
#sleep-on-hives .sleep-hives-info {
  margin-bottom: 34px !important;
}

#sleep-on-hives .sleep-module-intro {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding: 36px 34px 28px !important;
  border-radius: 34px !important;
}

#sleep-on-hives .module-gallery-grid {
  margin-top: 0 !important;
}

/* Блок философии визуально совпадает по ширине с архитектурой и остальными секциями */
#brand-story .brand-story-clean {
  display: block !important;
}

#brand-story .brand-story-layout {
  margin-top: 24px !important;
}

/* Прайс, франшиза и остальные карточные блоки больше не выбиваются по ширине */
#formats .formats,
#franchise .franchise-box,
#experience .process,
#safety .safety,
#booking .forms-grid,
#faq .faq,
#reviews .reviews-grid {
  max-width: 100% !important;
}

@media (max-width: 1040px) {
  :root {
    --content-gutter: 32px;
  }

  .container,
  .site-header .container,
  .hero .container,
  #therapy > .container,
  #brand-story > .container,
  #sleep-on-hives > .container,
  #spa-effect > .container,
  #experience > .container,
  #formats > .container,
  #safety > .container,
  #franchise > .container,
  #booking > .container,
  #faq > .container,
  #reviews > .container,
  #contacts > .container,
  .contacts-section > .container,
  .bottom-cta-section > .container,
  .footer > .container {
    width: min(100% - var(--content-gutter), var(--content-w)) !important;
  }
}

@media (max-width: 760px) {
  :root {
    --content-gutter: 24px;
  }

  .container,
  .site-header .container,
  .hero .container,
  #therapy > .container,
  #brand-story > .container,
  #sleep-on-hives > .container,
  #spa-effect > .container,
  #experience > .container,
  #formats > .container,
  #safety > .container,
  #franchise > .container,
  #booking > .container,
  #faq > .container,
  #reviews > .container,
  #contacts > .container,
  .contacts-section > .container,
  .bottom-cta-section > .container,
  .footer > .container {
    width: min(100% - var(--content-gutter), var(--content-w)) !important;
    max-width: var(--content-w) !important;
  }

  .brand-story-layout,
  .sleep-module-intro {
    border-radius: 28px !important;
  }

  #sleep-on-hives .sleep-module-intro {
    padding: 28px 22px 22px !important;
  }
}
/* ===== END FINAL FIX v36 ===== */


/* ===== v37: adaptive visual header with clean information layer ===== */
.hero.hero-image-header {
  min-height: min(100svh, 900px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  position: relative !important;
  overflow: hidden !important;
  padding: calc(var(--header-h) + 30px) 0 0 !important;
  color: #fff7df !important;
  background: #0b0c08 !important;
}

.hero-cover-picture {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.hero-cover-picture img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.hero.hero-image-header::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  opacity: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(7, 10, 7, 0.05) 0%, rgba(7, 10, 7, 0.00) 50%, rgba(7, 10, 7, 0.58) 100%),
    radial-gradient(circle at 82% 22%, rgba(255, 198, 90, 0.12), transparent 34%);
}

.hero.hero-image-header::after {
  display: none !important;
}

.hero.hero-image-header .hero-grid {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  min-height: calc(min(100svh, 900px) - var(--header-h) - 92px) !important;
  display: flex !important;
  align-items: flex-end !important;
  padding-bottom: 34px !important;
}

.hero.hero-image-header .hero-copy {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 18px !important;
}

@media (min-width: 761px) {
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    max-width: none !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 999px !important;
    background: rgba(9, 11, 7, 0.36) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 20px 54px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 46px !important;
    padding: 13px 18px !important;
    border-radius: 999px !important;
  }
}

.hero.hero-image-header .marquee {
  position: relative !important;
  z-index: 4 !important;
  margin-top: 0 !important;
  background: rgba(9, 11, 7, 0.42) !important;
  border-top: 1px solid rgba(255, 247, 223, 0.12) !important;
  border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
  backdrop-filter: blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
}

.hero.hero-image-header .marquee span {
  font-weight: 500 !important;
}

@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: auto !important;
    display: block !important;
    padding: calc(var(--header-h) + 12px) 0 0 !important;
    background:
      linear-gradient(180deg, #0b0c08 0%, #151005 46%, #fff7e8 100%) !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    width: calc(100% - 24px) !important;
    height: auto !important;
    aspect-ratio: 1200 / 630 !important;
    margin: 0 auto !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255, 247, 223, 0.16) !important;
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.30) !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .hero.hero-image-header .hero-grid {
    min-height: 0 !important;
    display: block !important;
    padding: 20px 0 18px !important;
  }

  .hero.hero-image-header .hero-copy {
    gap: 14px !important;
    align-items: stretch !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow {
    width: auto !important;
    display: flex !important;
    grid-template-columns: none !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    color: rgba(255, 247, 223, 0.86) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: .075em !important;
    text-align: center !important;
    background: rgba(255, 247, 223, 0.08) !important;
    border: 1px solid rgba(255, 247, 223, 0.12) !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow .dot {
    width: 5px !important;
    height: 5px !important;
    flex: 0 0 5px !important;
  }

  .hero.hero-image-header .hero-title {
    max-width: 100% !important;
    margin: 0 !important;
    color: #fff7df !important;
    font-size: clamp(31px, 9vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.055em !important;
    text-wrap: balance !important;
  }

  .hero.hero-image-header .hero-title .accent {
    color: #ffc65a !important;
  }

  .hero.hero-image-header .lead {
    max-width: 100% !important;
    margin: 0 !important;
    color: rgba(255, 247, 223, 0.86) !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    font-weight: 500 !important;
  }

  .hero.hero-image-header .hero-benefits {
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .hero.hero-image-header .hero-benefits span {
    min-height: 46px !important;
    padding: 10px 10px !important;
    border-radius: 15px !important;
    color: rgba(255, 247, 223, 0.88) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.28 !important;
    background: rgba(255, 247, 223, 0.08) !important;
    border: 1px solid rgba(255, 247, 223, 0.12) !important;
    box-shadow: none !important;
  }

  .hero.hero-image-header .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    max-width: 100% !important;
    margin-top: 2px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: center !important;
  }

  .hero.hero-image-header .marquee {
    margin-top: 0 !important;
    background: rgba(11, 12, 8, 0.72) !important;
  }

  .hero.hero-image-header .marquee span {
    padding: 13px 22px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

/* ===== v38: mobile hero same visual logic as desktop: image + buttons + marquee, no duplicate text overload ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: calc(var(--header-h) + 10px) 0 0 !important;
    background: #0b0c08 !important;
    color: #fff7df !important;
    overflow: hidden !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: calc(100% - 20px) !important;
    max-width: 560px !important;
    height: auto !important;
    aspect-ratio: 1200 / 630 !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 247, 223, 0.14) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.34) !important;
    background: #0b0c08 !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    display: block !important;
    padding: 12px 0 14px !important;
  }

  .hero.hero-image-header .hero-copy {
    width: 100% !important;
    display: block !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: calc(100% - 20px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border-radius: 20px !important;
    background: rgba(255, 247, 223, 0.08) !important;
    border: 1px solid rgba(255, 247, 223, 0.12) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 10px !important;
    border-radius: 15px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
    background: rgba(11, 12, 8, 0.86) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.12) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 13px 22px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-actions .btn {
    font-size: 12px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===== v39: mobile hero image full screen, no black card/background ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    position: relative !important;
    padding: calc(var(--header-h) + env(safe-area-inset-top)) 0 0 !important;
    background: #f6e4bd !important;
    color: #fff7df !important;
    overflow: hidden !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    display: block !important;
    margin-top: auto !important;
    padding: 0 0 12px !important;
  }

  .hero.hero-image-header .hero-copy {
    width: 100% !important;
    display: block !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: calc(100% - 24px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border-radius: 20px !important;
    background: rgba(18, 13, 6, 0.42) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 10px !important;
    border-radius: 15px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
    background: rgba(18, 13, 6, 0.62) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.14) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 13px 22px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

/* ===== v39 final: мобильный hero на весь экран с картинкой, без чёрной подложки ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    position: relative !important;
    padding: calc(var(--header-h) + env(safe-area-inset-top)) 0 0 !important;
    background: #f2d699 !important;
    overflow: hidden !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .hero.hero-image-header::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg, rgba(7, 10, 7, 0.42) 0%, rgba(7, 10, 7, 0.12) 36%, rgba(7, 10, 7, 0.10) 58%, rgba(7, 10, 7, 0.58) 100%),
      linear-gradient(90deg, rgba(7, 10, 7, 0.46) 0%, rgba(7, 10, 7, 0.16) 55%, rgba(7, 10, 7, 0.04) 100%) !important;
  }

  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    padding: 18px 0 12px !important;
    margin: 0 !important;
  }

  .hero.hero-image-header .hero-copy {
    width: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow {
    align-self: flex-start !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    color: rgba(255, 247, 223, 0.88) !important;
    font-size: 9.8px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: .06em !important;
    text-align: left !important;
    background: rgba(18, 13, 6, 0.24) !important;
    border: 1px solid rgba(255, 247, 223, 0.16) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow .dot {
    width: 5px !important;
    height: 5px !important;
    flex: 0 0 5px !important;
  }

  .hero.hero-image-header .hero-title {
    max-width: 680px !important;
    color: #fff7df !important;
    font-size: clamp(31px, 9vw, 43px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.055em !important;
    text-wrap: balance !important;
    text-shadow: 0 3px 22px rgba(0, 0, 0, 0.42) !important;
  }

  .hero.hero-image-header .hero-title .accent {
    color: #ffc65a !important;
    font-weight: 600 !important;
  }

  .hero.hero-image-header .lead {
    max-width: 560px !important;
    color: rgba(255, 247, 223, 0.88) !important;
    font-size: 15px !important;
    line-height: 1.52 !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.36) !important;
  }

  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: auto 0 0 !important;
    padding: 8px !important;
    border-radius: 20px !important;
    background: rgba(18, 13, 6, 0.42) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 10px !important;
    border-radius: 15px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
    background: rgba(18, 13, 6, 0.56) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.14) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 13px 22px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-title {
    font-size: clamp(29px, 8.4vw, 36px) !important;
  }
  .hero.hero-image-header .lead {
    font-size: 14.2px !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    font-size: 11.8px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}


/* ===== v40: clean aesthetic mobile hero — no top badge, safe padding, no text overflow ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    position: relative !important;
    padding: calc(var(--header-h) + env(safe-area-inset-top)) 0 0 !important;
    color: #fff7df !important;
    background: #f4dfb2 !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #f4dfb2 !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .hero.hero-image-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg,
        rgba(8, 10, 7, 0.18) 0%,
        rgba(8, 10, 7, 0.02) 30%,
        rgba(8, 10, 7, 0.10) 52%,
        rgba(18, 13, 6, 0.78) 100%) !important;
  }

  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    display: block !important;
    margin-top: auto !important;
    padding: 0 0 12px !important;
  }

  .hero.hero-image-header .hero-copy {
    width: calc(100% - 32px) !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 0 !important;
  }

  /* убрать верхнюю плашку «премиальный апидомик…» на мобильном */
  .hero.hero-image-header .hero-copy > .eyebrow {
    display: none !important;
  }

  .hero.hero-image-header .hero-title {
    position: static !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #fff7df !important;
    font-size: clamp(30px, 8.6vw, 38px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.34) !important;
  }

  .hero.hero-image-header .hero-title .accent {
    display: block !important;
    margin: 0 0 7px !important;
    color: #ffc65a !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .20em !important;
    text-transform: uppercase !important;
  }

  .hero.hero-image-header .hero-title-line {
    display: block !important;
    max-width: 12ch !important;
  }

  .hero.hero-image-header .lead {
    position: static !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255, 247, 223, 0.88) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28) !important;
  }

  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    display: none !important;
  }

  .hero.hero-image-header .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
    background: rgba(18, 13, 6, 0.68) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.14) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 12px 20px !important;
    color: rgba(255, 247, 223, 0.78) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-copy {
    width: calc(100% - 28px) !important;
    gap: 10px !important;
  }

  .hero.hero-image-header .hero-title {
    font-size: clamp(28px, 8.2vw, 34px) !important;
  }

  .hero.hero-image-header .lead {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 46px !important;
    font-size: 12.5px !important;
    padding: 11px 14px !important;
  }
}
/* ===== END v40 ===== */


/* ===== v41: mobile hero точно как desktop — картинка с текстом, кнопки и бегущая строка ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    position: relative !important;
    padding: calc(var(--header-h) + env(safe-area-inset-top)) 0 0 !important;
    color: #fff7df !important;
    background: #0b0c08 !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: left center !important;
  }

  .hero.hero-image-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg,
        rgba(7, 10, 7, 0.02) 0%,
        rgba(7, 10, 7, 0.00) 46%,
        rgba(10, 8, 4, 0.26) 72%,
        rgba(10, 8, 4, 0.72) 100%) !important;
  }

  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    display: block !important;
    margin: auto 0 0 !important;
    padding: 0 14px 14px !important;
  }

  .hero.hero-image-header .hero-copy {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    display: block !important;
    padding: 0 !important;
  }

  /* На мобильном текст уже находится внутри подготовленной картинки, как на десктопе */
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: rgba(9, 11, 7, 0.38) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 10px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.16 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 0 !important;
    background: rgba(9, 11, 7, 0.46) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.14) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
    backdrop-filter: blur(14px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 12px 20px !important;
    color: rgba(255, 247, 223, 0.78) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-grid {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 12px !important;
  }

  .hero.hero-image-header .hero-actions {
    gap: 6px !important;
    padding: 7px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 44px !important;
    padding: 10px 7px !important;
    font-size: 11.8px !important;
  }
}
/* ===== END v41 ===== */

/* ===== v42: mobile hero buttons fixed at bottom, marquee remains below ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    min-height: 100svh !important;
    min-height: 100dvh !important;
    height: 100svh !important;
    height: 100dvh !important;
    display: block !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: left center !important;
    display: block !important;
  }

  .hero.hero-image-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg,
        rgba(7, 10, 7, 0.00) 0%,
        rgba(7, 10, 7, 0.00) 48%,
        rgba(10, 8, 4, 0.30) 72%,
        rgba(10, 8, 4, 0.74) 100%) !important;
  }

  .hero.hero-image-header::after {
    display: none !important;
    content: none !important;
  }

  .hero.hero-image-header .hero-grid {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 45px !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 14px 12px !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-copy {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: rgba(9, 11, 7, 0.40) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 10px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.5px !important;
    line-height: 1.16 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .marquee {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 3 !important;
    margin: 0 !important;
    background: rgba(9, 11, 7, 0.46) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.14) !important;
    border-bottom: 0 !important;
    backdrop-filter: blur(14px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 12px 20px !important;
    color: rgba(255, 247, 223, 0.78) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-grid {
    bottom: 43px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 10px !important;
  }

  .hero.hero-image-header .hero-actions {
    gap: 6px !important;
    padding: 7px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 44px !important;
    padding: 10px 7px !important;
    font-size: 11.8px !important;
  }
}
/* ===== END v42 ===== */


/* ===== v43: mobile hero stable shorter height, more top breathing room ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    --hero-mobile-height: clamp(560px, 82svh, 700px);
    min-height: var(--hero-mobile-height) !important;
    height: var(--hero-mobile-height) !important;
    max-height: var(--hero-mobile-height) !important;
    display: block !important;
    position: relative !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
    contain: layout paint !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    z-index: 0 !important;
    display: block !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #0b0c08 !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: left top !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
  }

  .hero.hero-image-header::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
      linear-gradient(180deg,
        rgba(7, 10, 7, 0.04) 0%,
        rgba(7, 10, 7, 0.00) 34%,
        rgba(10, 8, 4, 0.10) 58%,
        rgba(10, 8, 4, 0.48) 82%,
        rgba(10, 8, 4, 0.78) 100%) !important;
  }

  .hero.hero-image-header::after {
    display: none !important;
    content: none !important;
  }

  .hero.hero-image-header .hero-grid {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 42px !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 14px 8px !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-copy {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    border-radius: 999px !important;
    background: rgba(9, 11, 7, 0.34) !important;
    border: 1px solid rgba(255, 247, 223, 0.16) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.20) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 43px !important;
    padding: 10px 9px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.2px !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .marquee {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 3 !important;
    margin: 0 !important;
    background: rgba(9, 11, 7, 0.44) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.12) !important;
    border-bottom: 0 !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 11px 20px !important;
    color: rgba(255, 247, 223, 0.78) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header {
    --hero-mobile-height: clamp(540px, 80svh, 660px);
  }

  .hero.hero-image-header .hero-grid {
    bottom: 40px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 7px !important;
  }

  .hero.hero-image-header .hero-actions {
    gap: 6px !important;
    padding: 6px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 42px !important;
    padding: 9px 7px !important;
    font-size: 11.6px !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}
/* ===== END v43 ===== */

/* ===== v44 FINAL: mobile hero without layout jumps; desktop-like image, buttons + marquee kept ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    position: relative !important;
    padding: calc(var(--header-h) + 16px + env(safe-area-inset-top)) 0 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    contain: none !important;
    isolation: auto !important;
    background: #0b0c08 !important;
    color: #fff7df !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
    content: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(410px, 56svh, 500px) !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #0b0c08 !important;
    transform: none !important;
    backface-visibility: visible !important;
    will-change: auto !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center top !important;
    transform: none !important;
    backface-visibility: visible !important;
    will-change: auto !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    display: block !important;
    margin: -76px 0 0 !important;
    padding: 0 14px 10px !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* На мобильном текст уже расположен внутри подготовленной картинки — отдельные HTML-надписи не дублируем */
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    border-radius: 999px !important;
    background: rgba(9, 11, 7, 0.40) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(16px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 43px !important;
    padding: 10px 8px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.1px !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    margin: 0 !important;
    background: rgba(9, 11, 7, 0.92) !important;
    border-top: 1px solid rgba(255, 247, 223, 0.12) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .hero.hero-image-header .marquee-track {
    animation: apisMarquee 36s linear infinite !important;
    -webkit-animation: apisMarquee 36s linear infinite !important;
    will-change: transform !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 11px 20px !important;
    color: rgba(255, 247, 223, 0.78) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header {
    padding-top: calc(var(--header-h) + 14px + env(safe-area-inset-top)) !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    height: clamp(395px, 55svh, 465px) !important;
  }

  .hero.hero-image-header .hero-grid {
    margin-top: -70px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 9px !important;
  }

  .hero.hero-image-header .hero-actions {
    gap: 6px !important;
    padding: 6px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 41px !important;
    padding: 9px 6px !important;
    font-size: 11.5px !important;
  }
}
/* ===== END v44 ===== */


/* ===== v45: MOBILE HERO EXACTLY LIKE DESKTOP BANNER — adaptive image, no crop, buttons + marquee preserved ===== */
@keyframes apisHeroMarqueeV45 {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@-webkit-keyframes apisHeroMarqueeV45 {
  from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  to { -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 760px) {
  .hero.hero-image-header {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    position: relative !important;
    padding: var(--header-h) 0 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    contain: none !important;
    isolation: auto !important;
    background: #0b0c08 !important;
    color: #fff7df !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
    content: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
    transform: none !important;
    will-change: auto !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    will-change: auto !important;
  }

  .hero.hero-image-header .hero-grid {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 10px 12px 10px !important;
    background: #0b0c08 !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* Текст уже есть внутри адаптивной картинки, поэтому HTML-текст не дублируем */
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border: 1px solid rgba(255, 247, 223, 0.18) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.20) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12.1px !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
    border-top: 1px solid rgba(255, 247, 223, 0.12) !important;
    border-bottom: 1px solid rgba(255, 247, 223, 0.10) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .hero.hero-image-header .marquee-track {
    display: flex !important;
    width: max-content !important;
    transform: translate3d(0, 0, 0);
    animation: apisHeroMarqueeV45 32s linear infinite !important;
    -webkit-animation: apisHeroMarqueeV45 32s linear infinite !important;
    will-change: transform !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding: 11px 20px !important;
    color: rgba(255, 247, 223, 0.78) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-grid {
    padding: 9px 10px 9px !important;
  }

  .hero.hero-image-header .hero-actions {
    gap: 6px !important;
    padding: 6px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 42px !important;
    padding: 9px 6px !important;
    font-size: 11.4px !important;
  }
}
/* ===== END v45 ===== */


/* ===== v46: акценты SPA-ощущений, рамки тарифов, отступ безопасности ===== */

/* 1) Блок «Четыре природных ощущения»: названия чуть акцентнее, но без перегруза */
#spa-effect .content-list {
  gap: 14px !important;
}

#spa-effect .content-item2 {
  align-items: stretch !important;
  border-color: rgba(196, 123, 18, 0.18) !important;
  background: rgba(255, 255, 255, 0.80) !important;
}

#spa-effect .content-item2 .number1 {
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 11px 18px !important;
  border-radius: 18px !important;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: clamp(14.5px, 1.02vw, 16px) !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: #2a1b08 !important;
  background: linear-gradient(135deg, #ffe08a 0%, #f6bd3e 52%, #d99118 100%) !important;
  border: 1px solid rgba(123, 74, 8, 0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 14px 30px rgba(201, 121, 25, 0.16) !important;
}

#spa-effect .content-item2 p {
  font-weight: 500 !important;
  color: rgba(42, 27, 8, 0.70) !important;
}

/* 2) Тарифы: крайним карточкам такая же выразительная рамка, как у центральной */
#formats .format {
  border: 1px solid rgba(169, 103, 12, 0.24) !important;
  box-shadow:
    0 24px 70px rgba(129, 83, 19, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.46) !important;
}

#formats .format:not(.featured) {
  outline: 1px solid rgba(255, 198, 90, 0.36) !important;
  outline-offset: -7px !important;
}

#formats .format.featured {
  border: 1px solid rgba(169, 103, 12, 0.24) !important;
  outline: 1px solid rgba(255, 255, 255, 0.34) !important;
  outline-offset: -7px !important;
}

/* 3) «Безопасность важнее красивых обещаний»: добавлен воздух перед блоком и после заголовка */
#safety {
  padding-top: clamp(70px, 6vw, 96px) !important;
}

#safety .safety {
  gap: clamp(34px, 4vw, 52px) !important;
}

#safety h2 {
  margin-top: 22px !important;
  margin-bottom: 22px !important;
}

@media (max-width: 760px) {
  #spa-effect .content-item2 .number1 {
    min-height: 46px !important;
    width: 100% !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    border-radius: 15px !important;
  }

  #formats .format:not(.featured),
  #formats .format.featured {
    outline-offset: -6px !important;
  }

  #safety {
    padding-top: 58px !important;
  }

  #safety h2 {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
  }
}
/* ===== END v46 ===== */

/* ===== v47: mobile hero 4:3 image, buttons and transparent marquee ON image; desktop unchanged ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: calc(var(--header-h, 76px) + env(safe-area-inset-top)) 0 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #0b0c08 !important;
    color: #fff7df !important;
    isolation: isolate !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
    content: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #0b0c08 !important;
    line-height: 0 !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }

  .hero.hero-image-header .hero-grid {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 42px !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 14px 9px !important;
    pointer-events: none !important;
  }

  .hero.hero-image-header .hero-copy {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions {
    pointer-events: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 7px !important;
    border-radius: 999px !important;
    background: rgba(18, 13, 6, 0.48) !important;
    border: 1px solid rgba(255, 247, 223, 0.22) !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28) !important;
    backdrop-filter: blur(16px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(125%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 47px !important;
    padding: 10px 8px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: clamp(11.5px, 3.1vw, 13px) !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff7df !important;
    background: rgba(255, 247, 223, 0.10) !important;
    border-color: rgba(255, 247, 223, 0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  .hero.hero-image-header .marquee {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 6 !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: rgba(16, 12, 7, 0.64) !important;
    border-top: 1px solid rgba(255, 198, 90, 0.18) !important;
    border-bottom: 0 !important;
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  }

  .hero.hero-image-header .marquee-track {
    display: flex !important;
    align-items: center !important;
    width: max-content !important;
    min-width: 200% !important;
    will-change: transform !important;
    animation: apisMobileHeroMarqueeV47 20s linear infinite !important;
    -webkit-animation: apisMobileHeroMarqueeV47 20s linear infinite !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding: 12px 20px !important;
    color: rgba(255, 247, 223, 0.82) !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  #floating-buttons {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-grid {
    bottom: 40px !important;
    padding: 0 10px 8px !important;
  }

  .hero.hero-image-header .hero-actions {
    gap: 6px !important;
    padding: 6px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 43px !important;
    padding: 9px 6px !important;
    font-size: 11px !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 11px 18px !important;
    font-size: 10px !important;
  }
}

@keyframes apisMobileHeroMarqueeV47 {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

@-webkit-keyframes apisMobileHeroMarqueeV47 {
  0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  100% { -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); }
}
/* ===== END v47 ===== */


/* ===== v48: booking only / no partner-franchise section ===== */
#booking .lead-forms-grid.booking-only {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
}

#booking .lead-forms-grid.booking-only .booking-card {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}

@media (max-width: 760px) {
  #booking .lead-forms-grid.booking-only .booking-card {
    max-width: none !important;
  }
}
/* ===== END v48 ===== */


/* ===== v49: native booking / Google Sheets + Telegram ===== */
.booking-system-section { padding-top: 62px; }
.booking-system-section .forms-section-head { max-width: 760px; margin-bottom: 32px; }
.booking-system-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 22px;
  align-items: start;
  max-width: var(--maxw);
  margin: 0 auto;
}
.booking-live-form,
.booking-summary-card {
  border: 1px solid rgba(139,90,53,.14);
  border-radius: 32px;
  box-shadow: 0 24px 70px rgba(99,64,18,.10);
}
.booking-live-form {
  padding: clamp(22px, 3vw, 34px);
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,247,232,.90));
}
.booking-step-block + .booking-step-block { margin-top: 26px; padding-top: 26px; border-top: 1px solid rgba(139,90,53,.10); }
.booking-step-head { display:flex; align-items:center; gap:13px; margin-bottom:15px; }
.booking-step-number {
  width: 42px; height:42px; flex:0 0 42px; display:grid; place-items:center;
  border-radius:15px; background:linear-gradient(135deg,#ffe79f,#e99d23);
  color:#4b2b08; font-size:12px; font-weight:700; box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.booking-step-head > div { display:grid; gap:3px; }
.booking-step-head strong { color:#2b1b08; font-size:17px; font-weight:700; letter-spacing:-.02em; }
.booking-step-head span:not(.booking-step-number) { color:#756451; font-size:13px; font-weight:500; }
.booking-date-control input,
.booking-field input,
.booking-field textarea {
  width:100%; border:1px solid rgba(139,90,53,.16); background:#fffdf8; color:#2b1b08;
  border-radius:17px; outline:none; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.booking-date-control input { min-height:54px; padding:0 16px; font-weight:600; }
.booking-field input { min-height:52px; padding:0 15px; }
.booking-field textarea { min-height:96px; padding:14px 15px; resize:vertical; }
.booking-date-control input:focus,
.booking-field input:focus,
.booking-field textarea:focus { border-color:#e99d23; box-shadow:0 0 0 4px rgba(233,157,35,.13); background:#fff; }
.booking-format-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.booking-format-option { position:relative; cursor:pointer; }
.booking-format-option input { position:absolute; opacity:0; pointer-events:none; }
.booking-format-card {
  min-height:82px; display:flex; flex-direction:column; justify-content:center; gap:5px; padding:14px 16px;
  border:1px solid rgba(139,90,53,.14); border-radius:20px; background:#fffaf0; transition:.2s ease;
}
.booking-format-card b { color:#3b2308; font-size:14px; font-weight:700; }
.booking-format-card small { color:#7c6954; font-size:12px; font-weight:500; }
.booking-format-option input:checked + .booking-format-card {
  border-color:rgba(233,157,35,.68); background:linear-gradient(135deg,#fff5ca,#ffe5a5);
  box-shadow:0 10px 26px rgba(233,157,35,.14), inset 0 1px 0 #fff;
}
.booking-slots { display:flex; flex-wrap:wrap; gap:9px; min-height:54px; }
.booking-slot-btn {
  min-width:82px; min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:9px 13px; border:1px solid rgba(139,90,53,.16); border-radius:15px; cursor:pointer;
  color:#4a2b0a; background:#fffdf8; font-weight:650; transition:.18s ease;
}
.booking-slot-btn:hover { transform:translateY(-1px); border-color:#e99d23; box-shadow:0 9px 20px rgba(99,64,18,.09); }
.booking-slot-btn.is-selected { color:#2b1b08; background:linear-gradient(135deg,#ffe99a,#f0b83d); border-color:#e99d23; box-shadow:0 10px 24px rgba(233,157,35,.20); }
.booking-slot-btn small { font-size:10px; font-weight:600; opacity:.72; }
.booking-slot-placeholder { width:100%; min-height:52px; display:flex; align-items:center; gap:10px; padding:13px 15px; border-radius:16px; background:#fffaf0; color:#7a6853; font-size:13px; }
.booking-slot-placeholder.is-empty { background:#fff4dc; color:#6d5130; }
.booking-slot-placeholder.is-error { background:#fff2ee; color:#8f3b2f; }
.booking-spinner { width:16px; height:16px; flex:0 0 16px; border-radius:50%; border:2px solid rgba(233,157,35,.25); border-top-color:#e99d23; animation:bookingSpin .8s linear infinite; }
@keyframes bookingSpin { to { transform:rotate(360deg); } }
.booking-client-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.booking-field { display:grid; gap:7px; }
.booking-field > span { color:#62472b; font-size:12px; font-weight:650; }
.booking-field-full { grid-column:1/-1; }
.booking-consent { display:flex; align-items:flex-start; gap:9px; margin-top:13px; color:#756451; font-size:12px; line-height:1.45; cursor:pointer; }
.booking-consent input { margin-top:2px; accent-color:#e99d23; }
.booking-submit { width:100%; margin-top:24px; min-height:54px; justify-content:center; gap:10px; }
.booking-submit:disabled { opacity:.48; cursor:not-allowed; filter:saturate(.55); }
.booking-submit svg { width:18px; height:18px; }
.booking-system-status { min-height:0; margin-top:12px; padding:0; border-radius:14px; font-size:13px; line-height:1.45; }
.booking-system-status:not(:empty) { padding:12px 14px; }
.booking-system-status.is-error { color:#8c332a; background:#fff1ee; border:1px solid rgba(180,72,56,.16); }
.booking-system-status.is-pending { color:#72500e; background:#fff5cf; border:1px solid rgba(233,157,35,.22); }
.booking-system-status.is-success { color:#416235; background:#f1f7e9; border:1px solid rgba(78,119,60,.18); }
.booking-summary-card {
  position:sticky; top:calc(var(--header-h) + 18px); overflow:hidden; padding:28px;
  background:linear-gradient(145deg,#fff0b9 0%,#f4bf50 55%,#d98a24 100%); color:#2b1b08;
}
.booking-summary-card::after { content:""; position:absolute; inset:auto -80px -100px auto; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.20); filter:blur(2px); }
.booking-summary-card > * { position:relative; z-index:1; }
.booking-summary-kicker { display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.35); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.booking-summary-card h3 { margin-top:18px; color:#2b1b08; font-size:clamp(27px,3vw,38px); font-weight:600; }
.booking-summary-card > p { margin-top:9px; color:#5e3c15; font-size:13px; line-height:1.55; }
.booking-summary-lines { display:grid; gap:0; margin-top:24px; border-top:1px solid rgba(77,45,8,.12); }
.booking-summary-lines div { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid rgba(77,45,8,.12); }
.booking-summary-lines span { color:#745022; font-size:12px; }
.booking-summary-lines strong { color:#2b1b08; font-size:13px; font-weight:700; text-align:right; }
.booking-summary-note { margin-top:20px; padding:14px; border-radius:17px; background:rgba(255,255,255,.31); color:#5a3a15; font-size:12px; line-height:1.55; }
.booking-summary-contact { display:flex; flex-wrap:wrap; gap:10px 15px; margin-top:17px; }
.booking-summary-contact a { color:#432806; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

@media (max-width: 900px) {
  .booking-system-shell { grid-template-columns:1fr; }
  .booking-summary-card { position:relative; top:auto; }
}
@media (max-width: 600px) {
  .booking-system-section { padding-top:48px; }
  .booking-system-shell { gap:14px; }
  .booking-live-form, .booking-summary-card { border-radius:25px; }
  .booking-live-form { padding:18px; }
  .booking-step-block + .booking-step-block { margin-top:21px; padding-top:21px; }
  .booking-step-head { gap:11px; }
  .booking-step-number { width:38px; height:38px; flex-basis:38px; border-radius:13px; }
  .booking-step-head strong { font-size:15px; }
  .booking-step-head span:not(.booking-step-number) { font-size:12px; }
  .booking-format-grid { grid-template-columns:1fr; }
  .booking-format-card { min-height:68px; }
  .booking-client-grid { grid-template-columns:1fr; }
  .booking-field-full { grid-column:auto; }
  .booking-slot-btn { min-width:calc(33.333% - 6px); flex:1 1 calc(33.333% - 6px); }
  .booking-summary-card { padding:22px; }
}
/* ===== END v49 ===== */


/* ===== v50: compact native booking / same aesthetic desktop + mobile ===== */
.booking-system-section { padding-top: 58px; }
.booking-system-section .forms-section-head { max-width: 820px; margin-bottom: 26px; }
.booking-system-shell-compact { display:block; max-width:1120px; margin:0 auto; }
.booking-live-form-compact {
  width:100%; padding:clamp(22px,2.6vw,32px); border:1px solid rgba(139,90,53,.14);
  border-radius:32px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,247,232,.93));
  box-shadow:0 24px 70px rgba(99,64,18,.10);
}
.booking-compact-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:28px; align-items:start; }
.booking-column { min-width:0; }
.booking-contact-column { padding-left:28px; border-left:1px solid rgba(139,90,53,.11); }
.booking-compact-group + .booking-compact-group { margin-top:21px; padding-top:21px; border-top:1px solid rgba(139,90,53,.10); }
.booking-compact-title,.booking-contact-head { display:flex; align-items:center; gap:12px; margin-bottom:13px; }
.booking-compact-title > div,.booking-contact-head > div { display:grid; gap:2px; }
.booking-compact-title strong,.booking-contact-head strong { color:#2b1b08; font-size:16px; font-weight:700; letter-spacing:-.02em; }
.booking-compact-title span:not(.booking-step-number),.booking-contact-head span:not(.booking-step-number) { color:#796956; font-size:12px; font-weight:500; }
.booking-step-number { width:36px; height:36px; flex:0 0 36px; border-radius:13px; font-size:11px; }
.booking-date-control input { min-height:50px; border-radius:15px; padding:0 14px; font-size:14px; }
.booking-format-segmented { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.booking-format-button {
  min-height:58px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:2px;
  padding:10px 13px; border:1px solid rgba(139,90,53,.14); border-radius:16px; background:#fffaf0; color:#41270b;
  text-align:left; cursor:pointer; transition:.18s ease;
}
.booking-format-button strong { font-size:13px; font-weight:700; }
.booking-format-button small { color:#7b6a57; font-size:10.5px; font-weight:500; }
.booking-format-button:hover { border-color:rgba(233,157,35,.55); transform:translateY(-1px); }
.booking-format-button.is-active { border-color:#e99d23; background:linear-gradient(135deg,#fff3bf,#ffe08a); box-shadow:0 9px 22px rgba(233,157,35,.13),inset 0 1px 0 rgba(255,255,255,.85); }
.booking-day-slots { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; min-height:48px; }
.booking-slot-btn { min-width:0; min-height:44px; border-radius:14px; padding:8px 10px; font-size:13px; font-weight:650; }
.booking-slot-placeholder { grid-column:1/-1; min-height:48px; border-radius:14px; padding:11px 13px; }
.booking-night-area { margin-top:10px; }
.booking-night-button {
  width:100%; min-height:66px; display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px;
  padding:11px 13px; border:1px solid rgba(139,90,53,.16); border-radius:18px; background:linear-gradient(135deg,#fff6d8,#f6d68c);
  color:#38210a; cursor:pointer; text-align:left; transition:.18s ease;
}
.booking-night-button:hover { transform:translateY(-1px); border-color:#d7922d; box-shadow:0 10px 24px rgba(99,64,18,.09); }
.booking-night-button.is-selected { border-color:#d98a24; box-shadow:0 0 0 3px rgba(233,157,35,.13),0 12px 28px rgba(99,64,18,.10); background:linear-gradient(135deg,#ffeaa5,#f0bb48); }
.booking-night-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:13px; background:rgba(89,53,10,.08); font-size:23px; line-height:1; }
.booking-night-copy { display:grid; gap:2px; min-width:0; }
.booking-night-copy strong { font-size:14px; font-weight:700; }
.booking-night-copy small { color:#765326; font-size:11px; font-weight:500; }
.booking-night-action { color:#6c4515; font-size:11px; font-weight:700; white-space:nowrap; }
.booking-selection-card { margin-bottom:19px; padding:15px 16px; border-radius:18px; background:linear-gradient(135deg,#fff1bd,#f2c45b); border:1px solid rgba(205,132,33,.18); }
.booking-selection-card > span { display:block; color:#77511d; font-size:10px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.booking-selection-card > strong { display:block; margin-top:5px; color:#2b1b08; font-size:17px; font-weight:650; line-height:1.25; }
.booking-selection-card > small { display:block; margin-top:4px; color:#67461b; font-size:11.5px; font-weight:500; line-height:1.4; }
.booking-client-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.booking-client-grid-compact .booking-field input { min-height:48px; border-radius:14px; padding:0 13px; font-size:13px; }
.booking-client-grid-compact .booking-field > span { font-size:11px; font-weight:600; }
.booking-comment-field em { font-style:normal; color:#9a8976; font-weight:500; }
.booking-consent-compact { margin-top:11px; font-size:11px; }
.booking-submit { min-height:50px; margin-top:16px; border-radius:999px; }
.booking-direct-contact { display:flex; align-items:center; flex-wrap:wrap; gap:5px 13px; margin-top:12px; color:#8a7865; font-size:11px; }
.booking-direct-contact a { color:#624018; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.booking-system-status { margin-top:10px; }

@media (max-width:900px) {
  .booking-compact-layout { grid-template-columns:1fr; gap:22px; }
  .booking-contact-column { padding-left:0; padding-top:22px; border-left:0; border-top:1px solid rgba(139,90,53,.11); }
  .booking-day-slots { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .booking-system-section { padding-top:44px; }
  .booking-system-section .forms-section-head { margin-bottom:18px; }
  .booking-system-section .forms-section-head p { font-size:13px; line-height:1.55; }
  .booking-live-form-compact { padding:16px; border-radius:24px; }
  .booking-compact-layout { gap:18px; }
  .booking-compact-group + .booking-compact-group { margin-top:17px; padding-top:17px; }
  .booking-compact-title,.booking-contact-head { gap:10px; margin-bottom:10px; }
  .booking-step-number { width:32px; height:32px; flex-basis:32px; border-radius:11px; font-size:10px; }
  .booking-compact-title strong,.booking-contact-head strong { font-size:14px; }
  .booking-compact-title span:not(.booking-step-number),.booking-contact-head span:not(.booking-step-number) { font-size:11px; }
  .booking-format-segmented { grid-template-columns:1fr 1fr; gap:7px; }
  .booking-format-button { min-height:54px; padding:9px 10px; border-radius:14px; }
  .booking-format-button strong { font-size:12px; }
  .booking-format-button small { font-size:9.5px; }
  .booking-day-slots { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .booking-slot-btn { min-height:41px; padding:7px 4px; border-radius:12px; font-size:12px; }
  .booking-slot-btn small { display:none; }
  .booking-night-button { min-height:62px; grid-template-columns:34px 1fr auto; gap:9px; padding:10px 11px; border-radius:16px; }
  .booking-night-icon { width:34px; height:34px; border-radius:11px; font-size:20px; }
  .booking-night-copy strong { font-size:13px; }
  .booking-night-copy small { font-size:10px; }
  .booking-night-action { font-size:10px; }
  .booking-contact-column { padding-top:18px; }
  .booking-selection-card { margin-bottom:15px; padding:13px 14px; border-radius:16px; }
  .booking-selection-card > strong { font-size:15px; }
  .booking-client-grid-compact { grid-template-columns:1fr; gap:9px; }
  .booking-field-full { grid-column:auto; }
  .booking-client-grid-compact .booking-field input { min-height:46px; }
  .booking-submit { margin-top:14px; min-height:48px; }
  .booking-direct-contact { justify-content:center; text-align:center; }
}
/* ===== END v50 ===== */

/* ===== FINAL v55: hero CTA glass panel — desktop + mobile ===== */
.hero.hero-image-header .hero-actions {
  width: fit-content !important;
  max-width: 100% !important;
  padding: 9px !important;
  gap: 10px !important;
  border-radius: 24px !important;
  background: rgba(255, 248, 235, 0.14) !important;
  border: 1px solid rgba(255, 235, 198, 0.24) !important;
  box-shadow:
    0 14px 34px rgba(40, 26, 8, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(14px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
}

.hero.hero-image-header .hero-actions .btn {
  min-height: 50px !important;
  border-radius: 999px !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

.hero.hero-image-header .hero-actions .btn-primary {
  color: #2d1c06 !important;
  background: linear-gradient(135deg, rgba(255, 232, 164, 0.97), rgba(232, 176, 68, 0.97)) !important;
  border-color: rgba(175, 111, 20, 0.24) !important;
}

.hero.hero-image-header .hero-actions .btn-secondary {
  color: #fff8e8 !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 242, 218, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

@media (max-width: 760px) {
  .hero.hero-image-header .hero-grid,
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-actions-wrap,
  .hero.hero-image-header .hero-cta-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }

  .hero.hero-image-header .hero-actions {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    padding: 7px !important;
    gap: 7px !important;
    border-radius: 21px !important;
    background: rgba(255, 249, 238, 0.17) !important;
    border: 1px solid rgba(255, 239, 207, 0.25) !important;
    box-shadow:
      0 10px 26px rgba(35, 23, 8, 0.13),
      inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 45px !important;
    padding: 9px 8px !important;
    font-size: clamp(11.5px, 3.15vw, 13px) !important;
    font-weight: 650 !important;
  }

  .hero.hero-image-header .hero-actions .btn-primary {
    color: #2d1c06 !important;
    background: linear-gradient(135deg, rgba(255, 232, 164, 0.96), rgba(232, 176, 68, 0.96)) !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff8e8 !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 242, 218, 0.27) !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-actions {
    width: calc(100% - 20px) !important;
    padding: 6px !important;
    gap: 6px !important;
    border-radius: 19px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 42px !important;
    padding: 8px 5px !important;
    font-size: 11px !important;
  }
}
/* ===== END FINAL v55 ===== */

/* ===== FINAL v56: true pill-shaped hero CTA glass panel ===== */
/* Outer glass panel must follow the same capsule geometry as the buttons. */
.hero.hero-image-header .hero-actions {
  border-radius: 999px !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  .hero.hero-image-header .hero-actions {
    border-radius: 999px !important;
    overflow: hidden !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-actions {
    border-radius: 999px !important;
    overflow: hidden !important;
  }
}
/* ===== END FINAL v56 ===== */

/* ===== FINAL v57: restore original secondary hero CTA ===== */
.hero.hero-image-header .hero-actions .btn-secondary {
  color: #fff6db !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}
.hero.hero-image-header .hero-actions .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}
@media (max-width: 760px) {
  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff6db !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
  }
}
/* ===== END FINAL v57 ===== */

/* ===== FINAL v58: brown secondary hero CTA restored ===== */
.hero.hero-image-header .hero-actions .btn-secondary {
  color: #fff8e6 !important;
  background: linear-gradient(135deg, #6b4307 0%, #9b6312 100%) !important;
  border: 1px solid rgba(255, 220, 140, 0.24) !important;
  box-shadow:
    0 10px 22px rgba(70, 43, 8, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.hero.hero-image-header .hero-actions .btn-secondary:hover {
  color: #fffaf0 !important;
  background: linear-gradient(135deg, #7a4b08 0%, #aa6d16 100%) !important;
  transform: translateY(-2px) !important;
}
@media (max-width: 760px) {
  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #fff8e6 !important;
    background: linear-gradient(135deg, #6b4307 0%, #9b6312 100%) !important;
    border-color: rgba(255, 220, 140, 0.24) !important;
  }
}
/* ===== END FINAL v58 ===== */


/* ===== FINAL v59: promo, 6 tariffs, night choices, validated booking ===== */
[hidden] { display:none !important; }
.hero.hero-image-header .hero-actions .btn-promo {
  color:#3c2608 !important;
  background:linear-gradient(135deg,#fff0a8 0%,#ffc958 48%,#e99d23 100%) !important;
  border:1px solid rgba(255,239,188,.56) !important;
  box-shadow:0 10px 24px rgba(111,67,7,.22),inset 0 1px 0 rgba(255,255,255,.5) !important;
}
.hero.hero-image-header .hero-actions .btn-promo:hover { transform:translateY(-2px)!important; filter:brightness(1.03); }

.formats-v59 { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.formats-v59 .format { min-height:100%; transform:none !important; background:linear-gradient(145deg,#fffdf7 0%,#fff3d4 100%); border-color:rgba(167,108,25,.15); }
.formats-v59 .format.featured { background:linear-gradient(145deg,#8a5810 0%,#5f3b08 100%); color:#fff8e8; }
.formats-v59 .format.featured h3,.formats-v59 .format.featured .price { color:#fff8e8; }
.formats-v59 .format.featured p,.formats-v59 .format.featured li { color:rgba(255,248,232,.82); }
.formats-v59 .format.featured .price small { color:rgba(255,248,232,.68); }
.formats-v59 .format-promo { position:relative; overflow:hidden; background:linear-gradient(145deg,#fff5bd 0%,#f2c45b 100%); border-color:rgba(188,119,20,.28); box-shadow:0 26px 70px rgba(137,84,11,.16); }
.formats-v59 .format-promo::before { content:""; position:absolute; width:170px; height:170px; right:-80px; top:-80px; border-radius:50%; background:rgba(255,255,255,.35); }
.formats-v59 .format-promo > * { position:relative; z-index:1; }
.formats-v59 .promo-tag { background:#6b4307; color:#fff8e8; }
.formats-v59 .format-night { background:linear-gradient(145deg,#fffaf0 0%,#f7e2ab 100%); }
.formats-v59 .format-night-private { background:linear-gradient(145deg,#f8e0a7 0%,#edbf5c 100%); }
.promo-terms-link { display:inline-flex; align-items:center; width:max-content; max-width:100%; color:#5b3505; font-size:13px; line-height:1.4; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.promo-terms-link:hover { color:#8a5108; }

.booking-format-segmented { grid-template-columns:repeat(3,minmax(0,1fr)); }
/* Акционный формат в онлайн-записи визуально нейтрален, пока пользователь его не выбрал. */
.booking-format-promo {
  background:#fffaf0;
  border-color:rgba(139,90,53,.14);
}
.booking-format-promo strong { color:#41270b; }
.booking-format-promo small { color:#7b6a57; }
.booking-format-promo:hover { border-color:rgba(233,157,35,.55); }
.booking-format-promo.is-active {
  border-color:#e99d23;
  background:linear-gradient(135deg,#fff3bf,#ffe08a);
  box-shadow:0 9px 22px rgba(233,157,35,.13),inset 0 1px 0 rgba(255,255,255,.85);
}
.booking-night-area-v59 { margin-top:12px; padding:13px; border:1px solid rgba(139,90,53,.14); border-radius:19px; background:linear-gradient(145deg,#fffaf0,#f7e8c3); }
.booking-night-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.booking-night-head > div { display:grid; gap:1px; }
.booking-night-head strong { color:#38210a; font-size:14px; font-weight:750; }
.booking-night-head small { color:#816b4d; font-size:10.5px; }
.booking-night-format-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.booking-night-format { min-height:50px; padding:9px 11px; border:1px solid rgba(139,90,53,.14); border-radius:14px; background:rgba(255,255,255,.72); color:#41270b; text-align:left; cursor:pointer; }
.booking-night-format strong,.booking-night-format small { display:block; }
.booking-night-format strong { font-size:12px; }
.booking-night-format small { margin-top:2px; color:#7a6242; font-size:10px; }
.booking-night-format.is-active { border-color:#d7922d; background:linear-gradient(135deg,#ffe8a0,#f1c15a); box-shadow:0 7px 18px rgba(117,72,12,.10); }
.booking-night-format:disabled { opacity:.42; cursor:not-allowed; }
.booking-night-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:8px; }
.booking-night-time-btn { min-height:48px; padding:8px 10px; border:1px solid rgba(139,90,53,.14); border-radius:14px; background:#fffdf8; color:#3f280d; cursor:pointer; }
.booking-night-time-btn strong,.booking-night-time-btn small { display:block; }
.booking-night-time-btn strong { font-size:13px; }
.booking-night-time-btn small { margin-top:2px; font-size:9.5px; color:#806c52; }
.booking-night-time-btn.is-selected { border-color:#d98a24; background:#f7d36f; box-shadow:0 0 0 3px rgba(233,157,35,.12); }
.booking-night-empty { grid-column:1/-1; padding:10px; border-radius:12px; color:#8b7353; font-size:11px; background:rgba(255,255,255,.6); }
.booking-client-grid-compact .booking-field input.is-invalid { border-color:#d83a2e !important; background:#fff8f6 !important; box-shadow:0 0 0 3px rgba(216,58,46,.10) !important; }

@media (max-width:980px) { .formats-v59 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
  .hero.hero-image-header .hero-actions.has-promo { display:grid !important; grid-template-columns:1fr 1fr !important; border-radius:24px !important; overflow:hidden !important; }
  .hero.hero-image-header .hero-actions.has-promo .btn-promo { grid-column:1/-1; }
  .formats-v59 { grid-template-columns:1fr; gap:14px; }
  .formats-v59 .format { padding:22px; border-radius:26px; }
  .booking-format-segmented { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .booking-night-format-options,.booking-night-times { grid-template-columns:1fr 1fr; }
  .booking-client-grid-compact { grid-template-columns:1fr; }
}
/* ===== END FINAL v59 ===== */
\n\n/* ===== FINAL v60: aligned tariff cards, visible promo CTA, booking polish ===== */\n.formats-v60 {\n  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\n  align-items: stretch !important;\n}\n.formats-v60 .format,\n.formats-v60 .format.featured,\n.formats-v60 .format-night,\n.formats-v60 .format-night-private,\n.formats-v60 .format-promo {\n  min-height: 510px !important;\n  display: flex !important;\n  flex-direction: column !important;\n  gap: 16px !important;\n  padding: 28px !important;\n  border: 1px solid rgba(124, 78, 18, .16) !important;\n  border-radius: 30px !important;\n  background: linear-gradient(145deg, #fffdf8 0%, #fff3d8 100%) !important;\n  color: #34230f !important;\n  box-shadow: 0 22px 58px rgba(108, 69, 18, .10) !important;\n  transform: none !important;\n}\n.formats-v60 .format::before { display:none !important; }\n.formats-v60 .format h3,\n.formats-v60 .format .price { color:#34230f !important; }\n.formats-v60 .format p,\n.formats-v60 .format li,\n.formats-v60 .format .price small { color:#765f43 !important; }\n.formats-v60 .format-top {\n  min-height: 58px !important;\n  align-items:flex-start !important;\n}\n.formats-v60 .format-top h3 {\n  min-height: 48px !important;\n  display:flex !important;\n  align-items:flex-start !important;\n}\n.formats-v60 .tariff-desc {\n  min-height: 76px !important;\n  margin:0 !important;\n}\n.formats-v60 .price {\n  min-height: 62px !important;\n  display:flex !important;\n  align-items:baseline !important;\n  flex-wrap:wrap !important;\n  gap:6px 8px !important;\n  margin:0 !important;\n}\n.formats-v60 .format ul {\n  min-height: 118px !important;\n  align-content:start !important;\n}\n.formats-v60 .tariff-extra {\n  min-height: 34px !important;\n  display:flex !important;\n  align-items:center !important;\n}\n.formats-v60 .format .btn {\n  min-height: 52px !important;\n  margin-top:0 !important;\n}\n.formats-v60 .format-promo {\n  position:relative !important;\n  border-color:rgba(174, 55, 31, .34) !important;\n  box-shadow:0 22px 58px rgba(108,69,18,.10), 0 0 0 3px rgba(180,58,35,.06) !important;\n}\n.formats-v60 .format-promo::after {\n  content:"";\n  position:absolute;\n  left:0; right:0; top:0;\n  height:5px;\n  background:linear-gradient(90deg,#96321f,#d75a37);\n}\n.formats-v60 .promo-tag {\n  color:#fffaf3 !important;\n  background:linear-gradient(135deg,#96321f,#c94d2e) !important;\n  box-shadow:0 7px 18px rgba(142,45,27,.18);\n}\n.formats-v60 .promo-terms-link {\n  color:#8f2f1e !important;\n}\n\n.hero.hero-image-header .hero-actions .btn-promo {\n  position:relative !important;\n  color:#fffaf4 !important;\n  background:linear-gradient(135deg,#8f2e1c 0%,#c94b2d 55%,#df6540 100%) !important;\n  border:1px solid rgba(255,221,207,.42) !important;\n  box-shadow:0 12px 28px rgba(100,24,11,.30), inset 0 1px 0 rgba(255,255,255,.22) !important;\n  font-weight:800 !important;\n  letter-spacing:.025em !important;\n}\n.hero.hero-image-header .hero-actions .btn-promo:hover {\n  background:linear-gradient(135deg,#9e3521 0%,#d35332 58%,#e9714a 100%) !important;\n}\n.promo-pulse-dot {\n  width:8px; height:8px; flex:0 0 8px;\n  border-radius:50%;\n  background:#fff0df;\n  box-shadow:0 0 0 5px rgba(255,240,223,.13);\n}\n\n.booking-night-area-v59 {\n  display:block;\n  border-color:rgba(139,90,53,.18) !important;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);\n}\n.booking-night-head strong { font-size:15px !important; }\n.booking-night-head small { font-size:11px !important; }\n.booking-field span em { font-style:normal; }\n.booking-field input:required { background:#fffdf8; }\n\n@media (max-width:980px) {\n  .formats-v60 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }\n  .formats-v60 .format { min-height:510px !important; }\n}\n@media (max-width:760px) {\n  .formats-v60 { grid-template-columns:1fr !important; }\n  .formats-v60 .format,\n  .formats-v60 .format.featured,\n  .formats-v60 .format-night,\n  .formats-v60 .format-night-private,\n  .formats-v60 .format-promo {\n    min-height:0 !important;\n    padding:22px !important;\n    border-radius:26px !important;\n    gap:14px !important;\n  }\n  .formats-v60 .format-top,\n  .formats-v60 .format-top h3,\n  .formats-v60 .tariff-desc,\n  .formats-v60 .price,\n  .formats-v60 .format ul,\n  .formats-v60 .tariff-extra { min-height:0 !important; }\n  .formats-v60 .tariff-extra:empty { display:none !important; }\n  .hero.hero-image-header .hero-actions.has-promo .btn-promo { min-height:46px !important; }\n}\n/* ===== END FINAL v60 ===== */\n

/* ===== FINAL v61: perfectly aligned tariffs + stronger promo ===== */
.formats-v61 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
  gap: 20px !important;
}
.formats-v61 .format,
.formats-v61 .format.featured,
.formats-v61 .format-night,
.formats-v61 .format-night-private,
.formats-v61 .format-promo {
  height: 100% !important;
  min-height: 526px !important;
  display: grid !important;
  grid-template-rows: 64px 92px 68px 124px 38px 52px !important;
  align-content: stretch !important;
  gap: 14px !important;
  padding: 28px !important;
  border-radius: 30px !important;
  border: 1px solid rgba(124, 78, 18, .16) !important;
  background: linear-gradient(145deg, #fffdf8 0%, #fff3d8 100%) !important;
  box-shadow: 0 20px 54px rgba(88, 55, 14, .095) !important;
  overflow: hidden !important;
}
.formats-v61 .format-top,
.formats-v61 .format-top h3,
.formats-v61 .tariff-desc,
.formats-v61 .price,
.formats-v61 .format ul,
.formats-v61 .tariff-extra,
.formats-v61 .format .btn {
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.formats-v61 .format-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 10px !important;
  overflow: visible !important;
}
.formats-v61 .format-top h3 {
  display: block !important;
  line-height: 1.1 !important;
}
.formats-v61 .tariff-desc {
  line-height: 1.48 !important;
  overflow: hidden !important;
}
.formats-v61 .price {
  display: flex !important;
  align-items: baseline !important;
  align-self: center !important;
  flex-wrap: wrap !important;
  gap: 5px 8px !important;
  line-height: 1 !important;
}
.formats-v61 .price small { line-height: 1.25 !important; }
.formats-v61 .format ul {
  display: grid !important;
  align-content: start !important;
  gap: 9px !important;
  overflow: hidden !important;
}
.formats-v61 .tariff-extra {
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.formats-v61 .format .btn {
  align-self: end !important;
  width: 100% !important;
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg,#563311 0%,#74481a 100%) !important;
  border-color: rgba(255,237,200,.24) !important;
  color: #fff9ed !important;
  box-shadow: 0 10px 22px rgba(80,48,12,.14) !important;
}
.formats-v61 .format .btn:hover {
  background: linear-gradient(135deg,#654017 0%,#855622 100%) !important;
}
.formats-v61 .format-promo {
  border-color: rgba(166, 51, 28, .38) !important;
  box-shadow: 0 20px 54px rgba(88,55,14,.095), 0 0 0 3px rgba(180,58,35,.055) !important;
}
.formats-v61 .format-promo .btn {
  background: linear-gradient(135deg,#912b1b 0%,#c34b2f 62%,#dc6543 100%) !important;
  border-color: rgba(255,224,210,.42) !important;
  box-shadow: 0 12px 25px rgba(117,31,16,.20) !important;
}
.formats-v61 .format-promo .btn:hover {
  background: linear-gradient(135deg,#a23420 0%,#d15735 62%,#ea7451 100%) !important;
}
.hero.hero-image-header .hero-actions .btn-promo {
  min-width: 212px !important;
  text-transform: uppercase !important;
  letter-spacing: .045em !important;
  animation: promoSoftGlow 2.8s ease-in-out infinite !important;
}
@keyframes promoSoftGlow {
  0%,100% { box-shadow:0 12px 28px rgba(100,24,11,.28), inset 0 1px 0 rgba(255,255,255,.22); }
  50% { box-shadow:0 13px 34px rgba(145,38,18,.42), 0 0 0 4px rgba(210,82,49,.10), inset 0 1px 0 rgba(255,255,255,.22); }
}
.booking-field .required-note {
  margin-left: 5px !important;
  color: #9a3925 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

@media (max-width: 980px) {
  .formats-v61 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .formats-v61 .format,
  .formats-v61 .format.featured,
  .formats-v61 .format-night,
  .formats-v61 .format-night-private,
  .formats-v61 .format-promo { min-height: 526px !important; }
}
@media (max-width: 760px) {
  .formats-v61 { grid-template-columns: 1fr !important; gap: 14px !important; }
  .formats-v61 .format,
  .formats-v61 .format.featured,
  .formats-v61 .format-night,
  .formats-v61 .format-night-private,
  .formats-v61 .format-promo {
    min-height: 500px !important;
    grid-template-rows: 60px 88px 62px 116px 38px 50px !important;
    gap: 12px !important;
    padding: 22px !important;
    border-radius: 26px !important;
  }
  .formats-v61 .format-top h3 { font-size: 24px !important; }
  .formats-v61 .tariff-desc { font-size: 14px !important; }
  .formats-v61 .format ul { gap: 7px !important; }
  .hero.hero-image-header .hero-actions .btn-promo {
    min-width: 0 !important;
    font-size: 12px !important;
    letter-spacing: .025em !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero.hero-image-header .hero-actions .btn-promo { animation: none !important; }
}
/* ===== END FINAL v61 ===== */


/* v66 — мгновенное подтверждение отправки */
.booking-system-status.is-pending {
  position:relative;
  padding-left:44px !important;
  min-height:48px;
  display:flex;
  align-items:center;
  font-weight:600;
  background:linear-gradient(135deg,#fff8dc,#fff0b8);
  border-color:rgba(202,136,31,.28);
  box-shadow:0 8px 24px rgba(111,71,16,.08);
}
.booking-system-status.is-pending::before {
  content:'✓';
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#7b4b0b;
  color:#fff8e8;
  font-size:13px;
  font-weight:800;
}
@media (max-width:760px) {
  .booking-system-status.is-pending {
    font-size:12.5px;
    line-height:1.5;
    padding:12px 13px 12px 43px !important;
  }
}


/* APIS HOUSE v76 — analytics consent */
.analytics-consent[hidden]{display:none!important}
.analytics-consent{position:fixed;left:0;right:0;bottom:0;z-index:99999;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:rgba(20,18,14,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -14px 40px rgba(0,0,0,.18)}
.analytics-consent-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:24px;justify-content:space-between;padding:16px 18px;border:1px solid rgba(205,169,101,.32);border-radius:18px;background:#fffdf8;color:#392f25}
.analytics-consent-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;line-height:1.45;min-width:0}
.analytics-consent-copy strong{font-family:Georgia,serif;font-size:17px;color:#493527}
.analytics-consent-copy span{font-size:13px;max-width:700px;color:#6d5d4e}
.analytics-consent-copy a{font-size:12px;color:#8a662f;text-decoration:underline;text-underline-offset:2px}
.analytics-consent-actions{display:flex;gap:10px;flex:0 0 auto}
.analytics-consent-actions button{min-height:42px;border-radius:999px;padding:10px 17px;font:700 12px/1.2 inherit;cursor:pointer;white-space:nowrap}
.analytics-consent-primary{border:1px solid #a77b39;background:#a77b39;color:#fff}
.analytics-consent-secondary{border:1px solid #d7c5aa;background:#fff;color:#5a4938}
#analyticsConsentSettings{cursor:pointer}
@media (max-width:760px){
  .analytics-consent{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .analytics-consent-inner{align-items:stretch;flex-direction:column;gap:12px;padding:14px;border-radius:16px}
  .analytics-consent-copy{display:block}
  .analytics-consent-copy strong,.analytics-consent-copy span,.analytics-consent-copy a{display:block;margin-bottom:5px}
  .analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .analytics-consent-actions button{white-space:normal;padding:9px 10px;font-size:11px}
}


/* ===== v79: реальные фото апидомика + исправление акции в мобильной форме ===== */

/* Портретные реальные фотографии аккуратно кадрируются в карточках 4:3. */
#sleep-on-hives .module-gallery-card img.module-photo-fito {
  object-position: center 57% !important;
}
#sleep-on-hives .module-gallery-card img.module-photo-hives {
  object-position: center 66% !important;
}
#sleep-on-hives .module-gallery-card img.module-photo-nature {
  object-position: center 50% !important;
}
#sleep-on-hives .module-gallery-card img.module-photo-design {
  object-position: center 55% !important;
}

/* Акционный формат: две независимые строки без наложения текста. */
#booking .booking-format-promo strong,
#booking .booking-format-promo small {
  display: block !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
#booking .booking-format-promo strong {
  line-height: 1.22 !important;
}
#booking .booking-format-promo small {
  margin-top: 3px !important;
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  #booking .booking-format-promo {
    min-height: 68px !important;
    height: auto !important;
    padding: 10px 12px !important;
    gap: 2px !important;
    overflow: hidden !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  #booking .booking-format-promo strong {
    font-size: 12px !important;
  }
  #booking .booking-format-promo small {
    font-size: 10px !important;
  }
}

@media (max-width: 380px) {
  #booking .booking-format-promo {
    min-height: 72px !important;
  }
  #booking .booking-format-promo small {
    font-size: 9.5px !important;
  }
}
/* ===== END v79 ===== */


/* ===== v81 FINAL HERO + MOBILE PROMO LAYOUT ===== */
/* Desktop: preserve composition, only lift the darkness. */
.hero.hero-image-header .hero-cover-picture img {
  filter: brightness(1.08) saturate(.96) contrast(.96) !important;
}
.hero.hero-image-header::before {
  background:
    linear-gradient(180deg, rgba(10,12,8,.02) 0%, rgba(10,12,8,.00) 55%, rgba(10,12,8,.34) 100%),
    radial-gradient(circle at 82% 20%, rgba(255,216,137,.16), transparent 34%) !important;
}

/* Mobile: image, text and controls are separate blocks. Nothing overlays the photo. */
@media (max-width:760px) {
  .hero.hero-image-header {
    min-height:0 !important;
    height:auto !important;
    display:block !important;
    padding:calc(var(--header-h,76px) + env(safe-area-inset-top) + 8px) 0 0 !important;
    overflow:visible !important;
    background:linear-gradient(180deg,#fff8eb 0%,#f7eddc 100%) !important;
    color:#352719 !important;
    isolation:auto !important;
  }
  .hero.hero-image-header::before,
  .hero.hero-image-header::after { display:none !important; content:none !important; }

  .hero.hero-image-header .hero-cover-picture {
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    display:block !important;
    width:calc(100% - 24px) !important;
    max-width:560px !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(122,83,37,.14) !important;
    border-radius:24px !important;
    box-shadow:0 18px 42px rgba(74,48,17,.12) !important;
    background:#ead8b7 !important;
    line-height:0 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    position:static !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    filter:brightness(1.10) saturate(.94) contrast(.95) !important;
  }

  .hero.hero-image-header .hero-grid {
    position:relative !important;
    inset:auto !important;
    z-index:2 !important;
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:18px 0 14px !important;
    pointer-events:auto !important;
  }
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    position:static !important;
    width:calc(100% - 32px) !important;
    max-width:560px !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    opacity:1 !important;
    transform:none !important;
  }
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note { display:none !important; }

  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead {
    position:static !important;
    clip:auto !important;
    overflow:visible !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    white-space:normal !important;
    text-shadow:none !important;
  }
  .hero.hero-image-header .hero-title {
    color:#3c2b1b !important;
    font-size:clamp(28px,8.3vw,38px) !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
    text-wrap:balance !important;
  }
  .hero.hero-image-header .hero-title .accent { color:#a86b13 !important; }
  .hero.hero-image-header .lead {
    color:#6d5c49 !important;
    font-size:14.5px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
  }

  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    position:static !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin:4px 0 0 !important;
    padding:0 !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding:10px 9px !important;
    border-radius:15px !important;
    justify-content:center !important;
    text-align:center !important;
    font-size:12px !important;
    line-height:1.18 !important;
    letter-spacing:-.01em !important;
    white-space:normal !important;
  }
  .hero.hero-image-header .hero-actions .btn-primary {
    color:#30200e !important;
    background:linear-gradient(135deg,#ffe9a8,#eab64d) !important;
    border:1px solid rgba(168,107,19,.18) !important;
  }
  .hero.hero-image-header .hero-actions .btn-secondary {
    color:#4a3826 !important;
    background:#fffdf8 !important;
    border:1px solid rgba(111,82,49,.18) !important;
  }
  .hero.hero-image-header .hero-actions.has-promo .btn-promo,
  .hero.hero-image-header .hero-actions .btn-promo {
    grid-column:1 / -1 !important;
    min-height:44px !important;
    color:#fffaf3 !important;
    background:linear-gradient(135deg,#9a3d28,#c9583b) !important;
    border:1px solid rgba(126,42,26,.14) !important;
    box-shadow:none !important;
    animation:none !important;
  }

  .hero.hero-image-header .marquee {
    position:relative !important;
    inset:auto !important;
    z-index:2 !important;
    width:100% !important;
    margin:0 !important;
    background:#5b4a36 !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    color:rgba(255,250,238,.88) !important;
    padding:11px 18px !important;
    font-size:10px !important;
  }

  /* Booking promo: title and date occupy their own rows. */
  #booking .booking-format-promo {
    position:relative !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    align-content:center !important;
    align-items:center !important;
    justify-items:start !important;
    row-gap:4px !important;
    min-height:76px !important;
    height:auto !important;
    padding:12px 14px !important;
    overflow:visible !important;
    text-align:left !important;
  }
  #booking .booking-format-promo strong,
  #booking .booking-format-promo small,
  #booking #bookingPromoLabel {
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  #booking .booking-format-promo strong {
    color:#41270b !important;
    font-size:12.5px !important;
    line-height:1.25 !important;
    font-weight:750 !important;
  }
  #booking .booking-format-promo small,
  #booking #bookingPromoLabel {
    color:#8b6344 !important;
    font-size:10.5px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
  }
}

@media (max-width:380px) {
  .hero.hero-image-header .hero-copy { width:calc(100% - 26px) !important; }
  .hero.hero-image-header .hero-actions .btn { font-size:11.3px !important; padding:9px 7px !important; }
  #booking .booking-format-promo { min-height:80px !important; }
}
/* ===== END v81 ===== */


/* ===== v82 FINAL: wide mobile hero, controls below image, promo text collision fix ===== */
@media (max-width:760px) {
  /* Hero is intentionally short and horizontal on mobile. */
  .hero.hero-image-header {
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    padding:calc(var(--header-h,76px) + env(safe-area-inset-top)) 0 0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#fff8ec !important;
    color:#352719 !important;
  }
  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display:none !important;
    content:none !important;
  }

  /* The phone uses the same WIDE 1200x630 asset as desktop; no 4:3 / portrait source. */
  .hero.hero-image-header .hero-cover-picture {
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    aspect-ratio:1200 / 630 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#17140d !important;
    line-height:0 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    position:static !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    filter:brightness(1.07) saturate(.97) contrast(.97) !important;
  }

  /* Hero title and description already exist INSIDE the prepared image — do not duplicate below it. */
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:-1px !important;
    padding:0 !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }

  /* CTA section is a separate light block BELOW the image, never over the photo. */
  .hero.hero-image-header .hero-grid {
    position:relative !important;
    inset:auto !important;
    z-index:3 !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:10px 12px 9px !important;
    background:linear-gradient(180deg,#fff9ef 0%,#fff5e7 100%) !important;
    pointer-events:auto !important;
  }
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:520px !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    opacity:1 !important;
    transform:none !important;
  }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    position:static !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
    padding:0 !important;
    gap:7px !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    min-height:43px !important;
    padding:8px 8px !important;
    border-radius:14px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    font-size:11.5px !important;
    line-height:1.18 !important;
    font-weight:750 !important;
    letter-spacing:-.01em !important;
    box-shadow:none !important;
  }
  .hero.hero-image-header .hero-actions .btn-primary {
    color:#30200e !important;
    background:linear-gradient(135deg,#ffe7a1,#edb743) !important;
    border:1px solid rgba(168,107,19,.18) !important;
  }
  .hero.hero-image-header .hero-actions .btn-secondary {
    color:#4b3825 !important;
    background:#fffdf8 !important;
    border:1px solid rgba(111,82,49,.18) !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column:1 / -1 !important;
    min-height:40px !important;
    color:#fffaf3 !important;
    background:linear-gradient(135deg,#963724,#c65236) !important;
    border:1px solid rgba(126,42,26,.14) !important;
    animation:none !important;
  }

  /* Marquee remains outside the image as a slim footer strip. */
  .hero.hero-image-header .marquee {
    position:relative !important;
    inset:auto !important;
    z-index:2 !important;
    width:100% !important;
    margin:0 !important;
    background:#554431 !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding:10px 17px !important;
    color:rgba(255,250,238,.89) !important;
    font-size:9.8px !important;
  }

  /* PROMO IN BOOKING FORM: two real layout rows. The date cannot overlap the title. */
  #booking .booking-format-promo {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:min-content min-content !important;
    align-content:center !important;
    align-items:start !important;
    justify-content:stretch !important;
    justify-items:start !important;
    row-gap:5px !important;
    min-height:78px !important;
    height:auto !important;
    padding:12px 14px !important;
    overflow:visible !important;
    text-align:left !important;
  }
  #booking .booking-format-promo .booking-promo-title,
  #booking .booking-format-promo .booking-promo-date,
  #booking .booking-format-promo strong,
  #booking .booking-format-promo small,
  #booking #bookingPromoLabel {
    position:static !important;
    inset:auto !important;
    float:none !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  #booking .booking-format-promo .booking-promo-title,
  #booking .booking-format-promo strong {
    grid-row:1 !important;
    color:#41270b !important;
    font-size:12.5px !important;
    line-height:1.28 !important;
    font-weight:800 !important;
  }
  #booking .booking-format-promo .booking-promo-date,
  #booking .booking-format-promo small,
  #booking #bookingPromoLabel {
    grid-row:2 !important;
    color:#8a6243 !important;
    font-size:10.5px !important;
    line-height:1.35 !important;
    font-weight:650 !important;
  }
}

@media (max-width:380px) {
  .hero.hero-image-header .hero-grid { padding:9px 9px 8px !important; }
  .hero.hero-image-header .hero-actions .btn { min-height:42px !important; font-size:11px !important; padding:8px 6px !important; }
  #booking .booking-format-promo { min-height:82px !important; padding:11px 12px !important; }
}
/* ===== END v82 ===== */


/* ===== v83: светлый hero + медовая акция + органичные кнопки на фото ===== */
/* Главный экран — светлее и мягче на всех устройствах. */
.hero.hero-image-header::before {
  background:
    linear-gradient(180deg, rgba(255,248,232,0.12) 0%, rgba(255,248,232,0.04) 44%, rgba(7,10,7,0.32) 100%),
    radial-gradient(circle at 82% 22%, rgba(255, 208, 112, 0.16), transparent 34%) !important;
}
.hero.hero-image-header .hero-cover-picture img {
  filter: brightness(1.10) saturate(1.02) contrast(0.96) !important;
}
.hero.hero-image-header .hero-actions .btn-promo {
  color:#4a2f0a !important;
  background:linear-gradient(135deg,#f9e6a6 0%, #eecb73 52%, #dca344 100%) !important;
  border:1px solid rgba(157,109,22,.20) !important;
  box-shadow:0 12px 28px rgba(142,101,24,.18), inset 0 1px 0 rgba(255,255,255,.42) !important;
}
.hero.hero-image-header .hero-actions .btn-promo:hover {
  background:linear-gradient(135deg,#fbeab3 0%, #f0d17f 52%, #e0ab4f 100%) !important;
  filter:none !important;
}
.hero.hero-image-header .hero-actions .btn-promo .promo-pulse-dot {
  background:#9d6a16 !important;
  box-shadow:0 0 0 5px rgba(157,106,22,.12) !important;
}
@keyframes promoSoftGlowHoney {
  0%,100% { box-shadow:0 12px 28px rgba(142,101,24,.18), inset 0 1px 0 rgba(255,255,255,.42); }
  50% { box-shadow:0 14px 34px rgba(190,144,41,.26), 0 0 0 4px rgba(223,180,72,.12), inset 0 1px 0 rgba(255,255,255,.42); }
}
.hero.hero-image-header .hero-actions .btn-promo { animation: promoSoftGlowHoney 2.8s ease-in-out infinite !important; }

@media (max-width:760px) {
  .hero.hero-image-header {
    position:relative !important;
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    padding:calc(var(--header-h,76px) + env(safe-area-inset-top)) 0 0 !important;
    background:#fff8ec !important;
    color:#352719 !important;
    overflow:hidden !important;
  }
  .hero.hero-image-header .hero-cover-picture {
    position:relative !important;
    width:100% !important;
    aspect-ratio:1200 / 630 !important;
    background:#17140d !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    filter:brightness(1.14) saturate(1.02) contrast(0.95) !important;
    object-position:center center !important;
  }
  /* Кнопки снова на фото, но компактно и без перекрытия почти всей картинки. */
  .hero.hero-image-header .hero-grid {
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:10px !important;
    z-index:4 !important;
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 12px !important;
    background:transparent !important;
    pointer-events:none !important;
  }
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
    padding:0 !important;
    pointer-events:none !important;
  }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:7px !important;
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
    padding:8px !important;
    border-radius:18px !important;
    background:rgba(255,248,236,.20) !important;
    border:1px solid rgba(255,247,223,.22) !important;
    box-shadow:0 10px 28px rgba(17,14,9,.18) !important;
    backdrop-filter:blur(14px) saturate(125%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(125%) !important;
    pointer-events:auto !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    min-height:42px !important;
    padding:8px 8px !important;
    border-radius:14px !important;
    font-size:11.5px !important;
    line-height:1.16 !important;
    font-weight:760 !important;
    letter-spacing:-.01em !important;
    white-space:normal !important;
    box-shadow:none !important;
  }
  .hero.hero-image-header .hero-actions .btn-primary {
    color:#30200e !important;
    background:linear-gradient(135deg,#ffe7a1,#edb743) !important;
    border:1px solid rgba(168,107,19,.18) !important;
  }
  .hero.hero-image-header .hero-actions .btn-secondary {
    color:#4b3825 !important;
    background:rgba(255,253,248,.96) !important;
    border:1px solid rgba(111,82,49,.18) !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column:1 / -1 !important;
    min-height:40px !important;
    color:#4a2f0a !important;
    background:linear-gradient(135deg,#f9e6a6 0%, #eecb73 52%, #dca344 100%) !important;
    border:1px solid rgba(157,109,22,.20) !important;
    box-shadow:0 10px 24px rgba(142,101,24,.16) !important;
    animation: promoSoftGlowHoney 2.8s ease-in-out infinite !important;
  }
  .hero.hero-image-header .marquee {
    position:relative !important;
    z-index:2 !important;
    background:#5a4935 !important;
    margin:0 !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding:10px 17px !important;
    color:rgba(255,250,238,.9) !important;
    font-size:9.8px !important;
  }

  /* В форме акции — ещё более жёсткая разметка без наложения даты. */
  #booking .booking-format-promo {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    row-gap:0 !important;
    gap:4px !important;
    min-height:84px !important;
    padding:12px 14px !important;
    text-align:left !important;
    overflow:hidden !important;
  }
  #booking .booking-format-promo .booking-promo-title,
  #booking .booking-format-promo .booking-promo-date,
  #booking .booking-format-promo strong,
  #booking .booking-format-promo small,
  #booking #bookingPromoLabel {
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    float:none !important;
  }
  #booking .booking-format-promo .booking-promo-title,
  #booking .booking-format-promo strong {
    color:#41270b !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
  }
  #booking .booking-format-promo .booking-promo-date,
  #booking .booking-format-promo small,
  #booking #bookingPromoLabel {
    color:#8a6243 !important;
    font-size:10px !important;
    line-height:1.32 !important;
    font-weight:650 !important;
  }
}
@media (max-width:380px) {
  .hero.hero-image-header .hero-grid { bottom:8px !important; padding:0 8px !important; }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo { gap:6px !important; padding:7px !important; border-radius:16px !important; }
  .hero.hero-image-header .hero-actions .btn { min-height:40px !important; font-size:10.9px !important; padding:7px 6px !important; }
  #booking .booking-format-promo { min-height:86px !important; padding:11px 12px !important; }
}
/* ===== END v83 ===== */


/* ===== v84: hero мобильный — светлее, кнопки компактнее и органичнее; акция в тарифе без наложения ===== */
@media (max-width: 760px) {
  .hero.hero-image-header {
    position: relative !important;
    min-height: 0 !important;
    height: auto !important;
    padding: calc(var(--header-h) + 4px) 0 0 !important;
    background: #f7ecd8 !important;
    overflow: hidden !important;
  }

  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display: none !important;
  }

  .hero.hero-image-header .hero-cover-picture {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 300px !important;
    height: clamp(300px, 58vw, 360px) !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #17130d !important;
  }

  .hero.hero-image-header .hero-cover-picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: brightness(1.18) saturate(1.03) contrast(0.95) !important;
  }

  .hero.hero-image-header .hero-grid {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    z-index: 4 !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 12px !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 540px !important;
    margin: 0 auto !important;
    padding: 6px !important;
    border-radius: 20px !important;
    background: rgba(83, 69, 47, 0.38) !important;
    border: 1px solid rgba(255, 246, 223, 0.20) !important;
    box-shadow: 0 10px 26px rgba(35, 24, 10, 0.18) !important;
    backdrop-filter: blur(8px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(118%) !important;
    pointer-events: auto !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-height: 38px !important;
    padding: 8px 8px !important;
    border-radius: 14px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 10.8px !important;
    line-height: 1.14 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
    box-shadow: none !important;
    gap: 6px !important;
  }

  .hero.hero-image-header .hero-actions .btn svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
  }

  .hero.hero-image-header .hero-actions .btn-primary {
    color: #3b2a12 !important;
    background: linear-gradient(135deg, #f9dd86 0%, #efc154 48%, #dfa13c 100%) !important;
    border: 1px solid rgba(165, 112, 24, 0.18) !important;
  }

  .hero.hero-image-header .hero-actions .btn-secondary {
    color: #4b3927 !important;
    background: rgba(255, 251, 244, 0.96) !important;
    border: 1px solid rgba(122, 93, 56, 0.16) !important;
  }

  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column: 1 / -1 !important;
    min-height: 34px !important;
    padding: 8px 10px !important;
    color: #4a2f0a !important;
    background: linear-gradient(135deg, #f8e8b3 0%, #eed181 55%, #dfb252 100%) !important;
    border: 1px solid rgba(162, 112, 22, 0.18) !important;
    box-shadow: 0 8px 20px rgba(149, 104, 22, 0.12) !important;
    font-size: 10.7px !important;
    letter-spacing: 0.01em !important;
    font-weight: 800 !important;
    animation: none !important;
  }

  .hero.hero-image-header .hero-actions .btn-promo .promo-pulse-dot {
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    background: #9d6a16 !important;
    box-shadow: 0 0 0 4px rgba(157, 106, 22, 0.10) !important;
  }

  .hero.hero-image-header .marquee {
    position: relative !important;
    z-index: 3 !important;
    margin: 0 !important;
    background: #5c4b36 !important;
    border: 0 !important;
  }

  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 11px 18px !important;
    color: rgba(255, 249, 237, 0.92) !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
  }

  /* Форматы — дата акции отдельной строкой под заголовком. */
  .formats-v61 .format-top,
  .formats-v60 .format-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .formats-v61 .format-top h3,
  .formats-v60 .format-top h3 {
    min-height: 0 !important;
    width: 100% !important;
  }

  .formats-v61 .format-top .tag,
  .formats-v61 .promo-tag,
  .formats-v60 .format-top .tag,
  .formats-v60 .promo-tag {
    position: static !important;
    display: inline-flex !important;
    align-self: flex-start !important;
    margin: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-cover-picture {
    min-height: 286px !important;
    height: 286px !important;
  }

  .hero.hero-image-header .hero-grid {
    bottom: 8px !important;
    padding: 0 10px !important;
  }

  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    gap: 7px !important;
    padding: 5px !important;
    border-radius: 18px !important;
  }

  .hero.hero-image-header .hero-actions .btn {
    min-height: 36px !important;
    font-size: 10.2px !important;
    padding: 7px 6px !important;
  }

  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    min-height: 32px !important;
    font-size: 10px !important;
  }
}
/* ===== END v84 ===== */


/* ===== v85 FINAL: mobile hero rebuilt + promo layouts structurally fixed ===== */

/* Promo tariff: honey palette, date stacked under heading (all viewport sizes). */
.formats-v61 .format-promo,
.formats-v60 .format-promo {
  border-color: rgba(188, 139, 45, .34) !important;
  box-shadow: 0 20px 54px rgba(88,55,14,.095), 0 0 0 3px rgba(221,174,72,.055) !important;
}
.formats-v61 .format-promo::after,
.formats-v60 .format-promo::after {
  background: linear-gradient(90deg,#d89b2f,#f1c965) !important;
}
.formats-v61 .promo-format-top,
.formats-v60 .promo-format-top {
  display:block !important;
  overflow:visible !important;
}
.promo-title-stack {
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
}
.promo-title-stack h3 {
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  line-height:1.12 !important;
}
.promo-title-stack .promo-tag {
  position:static !important;
  display:inline-flex !important;
  align-self:flex-start !important;
  margin:0 !important;
  max-width:100% !important;
  white-space:nowrap !important;
  color:#4a320d !important;
  background:linear-gradient(135deg,#fae8ae,#e8bd5c) !important;
  border:1px solid rgba(159,106,15,.18) !important;
  box-shadow:none !important;
}
.formats-v61 .format-promo .btn,
.formats-v60 .format-promo .btn {
  color:#3b290d !important;
  background:linear-gradient(135deg,#f7dc87 0%,#eab64d 55%,#d99a30 100%) !important;
  border-color:rgba(165,108,18,.20) !important;
  box-shadow:0 10px 22px rgba(139,95,18,.14) !important;
}
.formats-v61 .format-promo .btn:hover,
.formats-v60 .format-promo .btn:hover {
  background:linear-gradient(135deg,#fae49a 0%,#efc25f 55%,#dda33b 100%) !important;
}
.formats-v61 .promo-terms-link,
.formats-v60 .promo-terms-link { color:#6f4a12 !important; }

/* Booking promo: its own nested stack, independent from generic strong/small rules. */
#booking .booking-format-promo {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:64px !important;
  height:auto !important;
  padding:10px 12px !important;
  overflow:hidden !important;
  text-align:left !important;
}
#booking .booking-format-promo .booking-promo-stack {
  position:static !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}
#booking .booking-format-promo .booking-promo-title,
#booking .booking-format-promo .booking-promo-date,
#booking #bookingPromoLabel {
  position:static !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  float:none !important;
}
#booking .booking-format-promo .booking-promo-title {
  color:#41270b !important;
  font-size:12px !important;
  line-height:1.24 !important;
  font-weight:800 !important;
}
#booking .booking-format-promo .booking-promo-date,
#booking #bookingPromoLabel {
  color:#86613f !important;
  font-size:10px !important;
  line-height:1.3 !important;
  font-weight:650 !important;
}

/* Hero promo stays honey everywhere. */
.hero.hero-image-header .hero-actions .btn-promo,
.hero.hero-image-header .hero-actions.has-promo .btn-promo {
  color:#4a2f0a !important;
  background:linear-gradient(135deg,#f9e6a6 0%,#eecb73 52%,#dca344 100%) !important;
  border:1px solid rgba(157,109,22,.20) !important;
  box-shadow:0 10px 22px rgba(142,101,24,.15), inset 0 1px 0 rgba(255,255,255,.42) !important;
  animation:none !important;
}
.hero.hero-image-header .hero-actions .btn-promo .promo-pulse-dot {
  background:#a06d18 !important;
  box-shadow:0 0 0 4px rgba(160,109,24,.10) !important;
}

@media (max-width:760px) {
  /* Exact image ratio: no horizontal crop, no lost title, no pseudo-portrait hero. */
  .hero.hero-image-header {
    position:relative !important;
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    padding:calc(var(--header-h,76px) + env(safe-area-inset-top)) 0 0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#f8eedc !important;
  }
  .hero.hero-image-header::before,
  .hero.hero-image-header::after {
    display:none !important;
    content:none !important;
  }
  .hero.hero-image-header .hero-cover-picture {
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    aspect-ratio:1200 / 630 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#ded2b8 !important;
    line-height:0 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    position:static !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    filter:none !important; /* v85 image file itself is already lightened */
    transform:none !important;
  }

  /* Text is baked into hero image; HTML duplicates stay accessible but visually hidden. */
  .hero.hero-image-header .hero-copy > .eyebrow,
  .hero.hero-image-header .hero-title,
  .hero.hero-image-header .lead,
  .hero.hero-image-header .hero-benefits,
  .hero.hero-image-header .hero-note {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    margin:-1px !important;
    padding:0 !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }

  /* Buttons overlay image directly: no giant dark glass container. */
  .hero.hero-image-header .hero-grid {
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:7px !important;
    z-index:4 !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 10px !important;
    background:transparent !important;
    pointer-events:none !important;
  }
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    position:static !important;
    display:block !important;
    width:100% !important;
    max-width:520px !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    opacity:1 !important;
    transform:none !important;
    pointer-events:none !important;
  }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    position:static !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
    padding:0 !important;
    gap:6px !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    pointer-events:auto !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    min-height:34px !important;
    padding:7px 7px !important;
    border-radius:12px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    font-size:10px !important;
    line-height:1.12 !important;
    font-weight:760 !important;
    letter-spacing:-.01em !important;
    box-shadow:0 5px 14px rgba(39,27,10,.13) !important;
  }
  .hero.hero-image-header .hero-actions .btn svg {
    width:13px !important;
    height:13px !important;
    flex:0 0 13px !important;
  }
  .hero.hero-image-header .hero-actions .btn-primary {
    color:#3a2910 !important;
    background:rgba(247,211,110,.96) !important;
    border:1px solid rgba(158,106,22,.16) !important;
  }
  .hero.hero-image-header .hero-actions .btn-secondary {
    color:#4a3825 !important;
    background:rgba(255,252,246,.96) !important;
    border:1px solid rgba(111,82,49,.14) !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column:1 / -1 !important;
    justify-self:center !important;
    width:72% !important;
    min-height:30px !important;
    padding:6px 10px !important;
    color:#4a2f0a !important;
    background:rgba(240,204,111,.97) !important;
    border:1px solid rgba(157,109,22,.17) !important;
    box-shadow:0 5px 14px rgba(119,81,15,.12) !important;
    font-size:9.7px !important;
    letter-spacing:.01em !important;
    animation:none !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo .promo-pulse-dot {
    width:6px !important;
    height:6px !important;
    flex:0 0 6px !important;
    box-shadow:0 0 0 3px rgba(160,109,24,.09) !important;
  }

  .hero.hero-image-header .marquee {
    position:relative !important;
    z-index:3 !important;
    width:100% !important;
    margin:0 !important;
    background:#5b4a36 !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding:10px 18px !important;
    color:rgba(255,250,238,.90) !important;
    font-size:9.8px !important;
  }

  /* Tariff heading/date on phone: guaranteed stacked, never overlaid. */
  .formats-v61 .promo-format-top,
  .formats-v60 .promo-format-top {
    display:block !important;
    min-height:0 !important;
    height:auto !important;
  }
  .formats-v61 .promo-title-stack,
  .formats-v60 .promo-title-stack {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:7px !important;
  }
  .formats-v61 .promo-title-stack h3,
  .formats-v60 .promo-title-stack h3 {
    min-height:0 !important;
    margin:0 !important;
    font-size:24px !important;
    line-height:1.08 !important;
  }
  .formats-v61 .promo-title-stack .promo-tag,
  .formats-v60 .promo-title-stack .promo-tag {
    position:static !important;
    transform:none !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:1.2 !important;
  }

  #booking .booking-format-promo {
    min-height:70px !important;
    padding:10px 12px !important;
  }
}

@media (max-width:380px) {
  .hero.hero-image-header .hero-grid { bottom:6px !important; padding:0 8px !important; }
  .hero.hero-image-header .hero-actions { gap:5px !important; }
  .hero.hero-image-header .hero-actions .btn { min-height:32px !important; font-size:9.6px !important; padding:6px 5px !important; }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo { width:76% !important; min-height:28px !important; font-size:9.2px !important; }
  .formats-v61 .promo-title-stack h3,
  .formats-v60 .promo-title-stack h3 { font-size:23px !important; }
}
/* ===== END v85 ===== */


/* v85 structural stage: on desktop transparent to layout; on mobile it owns image + buttons. */
.hero.hero-image-header .hero-visual-stage { display: contents; }
@media (max-width:760px) {
  .hero.hero-image-header .hero-visual-stage {
    display:block !important;
    position:relative !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom:7px !important;
  }
}

/* v85 final cleanup: cancel legacy mobile min-height/height rules on hero image. */
@media (max-width:760px) {
  .hero.hero-image-header .hero-cover-picture {
    min-height:0 !important;
    max-height:none !important;
  }
}


/* v85 mobile art direction: wider-than-portrait 1200×800 asset gives controls their own photographic lower zone. */
@media (max-width:760px) {
  .hero.hero-image-header .hero-cover-picture { aspect-ratio:1200 / 800 !important; }
}

/* v85 tariff grid correction: reserve real vertical space for stacked promo title + date. */
.formats-v61 .format-promo {
  grid-template-rows: 92px 104px 68px 124px 38px 52px !important;
}
.promo-title-stack .promo-tag {
  padding:5px 9px !important;
  border-radius:999px !important;
  line-height:1.15 !important;
}
@media (max-width:760px) {
  .formats-v61 .format-promo {
    min-height:526px !important;
    grid-template-rows:86px 108px 62px 116px 38px 50px !important;
  }
}


/* ===== v86: новая hero-картинка пользователя, адаптивно на всех экранах ===== */
/* В изображении уже есть логотип и заголовок — HTML-текст скрыт визуально, но остаётся доступным для SEO/скринридеров. */
.hero.hero-image-header {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  padding: var(--header-h, 76px) 0 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #f7ecd8 !important;
  color: #fff !important;
}
.hero.hero-image-header::before,
.hero.hero-image-header::after {
  display: none !important;
  content: none !important;
}

.hero.hero-image-header .hero-media {
  position: relative !important;
  width: 100% !important;
  height: clamp(620px, calc(100svh - var(--header-h, 76px) - 38px), 900px) !important;
  min-height: 620px !important;
  overflow: hidden !important;
  background: #1b2519 !important;
}
.hero.hero-image-header .hero-cover-picture {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #1b2519 !important;
  line-height: 0 !important;
}
.hero.hero-image-header .hero-cover-picture img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 47% !important;
  transform: none !important;
  filter: none !important;
}

.hero.hero-image-header .hero-copy > .eyebrow,
.hero.hero-image-header .hero-title,
.hero.hero-image-header .lead,
.hero.hero-image-header .hero-benefits,
.hero.hero-image-header .hero-note {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Кнопки находятся непосредственно на фотографии, без большой подложки. */
.hero.hero-image-header .hero-grid {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 30px !important;
  z-index: 4 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 24px !important;
  background: transparent !important;
  pointer-events: none !important;
}
.hero.hero-image-header .hero-copy,
.hero.hero-image-header .hero-copy.reveal,
.hero.hero-image-header .hero-copy.show {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}
.hero.hero-image-header .hero-actions,
.hero.hero-image-header .hero-actions.has-promo {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 980px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}
.hero.hero-image-header .hero-actions .btn {
  min-height: 48px !important;
  padding: 13px 19px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 780 !important;
  white-space: nowrap !important;
  box-shadow: 0 9px 24px rgba(24, 17, 8, .18) !important;
}
.hero.hero-image-header .hero-actions .btn-primary {
  color: #3a2910 !important;
  background: linear-gradient(135deg, rgba(250,222,139,.98), rgba(231,174,55,.98)) !important;
  border: 1px solid rgba(165,112,24,.18) !important;
}
.hero.hero-image-header .hero-actions .btn-secondary {
  color: #4a3825 !important;
  background: rgba(255,252,246,.96) !important;
  border: 1px solid rgba(111,82,49,.16) !important;
}
.hero.hero-image-header .hero-actions .btn-promo,
.hero.hero-image-header .hero-actions.has-promo .btn-promo {
  color: #4a2f0a !important;
  background: linear-gradient(135deg, rgba(249,230,166,.98), rgba(220,163,68,.98)) !important;
  border: 1px solid rgba(157,109,22,.20) !important;
  box-shadow: 0 9px 24px rgba(119,81,15,.16) !important;
  animation: none !important;
}

/* Бегущая строка — строго под изображением, не отнимает площадь фотографии. */
.hero.hero-image-header .marquee {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  margin: 0 !important;
  background: #5a4935 !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.hero.hero-image-header .marquee span,
.hero.hero-image-header .marquee-track span {
  color: rgba(255,250,238,.91) !important;
}

@media (max-width: 1024px) {
  .hero.hero-image-header .hero-media {
    height: min(68vw, 760px) !important;
    min-height: 500px !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom: 20px !important;
    padding: 0 18px !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    min-height: 44px !important;
    padding: 11px 15px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 760px) {
  .hero.hero-image-header {
    padding: var(--header-h, 76px) 0 0 !important;
  }
  /* На телефоне показываем всю композицию 3:2 без обрезания логотипа, текста или домика. */
  .hero.hero-image-header .hero-media {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2 !important;
    overflow: hidden !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    object-fit: cover !important;
    object-position: center center !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom: 8px !important;
    padding: 0 9px !important;
  }
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    max-width: 560px !important;
  }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 35px !important;
    padding: 7px 6px !important;
    border-radius: 12px !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 9.7px !important;
    line-height: 1.12 !important;
    box-shadow: 0 5px 14px rgba(25,17,7,.15) !important;
  }
  .hero.hero-image-header .hero-actions .btn svg {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: 72% !important;
    min-height: 29px !important;
    padding: 6px 9px !important;
    font-size: 9.2px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo .promo-pulse-dot {
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 10px 17px !important;
    font-size: 9.8px !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-grid { bottom: 6px !important; padding: 0 7px !important; }
  .hero.hero-image-header .hero-actions { gap: 5px !important; }
  .hero.hero-image-header .hero-actions .btn {
    min-height: 32px !important;
    padding: 6px 5px !important;
    font-size: 9.2px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    width: 76% !important;
    min-height: 27px !important;
    font-size: 8.8px !important;
  }
}
/* ===== END v86 ===== */


/* ===== v88: утверждённая hero-картинка + адаптивные кнопки на фото ===== */
.hero.hero-image-header {
  padding: var(--header-h, 76px) 0 0 !important;
  background:#f7ecd8 !important;
}
.hero.hero-image-header .hero-media {
  position:relative !important;
  width:100% !important;
  height:clamp(620px, calc(100svh - var(--header-h,76px) - 38px), 920px) !important;
  min-height:620px !important;
  overflow:hidden !important;
  background:#c9b789 !important;
}
.hero.hero-image-header .hero-cover-picture,
.hero.hero-image-header .hero-cover-picture img {
  width:100% !important;
  height:100% !important;
}
.hero.hero-image-header .hero-cover-picture img {
  object-fit:cover !important;
  object-position:center 48% !important;
  filter:none !important;
}
.hero.hero-image-header .hero-grid {
  bottom:24px !important;
  padding:0 24px !important;
}
.hero.hero-image-header .hero-actions,
.hero.hero-image-header .hero-actions.has-promo {
  gap:10px !important;
  max-width:1040px !important;
}
.hero.hero-image-header .hero-actions .btn {
  min-height:46px !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  font-size:12.5px !important;
}
.hero.hero-image-header .hero-actions .btn-promo,
.hero.hero-image-header .hero-actions.has-promo .btn-promo {
  color:#4a2f0a !important;
  background:linear-gradient(135deg,#f9e6a6 0%,#eecb73 52%,#dca344 100%) !important;
  border:1px solid rgba(157,109,22,.20) !important;
  animation:none !important;
}
.hero.hero-image-header .marquee {
  position:relative !important;
  margin:0 !important;
  background:#5a4935 !important;
}

@media (max-width:1024px) {
  .hero.hero-image-header .hero-media {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    object-fit:cover !important;
    object-position:center center !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom:12px !important;
    padding:0 14px !important;
  }
}

@media (max-width:760px) {
  .hero.hero-image-header {
    padding:var(--header-h,76px) 0 0 !important;
  }
  /* Полная утверждённая композиция 4:3: текст и апидомик не обрезаются. */
  .hero.hero-image-header .hero-media {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:4 / 3 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    object-fit:contain !important;
    object-position:center center !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom:7px !important;
    padding:0 8px !important;
  }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:5px !important;
    width:100% !important;
    max-width:560px !important;
    margin:0 auto !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    width:100% !important;
    min-height:33px !important;
    padding:6px 5px !important;
    border-radius:11px !important;
    font-size:9.5px !important;
    line-height:1.1 !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    box-shadow:0 4px 12px rgba(32,22,8,.14) !important;
  }
  .hero.hero-image-header .hero-actions .btn svg {
    width:12px !important;
    height:12px !important;
    flex:0 0 12px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column:1 / -1 !important;
    justify-self:center !important;
    width:70% !important;
    min-height:27px !important;
    padding:5px 8px !important;
    font-size:8.9px !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding:9px 16px !important;
    font-size:9.5px !important;
  }
}

@media (max-width:390px) {
  .hero.hero-image-header .hero-grid { bottom:6px !important; padding:0 6px !important; }
  .hero.hero-image-header .hero-actions { gap:4px !important; }
  .hero.hero-image-header .hero-actions .btn {
    min-height:31px !important;
    padding:5px 4px !important;
    font-size:8.9px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    width:72% !important;
    min-height:25px !important;
    font-size:8.4px !important;
  }
}
/* ===== END v88 ===== */


/* ===== v89: точная утверждённая картинка без логотипа; кнопки на фото; строка под фото ===== */
.hero.hero-image-header {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  padding: var(--header-h, 76px) 0 0 !important;
  margin: 0 !important;
  background: #f7ecd8 !important;
  overflow: hidden !important;
}
.hero.hero-image-header::before,
.hero.hero-image-header::after { display:none !important; content:none !important; }

.hero.hero-image-header .hero-media {
  position: relative !important;
  width: 100% !important;
  height: clamp(570px, calc(100svh - var(--header-h, 76px) - 38px), 830px) !important;
  min-height: 570px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #253119 !important;
}
.hero.hero-image-header .hero-cover-picture {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.hero.hero-image-header .hero-cover-picture img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center 50% !important;
  filter: none !important;
  transform: none !important;
}

/* Текст уже находится внутри утверждённой фотографии. HTML-текст не дублируем. */
.hero.hero-image-header .hero-copy > .eyebrow,
.hero.hero-image-header .hero-title,
.hero.hero-image-header .lead,
.hero.hero-image-header .hero-benefits,
.hero.hero-image-header .hero-note {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Кнопки находятся в свободной нижней части самой фотографии. */
.hero.hero-image-header .hero-grid {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 22px !important;
  z-index: 4 !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 28px !important;
  pointer-events: none !important;
}
.hero.hero-image-header .hero-copy,
.hero.hero-image-header .hero-copy.reveal,
.hero.hero-image-header .hero-copy.show {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}
.hero.hero-image-header .hero-actions,
.hero.hero-image-header .hero-actions.has-promo {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
}
.hero.hero-image-header .hero-actions .btn {
  min-height: 46px !important;
  padding: 12px 18px !important;
  border-radius: 14px !important;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  font-weight: 780 !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 22px rgba(22,16,7,.16) !important;
}
.hero.hero-image-header .hero-actions .btn-primary {
  color: #39280f !important;
  background: linear-gradient(135deg,#f8dc85 0%,#e5ad3f 100%) !important;
  border: 1px solid rgba(160,106,17,.20) !important;
}
.hero.hero-image-header .hero-actions .btn-secondary {
  color: #473724 !important;
  background: rgba(255,252,245,.96) !important;
  border: 1px solid rgba(98,73,41,.18) !important;
}
.hero.hero-image-header .hero-actions .btn-promo,
.hero.hero-image-header .hero-actions.has-promo .btn-promo {
  color: #4a2f0a !important;
  background: linear-gradient(135deg,#f8e7b0 0%,#e8c76f 55%,#dba54a 100%) !important;
  border: 1px solid rgba(157,109,22,.20) !important;
  animation: none !important;
}

/* Бегущая строка строго под фотографией. */
.hero.hero-image-header .marquee {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  margin: 0 !important;
  background: #5a4935 !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.hero.hero-image-header .marquee span,
.hero.hero-image-header .marquee-track span {
  color: rgba(255,250,238,.92) !important;
}

@media (max-width: 1024px) {
  /* Планшет: сохраняем всю композицию исходного изображения. */
  .hero.hero-image-header .hero-media {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    object-fit: contain !important;
    object-position: center center !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom: 12px !important;
    padding: 0 14px !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    min-height: 40px !important;
    padding: 9px 12px !important;
    font-size: 11px !important;
  }
}

@media (max-width: 760px) {
  .hero.hero-image-header {
    padding: var(--header-h, 76px) 0 0 !important;
  }
  /* Телефон: изображение показывается полностью, без обрезания текста и апидомика. */
  .hero.hero-image-header .hero-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 2 !important;
  }
  .hero.hero-image-header .hero-cover-picture img {
    object-fit: contain !important;
    object-position: center center !important;
  }
  .hero.hero-image-header .hero-grid {
    bottom: 7px !important;
    padding: 0 7px !important;
  }
  .hero.hero-image-header .hero-copy,
  .hero.hero-image-header .hero-copy.reveal,
  .hero.hero-image-header .hero-copy.show {
    max-width: 560px !important;
  }
  .hero.hero-image-header .hero-actions,
  .hero.hero-image-header .hero-actions.has-promo {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
  }
  .hero.hero-image-header .hero-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 31px !important;
    padding: 5px 5px !important;
    border-radius: 10px !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: 8.9px !important;
    line-height: 1.08 !important;
    box-shadow: 0 4px 12px rgba(24,16,6,.14) !important;
  }
  .hero.hero-image-header .hero-actions .btn svg {
    width: 11px !important;
    height: 11px !important;
    flex: 0 0 11px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: 68% !important;
    min-height: 25px !important;
    padding: 4px 7px !important;
    font-size: 8.4px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo .promo-pulse-dot {
    width: 5px !important;
    height: 5px !important;
    flex: 0 0 5px !important;
  }
  .hero.hero-image-header .marquee span,
  .hero.hero-image-header .marquee-track span {
    padding: 9px 15px !important;
    font-size: 9.4px !important;
  }
}

@media (max-width: 390px) {
  .hero.hero-image-header .hero-grid { bottom: 5px !important; padding: 0 5px !important; }
  .hero.hero-image-header .hero-actions { gap: 4px !important; }
  .hero.hero-image-header .hero-actions .btn {
    min-height: 29px !important;
    padding: 4px 4px !important;
    font-size: 8.5px !important;
  }
  .hero.hero-image-header .hero-actions .btn-promo,
  .hero.hero-image-header .hero-actions.has-promo .btn-promo {
    width: 70% !important;
    min-height: 23px !important;
    font-size: 8px !important;
  }
}
/* ===== END v89 ===== */


/* ===== v90: DESKTOP ONLY — дата акции справа + кнопки тарифов на одном уровне ===== */
@media (min-width: 761px) {
  /* Возвращаем акционной карточке ту же сетку строк, что и у остальных тарифов. */
  .formats-v61 .format-promo {
    grid-template-rows: 64px 92px 68px 124px 38px 52px !important;
  }

  /* Заголовок акции слева, дата акции справа в одной верхней строке. */
  .formats-v61 .promo-format-top,
  .formats-v60 .promo-format-top {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .formats-v61 .promo-title-stack,
  .formats-v60 .promo-title-stack {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
  }

  .formats-v61 .promo-title-stack h3,
  .formats-v60 .promo-title-stack h3 {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    line-height: 1.1 !important;
  }

  .formats-v61 .promo-title-stack .promo-tag,
  .formats-v60 .promo-title-stack .promo-tag {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    position: static !important;
    margin: 1px 0 0 !important;
    white-space: nowrap !important;
  }

  /* Явно фиксируем нижнюю строку кнопки одинаково со всеми карточками. */
  .formats-v61 .format-promo .btn,
  .formats-v61 .format .btn {
    align-self: end !important;
    min-height: 52px !important;
    margin-top: 0 !important;
  }
}
/* ===== END v90 ===== */


/* ===== v91: Публичный договор ===== */
.booking-contract-note{
  margin:8px 0 4px;
  color:#75634e;
  font-size:11.5px;
  line-height:1.55;
}
.booking-contract-note a{
  color:#74470e;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
}
.booking-contract-note a:hover{color:#a36a16;}

.legal-page{
  background:
    radial-gradient(circle at 84% 4%,rgba(245,191,83,.10),transparent 28rem),
    linear-gradient(180deg,#fffaf0 0%,#fbf4e7 38%,#fffdf8 100%);
  color:#392919;
}
.legal-site-header{
  background:rgba(255,249,237,.94)!important;
  border-bottom:1px solid rgba(118,78,24,.12)!important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.legal-nav{justify-content:space-between!important;}
.legal-header-actions{display:flex;align-items:center;gap:22px;}
.legal-header-link{color:#5d4a35;font-size:13px;font-weight:650;text-decoration:none;}
.legal-header-link:hover{color:#9b671c;}
.legal-header-btn{min-height:42px!important;padding:10px 18px!important;}
.legal-main{padding:calc(var(--header-h) + 44px) 0 80px;}
.legal-container{max-width:1080px!important;}
.legal-breadcrumbs{display:flex;align-items:center;gap:9px;margin-bottom:30px;color:#8b765d;font-size:12px;}
.legal-breadcrumbs a{color:#795113;text-decoration:none;font-weight:700;}
.legal-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:32px;
  padding:38px 42px;
  margin-bottom:22px;
  border:1px solid rgba(156,109,41,.16);
  border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,244,219,.84));
  box-shadow:0 26px 70px rgba(87,56,16,.09);
}
.legal-hero h1{margin:16px 0 2px;font-size:clamp(42px,6vw,72px);line-height:.95;letter-spacing:-.045em;color:#2f2113;}
.legal-subtitle{margin:10px 0 0;color:#75634e;font-size:16px;line-height:1.55;}
.legal-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right;color:#7d6850;font-size:12px;}
.legal-meta strong{color:#49341d;font-size:13px;}
.legal-download{display:inline-flex;margin-top:9px;padding:10px 14px;border-radius:999px;border:1px solid rgba(155,102,24,.20);background:#fffaf0;color:#70470e;text-decoration:none;font-weight:750;font-size:11px;}
.legal-download:hover{background:#fff0c8;}
.legal-document{
  padding:48px 52px;
  border:1px solid rgba(137,94,32,.13);
  border-radius:34px;
  background:rgba(255,255,255,.76);
  box-shadow:0 24px 64px rgba(84,54,15,.07);
}
.legal-lead{margin:0 0 38px;padding:0 0 32px;border-bottom:1px solid rgba(128,89,36,.14);color:#554532;font-size:15px;line-height:1.82;}
.legal-section{scroll-margin-top:110px;padding:8px 0 30px;}
.legal-section + .legal-section{padding-top:32px;border-top:1px solid rgba(128,89,36,.12);}
.legal-section h2{margin:0 0 21px;font-family:"Cormorant Garamond",serif;font-size:32px;line-height:1.05;color:#392817;letter-spacing:-.02em;}
.legal-section p{margin:0 0 13px;color:#5d4e3c;font-size:14px;line-height:1.78;}
.legal-section p b{color:#3b2916;font-weight:800;}
.legal-section ul{margin:2px 0 18px;padding-left:25px;color:#5d4e3c;}
.legal-section li{padding-left:5px;margin:8px 0;font-size:14px;line-height:1.7;}
.legal-section li::marker{color:#e3ab37;}
.legal-requisites-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.legal-requisites-grid>div{padding:16px 18px;border-radius:18px;border:1px solid rgba(147,101,35,.13);background:#fffaf0;}
.legal-requisites-grid span{display:block;margin-bottom:6px;color:#92764e;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.legal-requisites-grid strong{display:block;color:#46321c;font-size:13px;line-height:1.55;word-break:break-word;}
.legal-bottom-actions{display:flex;justify-content:center;gap:12px;margin:28px 0 0;}
.legal-bottom-actions .btn{min-width:210px;justify-content:center;}
.legal-footer{margin-top:0!important;}

@media (max-width:760px){
  .booking-contract-note{font-size:10.5px;line-height:1.5;margin-top:7px;}
  .legal-site-header .brand{max-width:108px;}
  .legal-header-link{display:none;}
  .legal-header-actions{gap:0;}
  .legal-header-btn{min-height:38px!important;padding:9px 13px!important;font-size:11px!important;}
  .legal-main{padding:calc(var(--header-h) + 24px) 0 56px;}
  .legal-breadcrumbs{margin-bottom:18px;}
  .legal-hero{grid-template-columns:1fr;gap:20px;padding:25px 22px;border-radius:26px;}
  .legal-hero h1{font-size:43px;}
  .legal-subtitle{font-size:14px;}
  .legal-meta{align-items:flex-start;text-align:left;}
  .legal-document{padding:28px 22px;border-radius:26px;}
  .legal-lead{font-size:13.5px;line-height:1.72;margin-bottom:28px;padding-bottom:25px;}
  .legal-section{padding-bottom:23px;}
  .legal-section + .legal-section{padding-top:26px;}
  .legal-section h2{font-size:27px;margin-bottom:17px;}
  .legal-section p,.legal-section li{font-size:13px;line-height:1.68;}
  .legal-requisites-grid{grid-template-columns:1fr;}
  .legal-bottom-actions{display:grid;grid-template-columns:1fr;gap:9px;}
  .legal-bottom-actions .btn{width:100%;min-width:0;}
}
/* ===== END v91 ===== */

/* ===== v95: ExpressPay / E-POS — встроенная оплата бронирования ===== */
.booking-payment-panel[hidden],
.booking-payment-panel [hidden] { display:none !important; }

.booking-payment-panel {
  width:100%;
  margin-top:14px;
  padding:18px;
  border:1px solid rgba(151,102,33,.17);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(255,244,217,.94));
  box-shadow:0 16px 38px rgba(91,58,16,.08);
}
.booking-payment-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:13px;
  border-bottom:1px solid rgba(139,90,53,.11);
}
.booking-payment-head > div { display:grid; gap:4px; min-width:0; }
.booking-payment-kicker {
  color:#96713e;
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.booking-payment-head strong { color:#34210c; font-size:16px; line-height:1.2; font-weight:750; }
.booking-payment-timer {
  flex:0 0 auto;
  min-width:66px;
  padding:8px 10px;
  border:1px solid rgba(191,132,36,.18);
  border-radius:999px;
  background:#fff1bf;
  color:#6b470d;
  font-size:12px;
  line-height:1;
  font-weight:800;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.booking-payment-timer.is-ending { background:#fff0dd; color:#9b4d27; border-color:rgba(178,81,39,.18); }
.booking-payment-summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:9px;
  margin-top:12px;
}
.booking-payment-summary > div {
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(139,90,53,.10);
  border-radius:14px;
  background:rgba(255,255,255,.64);
}
.booking-payment-summary span { display:block; color:#8a765f; font-size:9.5px; font-weight:650; }
.booking-payment-summary strong {
  display:block;
  margin-top:3px;
  color:#3e2a13;
  font-size:12px;
  line-height:1.3;
  font-weight:760;
  overflow-wrap:anywhere;
}
.booking-payment-body {
  display:grid;
  grid-template-columns:154px minmax(0,1fr);
  gap:16px;
  align-items:center;
  margin-top:14px;
}
.booking-payment-qr {
  padding:8px;
  border:1px solid rgba(139,90,53,.11);
  border-radius:17px;
  background:#fff;
  text-align:center;
}
.booking-payment-qr img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; border-radius:9px; }
.booking-payment-qr small { display:block; margin-top:7px; color:#8a7863; font-size:8.5px; line-height:1.35; }
.booking-payment-actions { display:grid; gap:8px; min-width:0; }
.booking-payment-actions p { margin:0 0 2px; color:#65513a; font-size:11px; line-height:1.5; }
.booking-payment-actions .btn {
  width:100%;
  min-height:43px;
  justify-content:center;
  padding:10px 13px;
  border-radius:14px;
  font-size:11px;
  line-height:1.2;
  text-align:center;
}
.booking-payment-check,
.booking-payment-cancel {
  width:100%;
  min-height:34px;
  padding:6px 10px;
  border:0;
  background:transparent;
  cursor:pointer;
  font-family:inherit;
  font-size:10px;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
}
.booking-payment-check { color:#6f4b19; }
.booking-payment-cancel { color:#8d5d53; }
.booking-payment-check:hover,.booking-payment-cancel:hover { text-decoration-thickness:2px; }
.booking-payment-panel.is-paid {
  border-color:rgba(74,116,57,.20);
  background:linear-gradient(145deg,#fbfff8,#eff7e7);
}
.booking-payment-panel.is-paid .booking-payment-timer { background:#e8f3df; color:#3f6732; border-color:rgba(74,116,57,.16); }
.booking-payment-panel.is-error {
  border-color:rgba(166,76,55,.16);
  background:linear-gradient(145deg,#fffdf9,#fff1eb);
}

@media (max-width:600px) {
  .booking-payment-panel { margin-top:12px; padding:15px; border-radius:19px; }
  .booking-payment-head { gap:10px; padding-bottom:11px; }
  .booking-payment-head strong { font-size:14px; }
  .booking-payment-timer { min-width:61px; padding:7px 9px; font-size:11px; }
  .booking-payment-summary { gap:7px; margin-top:10px; }
  .booking-payment-summary > div { padding:9px 10px; border-radius:12px; }
  .booking-payment-summary strong { font-size:11px; }
  .booking-payment-body { grid-template-columns:1fr; gap:10px; margin-top:12px; }
  /* На телефоне основной сценарий — открыть E-POS кнопкой; QR нужен прежде всего на компьютере. */
  .booking-payment-qr { display:none !important; }
  .booking-payment-actions p { font-size:10.5px; line-height:1.45; }
  .booking-payment-actions .btn { min-height:44px; border-radius:13px; font-size:11px; }
  .booking-payment-check,.booking-payment-cancel { min-height:32px; font-size:9.8px; }
}
/* ===== END v95 ===== */

/* ===== v96: faster E-POS checkout + explicit progress state ===== */
.booking-submit.is-processing { opacity:1 !important; filter:none !important; cursor:wait !important; }
.booking-submit-spinner,
.booking-payment-spinner {
  display:inline-block;
  width:16px;
  height:16px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:apisPaymentSpin .72s linear infinite;
  flex:0 0 auto;
}
@keyframes apisPaymentSpin { to { transform:rotate(360deg); } }

.booking-payment-timer {
  display:grid;
  gap:2px;
  min-width:76px;
  padding:7px 10px 8px;
}
.booking-payment-timer small {
  display:block;
  font-size:7.5px;
  line-height:1;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:.68;
}
.booking-payment-timer strong {
  display:block;
  font-size:12px;
  line-height:1;
  font-weight:850;
  font-variant-numeric:tabular-nums;
}
.booking-payment-progress {
  display:grid;
  gap:8px;
  padding:12px 13px;
  border:1px solid rgba(188,132,42,.15);
  border-radius:14px;
  background:rgba(255,249,228,.72);
}
.booking-payment-progress-row {
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:8px;
  align-items:center;
  color:#5f4a30;
  font-size:10.5px;
  line-height:1.35;
  font-weight:700;
}
.booking-payment-progress-row i {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#f0e3c6;
  color:#795719;
  font-style:normal;
  font-size:11px;
  font-weight:850;
}
.booking-payment-progress-row.is-done i { background:#e7f2df; color:#48703c; }
.booking-payment-progress-row.is-active i { background:#fff0b7; color:#8a5d06; }
.booking-payment-progress-row.is-active .booking-payment-spinner { width:12px; height:12px; border-width:1.7px; }
.booking-payment-progress-row.is-error i { background:#fde7df; color:#a54835; }
.booking-payment-progress small {
  display:block;
  margin:1px 0 0 30px;
  color:#7d6a52;
  font-size:9.5px;
  line-height:1.45;
}
.booking-payment-panel.is-preparing .booking-payment-actions > .btn,
.booking-payment-panel.is-preparing .booking-payment-check,
.booking-payment-panel.is-preparing .booking-payment-cancel { display:none !important; }
@media (max-width:600px) {
  .booking-payment-progress { padding:11px 12px; }
  .booking-payment-progress-row { font-size:10.2px; }
  .booking-payment-progress small { margin-left:30px; font-size:9.2px; }
  .booking-payment-timer { min-width:72px; }
}
/* ===== END v96 ===== */

/* ===== v99: resilient schedule loading / compact premium error state ===== */
.booking-loading-copy { display:grid; gap:2px; min-width:0; }
.booking-loading-copy strong { color:#6b522f; font-size:12px; line-height:1.25; font-weight:760; }
.booking-loading-copy small { color:#9a8468; font-size:9.5px; line-height:1.35; font-weight:550; }
.booking-schedule-error {
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 15px !important;
  border:1px solid rgba(173,79,61,.14);
  background:linear-gradient(145deg,#fff9f5,#fff0eb) !important;
  color:#5f3b34 !important;
}
.booking-schedule-error-copy { display:grid; gap:4px; min-width:0; }
.booking-schedule-error-copy strong { color:#7c352b; font-size:12px; line-height:1.25; font-weight:780; }
.booking-schedule-error-copy span { color:#8b6259; font-size:10px; line-height:1.45; font-weight:520; }
.booking-schedule-retry {
  flex:0 0 auto;
  min-height:36px;
  padding:8px 13px;
  border:1px solid rgba(139,90,53,.18);
  border-radius:999px;
  background:#fffdf8;
  color:#6c481a;
  font:700 10px/1 inherit;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(91,58,16,.06);
}
.booking-schedule-retry:hover { background:#fff7e4; border-color:rgba(139,90,53,.28); }
.booking-schedule-note {
  grid-column:1/-1;
  margin-top:3px;
  padding:8px 10px;
  border:1px solid rgba(183,132,43,.14);
  border-radius:11px;
  background:rgba(255,248,222,.72);
  color:#816833;
  font-size:9px;
  line-height:1.4;
}
@media (max-width:600px) {
  .booking-schedule-error { align-items:stretch; flex-direction:column; gap:10px; min-height:0; }
  .booking-schedule-retry { width:100%; min-height:40px; }
  .booking-loading-copy strong { font-size:11.5px; }
  .booking-loading-copy small { font-size:9px; }
}
/* ===== END v99 ===== */



/* ===== v102: payment panel desktop/mobile layout fix ===== */
/* Без QR действия должны занимать всю ширину. В v101 скрытый QR оставлял
   двухколоночную grid-сетку и сжимал весь блок оплаты до ~154 px. */
.booking-payment-body {
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
}
.booking-payment-panel.has-qr .booking-payment-body {
  grid-template-columns:166px minmax(0,1fr);
  align-items:start;
}
.booking-payment-actions {
  width:100%;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px 12px;
  align-content:start;
}
.booking-payment-actions > p,
.booking-payment-actions > .btn,
.booking-payment-actions > .booking-payment-progress {
  grid-column:1 / -1;
}
.booking-payment-progress {
  width:100%;
  box-sizing:border-box;
  padding:14px 15px;
  border-radius:16px;
}
.booking-payment-progress-row {
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  font-size:11.5px;
  line-height:1.4;
}
.booking-payment-progress-row i {
  width:28px;
  height:28px;
  font-size:12px;
}
.booking-payment-progress small {
  margin-left:38px;
  max-width:620px;
  font-size:10px;
  line-height:1.5;
}
.booking-payment-actions .btn {
  min-height:48px;
  padding:12px 16px;
  font-size:12px;
}
.booking-payment-check,
.booking-payment-cancel {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border:1px solid rgba(139,90,53,.10);
  border-radius:12px;
  background:rgba(255,255,255,.42);
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.booking-payment-check:hover,
.booking-payment-cancel:hover {
  background:rgba(255,255,255,.72);
  border-color:rgba(139,90,53,.18);
  text-decoration:none;
}
.booking-payment-check:active,
.booking-payment-cancel:active { transform:translateY(1px); }
.booking-payment-panel.is-error .booking-payment-progress {
  border-color:rgba(166,76,55,.14);
  background:rgba(255,249,242,.86);
}
.booking-payment-panel.is-error .booking-payment-retry {
  background:linear-gradient(135deg,#c98a17,#9a5f06);
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 22px rgba(137,84,5,.16);
}
.booking-payment-panel.is-error .booking-payment-retry:hover {
  box-shadow:0 12px 26px rgba(137,84,5,.21);
}
.booking-payment-kicker { max-width:100%; }

@media (min-width:601px) {
  .booking-payment-panel:not(.has-qr) .booking-payment-body { margin-top:14px; }
  .booking-payment-panel:not(.has-qr) .booking-payment-actions { max-width:none; }
}
@media (max-width:600px) {
  .booking-payment-panel.has-qr .booking-payment-body,
  .booking-payment-body { grid-template-columns:1fr; }
  .booking-payment-actions { grid-template-columns:1fr; gap:8px; }
  .booking-payment-actions > p,
  .booking-payment-actions > .btn,
  .booking-payment-actions > .booking-payment-progress,
  .booking-payment-check,
  .booking-payment-cancel { grid-column:1; }
  .booking-payment-progress { padding:12px 12px; border-radius:14px; }
  .booking-payment-progress-row { grid-template-columns:25px minmax(0,1fr); gap:9px; font-size:10.7px; }
  .booking-payment-progress-row i { width:25px; height:25px; }
  .booking-payment-progress small { margin-left:34px; font-size:9.5px; }
  .booking-payment-actions .btn { min-height:46px; font-size:11.2px; }
  .booking-payment-check,.booking-payment-cancel { min-height:38px; font-size:10px; }
}
/* ===== END v102 ===== */

/* ===== APIS HOUSE v112 · promo lifecycle ===== */
.formats-v61 .format-promo.is-promo-ended,
.formats-v60 .format-promo.is-promo-ended {
  filter: saturate(.45) !important;
  opacity: .78 !important;
  box-shadow: 0 14px 34px rgba(92,72,48,.08) !important;
  border-color: rgba(117,97,73,.22) !important;
}
.formats-v61 .format-promo.is-promo-ended::after,
.formats-v60 .format-promo.is-promo-ended::after {
  background: #a89b8b !important;
}
.formats-v61 .format-promo.is-promo-ended .promo-tag,
.formats-v60 .format-promo.is-promo-ended .promo-tag {
  background: #8d8174 !important;
  color: #fffdf8 !important;
  box-shadow: none !important;
}
.formats-v61 .format-promo .btn.is-disabled,
.formats-v60 .format-promo .btn.is-disabled {
  pointer-events: none !important;
  cursor: not-allowed !important;
  background: #ded6ca !important;
  border-color: #d0c6b8 !important;
  color: #776c60 !important;
  box-shadow: none !important;
  transform: none !important;
}
#booking .booking-format-promo:disabled,
#booking .booking-format-promo.is-promo-ended {
  cursor: not-allowed !important;
  opacity: .72 !important;
  background: #f4efe7 !important;
  border-color: #d9d0c4 !important;
  box-shadow: none !important;
  transform: none !important;
}
#booking .booking-format-promo.is-promo-ended .booking-promo-title {
  color: #70665c !important;
}
#booking .booking-format-promo.is-promo-ended .booking-promo-date {
  color: #9a6b53 !important;
  font-weight: 800 !important;
}
/* ===== END v112 ===== */


/* ===== APIS HOUSE v113 · unmistakable ended-promo UX ===== */
#promoTariff.is-promo-ended {
  opacity:1 !important;
  filter:none !important;
  background:linear-gradient(145deg,#f7f3ed 0%,#eee8df 100%) !important;
  border:1px solid rgba(109,89,69,.30) !important;
  box-shadow:0 14px 34px rgba(74,58,42,.08) !important;
}
#promoTariff.is-promo-ended::after { background:#7b6e61 !important; }
.promo-ended-banner {
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:-4px 0 2px;
  padding:12px 14px;
  border:1px solid rgba(131,72,54,.22);
  border-radius:14px;
  background:#fff8f3;
  color:#5b3529;
}
.promo-ended-banner[hidden] { display:none !important; }
.promo-ended-banner strong {
  font-size:12px;
  line-height:1.2;
  letter-spacing:.075em;
  font-weight:900;
}
.promo-ended-banner span {
  font-size:11px;
  line-height:1.45;
  color:#79675a;
  font-weight:600;
}
#promoTariff.is-promo-ended .promo-tag {
  background:#5e554c !important;
  color:#fff !important;
  border-color:#5e554c !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
}
#promoTariff.is-promo-ended .price {
  color:#6f655b !important;
  text-decoration:none !important;
}
#promoTariff.is-promo-ended .price small { color:#81766b !important; }
#promoTariff.is-promo-ended #promoTariffCta.is-disabled {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  background:#5f5851 !important;
  border:1px solid #5f5851 !important;
  color:#fff !important;
  opacity:1 !important;
  font-size:11.5px !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
}

#booking .booking-format-promo.is-promo-ended,
#booking .booking-format-promo:disabled.is-promo-ended {
  grid-column:1 / -1 !important;
  min-height:70px !important;
  opacity:1 !important;
  padding:12px 14px !important;
  background:#f4efe8 !important;
  border:2px solid #bcae9f !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
}
#booking .booking-format-promo.is-promo-ended .booking-promo-title {
  color:#604035 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
}
#booking .booking-format-promo.is-promo-ended .booking-promo-date,
#booking .booking-format-promo.is-promo-ended #bookingPromoLabel {
  color:#7a685b !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
.booking-promo-ended-explainer {
  margin-top:10px;
  padding:11px 13px;
  border:1px solid rgba(130,93,70,.18);
  border-radius:13px;
  background:#fffaf5;
  color:#66564a;
  font-size:11px;
  line-height:1.5;
}
.booking-promo-ended-explainer[hidden] { display:none !important; }
.booking-promo-ended-explainer strong {
  display:block;
  margin-bottom:2px;
  color:#5b382d;
  font-size:11.5px;
  font-weight:900;
}
.booking-promo-ended-explainer span { display:block; }

@media (max-width:760px) {
  #booking .booking-format-promo.is-promo-ended,
  #booking .booking-format-promo:disabled.is-promo-ended {
    min-height:74px !important;
    padding:12px !important;
  }
  #promoTariff.is-promo-ended #promoTariffCta.is-disabled {
    font-size:10.8px !important;
    text-align:center !important;
    white-space:normal !important;
  }
}
/* ===== END v113 ===== */


/* APIS HOUSE v114 — promo fail-closed + unmistakable ended state */
#promoTariff.is-disabled #promoTariffCta,
#promoTariffCta.is-disabled {
  pointer-events: none !important;
  cursor: not-allowed !important;
  opacity: .78;
  filter: grayscale(.2);
}
#bookingPromoFormat:disabled,
#bookingPromoFormat[aria-disabled="true"] {
  cursor: not-allowed !important;
  pointer-events: none !important;
}


/* ===== APIS HOUSE v115 · aligned tariff CTAs + unambiguous promo wording ===== */
/* The ended promo must have the same six layout rows as every tariff card. */
#promoTariff .promo-ended-banner { display:none !important; }

@media (min-width:761px) {
  .formats-v61 .format,
  .formats-v61 .format.featured,
  .formats-v61 .format-night,
  .formats-v61 .format-night-private,
  .formats-v61 .format-promo {
    grid-template-rows:64px 92px 68px 124px 38px 52px !important;
  }
  .formats-v61 .format .btn,
  .formats-v61 .format-promo .btn,
  #promoTariffCta {
    grid-row:6 !important;
    align-self:stretch !important;
    margin-top:0 !important;
    min-height:52px !important;
  }
  #promoTariff .promo-format-top {
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:12px !important;
    width:100% !important;
    min-width:0 !important;
  }
  #promoTariff .promo-format-top h3 {
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
  }
  #promoTariff .promo-format-top .promo-tag {
    flex:0 0 auto !important;
    margin:1px 0 0 !important;
    white-space:nowrap !important;
  }
}

#promoTariff.is-promo-ended .promo-tag {
  font-size:10px !important;
  letter-spacing:.025em !important;
}
#promoTariff.is-promo-ended #promoTariffCta.is-disabled {
  white-space:nowrap !important;
}
#booking .booking-format-promo.is-promo-ended .booking-promo-date {
  color:#75685d !important;
}

@media (max-width:760px) {
  #promoTariff.is-promo-ended #promoTariffCta.is-disabled {
    white-space:normal !important;
  }
}
/* ===== END v115 ===== */


/* ===== APIS HOUSE v117 · course 5-visit planner ===== */
.formats-v61 .format-course {
  border-color:rgba(127,87,28,.28) !important;
  background:linear-gradient(145deg,#fffdf8 0%,#f7ead0 100%) !important;
}
.formats-v61 .format-course .tag {
  background:#6d512d !important;
  color:#fffaf2 !important;
}
.formats-v61 .format-course .price { color:#56350f !important; }
.formats-v61 .format-course .course-tariff-extra {
  color:#725a3f !important;
  font-size:11px !important;
  line-height:1.42 !important;
  align-items:flex-start !important;
}
#booking .booking-format-course {
  grid-column:1 / -1 !important;
  min-height:66px !important;
  text-align:left !important;
  padding:12px 15px !important;
  background:linear-gradient(135deg,#fbf3e3,#f3e2bd) !important;
  border-color:rgba(130,89,35,.24) !important;
}
#booking .booking-format-course.is-active {
  background:linear-gradient(135deg,#fff0b5,#ffd76c) !important;
  border-color:#d99323 !important;
  box-shadow:0 9px 22px rgba(185,121,24,.14),inset 0 1px 0 rgba(255,255,255,.8) !important;
}
#booking .booking-format-course strong { font-size:13px !important; }
#booking .booking-format-course small { display:block; margin-top:3px; font-size:10.5px !important; }
.booking-course-explainer {
  margin-top:10px;
  padding:13px 15px;
  border:1px solid rgba(129,90,40,.18);
  border-radius:14px;
  background:#fffaf0;
  color:#64513d;
  font-size:11px;
  line-height:1.48;
}
.booking-course-explainer[hidden] { display:none !important; }
.booking-course-explainer strong { display:block; margin-bottom:3px; color:#4c3217; font-size:12px; font-weight:900; }
.booking-course-explainer span,.booking-course-explainer small { display:block; }
.booking-course-explainer small { margin-top:5px; color:#81715f; font-size:10px; }
@media (max-width:760px) {
  #booking .booking-format-course { min-height:70px !important; padding:12px !important; }
  .booking-course-explainer { padding:12px; }
}
/* ===== END v116 ===== */

/* ===== APIS HOUSE v117 · course 5-visit planner ===== */
#bookingSingleDateGroup[hidden],
#bookingSingleTimeGroup[hidden],
#bookingCoursePlanner[hidden] { display:none !important; }

#booking .booking-format-segmented {
  align-items:stretch;
}
#booking .booking-format-course {
  grid-column:auto !important;
  min-height:72px !important;
}
#booking .booking-format-course:nth-of-type(4),
#booking .booking-format-course:nth-of-type(5) {
  grid-column:span 1 !important;
}
.booking-course-planner {
  margin-top:12px;
  padding:14px;
  border:1px solid rgba(125,86,36,.20);
  border-radius:18px;
  background:linear-gradient(180deg,#fffdf8 0%,#fbf2df 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.booking-course-planner-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.booking-course-planner-head strong {
  display:block;
  color:#3d2a16;
  font-size:14px;
  font-weight:900;
}
.booking-course-planner-head span:not(.booking-course-planner-progress) {
  display:block;
  margin-top:2px;
  color:#7b6a58;
  font-size:10.5px;
}
.booking-course-planner-progress {
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(119,79,27,.17);
  border-radius:999px;
  background:#fff8e9;
  color:#6a471d;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.booking-course-visits {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.course-visit-card {
  min-width:0;
  padding:12px;
  border:1px solid rgba(121,88,48,.16);
  border-radius:15px;
  background:rgba(255,255,255,.72);
}
.course-visit-card:last-child:nth-child(odd) { grid-column:1 / -1; }
.course-visit-card.is-complete {
  border-color:rgba(164,111,22,.42);
  background:#fffaf0;
}
.course-visit-head {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:10px;
}
.course-visit-head > span {
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:10px;
  background:#f5c04e;
  color:#5b3c16;
  font-size:10px;
  font-weight:900;
}
.course-visit-head strong { display:block; color:#3d2a16; font-size:12px; }
.course-visit-head small { display:block; margin-top:1px; color:#8a7966; font-size:9.5px; }
.course-visit-date-label {
  display:block;
  color:#6d5a46;
  font-size:9.5px;
  font-weight:800;
}
.course-visit-date {
  width:100%;
  min-height:42px;
  margin-top:5px;
  padding:8px 10px;
  border:1px solid #e6d8c4;
  border-radius:12px;
  background:#fffefa;
  color:#3b2c1d;
  font:700 12px/1.2 Georgia,serif;
}
.course-visit-slots {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.course-visit-slot {
  min-width:68px;
  min-height:36px;
  padding:7px 9px;
  border:1px solid #e4d4be;
  border-radius:11px;
  background:#fffdfa;
  color:#4a351e;
  font:800 11px/1.1 Georgia,serif;
  cursor:pointer;
}
.course-visit-slot small { display:block; margin-top:2px; font-size:8px; font-weight:600; color:#857563; }
.course-visit-slot:hover { border-color:#d59c33; }
.course-visit-slot.is-selected {
  border-color:#d18b15;
  background:linear-gradient(135deg,#ffeaa4,#ffd264);
  box-shadow:0 5px 14px rgba(185,121,24,.13);
}
.course-visit-slots-note {
  width:100%;
  padding:9px 10px;
  border-radius:10px;
  background:#f7f2ea;
  color:#82715f;
  font-size:9.5px;
  line-height:1.35;
}
.course-visit-slots-note.is-error { background:#fff1ed; color:#914a3d; }
.booking-course-policy {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:12px;
  padding:12px 13px;
  border:1px solid rgba(135,85,28,.20);
  border-radius:13px;
  background:#fff8e8;
  color:#65513b;
  font-size:10px;
  line-height:1.45;
  cursor:pointer;
}
.booking-course-policy input { margin-top:2px; flex:0 0 auto; }
.booking-course-policy strong { color:#4a3218; }

.formats-v61 .format-course .course-tariff-extra strong { font-weight:900; }

@media (max-width:900px) {
  #booking .booking-format-course { grid-column:1 / -1 !important; }
}
@media (max-width:760px) {
  .booking-course-planner { padding:11px; border-radius:15px; }
  .booking-course-planner-head { align-items:flex-start; }
  .booking-course-visits { grid-template-columns:1fr; }
  .course-visit-card:last-child:nth-child(odd) { grid-column:auto; }
  .course-visit-card { padding:11px; }
  .course-visit-slot { min-width:64px; }
}
/* ===== END v117 ===== */

/* ===== APIS HOUSE v118 · course policy / payment clarity ===== */
.formats-v61 .format-course .course-tariff-extra {
  min-height:38px !important;
  font-size:9.7px !important;
  line-height:1.25 !important;
  align-items:flex-start !important;
  overflow:visible !important;
}
.booking-payment-course-policy {
  margin:10px 0 2px;
  padding:10px 12px;
  border:1px solid rgba(132,89,35,.18);
  border-radius:12px;
  background:#fff8e8;
  color:#66513b;
  font-size:10px;
  line-height:1.42;
}
.booking-payment-course-policy[hidden] { display:none !important; }
.booking-payment-course-policy strong { color:#4b3218; }
.course-visit-policy {
  margin-top:8px;
  padding-top:7px;
  border-top:1px dashed rgba(129,91,45,.18);
  color:#7a6957;
  font-size:8.8px;
  line-height:1.3;
}
.booking-course-policy b,
.booking-course-explainer b { color:#5a3a16; font-weight:900; }
@media (max-width:760px) {
  .formats-v61 .format-course .course-tariff-extra { min-height:0 !important; font-size:10px !important; line-height:1.35 !important; }
  .booking-payment-course-policy { font-size:9.7px; }
}
/* ===== END v118 ===== */


/* ===== APIS HOUSE v119 · fast course UX / readable policy ===== */
.formats-v61 .format-course .course-tariff-extra {
  display:block !important;
  min-height:68px !important;
  padding:9px 0 0 !important;
  font-size:10px !important;
  line-height:1.45 !important;
  white-space:normal !important;
  overflow:visible !important;
}
.formats-v61 .format-course .course-tariff-extra strong {
  display:inline !important;
  margin-right:3px !important;
}
.formats-v61 .format-course .booking-preset {
  margin-top:auto !important;
}
#experience .process .step:nth-child(5) p {
  line-height:1.5 !important;
}
@media (max-width:760px) {
  .formats-v61 .format-course .course-tariff-extra {
    min-height:0 !important;
    padding-top:6px !important;
    font-size:10px !important;
    line-height:1.45 !important;
  }
}
/* ===== END v119 ===== */


/* ===== APIS HOUSE v120 · course card policy clearance / aligned CTA ===== */
@media (min-width:761px) {
  .formats-v61 .format,
  .formats-v61 .format.featured,
  .formats-v61 .format-night,
  .formats-v61 .format-night-private,
  .formats-v61 .format-promo,
  .formats-v61 .format-course {
    grid-template-rows:64px 92px 68px 124px 76px 52px !important;
  }
  .formats-v61 .format-course .course-tariff-extra {
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
}
/* ===== END v120 ===== */


/* ===== APIS HOUSE v135 · mobile tariff layout regression fix ===== */
/*
  Mobile tariff cards are a single column, so fixed row heights are unnecessary and
  unsafe for dynamic promo/course copy. Let the content define the row height to
  prevent CTA overlap and orphaned text fragments on narrow Android/iOS screens.
*/
.promo-terms-link {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  text-decoration:none !important;
}
.promo-terms-copy {
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:4px 9px !important;
  min-width:0 !important;
}
.promo-terms-label,
.promo-terms-date {
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:4px !important;
}
.promo-terms-date {
  white-space:normal !important;
}
.promo-terms-arrow {
  flex:0 0 auto !important;
  display:inline-grid !important;
  place-items:center !important;
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  line-height:1 !important;
}

@media (max-width:760px) {
  .formats-v61 .format-promo,
  .formats-v61 .format-course {
    height:auto !important;
    min-height:0 !important;
    grid-template-rows:auto auto auto auto auto auto !important;
    align-content:start !important;
    overflow:hidden !important;
  }

  .formats-v61 .format-promo .promo-format-top,
  .formats-v61 .format-promo .tariff-desc,
  .formats-v61 .format-promo .price,
  .formats-v61 .format-promo ul,
  .formats-v61 .format-promo .promo-tariff-extra,
  .formats-v61 .format-course .format-top,
  .formats-v61 .format-course .tariff-desc,
  .formats-v61 .format-course .price,
  .formats-v61 .format-course ul,
  .formats-v61 .format-course .course-tariff-extra {
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }

  .formats-v61 .format-promo .promo-title-stack {
    gap:7px !important;
  }

  .formats-v61 .format-promo .price,
  .formats-v61 .format-course .price {
    align-self:start !important;
  }

  .formats-v61 .format-promo .promo-tariff-extra,
  .formats-v61 .format-course .course-tariff-extra {
    padding-top:2px !important;
  }

  .formats-v61 .format-course .course-tariff-extra {
    display:block !important;
    font-size:10.5px !important;
    line-height:1.48 !important;
    white-space:normal !important;
  }

  .formats-v61 .format-promo .btn,
  .formats-v61 .format-course .btn,
  .formats-v61 .format-course .booking-preset {
    position:static !important;
    align-self:stretch !important;
    margin-top:4px !important;
  }

  .formats-v61 .promo-terms-link {
    align-items:flex-end !important;
    gap:10px !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }
  .formats-v61 .promo-terms-copy {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:3px !important;
  }
  .formats-v61 .promo-terms-label,
  .formats-v61 .promo-terms-date {
    display:block !important;
    width:max-content !important;
    max-width:100% !important;
  }
  .formats-v61 .promo-terms-arrow {
    margin-bottom:-1px !important;
  }
}
/* ===== END APIS HOUSE v135 ===== */
