:root{
  --page-gutter: 1.5rem;
  --header-top-space: 1.5rem;
  --footer-bottom-space: 2rem;
}

");
      --pattern-size: 1024px;
      --pattern-opacity: .08;
    }
    html, body { min-height: 100%; }
    body {
      position: relative;
      background: var(--light-bg, #f4fbfc);
      color: var(--text, #0b3b40);
      margin:0;
    }
    html, body { font-family: 'Nunito', sans-serif; }
    body, button, input, select, textarea { font-family: 'Nunito', sans-serif; }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:0;
      background-image:var(--pattern-url);
      background-repeat:repeat;
      background-size:var(--pattern-size) var(--pattern-size);
      opacity:var(--pattern-opacity);
    }
    body > * { position: relative; z-index: 1; }
    #container {
      width: 100%;
      max-width: 1180px;
      margin: 0 auto;
      padding: 0 var(--page-gutter);
    }
    header{ position:relative; z-index:9000; margin-top:var(--header-top-space); }
    header #container{
      width:min(1440px, 96vw);
      max-width:1440px;
      margin:0 auto;
      background: var(--header-bg, #ffffff);
      border-radius:1.25rem;
      padding:1.1rem 1.5rem;
      box-shadow:0 18px 45px rgba(6,111,120,.12);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1.25rem;
      flex-wrap:wrap;
    }
    .logo{
      display:inline-block;
      width:140px;
      height:32px;
      background:linear-gradient(45deg,var(--main-1,#00b6ce),var(--main-2,#00889b));
      background-size:300% 300%;
      animation:logo-glow 2.4s ease-in-out infinite;
      mask-image:url('{% static "main/img/logo1.svg" %}');
      mask-repeat:no-repeat;
      mask-size:contain;
      -webkit-mask-image:url('{% static "main/img/logo1.svg" %}');
      -webkit-mask-repeat:no-repeat;
      -webkit-mask-size:contain;
      flex-shrink:0;
    }
    @keyframes logo-glow{
      0%{background-position:0% 50%;}
      50%{background-position:100% 50%;}
      100%{background-position:0% 50%;}
    }
    .top_header{ display:flex; align-items:center; justify-content:space-between; gap:1.25rem; width:100%; }
    .menu{ display:flex; align-items:center; gap:1.25rem; }
    .menu-item{ position:relative; }
    .menu-link{ color:var(--main-2,#00889b); font-weight:700; text-decoration:none; }
    .menu-link:hover{ color:var(--main-1,#00b6ce); }
    .submenu{
      position:absolute; top:100%; left:0; min-width:220px;
      background:#fff; border-radius:1rem; box-shadow:0 8px 30px rgba(0,0,0,.12);
      padding:.5rem; visibility:hidden; opacity:0; pointer-events:none;
      transform:translateY(6px) scale(.98);
      transition:opacity .16s, transform .16s, visibility 0s linear .16s;
      z-index:12000;
    }
    .menu-item:hover>.submenu,
    .menu-item:focus-within>.submenu,
    .menu-item.open>.submenu{
      visibility:visible; opacity:1; pointer-events:auto; transform:none; transition-delay:0s;
    }
    .submenu-link{ display:block; padding:.6rem .9rem; border-radius:.75rem; text-decoration:none; color:var(--text,#222); font-weight:600; }
    .submenu-link:hover{ background:#f5f9fa; color:var(--main-2,#00889b); }
    .burger{
      display:none; align-items:center; gap:.5rem; background:#fff;
      border:1.5px solid #e5f2f2; border-radius:1rem; padding:.45rem .6rem;
      font-weight:800; color:var(--main-1,#099d8c); cursor:pointer;
    }
    .burger .lines{ width:18px; height:14px; position:relative; }
    .burger .lines::before,.burger .lines::after,.burger .line{
      content:""; position:absolute; left:0; right:0; height:2px; background:var(--main-1,#099d8c); border-radius:2px;
    }
    .burger .line{ top:50%; transform:translateY(-50%); }
    .burger .lines::before{ top:0; } .burger .lines::after{ bottom:0; }
    .call{
      display:inline-flex; align-items:center; gap:.35rem;
      padding:.5rem 1rem; border-radius:1rem; border:1.5px solid #e5f2f2;
      text-decoration:none; font-weight:800; color:var(--main-2,#099d8c);
      background:#fff;
    }
    .call:hover{ background:#f1fbfb; color:var(--main-1,#00b6ce); }
    .cart-wrap{ position:relative; }
    .auth-links{ display:flex; gap:.5rem; align-items:center; }
    .cart-btn{
      display:flex; align-items:center; gap:.5rem;
      background:#fff; border:1.5px solid #e5f2f2; border-radius:1rem;
      padding:.45rem .6rem; font-weight:800; color:var(--text,#0b3b40); cursor:pointer; text-decoration:none;
    }
    .cart-badge{
      min-width:1.5rem; height:1.5rem; border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
      font-size:.85rem; background:var(--main-1,#00b6ce); color:#fff; padding:0 .35rem;
    }
    .cart-dd{
      position:absolute; right:0; top:calc(100% + .5rem); width:min(92vw, 380px);
      background:#fff; border:1px solid #e5f2f2; border-radius:1rem; box-shadow:0 18px 40px rgba(0,0,0,.16);
      padding:.75rem; display:none; z-index:20000;
    }
    .cart-dd.open{ display:block; }
    .cart-item{ display:grid; grid-template-columns:1fr auto; gap:.4rem .75rem; align-items:center; padding:.35rem .25rem; border-radius:.5rem; }
    .cart-item:hover{ background:#f7fbfb; }
    .cart-title{ font-weight:700; color:var(--text,#0b3b40); }
    .cart-meta{ color:#475569; font-size:.92rem; }
    .cart-actions{ display:flex; gap:.4rem; align-items:center; }
    .cart-actions form{ margin:0; display:inline; }
    .cart-empty{ color:#64748b; text-align:center; padding:.5rem 0; }
    .cart-footer{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; border-top:1px dashed #e5f2f2; padding-top:.6rem; margin-top:.6rem; }
    .btn-primary, .btn-outline{
      display:inline-flex; align-items:center; justify-content:center;
      padding:.55rem 1.1rem; border-radius:1rem; font-weight:800; text-decoration:none;
      border:1.5px solid #e5f2f2; background:#fff; color:var(--text,#0b3b40); cursor:pointer;
      transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
    }
    .btn-primary{ background:var(--main-1,#0bb3c4); border-color:var(--main-1,#0bb3c4); color:#fff; box-shadow:0 10px 24px rgba(11,179,196,.25); }
    .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 14px 36px rgba(11,179,196,.25); }
    .btn-outline:hover{ background:#eefbfc; color:var(--main-1,#00b6ce); }
    .page-main{ padding:3rem 0 4rem; }
    .page-main #container{ display:block; }
    .shop-header{ margin-bottom:2.5rem; text-align:center; }
    .shop-header h1{ margin:0 0 .5rem; font-size:clamp(28px, 4vw, 42px); font-weight:900; }
    .shop-header p{ color:#48626c; margin:0; }
    footer{
      margin-top:3rem;
      padding:0 var(--page-gutter) var(--footer-bottom-space);
      background:var(--footer-bg,#fff);
      position:relative;
      color:var(--footer-text,#0b3b40);
    }
    footer #container.footer-grid{
      display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.5rem; text-align:center;
      background:var(--footer-bg,#fff); box-shadow:0 0 1.5rem rgb(0 0 0/.1); border-radius:1.5rem; padding:1.5rem;
    }
    .footer-center{ display:flex; flex-direction:column; align-items:center; gap:.75rem; }
    .footer-center .f_menu{ display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
    .footer-center .f_menu a{ color:var(--footer-link,var(--footer-text,#222)); text-decoration:none; font-weight:600; }
    .footer-center .f_menu a:hover{ text-decoration:underline; color:var(--footer-link-hover,var(--footer-link,var(--footer-text,#222))); }
    .footer-links{ gap:1.25rem; }
    .footer-link-item{ display:flex; flex-direction:column; align-items:center; gap:.4rem; min-width:72px; }
    .footer-link-icon{ display:inline-flex; width:56px; height:56px; border-radius:1rem; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(15,118,128,.16); box-shadow:0 10px 22px rgba(8,107,120,.12); transition:transform .18s ease, box-shadow .18s ease; }
    .footer-link-icon img{ width:100%; height:100%; object-fit:contain; border-radius:inherit; }
    .footer-link-icon:hover{ transform:translateY(-3px); box-shadow:0 16px 28px rgba(8,107,120,.18); }
    .footer-link-text{ font-weight:600; color:var(--footer-text,#0b3b40); font-size:.9rem; text-align:center; }
    .footer-contacts{ font-size:14px; color:var(--footer-text,#333); display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
    .footer-contacts a{ color:var(--footer-link,var(--main-2,#099d8c)); text-decoration:none; }
    .footer-contacts a:hover{ text-decoration:underline; color:var(--footer-link-hover,var(--footer-link,var(--main-2,#099d8c))); }
    .qr-col img{ height:128px; opacity:.9; display:block; }
    .messages{ position:fixed; top:10px; left:0; right:0; display:flex; justify-content:center; z-index:12050; padding:0 1rem; }
    .messages .message{ background:#e8fff7; color:var(--main-2,#065f46); border:1px solid #b7f1d5; border-radius:.75rem; padding:.5rem 1rem; box-shadow:0 8px 24px rgba(0,0,0,.08); }
    .actual-programs{ position:sticky; top:var(--banner-top-desktop, 0px); z-index:10000; padding:0; margin:0; background:var(--banner-bg,var(--header-bg,#fff)); }
    .actual-programs #container{
      position:relative;
      width:100%;
      max-width:none;
      margin:0;
      border-radius:0;
      padding:0;
      background:var(--banner-bg,var(--header-bg,#fff));
      box-shadow:none;
    }
    .actual_header{ width:100%; height:auto; }
    .actual-img{ width:100%; height:auto; object-fit:cover; border-radius:0; display:block; }
    .actual-close{ position:absolute; top:6px; right:10px; border:1px solid #e6f0f0; background:#fff; border-radius:.5rem; padding:.25rem .55rem; font-size:18px; line-height:1; cursor:pointer; }
    .scrim{ position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:.15s; z-index:11990; }
    .scrim.show{ opacity:1; visibility:visible; }
    .mobile-nav{ position:fixed; inset:0 auto 0 0; width:86vw; max-width:360px; background:#f9feff; transform:translateX(-100%); transition:transform .2s ease; z-index:12000; box-shadow:0 0 2rem rgba(0,0,0,.15); display:flex; flex-direction:column; padding:18px; color:#0b3b40; }
    .mobile-nav.open{ transform:translateX(0); }
    .mnav-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:10px; }
    .mnav-title{ font-weight:900; color:var(--header-link,var(--main-2,#099d8c)); }
    .mnav-close{ background:#fff; border:1.5px solid #d7e7ea; border-radius:.5rem; padding:.45rem .6rem; cursor:pointer; color:#0b3b40; }
    .mnav-list{ display:flex; flex-direction:column; gap:6px; overflow:auto; padding-right:4px; }
    .mnav-item{ border:1px solid #d7e7ea; border-radius:1rem; background:#fff; }
    .mnav-parent,.mnav-link{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 1rem; font-weight:800; color:#0b3b40; text-decoration:none; }
    .mnav-parent{ cursor:pointer; }
    .mnav-children{ display:none; padding:.5rem .75rem 1rem; background:#f3f8fb; border-top:1px dashed #d7e7ea; }
    .mnav-item.open .mnav-children{ display:block; }
    .mnav-children a{ display:block; padding:.5rem .6rem; border-radius:.5rem; text-decoration:none; color:#1f2937; font-weight:700; }
    .mnav-children a:hover{ background:#eef9fb; color:var(--header-link-hover,var(--main-2,#00889b)); }
    .page-main section{ margin-bottom:2.5rem; }
    @media (max-width: 768px){
      .actual-programs{ top:var(--banner-top-mobile, var(--banner-top-desktop, 0px)); }
    }
    [data-review-slider]{ --reviews-gap:1.25rem; --reviews-nav-space:48px; --reviews-visible:1; }
    @media (min-width:700px){ [data-review-slider]{ --reviews-visible:2; --reviews-nav-space:48px; } }
    @media (min-width:1024px){ [data-review-slider]{ --reviews-visible:3; --reviews-nav-space:48px; } }
    .testimonial-slider{ position:relative; overflow:hidden; padding:0 calc(var(--reviews-nav-space)); }
    .testimonial-track{ display:flex; gap:0; transition:transform .35s.ease; margin:0; }
    .testimonial-slide{ flex:0 0 100%; display:flex; justify-content:center; padding:calc(var(--reviews-gap) * .5) 0; }
    .testimonial-card{ width:min(640px, var(--card-width, 640px), calc(100vw - 96px)); background:var(--review-card-bg,var(--card-bg,#fff)); border-radius:1.25rem; box-shadow:0 14px 36px rgba(8,107,120,.10); border:1px solid #eef2f2; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.85rem; padding:1.5rem; color:var(--review-text,var(--text,#0b3b40)); }
    .testimonial-photo{ width:100%; height:auto; border-radius:16px; object-fit:cover; display:block; box-shadow:0 12px 28px rgba(8,107,120,.12); }
    .testimonial-meta{ display:flex; flex-direction:column; gap:.25rem; color:var(--review-text,var(--text,#0b3b40)); }
    .author-name{ font-weight:900; font-size:1.05rem; color:var(--review-text,var(--text,#0b3b40)); }
    .author-city{ color:rgba(100,116,139,.85); font-size:.95rem; }
    .testimonial-text{ margin:0; color:var(--review-text,var(--text,#475569)); line-height:1.7; font-size:1.02rem; white-space:pre-line; }
    .testimonial-nav{ position:absolute; top:50%; transform:translateY(-50%); background:#fff; border:1.5px solid #e5f2f2; border-radius:50%; width:44px; height:44px; display:grid; place-items:center; font-size:24px; color:var(--main-2,#00889b); cursor:pointer; box-shadow:0 10px 24px rgba(8,107,120,.12); transition:background .2s ease, color .2s ease; }
    .testimonial-nav:hover{ background:var(--main-1,#00b6ce); color:#fff; }
    .testimonial-nav.prev{ left:8px; }
    .testimonial-nav.next{ right:8px; }
    .testimonial-dots{ display:flex; justify-content:center; gap:8px; margin-top:1.1rem; }
    .testimonial-dot{ width:10px; height:10px; border-radius:50%; background:#c7e6ea; border:none; padding:0; cursor:pointer; transition:transform .2s ease, background .2s ease; }
    .testimonial-dot.is-active{ background:var(--main-1,#00b6ce); transform:scale(1.15); }
    @media (max-width:900px){ .testimonial-slider{ padding:0 36px; } }
    @media (max-width:700px){
      .testimonial-slider{ padding:0 24px; }
      .testimonial-nav{ width:36px; height:36px; font-size:20px; }
      .testimonial-nav.prev{ left:4px; }
      .testimonial-nav.next{ right:4px; }
    }
    @media (max-width:1024px){
      header #container{ padding:1rem; border-radius:1rem; }
      .menu{ display:none; }
      .burger{ display:inline-flex; }
      .top_header{ flex-direction:column; align-items:center; gap:1rem; text-align:center; }
      .call{ width:100%; justify-content:center; }
      footer #container.footer-grid{ grid-template-columns:1fr; }
      .qr-col img{ height:96px; }
    }
    @media (max-width:768px){
      header{ margin-top:var(--header-top-space); padding:0; }
      header #container{ width:100%; margin:0 auto; padding:1.25rem; border-radius:1.25rem; }
      .call{
        width:auto;
        justify-content:center;
        padding:.65rem 1rem;
        font-size:15px;
        border-radius:.9rem;
        min-width:0;
      }
      .auth-links{ width:100%; justify-content:center; }
      .cart-btn{ padding:.45rem .6rem; }
      .top_header{ gap:1.25rem; }
    }
    @media (max-width:700px){
      .call,
      .btn-outline{
        padding:.35rem .6rem;
        font-size:.9rem;
        border-radius:.6rem;
      }
      .cart-btn{ padding:.35rem .5rem; }
    }
    @media (max-width:640px){
      header{ margin-top:1.5rem; }
      .shop-header h1{ font-size:28px; }
      .btn-primary, .btn-outline{ width:100%; justify-content:center; }
    }