/* ============================================================
   Wintech — Hand-coded CSS matching live design
   Source: wintech.piksel.agency (The7 + Elementor) — visual parity
   ============================================================ */

:root{
  /* Brand */
  --c-primary: #0078d4;
  --c-primary-dark: #005fa3;
  --c-primary-light: #5cb8ff;
  --c-navy: #002a52;
  --c-navy-2: #003a6e;
  --c-navy-grad: linear-gradient(135deg,#003a6e 0%,#006ec7 100%);

  /* Neutrals */
  --c-text: #0f1b2d;
  --c-text-2: #5b6775;
  --c-text-3: #444;
  --c-muted: #999;
  --c-border: #e6ebf2;
  --c-border-soft: #eef3f9;
  --c-bg: #ffffff;
  --c-bg-alt: #f6f9fc;
  --c-footer-h: #1a1a1a;
  --c-footer-link: #555;

  /* Geometry */
  --r-sm: 4px;
  --r: 5px;
  --r-md: 8px;
  --r-lg: 12px;

  --shadow-card: 0 12px 28px rgba(10,20,30,.06);
  --shadow-soft: 0 4px 14px rgba(10,20,30,.05);
  --shadow-pop:  0 22px 60px rgba(10,20,30,.14);

  --container: 1300px;
  --gutter: 24px;

  --header-h: 75px;
  --header-h-sticky: 64px;
  --topbar-h: 52px;

  --t: cubic-bezier(.22,.8,.36,1);
  --speed: .3s;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;
  font-family:'Inter','Segoe UI',Tahoma,sans-serif;
  font-size:15px;
  line-height:1.7;
  color:var(--c-text-3);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
}
img,svg{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none;transition:color var(--speed) var(--t)}
a:hover{color:var(--c-primary)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,h6{margin:0 0 .6em;line-height:1.2;color:var(--c-text);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.4vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.15}
h2{font-size:clamp(1.7rem,3vw,2.25rem);font-weight:700}
h3{font-size:1.125rem;font-weight:800}
h4{font-size:.94rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--c-footer-h)}
p{margin:0 0 1rem}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#000;color:#fff;padding:.5rem 1rem;border-radius:6px;width:auto;height:auto}

/* ============== HEADER ============== */
.site-header{position:sticky;top:0;z-index:100;background:#fff;transition:box-shadow var(--speed) var(--t),height var(--speed) var(--t)}
.site-header.scrolled{box-shadow:0 6px 24px rgba(10,20,30,.08)}
.site-header.scrolled .mainbar{height:var(--header-h-sticky)}
.site-header.scrolled .topbar{height:0;overflow:hidden;opacity:0}

.topbar{background:var(--c-navy);color:#dfe7f0;font-size:.82rem;height:var(--topbar-h);display:flex;align-items:center;transition:all var(--speed) var(--t)}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%}
.topbar__left{display:flex;align-items:center;gap:1.4rem}
.topbar__phone{
  display:inline-flex;align-items:center;gap:.6rem;
  color:#fff;font-weight:500;
  line-height:1.2;
}
.topbar__phone .hi-icon{align-self:center;flex-shrink:0;width:20px;height:20px}
.topbar__phone svg{color:var(--c-primary-light)}
.topbar__phone > span{
  display:flex;flex-direction:column;line-height:1.2;
}
.topbar__phone > span > span{display:block;font-size:.84rem}
.topbar__phone small{
  display:block;color:#9ab0c8;font-size:.7rem;font-weight:400;margin-top:1px;
}

/* ============== AUDIENCE SWITCHER (segmented control) ============== */
.aud-switch{display:inline-flex;align-items:center;gap:0;padding:3px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px !important}
.aud-switch__btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1rem;color:#cfd8e3;font-size:.82rem;font-weight:500;border-radius:7px;transition:all .2s var(--t);white-space:nowrap}
.aud-switch__btn:hover{color:#fff}
.aud-switch__btn.is-active{background:#fff;color:var(--c-navy);font-weight:600;border-radius:7px}
@media (max-width:880px){
  .aud-switch__btn{padding:.35rem .7rem;font-size:.76rem}
}

/* ============== STUB CONTENT BAND ============== */
.stub-band{max-width:780px;margin:0 auto;padding:3rem 2rem;background:#fff;border:1px dashed var(--c-border);border-radius:var(--r);text-align:center}
.stub-band h2{margin-bottom:1rem}
.stub-band p{color:var(--c-text-3);margin-bottom:1.5rem}
.stub-band__links{list-style:none;padding:0;margin:0;display:inline-flex;flex-direction:column;gap:.5rem;text-align:left}
.stub-band__links a{color:var(--c-primary);font-weight:500}
.stub-band__links a:hover{text-decoration:underline}

/* ============== PROJECTS ============== */
.project-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--c-border);border-radius:10px;overflow:hidden;
  transition:all .3s var(--t);
}
.project-card:hover{transform:translateY(-4px);border-color:var(--c-primary);box-shadow:0 18px 40px rgba(10,20,30,.08)}
.project-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;display:block}
.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--t)}
.project-card:hover .project-card__media img{transform:scale(1.05)}
.project-card__badge{
  position:absolute;top:12px;left:12px;z-index:2;
  padding:4px 10px;background:rgba(10,20,30,.82);color:#fff;border-radius:999px;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  backdrop-filter:blur(4px);
}
.project-card__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:.5rem;flex:1}
.project-card__meta{font-size:.76rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.project-card__title{margin:0;font-size:1.15rem;line-height:1.3;font-weight:700;color:var(--c-text)}
.project-card__title a{color:inherit}
.project-card:hover .project-card__title a{color:var(--c-primary)}
.project-card__short{margin:0;color:var(--c-text-3);font-size:.88rem;line-height:1.55;flex:1}

/* Project detail hero */
.proj-hero{
  position:relative;min-height:420px;
  background-size:cover;background-position:center;
  display:flex;align-items:flex-end;color:#fff;overflow:hidden;
}
.proj-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,48,.35) 0%,rgba(8,24,48,.9) 100%);z-index:0}
.proj-hero__inner{position:relative;z-index:1;padding:2.4rem 0;width:100%}
.proj-hero__crumbs{font-size:.82rem;color:rgba(255,255,255,.7);margin-bottom:1rem}
.proj-hero__crumbs a{color:inherit}
.proj-hero__crumbs a:hover{color:#fff}
.proj-hero__badge{display:inline-block;padding:5px 12px;background:var(--c-primary);color:#fff;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1rem}
.proj-hero__title{color:#fff;font-size:clamp(1.8rem,3.6vw,3rem);margin:0 0 1rem;line-height:1.1;letter-spacing:-.02em}
.proj-hero__meta{display:flex;flex-wrap:wrap;gap:1.8rem;color:rgba(255,255,255,.88);font-size:.95rem;font-weight:500}
.proj-hero__meta i{color:var(--c-primary-light);margin-right:.4rem}

/* Project detail layout */
.proj-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:flex-start}
@media (max-width:900px){.proj-layout{grid-template-columns:1fr;gap:32px}}
.proj-main h2{margin-bottom:1rem}
.proj-lead{font-size:1.1rem;color:var(--c-text);font-weight:500;margin-bottom:1.2rem;line-height:1.6}
.proj-solutions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.proj-solutions li a{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;background:#f7f9fc;border:1px solid var(--c-border);border-radius:8px;color:var(--c-text);font-weight:500;transition:all .2s var(--t)}
.proj-solutions li a:hover{border-color:var(--c-primary);color:var(--c-primary);background:#fff}
.proj-solutions i{color:var(--c-primary);font-size:1.05rem}

.proj-specs{
  position:sticky;top:100px;
  background:#fff;border:1px solid var(--c-border);border-radius:10px;padding:28px;
}
.proj-specs h3{margin:0 0 1.2rem}
.proj-specs__list{display:flex;flex-direction:column;margin:0;padding:0}
.proj-specs__row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.8rem 0;border-bottom:1px dashed var(--c-border-soft,#eef2f7)}
.proj-specs__row:last-child{border-bottom:0}
.proj-specs__row dt{color:var(--c-muted);font-size:.86rem;font-weight:500;flex-shrink:0}
.proj-specs__row dd{margin:0;color:var(--c-text);font-weight:600;font-size:.9rem;text-align:right}

/* Gallery */
.proj-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  grid-auto-rows:200px;
}
@media (max-width:760px){.proj-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}}
.proj-gallery__item{
  position:relative;display:block;overflow:hidden;border-radius:8px;
  background:var(--c-border-soft);
}
.proj-gallery__item--big{grid-column:span 2;grid-row:span 2}
@media (max-width:760px){.proj-gallery__item--big{grid-column:span 2;grid-row:span 1}}
.proj-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--t)}
.proj-gallery__item:hover img{transform:scale(1.06)}
.proj-gallery__zoom{
  position:absolute;top:12px;right:12px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.9);color:var(--c-navy);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.85);transition:all .2s var(--t);
}
.proj-gallery__item:hover .proj-gallery__zoom{opacity:1;transform:scale(1)}

/* ============== STL 3D MODAL ============== */
.stl-modal{
  position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .25s var(--t),visibility 0s linear .25s;
}
.stl-modal[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .25s var(--t),visibility 0s linear 0s}
.stl-modal__overlay{position:absolute;inset:0;background:rgba(8,24,48,.72);backdrop-filter:blur(4px)}
.stl-modal__inner{
  position:relative;z-index:1;
  width:min(1100px,92vw);height:min(740px,88vh);
  background:#fff;border-radius:12px;overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.3);
  display:flex;flex-direction:column;
}
.stl-modal__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid var(--c-border);background:#fff;flex-shrink:0;
}
.stl-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--c-text)}
.stl-modal__close{
  width:36px;height:36px;border-radius:8px;border:0;background:#f3f6fa;color:var(--c-text);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  transition:all .2s var(--t);
}
.stl-modal__close:hover{background:#ffe3e3;color:#c53030}
.stl-modal__canvas{position:relative;flex:1;background:#f4f7fa;min-height:0}
.stl-modal__canvas canvas{display:block;width:100%!important;height:100%!important}
.stl-modal__loading{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(244,247,250,.95);color:var(--c-text-3);font-weight:500;
  pointer-events:none;z-index:2;
}
.stl-modal__hint{
  padding:10px 20px;border-top:1px solid var(--c-border-soft,#eef2f7);
  background:#fafbfc;color:var(--c-muted);font-size:.8rem;text-align:center;flex-shrink:0;
}

/* 3D-preview button icon */
.box-button__icon{width:20px;height:20px;margin-right:.35rem;vertical-align:middle}

/* ============== VIDEO GRID (blog-style cards) ============== */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:980px){.video-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.video-grid{grid-template-columns:1fr}}

.video-card{background:#fff;border:1px solid var(--c-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--t),box-shadow .3s var(--t),border-color .3s var(--t)}
.video-card:hover{transform:translateY(-4px);border-color:var(--c-primary);box-shadow:0 18px 40px rgba(10,20,30,.08)}

.video-card__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0a1a2b}
.video-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--t);opacity:.88}
.video-card:hover .video-card__media img{transform:scale(1.05);opacity:.75}
.video-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.5) 100%);pointer-events:none}

.video-card__play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:50%;
  background:rgba(255,255,255,.95);color:var(--c-primary);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.3);
  transition:transform .25s var(--t),background .25s var(--t);
  z-index:2;
}
.video-card__play svg{width:26px;height:26px;margin-left:3px}
.video-card:hover .video-card__play{transform:translate(-50%,-50%) scale(1.1);background:var(--c-primary);color:#fff}

.video-card__duration{
  position:absolute;right:10px;bottom:10px;z-index:2;
  padding:3px 8px;background:rgba(0,0,0,.75);color:#fff;
  border-radius:4px;font-size:.76rem;font-weight:600;font-variant-numeric:tabular-nums;
}

.video-card__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:.55rem;flex:1}
.video-card__meta{font-size:.76rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.video-card__title{margin:0;font-size:1.1rem;line-height:1.35;font-weight:700;color:var(--c-text)}
.video-card__title a{color:inherit}
.video-card:hover .video-card__title a{color:var(--c-primary)}
.video-card__excerpt{margin:0;color:var(--c-text-3);font-size:.9rem;line-height:1.55;flex:1}
.video-card__more{margin-top:auto;color:var(--c-primary);font-weight:600;font-size:.88rem}
.video-card__more:hover{text-decoration:underline}

/* ============== INLINE AUTH (on partner-only pages) ============== */
.auth-inline{
  display:grid;grid-template-columns:1.1fr 1fr;gap:48px;
  max-width:1060px;margin:0 auto;
  background:#fff;border:1px solid var(--c-border);border-radius:var(--r);
  box-shadow:0 10px 40px rgba(10,20,30,.06);
  padding:48px;align-items:center;
}
@media (max-width:880px){.auth-inline{grid-template-columns:1fr;gap:32px;padding:32px 24px}}
.auth-inline__info h2.auth-inline__title{font-size:1.8rem;line-height:1.2;letter-spacing:-.02em;margin-bottom:.8rem}
.auth-inline__desc{color:var(--c-text-3);font-size:1.02rem;line-height:1.6;margin-bottom:1.5rem}
.auth-inline__list-head{font-weight:600;color:var(--c-text);font-size:.92rem;margin:0 0 .6rem}
.auth-inline__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.auth-inline__list li{position:relative;padding-left:1.6rem;font-size:.92rem;color:var(--c-text-3)}
.auth-inline__list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:2px;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%)}
.auth-inline__form{
  background:#f7f9fc;border:1px solid var(--c-border-soft,#e6ebf2);border-radius:10px;
  padding:28px;
}
.auth-inline__form-title{font-size:1.15rem;font-weight:700;margin:0 0 1rem;color:var(--c-text)}
.auth-inline__forgot{font-size:.86rem;color:var(--c-primary);text-decoration:none}
.auth-inline__forgot:hover{text-decoration:underline}
.auth-inline__alt{font-size:.88rem;margin:1rem 0 0;color:var(--c-text-3);text-align:center}
.auth-inline__alt a{color:var(--c-primary);font-weight:600;margin-left:.25rem}

/* ============== PRETTY FORMS (auth pages + inline) ============== */
.form-pretty{display:grid;gap:1rem}
.field-pretty{display:grid;gap:.35rem}
.field-pretty label{font-size:.82rem;font-weight:600;color:var(--c-text);letter-spacing:.01em}
.field-pretty input,
.field-pretty select,
.field-pretty textarea{
  width:100%;
  padding:.85rem 1rem;
  background:#fff;
  border:1.5px solid var(--c-border);
  border-radius:8px;
  font-family:inherit;font-size:.95rem;color:var(--c-text);
  transition:border-color .2s var(--t),box-shadow .2s var(--t),background .2s var(--t);
}
.field-pretty input:hover,
.field-pretty select:hover,
.field-pretty textarea:hover{border-color:#bfcfdf}
.field-pretty input:focus,
.field-pretty select:focus,
.field-pretty textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(92,184,255,.14);background:#fff}
.field-pretty input::placeholder,
.field-pretty textarea::placeholder{color:#9aa7b5}
.field-pretty textarea{min-height:96px;resize:vertical}
.field-pretty--row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.check-pretty{display:inline-flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--c-text-3);cursor:pointer}
.check-pretty input[type=checkbox]{width:18px;height:18px;accent-color:var(--c-primary);margin:0}
.btn--block{width:100%}
.form-pretty .field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:640px){.form-pretty .field-grid-2{grid-template-columns:1fr}}
.form-pretty .form-hint{font-size:.82rem;color:var(--c-muted);margin:0;padding-top:.8rem;border-top:1px solid var(--c-border)}

/* Auth page boxes use form-pretty */
.auth-section{padding-top:56px;padding-bottom:80px}
.auth-box{max-width:460px;margin:0 auto;background:#fff;padding:2.5rem;border:1px solid var(--c-border);border-radius:var(--r);box-shadow:0 10px 40px rgba(10,20,30,.05)}
.auth-box--wide{max-width:640px}
.auth-box__head{text-align:center;margin-bottom:1.8rem;padding-bottom:1.4rem;border-bottom:1px solid var(--c-border-soft,#eef2f7)}
.auth-box__title{font-size:1.6rem;font-weight:800;margin:0 0 .5rem;color:var(--c-text);letter-spacing:-.015em}
.auth-box__desc{font-size:.92rem;color:var(--c-text-3);margin:0;line-height:1.55}

/* Inline alerts */
.alert{padding:.9rem 1rem;border-radius:8px;margin-bottom:1.2rem;font-size:.92rem;line-height:1.5}
.alert--error{background:#fee8e8;color:#8a1f1f;border:1px solid #fbc6c6}
.alert--success{background:#e6f7ec;color:#14643a;border:1px solid #b7e4c4}
.alert--info{background:#e7f1fb;color:#0e3e6b;border:1px solid #bcd7ee}
.alert ul{margin:.4rem 0 0 1.2rem;padding:0}

/* Dev credentials notice on login page */
.dev-creds{margin-top:1.2rem;padding:1rem;background:#fff7e5;border:1px dashed #f0c567;border-radius:8px;font-size:.8rem;color:#6a4a0a}
.dev-creds ul{margin:.4rem 0 0 1.1rem;padding:0;line-height:1.6}
.dev-creds code,.dev-creds li{font-family:ui-monospace,Menlo,monospace;font-size:.78rem}

/* Nav CTA — Login + Apply buttons rendered next to the mainnav (partner guest only) */
.nav-cta{display:inline-flex;align-items:center;gap:.5rem;margin-left:1rem}
@media (max-width:980px){.nav-cta{display:none !important}}
.mobile-menu__cta{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--c-border)}
.mobile-menu__cta .btn{justify-content:center;width:100%;padding:.85rem 1rem}
.nav-cta__btn{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.5rem .95rem;
  font-size:.85rem;font-weight:600;
  border-radius:7px;
  border:1.5px solid transparent;
  transition:all .2s var(--t);
  white-space:nowrap;
  line-height:1;
}
.nav-cta__btn .hi-icon{width:18px;height:18px}
.nav-cta__btn--outline{color:var(--c-text);border-color:var(--c-border)}
.nav-cta__btn--outline:hover{border-color:var(--c-primary);color:var(--c-primary);background:rgba(92,184,255,.06)}
.nav-cta__btn--primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.nav-cta__btn--primary:hover{background:var(--c-navy);border-color:var(--c-navy);color:#fff}
@media (max-width:1100px){
  .nav-cta__btn span{display:none}
  .nav-cta__btn{padding:.5rem .7rem}
}

/* User dropdown (originally topbar — now rendered inside mainnav as a nav-cta variant) */
.user-dd{position:relative}
.user-dd__trigger{cursor:pointer;font:inherit}
.user-dd.nav-cta{margin-left:1rem}
.user-dd__menu{
  position:absolute;right:0;top:calc(100% + 10px);min-width:220px;
  background:#fff;border-radius:8px;box-shadow:0 12px 40px rgba(10,20,30,.18);
  list-style:none;padding:.5rem;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all .2s var(--t);z-index:100;
}
.user-dd:hover .user-dd__menu,.user-dd:focus-within .user-dd__menu{opacity:1;visibility:visible;transform:translateY(0)}
.user-dd__menu a{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border-radius:6px;color:var(--c-text);font-size:.88rem;font-weight:500;transition:all .15s var(--t)}
.user-dd__menu a:hover{background:#f3f6fa;color:var(--c-primary)}
.user-dd__menu a i{color:var(--c-muted);width:14px;text-align:center}
.user-dd__sep{height:1px;background:var(--c-border);margin:.4rem 0}

/* Admin panel */
.admin-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--c-border)}
.admin-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid var(--c-border);border-radius:999px;font-size:.88rem;font-weight:500;color:var(--c-text-3);transition:all .2s var(--t)}
.admin-tab:hover{border-color:var(--c-primary);color:var(--c-primary)}
.admin-tab.is-active{background:var(--c-navy);color:#fff;border-color:var(--c-navy)}
.admin-tab__count{padding:.1rem .45rem;background:rgba(255,255,255,.15);border-radius:999px;font-size:.76rem;font-weight:600}
.admin-tab:not(.is-active) .admin-tab__count{background:#eef2f7;color:var(--c-text-3)}

.admin-table{background:#fff;border:1px solid var(--c-border);border-radius:10px;overflow:hidden;overflow-x:auto}
.admin-table table{width:100%;border-collapse:collapse;font-size:.88rem}
.admin-table th{background:#f7f9fc;color:var(--c-muted);text-align:left;padding:.9rem 1rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--c-border)}
.admin-table td{padding:.9rem 1rem;border-bottom:1px solid var(--c-border-soft,#eef2f7);vertical-align:top}
.admin-table tr:last-child td{border-bottom:0}
.admin-id{color:var(--c-muted);font-weight:600}
.admin-cell__name{font-weight:600;color:var(--c-text);margin-bottom:.2rem}
.admin-cell__sub{color:var(--c-text-3);font-size:.82rem;line-height:1.5}
.admin-cell__sub a{color:var(--c-primary)}
.admin-pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.76rem;font-weight:600;background:#e9eef5;color:var(--c-text)}
.admin-pill--dealer{background:#dff1ff;color:#0a58a2}
.admin-pill--laminator{background:#f1e4fb;color:#6b22a6}
.admin-pill--processor{background:#fde9d4;color:#8a4b14}
.admin-pill--architect{background:#e0f5e2;color:#1a6a2b}
.admin-status{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.76rem;font-weight:600}
.admin-status--pending-approval{background:#fff0cc;color:#7a5100}
.admin-status--approved{background:#d9f5de;color:#12642d}
.admin-status--rejected{background:#fbd9d9;color:#7a1616}
.admin-status--suspended{background:#e6e6e6;color:#555}
.admin-actions form{display:flex;gap:.4rem;flex-wrap:wrap;margin:0}
.admin-comment-row td{padding-top:0;padding-bottom:.8rem;border-bottom:1px solid var(--c-border-soft,#eef2f7)}
.admin-comment{color:var(--c-text-3);font-size:.86rem;font-style:italic}
.btn--xs{padding:.3rem .7rem !important;font-size:.78rem !important;border-width:1.5px !important}
.btn--ghost{background:transparent;color:var(--c-muted);border:1.5px solid transparent}
.btn--ghost:hover{color:#c53030;border-color:#fbc6c6}

/* ============== AUDIENCE-AWARE FOOTER/HERO HELPERS ============== */
.aud-buyer   .partner-only{display:none!important}
.aud-partner .buyer-only{display:none!important}

/* ============== PARTNER HOME PAGE ============== */
.p-hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;color:#fff}
.p-hero__bg{position:absolute;inset:0;z-index:0}
.p-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,24,48,.9) 0%,rgba(8,24,48,.65) 55%,rgba(8,24,48,.4) 100%)}
.p-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.p-hero__inner{position:relative;z-index:1;padding:80px 0;width:100%}
.p-hero__body{max-width:780px;margin-left:0;margin-right:auto}
.p-hero__eyebrow{display:inline-block;padding:.35rem .9rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.2rem}
.p-hero__title{color:#fff;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 1rem}
.p-hero__sub{color:rgba(255,255,255,.85);font-size:1.08rem;line-height:1.6;margin:0 0 2rem;max-width:640px}
.p-hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.1rem}
.p-hero__note{
  font-size:.85rem;color:rgba(255,255,255,.7);margin:0;
  padding-left:.15rem;max-width:560px;
}
.p-hero__note::before{
  content:"ℹ";display:inline-block;margin-right:.45rem;
  color:rgba(255,255,255,.55);
}

.p-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:2rem}
@media (max-width:980px){.p-roles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.p-roles{grid-template-columns:1fr}}
.p-role{
  display:flex;flex-direction:column;
  padding:28px 24px;
  background:#fff;border:1px solid var(--c-border);border-radius:10px;
  transition:transform .3s var(--t),border-color .3s var(--t),box-shadow .3s var(--t);
}
.p-role:hover{transform:translateY(-4px);border-color:var(--c-primary);box-shadow:0 20px 40px rgba(10,30,60,.08)}
.p-role__icon{
  width:52px;height:52px;margin-bottom:1rem;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%);
  color:#fff;border-radius:10px;font-size:1.3rem;
}
.p-role__title{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;color:var(--c-text)}
.p-role__text{color:var(--c-text-3);font-size:.92rem;line-height:1.6;margin:0 0 1.2rem;flex:1}
.p-role__more{color:var(--c-primary);font-weight:600;font-size:.88rem}
.p-role:hover .p-role__more{text-decoration:underline}

.p-resources{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;
  margin-top:2rem;
}
.p-res{
  display:flex;align-items:center;gap:.7rem;
  padding:14px 18px;background:#fff;border:1px solid var(--c-border);border-radius:8px;
  color:var(--c-text);font-weight:500;font-size:.9rem;
  transition:all .25s var(--t);
}
.p-res:hover{border-color:var(--c-primary);color:var(--c-primary);transform:translateY(-2px)}
.p-res i{color:var(--c-primary);font-size:1.05rem;flex-shrink:0}
.p-res--lock{position:relative}
.p-res--lock::after{
  content:"\f023";font-family:"Font Awesome 5 Free";font-weight:900;
  position:absolute;top:8px;right:8px;font-size:.68rem;color:var(--c-muted);
}

.p-cta-bar{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
  padding:40px 48px;
  background:linear-gradient(135deg,var(--c-navy) 0%,#12335c 100%);
  color:#fff;border-radius:var(--r);
  box-shadow:0 20px 50px rgba(10,30,60,.15);
}
.p-cta-bar__text{flex:1;min-width:280px}
.p-cta-bar__text h3{color:#fff;margin:0 0 .4rem;font-size:1.6rem;letter-spacing:-.01em}
.p-cta-bar__text p{color:rgba(255,255,255,.8);margin:0;font-size:1rem}
.p-cta-bar__actions{display:flex;gap:.7rem;flex-wrap:wrap}
@media (max-width:640px){.p-cta-bar{padding:28px 24px}.p-cta-bar__text h3{font-size:1.3rem}}

.topbar__right{display:flex;align-items:center;gap:1.4rem}
.topbar__link{color:#dfe7f0;font-size:.82rem;position:relative}
.topbar__link:hover{color:#fff}
.lang-switch{display:inline-flex;gap:.5rem;align-items:center;padding-left:1rem;border-left:1px solid rgba(255,255,255,.12);font-weight:600;font-size:.78rem;letter-spacing:.04em}
.lang-switch__current{color:var(--c-primary-light)}
.lang-switch__alt{opacity:.65}
.lang-switch__alt:hover{opacity:1;color:#fff}

.mainbar{height:var(--header-h);display:flex;align-items:center;transition:height var(--speed) var(--t)}
.mainbar__inner{display:flex;align-items:center;gap:1.4rem;width:100%}
.mainbar__inner > .logo{margin-right:auto}    /* push everything else to the right */
.mainbar__inner > .mainnav{margin-left:auto}  /* and pull menu hard right */
.logo img{height:36px;width:auto;transition:opacity var(--speed) var(--t)}
.mainnav__list{display:flex;gap:1.8rem;align-items:center}
.mainnav__list>li{position:relative}
.mainnav__list a{font-weight:500;font-size:.92rem;color:var(--c-text);display:inline-flex;align-items:center;gap:.25rem;padding:.4rem 0;position:relative}
.mainnav__list a.active,.mainnav__list a:hover{color:var(--c-primary)}
.mainnav__list a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--c-primary);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--t)}
.mainnav__list a:hover::after,.mainnav__list a.active::after{transform:scaleX(1);transform-origin:left}
.submenu{position:absolute;top:calc(100% + 12px);left:-12px;min-width:220px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-pop);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s var(--t);z-index:50}
.has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu li a{display:block;padding:.55rem .85rem;border-radius:var(--r);font-size:.88rem}
.submenu li a:hover{background:var(--c-bg-alt)}
.submenu a::after{display:none}

.mainbar__cta{display:flex;align-items:center;gap:.5rem}
.burger{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{display:block;width:22px;height:2px;background:var(--c-text);border-radius:2px;transition:all .35s var(--t)}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============== BUTTONS ============== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:var(--r);font-weight:600;font-size:.88rem;letter-spacing:.01em;transition:all var(--speed) var(--t);cursor:pointer;white-space:nowrap;border:2px solid transparent;line-height:1}
.btn--sm{padding:.55rem 1rem;font-size:.8rem}
.btn--lg{padding:1.05rem 1.9rem;font-size:.95rem}
.btn--primary{background:var(--c-primary);color:#fff}
.btn--primary:hover{background:var(--c-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,120,212,.3)}
.btn--ghost{background:transparent;color:var(--c-text);border-color:var(--c-border)}
.btn--ghost:hover{background:var(--c-bg-alt);color:var(--c-text);border-color:var(--c-border)}
.btn--outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--outline-white:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.btn--white{background:#fff;color:var(--c-text)}
.btn--white:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.15);color:var(--c-text)}
.btn .arrow{transition:transform var(--speed) var(--t)}
.btn:hover .arrow{transform:translateX(4px)}

/* ============== HERO SLIDER ============== */
.hero-slider{position:relative;background:var(--c-navy)}
.hero-slider .swiper{height:calc(100vh - var(--header-h) - var(--topbar-h));min-height:560px;max-height:780px}
.hero-slide{position:relative;height:100%;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-slide > .container{width:100%}
.hero-slide__bg{position:absolute;inset:0}
.hero-slide__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg, rgba(0,15,30,.72) 0%, rgba(0,15,30,.45) 55%, rgba(0,15,30,.15) 100%)}
.hero-slide__bg img{width:100%;height:100%;object-fit:cover;animation:slowZoom 12s var(--t) infinite alternate}
@keyframes slowZoom{from{transform:scale(1.02)}to{transform:scale(1.10)}}
.hero-slide__content{position:relative;z-index:2;max-width:660px}
.hero-slide__eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);padding:.4rem 1rem;border-radius:999px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.4rem;border:1px solid rgba(255,255,255,.18);font-weight:600}
.hero-slide__eyebrow .dot{width:6px;height:6px;background:var(--c-primary-light);border-radius:50%;box-shadow:0 0 0 4px rgba(92,184,255,.25)}
.hero-slide h1{color:#fff;margin-bottom:1rem;font-size:clamp(2.2rem,4.6vw,3.4rem)}
.hero-slide p{font-size:1.05rem;color:rgba(255,255,255,.85);margin-bottom:2rem;max-width:560px}
.hero-slide__cta{display:flex;flex-wrap:wrap;gap:.7rem}

.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next{
  width:42px;height:42px;border-radius:var(--r-sm);
  border:2px solid rgba(255,255,255,.5);background:transparent;
  color:#fff;transition:all var(--speed) var(--t);
  margin-top:0;top:50%;transform:translateY(-50%);
}
.hero-slider .swiper-button-prev:hover,
.hero-slider .swiper-button-next:hover{background:rgba(255,255,255,.15);border-color:#fff}
.hero-slider .swiper-button-prev::after,
.hero-slider .swiper-button-next::after{font-size:14px;font-weight:700}
.hero-slider .swiper-pagination{bottom:24px !important}
.hero-slider .swiper-pagination-bullet{width:10px;height:10px;background:rgba(255,255,255,.4);opacity:1;transition:all var(--speed) var(--t)}
.hero-slider .swiper-pagination-bullet-active{background:#fff;width:32px;border-radius:5px}

/* ============== SECTIONS ============== */
.section{padding:80px 0;position:relative}
.section--alt{background:var(--c-bg-alt)}
.section--dark{background:var(--c-navy);color:rgba(255,255,255,.85)}
.section--grad{background:var(--c-navy-grad);color:#fff}
.section--dark h2,.section--grad h2,.section--dark h3,.section--grad h3,.section--dark h4,.section--grad h4{color:#fff}
.section--dark p,.section--grad p{color:rgba(255,255,255,.78)}

/* Cards that sit on a dark section keep their own (light-card) text colours */
.section--dark .product-tile, .section--grad .product-tile,
.section--dark .project-card, .section--grad .project-card,
.section--dark .blog-card,    .section--grad .blog-card,
.section--dark .video-card,   .section--grad .video-card,
.section--dark .glaz,         .section--grad .glaz,
.section--dark .dealer-card,  .section--grad .dealer-card,
.section--dark .p-res-card,   .section--grad .p-res-card{color:var(--c-text)}
.section--dark .p-res-card .p-res-card__title,
.section--grad .p-res-card .p-res-card__title{color:var(--c-text)}
.section--dark .p-res-card .p-res-card__text,
.section--grad .p-res-card .p-res-card__text{color:var(--c-text-2)}
.section--dark .product-tile h3, .section--grad .product-tile h3,
.section--dark .project-card h3, .section--grad .project-card h3,
.section--dark .blog-card h3,    .section--grad .blog-card h3,
.section--dark .video-card h3,   .section--grad .video-card h3,
.section--dark .glaz h3,         .section--grad .glaz h3,
.section--dark .dealer-card h3,  .section--grad .dealer-card h3{color:var(--c-text)}
.section--dark .product-tile p, .section--grad .product-tile p,
.section--dark .project-card p, .section--grad .project-card p,
.section--dark .blog-card p,    .section--grad .blog-card p,
.section--dark .video-card p,   .section--grad .video-card p,
.section--dark .glaz p,         .section--grad .glaz p,
.section--dark .dealer-card p,  .section--grad .dealer-card p{color:var(--c-text-2)}
.section--tight{padding:56px 0}

.section__head{text-align:center;max-width:760px;margin:0 auto 48px}
.section__eyebrow{display:inline-block;color:var(--c-primary);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.8rem}
.section--dark .section__eyebrow,.section--grad .section__eyebrow{color:var(--c-primary-light)}
.section__title{margin-bottom:.8rem;font-size:clamp(1.4rem,2.4vw,1.8rem)}
.section__sub{color:var(--c-text-2);font-size:1rem;line-height:1.6;max-width:600px;margin:0 auto;font-weight:400}
.section--dark .section__sub,.section--grad .section__sub{color:rgba(255,255,255,.78)}

/* ============== FEATURE BANDS (alternating image+text) ============== */
.band{padding:80px 0;position:relative;overflow:hidden}
.band--dark{background:var(--c-navy);color:#fff}
.band--dark h2,.band--dark h3{color:#fff}
.band--dark p{color:rgba(255,255,255,.78)}
.band__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.band--reverse .band__grid > :first-child{order:2}
.band__media{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow-pop)}
.band__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--t)}
.band__media:hover img{transform:scale(1.05)}
.band__eyebrow{display:inline-block;color:var(--c-primary);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem}
.band--dark .band__eyebrow{color:var(--c-primary-light)}
.band h2{margin-bottom:1.2rem}
.band p{color:var(--c-text-2);font-size:1.02rem;margin-bottom:1.5rem}
.band--dark p{color:rgba(255,255,255,.78)}
.band__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}

/* ============== PRODUCT RANGE GRID ============== */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.products-grid--bottom{grid-template-columns:repeat(3,1fr);margin-top:18px}
.product-card{background:#fff;border:1px solid rgba(10,20,30,.08);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-card);transition:all .35s var(--t);display:flex;flex-direction:column;min-height:420px}
.products-grid--bottom .product-card{min-height:460px}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-pop);border-color:transparent}
.product-card__img{aspect-ratio:16/9;overflow:hidden;background:var(--c-border-soft);position:relative}
.product-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--t)}
.product-card:hover .product-card__img img{transform:scale(1.06)}
/* Light scrim + brand logo over the product-range photos (home "Наша продукция").
   A light wash keeps every logo in its official colours and readable. */
.product-card__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.74) 55%,rgba(255,255,255,.86) 100%);pointer-events:none;transition:opacity .4s var(--t)}
/* higher specificity than `.product-card__img img` so the logo is not cover-cropped */
.product-card__img img.product-card__logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:64%;max-height:44%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,20,45,.14));transition:transform .5s var(--t)}
/* The WINTECH mark is an SVG carrying only a viewBox — no width/height attributes —
   so `width:auto` resolves to the browser's default object size instead of growing
   to meet max-width the way the PNG marks do. It has to be sized explicitly.
   The wider box is also deliberate: unlike the single-word PNG logos, this lockup
   spends ~40% of its width on the anniversary mark and straplines, so an equal box
   would render a visibly smaller wordmark. */
.product-card__img img.product-card__logo[src*=".svg"]{width:86%;max-width:86%}
.product-card:hover .product-card__img img.product-card__logo{transform:translate(-50%,-50%) scale(1.04)}
.product-card:hover .product-card__scrim{opacity:.9}
/* Brand-PNG variant: coloured backdrop so white-dominant artwork reads well */
.product-card__img--brand{background:linear-gradient(135deg,#0d2748 0%,#1f4a86 45%,#5cb8ff 100%);display:flex;align-items:center;justify-content:center}
.product-card__img--brand::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 55%);pointer-events:none}
.product-card__img--brand img{width:auto;max-width:88%;height:auto;max-height:78%;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,15,30,.35));transition:transform .6s var(--t)}
.product-card:hover .product-card__img--brand img{transform:scale(1.04)}
.product-card__body{padding:22px;flex:1;display:flex;flex-direction:column}
.product-card__title{font-size:1.125rem;font-weight:800;color:var(--c-text);margin-bottom:.85rem;letter-spacing:-.01em}
.product-card__list{display:flex;flex-direction:column;gap:8px;line-height:1.35;flex:1}
.product-card__list a{font-size:.9rem;color:var(--c-text-2);padding:.25rem 0;border-bottom:1px dashed transparent;transition:all .2s var(--t)}
.product-card__list a:hover{color:var(--c-primary);padding-left:6px}
.product-card__subheading{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--c-text);margin:.35rem 0 .1rem;padding-bottom:.35rem;border-bottom:1px solid var(--c-border)}
.product-card__subheading:first-child{margin-top:0}
.product-card__more{font-size:.78rem;font-weight:700;color:var(--c-primary);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;border-top:1px solid var(--c-border);padding-top:1rem}

/* ============== WHY CHOOSE US ============== */
.why-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:end}
.why-list{display:grid;gap:1.1rem}
.why-item{display:flex;gap:1.1rem;padding:1.3rem;border-radius:var(--r-md);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);transition:all .3s var(--t)}
.why-item:hover{transform:translateX(4px);background:rgba(255,255,255,.1)}
.why-item__icon{flex:0 0 44px;height:44px;border-radius:var(--r);background:rgba(92,184,255,.18);color:var(--c-primary-light);display:flex;align-items:center;justify-content:center}
.why-item__title{font-weight:700;margin-bottom:.2rem;font-size:1rem;color:#fff}
.why-item__text{font-size:.9rem;color:rgba(255,255,255,.75);margin:0;line-height:1.55}
.why-media{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-pop)}
.why-media img{width:100%;height:100%;object-fit:cover}

/* ============== CERTIFICATES & STATS ============== */
.certs{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.cert{background:rgba(255,255,255,.1);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:24px;display:flex;align-items:center;gap:1rem;transition:all var(--speed) var(--t)}
.cert:hover{background:rgba(255,255,255,.16);transform:translateY(-3px)}
.cert__badge{width:54px;height:54px;background:rgba(255,255,255,.92);color:var(--c-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800;font-size:.7rem;text-align:center;line-height:1}
.cert__name{font-weight:600;font-size:.9rem;color:#fff;margin:0}

.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:48px;padding-top:48px;border-top:1px solid rgba(255,255,255,.1)}
.stat{text-align:center;color:#fff}
.stat__diamond{width:8px;height:8px;background:var(--c-primary-light);transform:rotate(45deg);margin:0 auto 14px}
.stat__num{font-size:1.65rem;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1;margin-bottom:.4rem}
.stat__label{font-size:.85rem;color:rgba(255,255,255,.7);font-weight:500}

/* ============== GLAZING ============== */
.glazing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.glaz{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);padding:2rem 1.5rem;text-align:center;transition:all .35s var(--t);cursor:pointer}
.glaz:hover{border-color:var(--c-primary);transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,120,212,.12)}
.glaz__icon{width:60px;height:60px;margin:0 auto 1.1rem;border-radius:var(--r-md);background:var(--c-bg-alt);display:flex;align-items:center;justify-content:center;color:var(--c-primary);transition:all .35s var(--t)}
.glaz:hover .glaz__icon{background:var(--c-primary);color:#fff;transform:rotate(-6deg) scale(1.05)}
.glaz__title{font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--c-text)}
.glaz__text{font-size:.86rem;color:var(--c-text-2);margin:0}

.adv-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}
.chip{padding:.45rem 1rem;background:rgba(0,120,212,.08);color:var(--c-primary);border-radius:999px;font-size:.82rem;font-weight:600;border:1px solid rgba(0,120,212,.18)}

/* ============== BLOG ============== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;transition:all .35s var(--t);display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-pop);border-color:transparent}
.blog-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--c-border-soft)}
.blog-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--t)}
.blog-card:hover .blog-card__img img{transform:scale(1.06)}
.blog-card__body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.blog-card__cat{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary);margin-bottom:.6rem}
.blog-card__title{font-size:1.05rem;font-weight:700;margin-bottom:.6rem;line-height:1.4;color:var(--c-text)}
.blog-card__title a:hover{color:var(--c-primary)}
.blog-card__meta{font-size:.78rem;color:var(--c-muted);margin-top:auto;display:flex;align-items:center;gap:.5rem;padding-top:1rem}
/* `margin-top:auto` used to live on .blog-card__meta, which pushed itself and
   the link below it to the bottom of the card. The date was removed from the
   cards, so the link has to do the pushing now — otherwise "Подробнее" sits
   right under the text and stops lining up across a row of cards. */
.blog-card__readmore{font-size:.82rem;color:var(--c-primary);font-weight:700;display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;padding-top:.9rem;align-self:flex-start}

/* ============== TESTIMONIALS SWIPER ============== */
.testi-swiper{padding:8px 0 56px !important;overflow:hidden !important}
@media (max-width:640px){.testi-swiper .swiper-slide{height:auto} .testi{padding:1.4rem;min-height:0}}
.testi{background:#fff;border-radius:var(--r-md);padding:2rem;border:1px solid var(--c-border);box-shadow:var(--shadow-card);height:auto;display:flex;flex-direction:column;min-height:280px}
.testi__stars{color:#f5a623;font-size:1rem;letter-spacing:.1em;margin-bottom:.9rem}
.testi__text{color:var(--c-text-3);font-size:.95rem;line-height:1.65;margin-bottom:1.3rem;flex:1}
.testi__author{display:flex;align-items:center;gap:.85rem;padding-top:1rem;border-top:1px solid var(--c-border)}
.testi__avatar{width:42px;height:42px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:.95rem}
.testi__avatar--1{background:#3a8fd4}
.testi__avatar--2{background:#4a9ae4}
.testi__avatar--3{background:#d46090}
.testi__avatar--4{background:#5b9d57}
.testi__name{font-weight:700;font-size:.92rem;color:var(--c-text);line-height:1.2}
.testi__loc{font-size:.78rem;color:var(--c-muted);line-height:1.2}
.testi__source{margin-left:auto;font-size:.7rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em}
.swiper-pagination-bullet{background:var(--c-text-2);opacity:.3;transition:all .25s var(--t)}
.swiper-pagination-bullet-active{background:var(--c-primary);opacity:1;width:24px;border-radius:4px}

/* ============== SHOP TILES ============== */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.shop-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;transition:all .3s var(--t)}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:transparent}
.shop-card__img{aspect-ratio:1;background:var(--c-border-soft);overflow:hidden}
.shop-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--t)}
.shop-card:hover .shop-card__img img{transform:scale(1.06)}
.shop-card__body{padding:1rem;text-align:center}
.shop-card__title{font-weight:600;font-size:.9rem;margin-bottom:.2rem;color:var(--c-text)}
.shop-card__view{font-size:.74rem;color:var(--c-primary);font-weight:700;text-transform:uppercase;letter-spacing:.06em}

/* ============== CALLBACK FORM ============== */
/* Full-bleed CTA band */
.cta-band{position:relative;padding:80px 0;color:#fff;overflow:hidden}
.cta-band__bg{position:absolute;inset:0;z-index:0}
.cta-band__bg img{width:100%;height:100%;object-fit:cover;display:block}
.cta-band__overlay{position:absolute;inset:0;z-index:0;background:rgba(0,10,22,.62)}
.cta-band__inner{position:relative;z-index:1}
.cta-form--bleed{background:transparent !important;border-radius:0 !important;padding:0 !important;overflow:visible !important}
.cta-form--bleed::before{display:none}
.cta-band .field input,
.cta-band .field textarea{background:rgba(255,255,255,.9);color:#111;border-color:rgba(255,255,255,.6)}
.cta-band .field input::placeholder,
.cta-band .field textarea::placeholder{color:rgba(20,30,50,.55)}
.cta-band .field input:focus,
.cta-band .field textarea:focus{background:#fff;border-color:var(--c-primary-light);box-shadow:0 0 0 3px rgba(92,184,255,.3)}
.cta-band .consent{color:rgba(255,255,255,.88)}
@media (max-width:720px){.cta-band{padding:56px 0}}

.cta-form{background:var(--c-navy-grad);color:#fff;border-radius:var(--r-md);padding:56px;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;position:relative;overflow:hidden}
.cta-form::before{content:"";position:absolute;width:380px;height:380px;background:radial-gradient(circle,rgba(92,184,255,.3),transparent 70%);right:-100px;top:-100px;border-radius:50%;pointer-events:none}
.cta-form__text{position:relative;z-index:1}
.cta-form__text h2{color:#fff;margin-bottom:1rem;font-size:clamp(1.6rem,2.6vw,2rem)}
.cta-form__text p{color:rgba(255,255,255,.78);font-size:1rem}
.cta-form__form{position:relative;z-index:1;display:grid;gap:.9rem}
.field{position:relative}
.field input,.field textarea{width:100%;padding:.95rem 1.1rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);color:#fff;font-size:.92rem;font-family:inherit;transition:all .25s var(--t)}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.55)}
.field input:focus,.field textarea:focus{outline:none;background:rgba(255,255,255,.15);border-color:var(--c-primary-light);box-shadow:0 0 0 3px rgba(92,184,255,.2)}
.field textarea{min-height:96px;resize:vertical}
.consent{display:flex;align-items:flex-start;gap:.55rem;font-size:.8rem;color:rgba(255,255,255,.7)}
.consent input{margin-top:.2rem;accent-color:var(--c-primary-light)}
.consent input[type="checkbox"]{width:16px;height:16px;flex-shrink:0;cursor:pointer}
.consent-link{color:var(--c-primary);text-decoration:underline;cursor:pointer;font-weight:500}
.consent-link:hover{color:var(--c-primary-light)}
/* Calculator consent: compact + left-aligned on dark-text card */
.consent--calc{margin:.3rem 0 .9rem;font-size:.82rem;color:var(--c-text-2);text-align:left}
.consent--calc input[type="checkbox"]{accent-color:var(--c-primary)}
.consent--calc .consent-link{color:var(--c-primary)}
.form-msg{padding:.75rem 1rem;border-radius:var(--r);font-size:.88rem;display:none}
.form-msg.show{display:block}
.form-msg--success{background:rgba(46,204,113,.18);color:#a5e8c1;border:1px solid rgba(46,204,113,.3)}
.form-msg--error{background:rgba(255,107,107,.18);color:#ffb3b3;border:1px solid rgba(255,107,107,.3)}

/* ============== FOOTER ============== */
.site-footer{background:#fff;color:var(--c-footer-link)}
.footer__topbar{background:var(--c-navy);color:#fff;padding:20px 0}
.footer__topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.footer__topbar h2{color:#fff;font-size:clamp(.95rem,1.4vw,1.2rem);max-width:none;margin:0;line-height:1.25;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.footer__social{display:flex;gap:.55rem}
.footer__social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff;transition:all .25s var(--t)}
.footer__social a:hover{background:#fff;color:var(--c-navy);border-color:#fff;transform:translateY(-2px)}

.footer__main{padding:56px 0 40px}
.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.footer__col h4{margin:0 0 1.2rem;color:var(--c-footer-h)}
.footer__col ul{margin:0;padding:0;list-style:none}
.footer__col ul li{margin-bottom:.5rem}
.footer__col ul a{font-size:.88rem;color:var(--c-footer-link);transition:color .2s var(--t)}
.footer__col ul a:hover{color:var(--c-primary)}
.footer__col > summary{display:flex;align-items:center;justify-content:space-between;cursor:default;list-style:none}
.footer__col > summary::-webkit-details-marker,.footer__col > summary::marker{display:none}
.footer__col-chev{display:none;font-size:1.4rem;color:var(--c-footer-link);font-weight:300;transition:transform .25s var(--t)}
/* Desktop: details are not "open" in markup but we force the content visible
   and disable the summary click toggle entirely. */
@media (min-width:721px){
  .footer__col > ul{display:block}
  .footer__col > summary{pointer-events:none;cursor:default}
  .footer__col > summary h4{pointer-events:auto}
}
@media (max-width:720px){
  .footer__col{border-bottom:1px solid var(--c-border);padding:.7rem 0}
  .footer__col > summary{cursor:pointer;padding:.3rem 0;pointer-events:auto}
  .footer__col h4{margin-bottom:0;font-size:1rem}
  .footer__col:not([open]) > ul{display:none}
  .footer__col[open] > ul{display:block;padding-top:.8rem}
  .footer__col-chev{display:inline-block}
  .footer__col[open] .footer__col-chev{transform:rotate(45deg);color:var(--c-primary)}
}

.footer__bottom{border-top:1px solid #eee;padding:20px 0}
.footer__bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;font-size:.8rem;color:var(--c-muted)}
.footer__logo img{height:24px;width:auto !important;opacity:1 !important}
.footer__nav{display:flex;flex-wrap:wrap;gap:1.2rem}
.footer__nav a{font-size:.8rem;color:var(--c-footer-link)}
.footer__nav a:hover{color:var(--c-primary)}
.footer__meta{display:flex;align-items:center;gap:1.2rem}
.footer__totop{font-size:.78rem;color:var(--c-footer-link);display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border:1px solid var(--c-border);border-radius:999px;transition:all .25s var(--t)}
.footer__totop:hover{background:var(--c-primary);border-color:var(--c-primary);color:#fff}

/* ============== MOBILE MENU ============== */
.mobile-menu{position:fixed;top:0;right:-100%;width:min(380px,90vw);height:100vh;background:#fff;z-index:200;padding:4rem 1.8rem 2rem;transition:right .4s var(--t);overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,.2)}
.mobile-menu.open{right:0}
.mobile-menu__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:0;background:#f3f6fa;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--c-text);cursor:pointer;transition:all .2s var(--t);z-index:2}
.mobile-menu__close:hover{background:#ffe3e3;color:#c53030}
.mobile-menu__inner{display:flex;flex-direction:column;gap:.1rem}
.mobile-menu__link,.mobile-menu__summary{padding:.9rem 0;font-size:1rem;font-weight:600;border-bottom:1px solid var(--c-border);color:var(--c-text);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.mobile-menu__summary::-webkit-details-marker,.mobile-menu__summary::marker{display:none}
.mobile-menu__chev{transition:transform .25s var(--t);flex-shrink:0;color:var(--c-muted)}
.mobile-menu__group[open] .mobile-menu__chev{transform:rotate(180deg);color:var(--c-primary)}
.mobile-menu__group[open] .mobile-menu__summary{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.mobile-menu__sub{display:flex;flex-direction:column;padding:.3rem 0 .4rem .9rem;border-left:2px solid var(--c-border);margin:.25rem 0 .45rem .25rem}
.mobile-menu__sub-link{padding:.55rem 0;font-size:.92rem;color:var(--c-text-2);border-bottom:none;font-weight:500}
.mobile-menu__sub-link:hover{color:var(--c-primary)}
.mobile-menu__sub-link--head{color:var(--c-primary);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.mobile-menu__cta{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--c-border)}
/* ---- audience toggle inside the mobile drawer ---------------------------
   Not scoped to --v3: the drawer markup is shared, and v1/v2 had the same gap
   (their toggle sits in a strip that is also hidden on small screens). */
.mobile-menu__aud { margin-bottom: 1.1rem; }
.mobile-menu__aud .aud-switch {
  display: flex; width: 100%; padding: 4px; gap: 4px;
  background: var(--c-bg-alt); border: 1px solid var(--c-border); border-radius: 12px !important;
}
.mobile-menu__aud .aud-switch__btn {
  flex: 1 1 0; justify-content: center; padding: .6rem .5rem;
  font-size: .88rem; font-weight: 600; color: var(--c-text-2); border-radius: 9px;
}
.mobile-menu__aud .aud-switch__btn.is-active { background: var(--c-primary); color: #fff; }
.mobile-menu__lang{margin-top:1.4rem;display:flex;gap:.6rem}
.mobile-menu__lang a{padding:.5rem 1rem;border:1px solid var(--c-border);border-radius:var(--r);font-size:.85rem;flex:1;text-align:center;font-weight:500;color:var(--c-text-2)}
.mobile-menu__lang a.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;z-index:150;transition:all .35s var(--t)}
.menu-overlay.open{opacity:1;visibility:visible}

/* ============== PAGE HEADER (inner pages) ============== */
.page-header{position:relative;padding:2rem 0;background:var(--c-navy-grad);color:#fff;overflow:hidden}
.page-header::after{content:"";position:absolute;width:480px;height:480px;background:radial-gradient(circle,rgba(92,184,255,.25),transparent 70%);right:-160px;top:50%;transform:translateY(-50%);border-radius:50%}
.page-header__inner{position:relative;z-index:1}
.page-header__crumbs{font-size:.82rem;color:rgba(255,255,255,.65);margin-bottom:.8rem}
.page-header__crumbs a:hover{color:#fff}
.page-header h1{color:#fff;max-width:800px;margin-bottom:.8rem;font-size:clamp(1.65rem,3.2vw,2.05rem)}
.page-header__sub{font-size:1.05rem;color:rgba(255,255,255,.78);max-width:620px}

/* Compact variant — used on auth pages so the dark bar stays but doesn't dominate */
.page-header--compact{padding:1.1rem 0}
.page-header--compact::after{width:280px;height:280px;right:-100px}
.page-header--compact h1{font-size:1.25rem;font-weight:600;margin:0;letter-spacing:-.005em}
.page-header--compact .page-header__crumbs{font-size:.76rem;margin-bottom:.3rem}

/* ============== UTIL ============== */
.text-center{text-align:center}
.center-cta{text-align:center;margin-top:2.5rem}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}

[data-aos]{transition-timing-function:var(--t) !important}

/* ============== RESPONSIVE ============== */
@media (max-width:1100px){
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .glazing-grid{grid-template-columns:repeat(2,1fr)}
  .shop-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:992px){
  .stats-row{grid-template-columns:repeat(2,1fr);gap:24px}
  .footer__cols{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:880px){
  :root{--header-h:70px}
  .mainnav,.mainbar__cta{display:none}
  .burger{display:flex}
  .band__grid,.why-grid,.cta-form{grid-template-columns:1fr;gap:2.5rem}
  .band--reverse .band__grid > :first-child{order:0}
  .topbar__left small{display:none}
  .section,.band{padding:56px 0}
  .cta-form{padding:2.5rem}
  .topbar__right .topbar__link{display:none}
  .footer__topbar-inner{flex-direction:column;text-align:center}
  .footer__bottom-inner{flex-direction:column;text-align:center}
}
@media (max-width:560px){
  h1{font-size:1.9rem}
  .products-grid,.products-grid--bottom,.shop-grid,.blog-grid,.glazing-grid{grid-template-columns:1fr}
  .certs{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:1fr}
  .footer__nav{justify-content:center}
}

/* ============================================================
   v4 PARITY ADDITIONS — match live site treatment
   ============================================================ */

/* Topbar: For buyers/partners on LEFT, phone + lang on RIGHT */
.topbar__nav{display:flex;align-items:center;gap:1.6rem}
.topbar__nav .topbar__link{display:inline-flex;align-items:center;gap:.35rem;color:#dfe7f0;font-size:.82rem;font-weight:500}
.topbar__nav .topbar__link i{font-size:.7rem;opacity:.8}
.topbar__nav .topbar__link:hover{color:#fff}
.topbar__right{display:flex;align-items:center;gap:1.6rem}
.topbar__phone{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font-weight:500}
.topbar__phone i{color:var(--c-primary-light);font-size:.85rem}
.topbar__phone small{color:#9ab0c8;font-weight:400}
@media (max-width:780px){.topbar__phone{display:none !important}}

/* Lang switch with flag pseudo */
.lang-switch{display:inline-flex;align-items:center;gap:.8rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.12);font-size:.78rem;font-weight:500}
.lang-switch__current{color:#fff;display:inline-flex;align-items:center;gap:.4rem}
.lang-switch__alt{color:#9ab0c8;display:inline-flex;align-items:center;gap:.4rem}
.lang-switch__alt:hover{color:#fff}
.flag{display:inline-block;width:18px;height:13px;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.flag--en{background-image:url('/assets/images/2026/flags/en-flag.svg')}
.flag--ru{background-image:url('/assets/images/2026/flags/ru-flag.svg')}

/* Mainnav caret + mega menu (full-width panel under header) */
.mainnav__list>li>a i{font-size:.62rem;margin-left:.2rem;opacity:.7}

/* Override `.mainnav__list>li{position:relative}` so the panel can span the header width */
.mainnav__list > li.has-mega{position:static !important}

/* Mainbar is the positioning context for the panel (full viewport-width white sheet) */
.mainbar{position:relative}

.megamenu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  width:100%;
  background:#fff;
  box-shadow:0 24px 50px rgba(0,30,60,.12);
  border-top:1px solid var(--c-border);
  padding:40px 0 0 0;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  /* Close transition: short grace. 44px hit-zones already forgive aim;
     keeping delay small prevents the old panel from overlapping the new one
     when user switches between adjacent mega items. */
  transition:
    opacity .18s var(--t) .05s,
    transform .18s var(--t) .05s,
    visibility 0s linear .23s;
  z-index:60;
  pointer-events:none;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.has-mega:hover .megamenu,
.has-mega:focus-within .megamenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  /* Open immediately when entering — no delay */
  transition:
    opacity .2s var(--t) 0s,
    transform .2s var(--t) 0s,
    visibility 0s linear 0s;
}
/* JS adds .is-suppressed to sibling has-mega items when the user enters a new one.
   This hides the previous panel instantly so there is no visible overlap during the switch. */
.has-mega.is-suppressed .megamenu{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:none !important;
}
/* Extend hit area BELOW the anchor so moving down into the panel keeps :hover alive.
   Uses ::before (invisible hit strip) so the existing underline ::after stays untouched. */
.has-mega > a,
.mainnav__list > li.has-sub > a{position:relative}
.has-mega > a::before{
  content:"";
  position:absolute;
  left:-14px;right:-14px;
  top:100%;height:44px;
  background:transparent;
  pointer-events:auto;
  z-index:1;
}
/* Also add a bridge directly on the panel so mouse travelling diagonally still lands on it */
.megamenu::before{
  content:"";
  position:absolute;
  top:-44px;left:0;right:0;height:44px;
  pointer-events:auto;
}
.megamenu__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter) 24px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
/* When the mega block contains a CTA, reserve the last track for it and keep
   cards on a single row (5 cards + CTA = 6 tracks). */
.megamenu__inner:has(> .megamenu__cta){grid-template-columns:repeat(5,minmax(0,1fr)) 1fr;gap:14px}
.megamenu__inner:has(> .megamenu__cta) .megamenu__card{grid-column:auto}
.megamenu__cta{grid-column:-2 / -1;grid-row:1}
@media (max-width:1100px){
  .megamenu__inner,
  .megamenu__inner:has(> .megamenu__cta){grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .megamenu__cta{grid-column:1/-1;grid-row:auto;padding-left:0;border-left:0;border-top:1px solid var(--c-border);padding-top:1.5rem;margin-top:.5rem}
}
/* Override .mainnav__list a inline-flex inheritance */
.megamenu .megamenu__card,
.mainnav__list .megamenu__card{
  display:block !important;
  text-decoration:none;
  color:var(--c-text);
  padding:0 !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  align-items:initial !important;
  gap:0 !important;
  text-align:left !important;
}
.megamenu .megamenu__card::after{display:none !important}
.megamenu .megamenu__cta-btn{
  text-decoration:none;
}
.megamenu .megamenu__cta-btn::after{display:none !important}
.megamenu__media{
  position:relative;
  width:100%;
  aspect-ratio:16/11;
  overflow:hidden;
  background:var(--c-border-soft);
  border-radius:6px;
  margin-bottom:10px;
}
.megamenu__media--brand{background:linear-gradient(135deg,#0d2748 0%,#1f4a86 45%,#5cb8ff 100%);display:flex;align-items:center;justify-content:center}
.megamenu__media--brand::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 55%);pointer-events:none}
.megamenu__media--brand img{width:auto;max-width:82%;height:auto;max-height:76%;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,15,30,.35))}
.megamenu__card:hover .megamenu__media--brand img{transform:none}
.megamenu__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(8,24,48,.25) 100%);
  opacity:0;transition:opacity .35s var(--t);
  pointer-events:none;
}
.megamenu__card:hover .megamenu__media::after{opacity:1}
.megamenu__tag{
  position:absolute;top:12px;left:12px;
  padding:4px 10px;
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%);
  color:#fff;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 4px 12px rgba(92,184,255,.35);
  z-index:2;
}
.megamenu__card{position:relative}
.megamenu__card .megamenu__label{
  display:flex;align-items:center;gap:.4rem;
  font-size:1rem;font-weight:800;
  letter-spacing:-.01em;
  color:var(--c-text);
  margin:0;
  transition:color .2s var(--t);
}
.megamenu__card .megamenu__label::after{
  content:"→";
  font-weight:600;font-size:1rem;
  opacity:0;transform:translateX(-6px);
  transition:all .3s var(--t);
  color:var(--c-primary);
}
.megamenu__card:hover .megamenu__label::after{opacity:1;transform:translateX(0)}

/* Bottom band with extra links (aligned with inner container) */
.megamenu__extra{
  border-top:1px solid var(--c-border);
  background:linear-gradient(180deg,#fafbfc 0%,#f4f7fa 100%);
  padding:16px 0;
}
.megamenu > .megamenu__extra{
  /* Make the divider span full width while content stays inside container */
  padding-left:0;padding-right:0;
}
.megamenu__extra-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
  display:flex;flex-wrap:wrap;align-items:center;
  gap:1.4rem;
  font-size:.88rem;
}
.megamenu__extra-label{
  font-size:.78rem;font-weight:600;letter-spacing:.05em;
  color:var(--c-muted);text-transform:uppercase;
  margin-right:.4rem;
}
/* Hide "More / Ещё" label when the extras band only carries a single link. */
.megamenu__extra-inner:has(> a:only-of-type) .megamenu__extra-label{display:none}
.megamenu__extra-inner:has(> a:only-of-type){justify-content:center}
.megamenu__extra-inner:has(> a:only-of-type) a{font-weight:700;color:var(--c-primary)}
.megamenu__extra-inner:has(> a:only-of-type) a::after{content:" →";opacity:.7}
.megamenu__extra a{
  position:relative;
  display:inline-flex;align-items:center;gap:.35rem;
  color:var(--c-text-3);font-weight:500;
  transition:color .2s var(--t),transform .2s var(--t);
}
.megamenu__extra a::after{
  content:"→";font-size:.78rem;opacity:0;margin-left:-.2rem;
  transition:all .25s var(--t);
}
.megamenu__extra a:hover{color:var(--c-primary)}
.megamenu__extra a:hover::after{opacity:1;margin-left:0}
.megamenu__extra a + a{padding-left:1.4rem;border-left:1px solid var(--c-border)}
@media (max-width:880px){
  .megamenu__extra-inner{gap:.8rem}
  .megamenu__extra a + a{padding-left:.8rem}
}
.megamenu__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--t);
}
.megamenu__media--brand img{object-fit:contain !important}
.megamenu__card:hover .megamenu__media img{transform:scale(1.04)}
.megamenu__card:hover .megamenu__label{color:var(--c-primary)}

/* Right-side CTA block in the mega panel */
.megamenu__cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.35rem;
  padding-left:16px;
  border-left:1px solid var(--c-border);
  height:100%;
}
.megamenu__cta-eyebrow{
  color:var(--c-primary);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0;
}
.megamenu__cta-title{
  font-size:.98rem;
  font-weight:700;
  color:var(--c-text);
  letter-spacing:-.005em;
  line-height:1.35;
  margin:0 0 .55rem;
}
.megamenu .megamenu__cta-btn,
.mainnav__list .megamenu__cta-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--c-primary) !important;
  color:#fff !important;
  padding:8px 14px !important;
  border-radius:6px !important;
  font-weight:600 !important;
  font-size:.82rem !important;
  align-self:flex-start !important;
  transition:all .25s var(--t) !important;
  text-decoration:none !important;
  gap:0 !important;
}
.megamenu .megamenu__cta-btn:hover,
.mainnav__list .megamenu__cta-btn:hover{
  background:var(--c-primary-dark) !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,120,212,.3);
}

/* a::after underline must NOT show inside megamenu */
.megamenu a::after{display:none !important}

@media (max-width:1100px){
  .megamenu__inner{grid-template-columns:repeat(3,1fr);}
  .megamenu__cta{display:none}
}

/* "box-button" — match live site rectangular CTA */
.box-button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 28px;border-radius:5px;font-weight:600;font-size:14px;
  letter-spacing:.02em;text-transform:none;
  border:2px solid transparent;cursor:pointer;
  transition:all .25s var(--t);line-height:1;white-space:nowrap;
  font-family:inherit;
}
.box-button--primary{background:var(--c-primary);color:#fff}
.box-button--primary:hover{background:var(--c-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,120,212,.3)}
.box-button--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.box-button--ghost:hover{background:#fff;color:var(--c-text);border-color:#fff}

/* Wider hero content (live site uses ~720-820px copy on 1300px container) */
.hero-slide__content{max-width:760px;padding-top:1rem}
.hero-slide h1{font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.12;font-weight:800;letter-spacing:-.02em}
.hero-slide p{font-size:1.1rem;max-width:640px;margin-bottom:1.8rem}
.hero-slide__cta{display:flex;flex-wrap:wrap;gap:.7rem}

/* Logo bigger to match live (live uses 1217px-wide logo at full width) */
.logo img{height:53px;width:auto}
.site-header.scrolled .logo img{height:42px}

/* Footer social — circular FA brand icons */
.footer__social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px}
.footer__social i{font-size:.95rem}

/* Make the site-wide container 1300 (live max) */
:root{--container:1300px}

/* Ensure topbar links align with new layout */
@media (max-width:880px){
  .topbar__nav{display:none}
  .topbar__right{flex-wrap:wrap;justify-content:flex-end}
}

/* ============== TOPBAR — Calculator button + social icons ============== */
.topbar{padding:8px 0;height:auto;min-height:52px;transition:padding .3s var(--t),min-height .3s var(--t),opacity .25s var(--t),height .3s var(--t)}
/* When sticky-scrolled, collapse topbar fully */
.site-header.scrolled .topbar{
  padding:0 !important;
  min-height:0 !important;
  height:0 !important;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.topbar__right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}

.topbar__btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:5px 15px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:5px;
  color:#fff;
  font-size:.82rem;
  font-weight:500;
  transition:all .25s var(--t);
  white-space:nowrap;
}
.topbar__btn i{font-size:.9rem;color:var(--c-primary-light)}
.topbar__btn:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}

/* Hugeicons inline SVG — inherits color from parent so dark-on-light works too */
.hi-icon{width:18px;height:18px;display:inline-block;flex-shrink:0;color:currentColor;vertical-align:middle}
.topbar__phone .hi-icon,
.topbar__btn .hi-icon{color:#fff}

.topbar__social{display:inline-flex;align-items:center;gap:.85rem}
.topbar__social a{
  width:24px;height:24px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;
  transition:all .2s var(--t);
}
.topbar__social a:hover{color:var(--c-primary-light);transform:translateY(-1px)}

@media (max-width:1100px){
  .topbar__btn span{display:none}
  .topbar__btn{padding:.45rem .65rem}
}
@media (max-width:880px){
  .topbar__btn,.topbar__social{display:none}
}

/* ============== LANG DROPDOWN ============== */
.lang-dd{position:relative;padding-left:1rem;border-left:1px solid rgba(255,255,255,.14)}
.lang-dd__trigger{
  display:inline-flex;align-items:center;gap:.45rem;
  color:#fff;font-weight:600;font-size:.82rem;
  padding:.35rem .55rem;border-radius:4px;cursor:pointer;
  background:transparent;border:0;
  transition:background .2s var(--t);
}
.lang-dd__trigger:hover,.lang-dd.open .lang-dd__trigger{background:rgba(255,255,255,.08)}
.lang-dd__trigger i{font-size:.7rem;opacity:.75;transition:transform .2s var(--t)}
.lang-dd.open .lang-dd__trigger i{transform:rotate(180deg)}
.lang-dd__menu{
  position:absolute;top:calc(100% + 6px);right:0;
  min-width:160px;
  background:#fff;color:var(--c-text);
  border-radius:6px;
  box-shadow:0 18px 40px rgba(0,30,60,.18);
  padding:.4rem;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all .2s var(--t);
  z-index:140;
  list-style:none;margin:0;
}
.lang-dd.open .lang-dd__menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-dd__menu a{
  display:flex;align-items:center;gap:.6rem;
  padding:.55rem .8rem;border-radius:4px;
  font-size:.88rem;font-weight:500;color:var(--c-text);
  text-decoration:none;
}
.lang-dd__menu a:hover{background:var(--c-bg-alt);color:var(--c-primary)}

/* ============== SEARCH ============== */
.search-btn{
  width:40px;height:40px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;color:var(--c-text);
  border:0;cursor:pointer;font-size:1rem;
  transition:all .2s var(--t);
  margin-left:.4rem;
}
.search-btn:hover{background:var(--c-bg-alt);color:var(--c-primary)}
.search-overlay{
  position:fixed;inset:0;
  background:rgba(0,30,60,.92);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  z-index:300;
  opacity:0;visibility:hidden;
  transition:opacity .3s var(--t),visibility .3s var(--t);
  padding:0 24px;
}
.search-overlay.open{opacity:1;visibility:visible}
.search-overlay__close{
  position:absolute;top:24px;right:24px;
  width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;
  font-size:1.1rem;
  transition:background .2s var(--t);
}
.search-overlay__close:hover{background:rgba(255,255,255,.22)}
.search-overlay__form{
  display:flex;gap:.6rem;width:100%;max-width:680px;
}
.search-overlay__form input{
  flex:1;
  padding:1.1rem 1.3rem;
  font-size:1.1rem;
  background:rgba(255,255,255,.96);
  border:0;border-radius:6px;
  color:var(--c-text);
  font-family:inherit;
}
.search-overlay__form input:focus{outline:3px solid var(--c-primary-light);outline-offset:2px}

/* Search results */
.search-results{display:grid;gap:14px;max-width:820px;margin:0 auto}
.search-result{
  display:block;padding:1.3rem 1.5rem;
  background:#fff;border:1px solid var(--c-border);border-radius:6px;
  text-decoration:none;color:var(--c-text);
  transition:all .2s var(--t);
}
.search-result:hover{border-color:var(--c-primary);transform:translateX(4px);box-shadow:0 8px 18px rgba(0,120,212,.08);color:var(--c-text)}
.search-result__title{font-size:1.15rem;font-weight:700;margin:0 0 .3rem;color:var(--c-text)}
.search-result__url{font-size:.78rem;color:var(--c-primary);margin:0 0 .5rem;word-break:break-all}
.search-result__snippet{font-size:.92rem;color:var(--c-text-2);margin:0;line-height:1.55}
.search-result__snippet mark{background:rgba(0,120,212,.15);color:var(--c-text);padding:0 2px;border-radius:2px}
.search-empty{text-align:center;padding:3rem 0;color:var(--c-text-2)}

/* ============================================================
   PRODUCT LISTING + DETAIL
   ============================================================ */

/* Layout: filters + listing */
.products-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:flex-start}
@media (max-width:880px){.products-layout{grid-template-columns:1fr;gap:24px}}

/* Filters (sticky on desktop) */
.filters{
  position:sticky;top:calc(var(--header-h) + var(--topbar-h) + 12px);
  background:#fff;border:1px solid var(--c-border);border-radius:8px;
  padding:24px;font-size:.92rem;
}
@media (max-width:880px){.filters{position:static}}
.filters__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--c-border)}
.filters__head h3{font-size:1rem;margin:0;color:var(--c-text)}
.filters__clear{font-size:.78rem;color:var(--c-primary);font-weight:600}
.filters__clear:hover{text-decoration:underline}
.filter-group{margin-top:1.2rem}
.filter-group h4{
  font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;color:var(--c-muted);margin:0 0 .7rem;
}
.filter-group ul li{margin-bottom:.3rem}
.filter-group ul a{
  display:block;padding:.45rem .65rem;border-radius:5px;
  font-size:.88rem;color:var(--c-text-3);
  transition:all .2s var(--t);
}
.filter-group ul a:hover{background:var(--c-bg-alt);color:var(--c-primary)}
.filter-group ul a.is-active{background:var(--c-primary);color:#fff;font-weight:600}
.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.filter-chips a{
  padding:.4rem .8rem;border:1px solid var(--c-border);border-radius:999px;
  font-size:.78rem;color:var(--c-text-3);transition:all .2s var(--t);
}
.filter-chips a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.filter-chips a.is-active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* Product listing grid */
.products-listing__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem;color:var(--c-text-2);font-size:.9rem;font-weight:600}
.products-listing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:1100px){.products-listing__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.products-listing__grid{grid-template-columns:1fr}}

.product-tile{
  background:#fff;border:1px solid var(--c-border);border-radius:8px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:all .3s var(--t);
}
.product-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-pop);border-color:transparent}
.product-tile__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--c-border-soft)}
.product-tile__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--t)}
.product-tile:hover .product-tile__media img{transform:scale(1.04)}
.product-tile__media--brand{background:linear-gradient(135deg,#0d2748 0%,#1f4a86 45%,#5cb8ff 100%);display:flex;align-items:center;justify-content:center}
.product-tile__media--brand::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 55%);pointer-events:none}
.product-tile__media--brand img{width:auto;max-width:78%;height:auto;max-height:78%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,15,30,.35))}
.product-tile:hover .product-tile__media--brand img{transform:scale(1.04)}
.product-tile__badge{
  position:absolute;top:12px;left:12px;
  background:var(--c-primary);color:#fff;
  padding:.3rem .7rem;border-radius:4px;
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
}
.product-tile__badge--lg{font-size:.85rem;padding:.45rem 1rem;top:18px;left:18px}
.product-tile__body{padding:20px;flex:1;display:flex;flex-direction:column}
.product-tile__meta{font-size:.74rem;color:var(--c-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}
.product-tile__title{font-size:1.2rem;font-weight:800;margin:0 0 .5rem;color:var(--c-text)}
.product-tile__title a{color:inherit}
.product-tile__title a:hover{color:var(--c-primary)}
.product-tile__short{font-size:.92rem;color:var(--c-text-2);margin:0 0 1rem;line-height:1.55}
.product-tile__feats{margin:0 0 1rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}
.product-tile__feats li{font-size:.84rem;color:var(--c-text-3);display:flex;align-items:center;gap:.5rem}
.product-tile__feats i{color:var(--c-primary);font-size:.7rem}
.product-tile__more{
  margin-top:auto;padding-top:1rem;border-top:1px solid var(--c-border);
  color:var(--c-primary);font-weight:700;font-size:.85rem;
  display:inline-flex;align-items:center;gap:.3rem;
}

/* ============================================================
   PRODUCT DETAIL
   ============================================================ */
.product-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:flex-start}
@media (max-width:880px){.product-detail{grid-template-columns:1fr;gap:32px}}

.product-gallery__main{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  border-radius:8px;background:var(--c-border-soft);
  box-shadow:var(--shadow-card);
}
.product-gallery__main img{width:100%;height:100%;object-fit:cover}
.product-gallery__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.product-gallery__thumb{
  aspect-ratio:1;border:2px solid transparent;border-radius:6px;
  overflow:hidden;cursor:pointer;padding:0;background:none;
  transition:border-color .2s var(--t);
}
.product-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.product-gallery__thumb:hover,.product-gallery__thumb.is-active{border-color:var(--c-primary)}

.product-info__meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem}
.product-info__title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.02em;margin:0 0 1rem}
.product-info__desc{color:var(--c-text-3);font-size:1rem;line-height:1.7;margin-bottom:1.5rem}
.product-info__desc p:last-child{margin-bottom:0}
.product-info__sub{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text);margin:1.5rem 0 .8rem}
.product-info__feats{margin:0 0 1.5rem;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
@media (max-width:560px){.product-info__feats{grid-template-columns:1fr}}
.product-info__feats li{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;color:var(--c-text-3)}
.product-info__feats i{color:var(--c-primary);font-size:1rem;margin-top:.15rem}
.product-info__cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}

/* Specs table */
.product-specs{margin-top:64px}
.product-specs h2{margin-bottom:1.5rem}
.specs-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--c-border);border-radius:8px;overflow:hidden}
.specs-table th,.specs-table td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--c-border)}
.specs-table tr:last-child th,.specs-table tr:last-child td{border-bottom:0}
.specs-table th{background:var(--c-bg-alt);font-weight:600;color:var(--c-text);width:40%;font-size:.92rem}
.specs-table td{color:var(--c-text-3);font-size:.95rem}

/* AJAX loading state for product list */
.products-listing{position:relative;min-height:200px}
.products-listing.is-loading{opacity:.55;pointer-events:none}
.products-listing.is-loading::after{
  content:"";
  position:absolute;top:60px;left:50%;
  width:42px;height:42px;
  border:3px solid var(--c-border);
  border-top-color:var(--c-primary);
  border-radius:50%;
  animation:spin .9s linear infinite;
  transform:translateX(-50%);
}
@keyframes spin{to{transform:translateX(-50%) rotate(360deg)}}

/* ============================================================
   PRODUCT DETAIL — dreamtech-80 layout
   ============================================================ */

/* HERO */
.prod-hero{position:relative;color:#fff;padding:96px 0;overflow:hidden}
.prod-hero__bg{position:absolute;inset:0;z-index:0}
.prod-hero__bg img{width:100%;height:100%;object-fit:cover}
.prod-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,15,30,.85) 0%,rgba(0,15,30,.55) 60%,rgba(0,15,30,.25) 100%)}
.prod-hero__inner{position:relative;z-index:1}
.prod-hero__body{max-width:760px;margin-left:0;margin-right:auto;position:relative;z-index:2}
.prod-hero__art{position:absolute;top:50%;right:var(--gutter,24px);transform:translateY(-50%);width:clamp(340px,46%,660px);pointer-events:none;z-index:1;display:flex;align-items:center;justify-content:center}
.prod-hero__art::before{content:"";position:absolute;inset:-8% -10%;background:radial-gradient(ellipse at center,rgba(92,184,255,.28) 0%,rgba(8,24,48,0) 65%);filter:blur(10px);z-index:-1}
.prod-hero__art img{width:100%;height:auto;max-height:min(520px,72vh);object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,10,24,.5))}
@media (max-width:980px){.prod-hero__art{display:none}}
.prod-hero__crumbs{font-size:.85rem;color:rgba(255,255,255,.7);margin-bottom:1rem}
.prod-hero__crumbs a:hover{color:#fff}
.prod-hero__title{color:#fff;font-size:clamp(2.4rem,5vw,3.6rem);margin-bottom:1rem}
.prod-hero__tagline{font-size:1.15rem;color:rgba(255,255,255,.85);margin-bottom:1.8rem}
.prod-hero__badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.prod-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.85rem;font-weight:500;color:#fff}
.prod-badge i{color:var(--c-primary-light)}
.prod-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}
.stl-icon-trigger{
  margin-left:10px;
  display:inline-flex;flex-direction:row;align-items:center;gap:.75rem;
  padding:4px 8px;background:transparent;border:0;cursor:pointer;color:#fff;
  transition:transform .2s var(--t),opacity .2s var(--t);
}
.stl-icon-trigger:hover{transform:translateY(-2px);opacity:.9}
.stl-icon-trigger__icon{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.box-button .hi-icon--calc{width:20px;height:20px;margin-right:.5rem}
.stl-icon-trigger__label{font-size:.95rem;font-weight:600;letter-spacing:.02em;color:inherit;text-transform:none;white-space:nowrap}
@media (max-width:640px){
  .stl-icon-trigger{margin-left:0}
}

/* COLOR PREVIEW + SWATCHES */
.color-preview{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}
.color-preview__media{position:relative;width:min(560px,90%);aspect-ratio:5/3;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-card)}
.color-preview__media img{width:100%;height:100%;object-fit:cover;display:block}
.color-preview__overlay{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.55;transition:background .35s var(--t)}
.color-preview__name{margin-top:1rem;font-weight:700;color:var(--c-text);font-size:1.05rem;text-align:center}

.swatches{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.swatches--inline{justify-content:flex-start}
.swatch{
  width:42px;height:42px;border-radius:50%;
  border:2px solid transparent;cursor:pointer;
  padding:0;transition:transform .15s var(--t),border-color .15s var(--t),box-shadow .2s var(--t);
  position:relative;
}
.swatch.has-border{box-shadow:inset 0 0 0 1px var(--c-border)}
.swatch:hover{transform:scale(1.08)}
.swatch.is-active{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(0,120,212,.18)}
.swatch input{position:absolute;opacity:0;pointer-events:none}

/* SPECS GRID */
.specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1rem}
.spec{
  background:#fff;border:1px solid var(--c-border);border-radius:8px;
  padding:1.2rem;text-align:center;
  transition:transform .25s var(--t),border-color .25s var(--t);
}
.spec:hover{transform:translateY(-3px);border-color:var(--c-primary)}
.spec__lbl{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);margin-bottom:.4rem;font-weight:600}
.spec__val{font-size:1.4rem;font-weight:800;color:var(--c-text);letter-spacing:-.01em}
@media (max-width:880px){.specs-grid{grid-template-columns:repeat(2,1fr)}}

/* KEY BENEFITS */
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:880px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.benefits-grid{grid-template-columns:1fr}}
.benefit{
  background:#fff;border:1px solid var(--c-border);border-radius:8px;
  padding:1.6rem;text-align:center;transition:all .3s var(--t);
}
.benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);border-color:transparent}
.benefit__icon{
  width:54px;height:54px;border-radius:14px;
  background:linear-gradient(135deg,var(--c-primary),#5cb8ff);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:.9rem;font-size:1.3rem;
}
.benefit h3{font-size:1.05rem;margin:0 0 .4rem;color:var(--c-text)}
.benefit p{font-size:.9rem;color:var(--c-text-2);margin:0;line-height:1.55}
.benefit__text p{margin:0 0 .4rem}
.benefit__text p:last-child{margin-bottom:0}
.benefit__list{margin:.25rem 0 0;padding-left:1.1rem;font-size:.9rem;color:var(--c-text-2);line-height:1.55}
.benefit__list li{margin-bottom:.25rem}
.benefit__list li:last-child{margin-bottom:0}
.prod-desc{margin-top:2.5rem;max-width:840px;margin-left:auto;margin-right:auto;font-size:1rem;line-height:1.75;color:var(--c-text-3)}
.prod-desc .product-info__feats{margin-top:1.5rem}

/* EMBEDDED CALCULATOR */
.prod-calc{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:flex-start}
@media (max-width:880px){.prod-calc{grid-template-columns:1fr}}
.prod-calc__form{display:grid;gap:1.4rem}
.prod-calc__form fieldset{border:0;padding:0;margin:0;background:#fff;border:1px solid var(--c-border);border-radius:8px;padding:1.2rem 1.4rem}
.prod-calc__form legend{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-muted);font-weight:700;padding:0 .4rem;margin-bottom:.4rem}

.calc-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.6rem}
@media (max-width:880px){.calc-tiles{grid-template-columns:repeat(2,1fr)}}
.calc-tile{cursor:pointer}
.calc-tile input{position:absolute;opacity:0;pointer-events:none}
.calc-tile span{
  display:flex;flex-direction:column;align-items:center;gap:.4rem;
  padding:.85rem .6rem;border:2px solid var(--c-border);border-radius:6px;
  font-size:.78rem;color:var(--c-text);transition:all .2s var(--t);text-align:center;
}
.calc-tile span i{font-size:1.2rem;color:var(--c-primary)}
.calc-tile:hover span{border-color:var(--c-primary)}
.calc-tile input:checked + span{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.calc-tile input:checked + span i{color:#fff}

.calc-radios{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.calc-radios label{cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--c-border);border-radius:999px;font-size:.85rem;color:var(--c-text);transition:all .2s var(--t)}
.calc-radios label:hover{border-color:var(--c-primary);color:var(--c-primary)}
.calc-radios input{position:absolute;opacity:0;width:0;height:0}
.calc-radios input:checked + span{font-weight:600}
.calc-radios label:has(input:checked){background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.6rem}
.calc-field{display:flex;flex-direction:column;gap:.3rem}
.calc-field label{font-size:.78rem;color:var(--c-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.calc-field input,.calc-field select{padding:.7rem .9rem;border:1px solid var(--c-border);border-radius:6px;font-family:inherit;font-size:.95rem;color:var(--c-text);background:#fff}
.calc-field input:focus,.calc-field select:focus{outline:2px solid var(--c-primary-light);outline-offset:1px;border-color:var(--c-primary)}

.calc-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.6rem}
@media (max-width:560px){.calc-checks{grid-template-columns:1fr}}
.calc-checks label{cursor:pointer;display:flex;align-items:center;gap:.55rem;padding:.6rem .85rem;border:1px solid var(--c-border);border-radius:6px;font-size:.85rem;color:var(--c-text);transition:all .2s var(--t)}
.calc-checks label small{color:var(--c-muted);margin-left:auto;font-size:.78rem}
.calc-checks label:hover{border-color:var(--c-primary)}
.calc-checks input{accent-color:var(--c-primary)}

.prod-calc__result{
  position:sticky;top:calc(var(--header-h) + var(--topbar-h) + 12px);
  background:var(--c-navy-grad);color:#fff;
  border-radius:10px;padding:1.8rem;
  display:flex;flex-direction:column;gap:1rem;
}
.prod-calc__price{display:flex;flex-direction:column;align-items:flex-start}
.prod-calc__price span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);font-weight:600}
.prod-calc__price strong{font-size:2.2rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.prod-calc__break{display:grid;gap:.4rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.prod-calc__break div{display:flex;justify-content:space-between;font-size:.85rem;color:rgba(255,255,255,.85)}
.prod-calc__break strong{color:#fff;font-weight:700}
.prod-calc__note{font-size:.78rem;color:rgba(255,255,255,.65);margin:0;text-align:center}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:880px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
.gallery-item{display:block;border-radius:8px;overflow:hidden;aspect-ratio:1;background:var(--c-border-soft)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--t)}
.gallery-item:hover img{transform:scale(1.05)}

/* TABS */
.tabs{background:#fff;border:1px solid var(--c-border);border-radius:8px;overflow:hidden}
.tabs__nav{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--c-border);background:var(--c-bg-alt)}
.tabs__btn{padding:1rem 1.4rem;font-size:.92rem;font-weight:600;color:var(--c-text-2);border:0;background:transparent;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s var(--t)}
.tabs__btn:hover{color:var(--c-primary)}
.tabs__btn.is-active{color:var(--c-primary);border-bottom-color:var(--c-primary);background:#fff}
.tabs__panels{padding:1.6rem 1.8rem}
.tabs__panel{display:none;color:var(--c-text-3);font-size:.95rem;line-height:1.7}
.tabs__panel.is-active{display:block}

/* ============================================================
   WCALC — multi-window PVC calculator
   ============================================================ */
.wcalc{position:relative}
.wcalc__tabs{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1.2rem}
.wcalc__tab{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.55rem 1rem;border:2px solid var(--c-border);border-radius:8px;
  background:#fff;font:inherit;color:var(--c-text-2);font-size:.85rem;font-weight:500;
  cursor:pointer;transition:all .2s var(--t);
}
.wcalc__tab i{opacity:.6}
.wcalc__tab:hover{border-color:var(--c-primary);color:var(--c-primary)}
.wcalc__tab.is-active{border-color:var(--c-primary);background:rgba(0,120,212,.08);color:var(--c-primary);font-weight:600}
.wcalc__tab.is-active i{opacity:1}
.wcalc__tab-close{margin-left:.4rem;opacity:.4;font-size:.75rem;cursor:pointer}
.wcalc__tab-close:hover{opacity:.9;color:#c43}
.wcalc__tab-actions{display:flex;gap:.4rem;margin-left:auto}
.wcalc__action{
  padding:.55rem 1rem;border:2px dashed var(--c-border);border-radius:8px;
  background:transparent;font:inherit;color:var(--c-text-2);font-size:.82rem;cursor:pointer;
  transition:all .2s var(--t);white-space:nowrap;
}
.wcalc__action:hover{border-color:var(--c-primary);color:var(--c-primary);background:rgba(0,120,212,.04)}

.wcalc__body{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:flex-start}
@media (max-width:880px){.wcalc__body{grid-template-columns:1fr}}

/* Preview */
.wcalc__preview{
  background:#fff;border:1px solid var(--c-border);border-radius:10px;
  padding:24px;display:flex;flex-direction:column;align-items:center;
  position:sticky;top:calc(var(--header-h) + 16px);
}
@media (max-width:880px){.wcalc__preview{position:static;order:-1}}
.wcalc__preview-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);margin-bottom:1rem}
.wcalc__svg{width:100%;max-width:300px;margin-bottom:1rem}
.wcalc__svg svg{width:100%;height:auto;filter:drop-shadow(0 4px 12px rgba(0,40,80,.1))}
.wcalc__dims{display:flex;gap:1.4rem;justify-content:center;background:var(--c-bg-alt);padding:.8rem 1.2rem;border-radius:8px;width:100%}
.wcalc__dim-lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);font-weight:500}
.wcalc__dim-val{font-size:1.05rem;font-weight:700;color:var(--c-primary);text-align:center}

/* Config cards */
.wcalc__config{display:flex;flex-direction:column;gap:1rem}
.wcalc__card{background:#fff;border:1px solid var(--c-border);border-radius:10px;padding:1.4rem 1.5rem;transition:box-shadow .2s var(--t)}
.wcalc__card:hover{box-shadow:0 4px 14px rgba(0,40,80,.05)}
.wcalc__card-title{font-size:.95rem;font-weight:700;color:var(--c-text);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.wcalc__card-title i{color:var(--c-primary)}

/* Type grid */
.wcalc__type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.55rem}
.wcalc__type{
  display:flex;flex-direction:column;align-items:center;gap:.35rem;
  padding:.7rem .5rem;border:2px solid var(--c-border);border-radius:8px;
  background:#fff;cursor:pointer;font:inherit;transition:all .2s var(--t);
}
.wcalc__type svg{width:36px;height:42px;color:var(--c-text-2);transition:color .2s var(--t);flex-shrink:0}
.wcalc__type span{font-size:.7rem;font-weight:500;color:var(--c-text-2);text-align:center;line-height:1.2;max-width:100%;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}
.wcalc__type:hover{border-color:var(--c-primary);transform:translateY(-2px);box-shadow:0 2px 8px rgba(0,40,80,.06)}
.wcalc__type.is-active{border-color:var(--c-primary);background:rgba(0,120,212,.06)}
.wcalc__type.is-active svg,.wcalc__type.is-active span{color:var(--c-primary)}
.wcalc__type.is-active span{font-weight:600}

/* Sash grid */
.wcalc__sash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.55rem}
.wcalc__sash{
  padding:.6rem .85rem;border:2px solid var(--c-border);border-radius:8px;
  background:#fff;font:inherit;font-size:.85rem;font-weight:500;color:var(--c-text-2);
  cursor:pointer;transition:all .2s var(--t);
}
.wcalc__sash:hover{border-color:var(--c-primary);color:var(--c-primary)}
.wcalc__sash.is-active{border-color:var(--c-primary);background:rgba(0,120,212,.06);color:var(--c-primary);font-weight:600}

/* Inputs */
.wcalc__dim-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.wcalc__field{display:flex;flex-direction:column;gap:.35rem}
.wcalc__field label{font-size:.75rem;font-weight:700;color:var(--c-text-2);text-transform:uppercase;letter-spacing:.04em}
.wcalc__field small{font-size:.7rem;color:var(--c-muted)}
.wcalc__inp{position:relative;display:flex;align-items:center}
.wcalc__inp input{width:100%;padding:.7rem 2.6rem .7rem 1rem;border:2px solid var(--c-border);border-radius:8px;font:inherit;font-size:.95rem;font-weight:600;color:var(--c-text);background:#fff;transition:all .2s var(--t)}
.wcalc__inp input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(0,120,212,.1)}
.wcalc__inp span{position:absolute;right:.85rem;font-size:.78rem;font-weight:600;color:var(--c-muted);pointer-events:none}

/* Select */
.wcalc__select{
  width:100%;padding:.7rem 2.4rem .7rem 1rem;border:2px solid var(--c-border);border-radius:8px;
  font:inherit;font-size:.9rem;color:var(--c-text);background:#fff;
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236b7a8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;
  transition:border-color .2s var(--t);
}
.wcalc__select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(0,120,212,.1)}

/* Color grid */
.wcalc__color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem}
.wcalc__color{
  display:flex;flex-direction:column;align-items:center;gap:.45rem;
  padding:.6rem .4rem;border:2px solid var(--c-border);border-radius:8px;
  background:#fff;cursor:pointer;font:inherit;text-align:center;transition:all .2s var(--t);
}
/* Film names are long — keep every tile the same height and ellipsise overflow
   (the full name + article stay available in the title tooltip). */
.wcalc__color > span:last-child{
  font-size:.72rem;line-height:1.25;color:var(--c-text-2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;word-break:break-word;min-height:2.5em
}
.wcalc__color.is-active > span:last-child{color:var(--c-primary);font-weight:600}
.wcalc__color:hover{border-color:var(--c-primary)}
.wcalc__color.is-active{border-color:var(--c-primary);background:rgba(0,120,212,.06)}
.wcalc__color.is-active span:last-child{color:var(--c-primary);font-weight:600}
.wcalc__color span:last-child{font-size:.8rem;font-weight:500;color:var(--c-text-2);transition:color .2s var(--t)}
.wcalc__sw{width:38px;height:38px;border-radius:8px;border:1px solid var(--c-border);flex-shrink:0;display:inline-block}
/* Laminated films are shown with their real ADO Film swatch photo */
.wcalc__sw{background-size:cover;background-position:center}
.wcalc__color:focus-visible,.wcalc__sash:focus-visible,.wcalc__type:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}

/* Per-sash opening rows */
.wcalc__sash-row + .wcalc__sash-row{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--c-border)}
.wcalc__sash-lbl{font-size:.72rem;font-weight:700;color:var(--c-text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.45rem}

/* Inline validation messages */
.wcalc__err{display:none;margin-top:.4rem;font-size:.75rem;color:#c53030;font-weight:600}
.wcalc__err.is-shown{display:block}

/* Check grid */
.wcalc__check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
@media (max-width:560px){.wcalc__check-grid{grid-template-columns:1fr}}
.wcalc__check{
  display:flex;align-items:center;gap:.6rem;cursor:pointer;
  padding:.55rem .85rem;border:2px solid var(--c-border);border-radius:8px;
  background:#fff;transition:all .2s var(--t);
}
.wcalc__check input{display:none}
.wcalc__check:hover{border-color:var(--c-primary)}
.wcalc__check.is-checked{border-color:var(--c-primary);background:rgba(0,120,212,.06)}
.wcalc__mark{
  width:20px;height:20px;border:2px solid var(--c-border);border-radius:5px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s var(--t);
}
.wcalc__mark i{font-size:.6rem;color:#fff;opacity:0;transition:opacity .2s var(--t)}
.wcalc__check.is-checked .wcalc__mark{background:var(--c-primary);border-color:var(--c-primary)}
.wcalc__check.is-checked .wcalc__mark i{opacity:1}
.wcalc__check-lbl{font-size:.85rem;font-weight:500;color:var(--c-text-2);transition:color .2s var(--t)}
.wcalc__check.is-checked .wcalc__check-lbl{color:var(--c-primary);font-weight:600}

/* Bottom bar */
.wcalc__bar{
  background:#fff;border:1px solid var(--c-border);border-radius:10px;
  padding:1rem 1.4rem;margin-top:1.2rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  box-shadow:0 4px 14px rgba(0,40,80,.05);
}
.wcalc__bar-info{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--c-text-2);flex-wrap:wrap}
.wcalc__bar-info i{color:var(--c-primary)}
.wcalc__bar-info strong{color:var(--c-text);font-weight:700}
.wcalc__cta{
  padding:.85rem 1.8rem;background:var(--c-primary);color:#fff;border:0;
  border-radius:8px;font:inherit;font-size:.95rem;font-weight:700;
  cursor:pointer;transition:all .25s var(--t);white-space:nowrap;
}
.wcalc__cta:hover{background:var(--c-primary-dark);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,120,212,.3)}

/* Modal */
.wcalc__modal{
  position:fixed;inset:0;z-index:300;
  background:rgba(0,20,40,.55);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.wcalc__modal.is-open{display:flex}
.wcalc__modal-card{
  background:#fff;border-radius:12px;padding:2rem;
  max-width:480px;width:100%;
  box-shadow:0 20px 60px rgba(0,30,60,.25);
  animation:wcalcFade .25s ease-out;
}
@keyframes wcalcFade{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.wcalc__modal-card h2{font-size:1.3rem;font-weight:700;color:var(--c-primary);margin-bottom:.5rem}
.wcalc__modal-card p{color:var(--c-text-2);font-size:.9rem;margin-bottom:1.4rem;line-height:1.6}
.wcalc__modal-card .wcalc__field{margin-bottom:.85rem}
.wcalc__modal-card input:not([type="checkbox"]):not([type="radio"]),.wcalc__modal-card textarea{
  width:100%;padding:.7rem .9rem;border:2px solid var(--c-border);border-radius:6px;
  font:inherit;font-size:.9rem;color:var(--c-text);
}
.wcalc__modal-card input:not([type="checkbox"]):not([type="radio"]):focus,.wcalc__modal-card textarea:focus{outline:none;border-color:var(--c-primary)}
.wcalc__modal-card textarea{resize:vertical;min-height:80px}
.wcalc__modal-msg{font-size:.85rem;color:var(--c-text-2);min-height:1.2em;margin-bottom:.5rem}
.wcalc__modal-msg.is-error{color:#c43}
.wcalc__modal-actions{display:flex;gap:.7rem;margin-top:1rem}
.wcalc__modal-cancel{
  padding:.7rem 1.4rem;background:transparent;border:2px solid var(--c-border);
  border-radius:6px;font:inherit;font-size:.9rem;font-weight:600;color:var(--c-text-2);cursor:pointer;
  transition:border-color .2s var(--t);
}
.wcalc__modal-cancel:hover{border-color:var(--c-text-2)}
.wcalc__modal-submit{
  flex:1;padding:.75rem 1.4rem;background:var(--c-primary);border:0;
  border-radius:6px;font:inherit;font-size:.9rem;font-weight:700;color:#fff;cursor:pointer;
  transition:background .2s var(--t);
}
.wcalc__modal-submit:hover{background:var(--c-primary-dark)}
.wcalc__success{text-align:center;padding:.5rem 0}
.wcalc__success-ico{
  width:60px;height:60px;border-radius:50%;background:#22c55e;color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem;
}
.wcalc__success h3{margin:0 0 .4rem;font-size:1.15rem;color:var(--c-text)}
.wcalc__success p{margin:0;color:var(--c-text-2);font-size:.9rem}

/* Compact variant for product detail */
.wcalc--compact .wcalc__body{grid-template-columns:1fr 1fr;gap:18px}
.wcalc--compact .wcalc__preview{padding:18px}
.wcalc--compact .wcalc__svg{max-width:240px}
@media (max-width:980px){.wcalc--compact .wcalc__body{grid-template-columns:1fr}}

/* ============================================================
   CONTACT PAGE — info cards + form layout
   ============================================================ */
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:flex-start}
@media (max-width:880px){.contact-layout{grid-template-columns:1fr}}

.contact-info{display:grid;gap:16px}
.contact-card{
  background:#fff;border:1px solid var(--c-border);border-radius:10px;
  padding:1.4rem 1.6rem;
  display:grid;grid-template-columns:auto 1fr;gap:1rem 1.2rem;
  transition:all .25s var(--t);position:relative;
}
.contact-card:hover{border-color:var(--c-primary);box-shadow:0 8px 22px rgba(0,40,80,.05);transform:translateY(-2px)}
.contact-card__icon{
  grid-row:span 3;
  width:46px;height:46px;border-radius:10px;
  background:linear-gradient(135deg,var(--c-primary),#5cb8ff);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;
}
.contact-card h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--c-text);grid-column:2}
.contact-card p{margin:0;font-size:.88rem;color:var(--c-text-2);line-height:1.55;grid-column:2}
.contact-card__link{
  grid-column:2;font-size:1rem;font-weight:700;color:var(--c-primary);
  margin-top:.2rem;display:inline-block;
}
.contact-card__link:hover{text-decoration:underline}
.requisites__list{grid-column:2;margin:.3rem 0 0;display:flex;flex-direction:column;gap:.55rem;text-align:left}
.requisites__row{display:grid;grid-template-columns:230px 1fr;gap:.25rem 1rem;align-items:baseline}
.requisites__row dt{color:var(--c-muted);font-size:.85rem}
.requisites__row dd{margin:0;font-weight:600;color:var(--c-text);font-size:.92rem}
@media(max-width:640px){.requisites__row{grid-template-columns:1fr;gap:.1rem}}

.contact-form .cta-form{padding:2.4rem !important}
.map-placeholder{border-radius:10px;overflow:hidden;border:1px solid var(--c-border)}
.map-placeholder iframe{display:block}

/* ============================================================
   PROJECTS PAGE
   ============================================================ */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:980px){.projects-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.projects-grid{grid-template-columns:1fr}}
.project-card{
  background:#fff;border:1px solid var(--c-border);border-radius:10px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:all .3s var(--t);
}
.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-pop);border-color:transparent}
.project-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c-border-soft)}
.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--t)}
.project-card:hover .project-card__media img{transform:scale(1.06)}
.project-card__sys{
  position:absolute;top:14px;right:14px;
  background:rgba(15,27,45,.85);backdrop-filter:blur(4px);color:#fff;
  padding:.35rem .75rem;border-radius:5px;
  font-size:.72rem;font-weight:700;letter-spacing:.05em;
}
.project-card__body{padding:1.4rem 1.5rem 1.6rem}
.project-card__cat{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary);display:block;margin-bottom:.5rem}
.project-card__title{font-size:1.15rem;font-weight:700;margin:0 0 .5rem;color:var(--c-text);letter-spacing:-.01em}
.project-card__loc{font-size:.85rem;color:var(--c-text-2);margin:0;display:inline-flex;align-items:center;gap:.4rem}
.project-card__loc i{color:var(--c-primary)}

/* ============================================================
   BLOG POST DETAIL
   ============================================================ */
.post-layout{max-width:820px;margin:0 auto;display:grid;gap:2rem}
.post-cover{border-radius:10px;overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow-card)}
.post-cover img{width:100%;height:100%;object-fit:cover}
.post-body{font-size:1.05rem;line-height:1.8;color:var(--c-text-3)}
.post-body p{margin:0 0 1.2em}
.post-body h2{font-size:1.5rem;margin:1.8em 0 .6em;color:var(--c-text)}
.post-body h3{font-size:1.2rem;margin:1.4em 0 .5em;color:var(--c-text)}
.post-body ul,.post-body ol{margin:0 0 1.2em;padding-left:1.4rem}
.post-body li{margin-bottom:.4em}
.post-lead{font-size:1.2rem;font-weight:500;color:var(--c-text);line-height:1.55;border-left:3px solid var(--c-primary);padding-left:1rem;margin:0 0 1.5em}
.post-share{
  max-width:820px;margin:2.5rem auto 0;
  display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
  padding-top:1.5rem;border-top:1px solid var(--c-border);
}
.post-share span{font-size:.85rem;color:var(--c-text-2);font-weight:600;margin-right:.4rem}
.post-share a{
  width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--c-bg-alt);color:var(--c-text-2);
  transition:all .2s var(--t);
}
.post-share a:hover{background:var(--c-primary);color:#fff;transform:translateY(-2px)}

/* ============================================================
   WHERE-TO-BUY DEALERS
   ============================================================ */
.dealer-search{
  display:flex;gap:.7rem;max-width:720px;margin:0 auto 2.5rem;
}
.dealers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:980px){.dealers-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.dealers-grid{grid-template-columns:1fr}}
.downloads-group{margin-bottom:40px}
.downloads-group:last-child{margin-bottom:0}
.downloads-group__title{margin:0 0 14px;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary);padding-bottom:10px;border-bottom:1px solid var(--c-border)}
.dealer-card{
  background:#fff;border:1px solid var(--c-border);border-radius:10px;
  padding:1.6rem;transition:all .25s var(--t);
}
.dealer-card:hover{border-color:var(--c-primary);box-shadow:0 8px 24px rgba(0,40,80,.08);transform:translateY(-3px)}
.dealer-card__head{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--c-border)}
.dealer-card__flag{
  width:42px;height:42px;border-radius:8px;
  background:linear-gradient(135deg,var(--c-navy),var(--c-primary));color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:800;letter-spacing:.05em;flex-shrink:0;
}
.dealer-card__city{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);font-weight:600;margin-bottom:.1rem}
.dealer-card__name{font-size:1rem;font-weight:700;color:var(--c-text);margin:0}
.dealer-card__body p{margin:0 0 .55rem;font-size:.88rem;color:var(--c-text-2);display:flex;align-items:flex-start;gap:.55rem}
.dealer-card__body p:last-child{margin-bottom:0}
.dealer-card__body i{color:var(--c-primary);margin-top:.2rem;font-size:.85rem;flex-shrink:0;width:14px;text-align:center}
.dealer-card__body a{color:var(--c-text-2);transition:color .2s var(--t)}
.dealer-card__body a:hover{color:var(--c-primary)}

/* ============== PARTNER RESOURCE CARDS ============== */
.p-resources--cards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:2rem;
}
@media (max-width:980px){.p-resources--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.p-resources--cards{grid-template-columns:1fr}}
.p-res-card{
  position:relative;display:flex;flex-direction:column;gap:.55rem;
  padding:1.4rem 1.4rem 1.3rem;background:#fff;border:1px solid var(--c-border);border-radius:12px;
  color:var(--c-text);transition:all .25s var(--t);overflow:hidden;
}
.p-res-card::before{
  content:"";position:absolute;inset:0 auto 0 0;width:3px;
  background:linear-gradient(180deg,var(--c-primary) 0%,var(--c-primary-light) 100%);
  opacity:0;transition:opacity .25s var(--t);
}
.p-res-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,40,80,.08);border-color:var(--c-primary)}
.p-res-card:hover::before{opacity:1}
.p-res-card__icon{
  width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(0,120,212,.12) 0%,rgba(92,184,255,.18) 100%);
  color:var(--c-primary);font-size:1.15rem;margin-bottom:.35rem;
}
.p-res-card__title{margin:0;font-size:1.02rem;font-weight:700;color:var(--c-text);letter-spacing:-.005em}
.p-res-card__text{margin:0;font-size:.88rem;line-height:1.5;color:var(--c-text-2)}
.p-res-card__arrow{
  position:absolute;top:1.3rem;right:1.3rem;color:var(--c-muted);font-weight:700;font-size:1.05rem;
  opacity:.5;transform:translateX(-4px);transition:all .25s var(--t);
}
.p-res-card:hover .p-res-card__arrow{opacity:1;transform:translateX(0);color:var(--c-primary)}
.p-res-card--lock::after{
  content:"\f023";font-family:"Font Awesome 5 Free";font-weight:900;
  position:absolute;bottom:1rem;right:1.2rem;font-size:.72rem;color:var(--c-muted);
  background:var(--c-bg-alt,#f4f7fa);padding:.22rem .5rem;border-radius:999px;
}

/* ============== PARTNER FEATURE SLIDERS ============== */
.p-feat-swiper{position:relative;padding:4px 0 52px}
.p-feat-swiper .swiper-slide{height:auto;display:flex}
.p-feat{
  display:flex;flex-direction:column;gap:.7rem;flex:1;
  padding:1.6rem 1.4rem;background:#fff;border:1px solid var(--c-border);border-radius:12px;
  transition:all .25s var(--t);
}
.p-feat:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,40,80,.08);border-color:var(--c-primary)}
.p-feat__icon{
  width:54px;height:54px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%);
  color:#fff;font-size:1.35rem;box-shadow:0 6px 14px rgba(0,120,212,.25);
}
.p-feat__title{margin:.25rem 0 0;font-size:1.05rem;font-weight:700;color:var(--c-text);letter-spacing:-.005em}
.p-feat__text{margin:0;font-size:.88rem;line-height:1.55;color:var(--c-text-2)}
.p-feat--dark{background:linear-gradient(160deg,#0e1e36 0%,#14315a 100%);border-color:transparent;color:#fff}
.p-feat--dark .p-feat__title{color:#fff}
.p-feat--dark .p-feat__text{color:rgba(255,255,255,.78)}
.p-feat--dark .p-feat__icon{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.p-feat-swiper .swiper-button-prev,
.p-feat-swiper .swiper-button-next{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--c-border);background:#fff;color:var(--c-text);
  top:auto;bottom:4px;margin-top:0;transition:all .2s var(--t);
}
.p-feat-swiper .swiper-button-prev{left:calc(50% - 48px)}
.p-feat-swiper .swiper-button-next{right:calc(50% - 48px)}
.p-feat-swiper .swiper-button-prev:hover,
.p-feat-swiper .swiper-button-next:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.p-feat-swiper .swiper-button-prev::after,
.p-feat-swiper .swiper-button-next::after{font-size:13px;font-weight:700}
.p-feat-swiper .swiper-pagination{bottom:14px;position:absolute}
.p-feat-swiper .swiper-pagination-bullet{background:var(--c-border);opacity:1;transition:all .2s var(--t)}
.p-feat-swiper .swiper-pagination-bullet-active{background:var(--c-primary);width:24px;border-radius:5px}

/* ============== ACCADO HUB + CATALOGUE ============== */
.accado-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.accado-hub--2col{grid-template-columns:repeat(2,minmax(0,1fr))}
.accado-hub--single{grid-template-columns:minmax(0,1fr)}
@media (max-width:920px){.accado-hub{grid-template-columns:1fr}}
.accado-hub__card{display:flex;flex-direction:column;gap:.7rem;padding:28px 26px;background:#fff;border:1px solid var(--c-border);border-radius:14px;transition:all .25s var(--t);text-decoration:none;color:var(--c-text);position:relative;overflow:hidden}
.accado-hub__card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--c-primary) 0%,var(--c-primary-light) 100%);opacity:0;transition:opacity .25s var(--t)}
.accado-hub__card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,40,80,.1);border-color:var(--c-primary);color:var(--c-text)}
.accado-hub__card:hover::before{opacity:1}
.accado-hub__icon{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,rgba(0,120,212,.12) 0%,rgba(92,184,255,.18) 100%);color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center}
.accado-hub__icon svg{width:28px;height:28px}
.accado-hub__icons{display:inline-flex;gap:10px;flex-wrap:wrap}
.accado-hub__card h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--c-text);letter-spacing:-.005em}
.accado-hub__card p{margin:0;font-size:.88rem;line-height:1.5;color:var(--c-text-2);flex:1}
.accado-hub__more{font-size:.82rem;font-weight:600;color:var(--c-primary);margin-top:.4rem;letter-spacing:.02em}

.accado-catalogue .section__head{margin-bottom:1.8rem}
.accado-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.accado-card{background:#fff;border:1px solid var(--c-border);border-radius:12px;overflow:hidden;transition:box-shadow .2s var(--t),border-color .2s var(--t),transform .2s var(--t)}
.accado-card:hover{border-color:var(--c-primary);box-shadow:0 12px 26px rgba(0,40,80,.1);transform:translateY(-3px)}
.accado-card__link{display:flex;flex-direction:column;gap:0;text-decoration:none;color:var(--c-text)}
.accado-card__img{aspect-ratio:1/1;position:relative;background:#f2f5f9;overflow:hidden}
.accado-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s var(--t)}
.accado-card__img img.is-loaded{opacity:1}
.accado-card__body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:.25rem}
.accado-card__name{margin:.3rem 0 .1rem;font-size:.98rem;font-weight:700;color:var(--c-text);line-height:1.3;letter-spacing:-.005em}

/* ACCADO detail modal */
.accado-modal{position:fixed;inset:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s var(--t),visibility 0s linear .25s}
.accado-modal[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .25s var(--t),visibility 0s linear 0s}
.accado-modal__overlay{position:absolute;inset:0;background:rgba(6,18,36,.82);backdrop-filter:blur(6px)}
.accado-modal__inner{position:relative;z-index:1;background:#fff;border-radius:14px;width:min(920px,100%);max-height:92vh;display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden;box-shadow:0 30px 60px rgba(0,10,24,.45)}
.accado-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.96);color:var(--c-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 4px 10px rgba(0,0,0,.12);transition:all .2s var(--t)}
.accado-modal__close:hover{background:#ff4d4f;color:#fff}
.accado-modal__media{position:relative;background:#f2f5f9;display:flex;align-items:center;justify-content:center;min-height:300px}
.accado-modal__img{width:100%;height:100%;object-fit:contain;display:block;padding:16px}
.accado-modal__info{padding:28px 30px;display:flex;flex-direction:column;gap:.6rem;overflow-y:auto}
.accado-modal__title{margin:.2rem 0 0;font-size:1.35rem;font-weight:700;color:var(--c-text);letter-spacing:-.01em}
.accado-modal__desc{margin:0;font-size:.95rem;line-height:1.6;color:var(--c-text-2)}
.accado-modal__pdf{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .95rem;border:1px solid var(--c-border);border-radius:8px;color:var(--c-primary);font-weight:600;font-size:.85rem;text-decoration:none;transition:all .2s var(--t);align-self:flex-start}
.accado-modal__pdf:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.accado-modal__pdf-page{font-weight:500;opacity:.75}

/* ------ First Tilt — intro + video sections ------ */
.ft-intro__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:46px;align-items:center}
@media (max-width:820px){.ft-intro__grid{grid-template-columns:1fr;gap:28px}}
.ft-intro__media{background:linear-gradient(135deg,#f6f8fb 0%,#e9eef5 100%);border-radius:14px;padding:24px;display:flex;align-items:center;justify-content:center;min-height:360px}
.ft-intro__media img{max-width:100%;height:auto;display:block;filter:drop-shadow(0 8px 22px rgba(8,24,60,.08))}
.ft-intro__title{margin:0 0 1rem;font-size:1.7rem;line-height:1.25;color:var(--c-heading)}
.ft-intro__text p{margin:0 0 .9rem;color:var(--c-text-2);line-height:1.7;font-size:.98rem}
.ft-intro__text p:last-child{margin-bottom:0}
.ft-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:820px){.ft-steps{grid-template-columns:1fr}}
.ft-step{display:flex;gap:14px;align-items:flex-start;padding:22px;background:#fff;border:1px solid var(--c-border);border-radius:12px;transition:transform .25s var(--t),box-shadow .25s var(--t)}
.ft-step:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(8,24,60,.08)}
.ft-step__num{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--c-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;letter-spacing:0}
.ft-step__text{margin:0;color:var(--c-text-2);font-size:.92rem;line-height:1.55}

.ft-video__player{max-width:900px;margin:0 auto;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 18px 40px rgba(8,24,60,.18)}
.ft-video__player video{display:block;width:100%;height:auto}
/* Landscape player variant — gives vertical/portrait videos a wide letterboxed frame */
.ft-video__player--landscape{aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center}
.ft-video__player--landscape video{width:100%;height:100%;object-fit:contain}

.accado-catalog-cta{margin-top:1.2rem;display:flex;justify-content:center}
.accado-catalog-cta .btn{display:inline-flex;align-items:center;gap:.5rem}

/* Admin-only banner on the account dashboard linking to /backoffice/ */
.bo-banner{display:flex;align-items:center;gap:18px;padding:20px 24px;margin:0 0 28px;background:linear-gradient(135deg,#0e54a4 0%,#1a7bd6 100%);color:#fff;border-radius:14px;text-decoration:none;box-shadow:0 14px 30px rgba(14,84,164,.25);transition:transform .25s var(--t),box-shadow .25s var(--t)}
.bo-banner:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(14,84,164,.35);color:#fff}
.bo-banner__icon{flex:0 0 auto;width:54px;height:54px;border-radius:12px;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center}
.bo-banner__body{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}
.bo-banner__title{font-size:1.1rem;font-weight:700;letter-spacing:-.005em}
.bo-banner__text{font-size:.92rem;opacity:.9;line-height:1.4}
.bo-banner__cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);border-radius:999px;font-weight:600;font-size:.88rem;transition:background .2s var(--t)}
.bo-banner:hover .bo-banner__cta{background:rgba(255,255,255,.28)}
@media (max-width:680px){
  .bo-banner{flex-wrap:wrap;text-align:left}
  .bo-banner__cta{margin-top:.4rem}
}
@media (max-width:680px){
  .ft-video__player--landscape{aspect-ratio:4/3}
}
body.accado-modal-open{overflow:hidden}
@media (max-width:820px){
  .accado-modal__inner{grid-template-columns:1fr;max-height:95vh;overflow-y:auto}
  .accado-modal__media{min-height:240px;max-height:45vh}
  .accado-modal__info{padding:22px 22px 26px}
}

/* ============== ADO FILM CATALOGUE ============== */
.adofilm-catalogue .section__head{margin-bottom:1.5rem}
.adofilm-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.6rem}
.adofilm-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border:1px solid var(--c-border);background:#fff;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--c-text-2);cursor:pointer;transition:all .2s var(--t);font-family:inherit}
.adofilm-tab:hover{border-color:var(--c-primary);color:var(--c-primary)}
.adofilm-tab.is-active{background:var(--c-primary);color:#fff;border-color:var(--c-primary);box-shadow:0 4px 12px rgba(0,120,212,.2)}
.adofilm-tab__count{font-size:.72rem;padding:1px 7px;border-radius:999px;background:rgba(0,0,0,.08);font-weight:700}
.adofilm-tab.is-active .adofilm-tab__count{background:rgba(255,255,255,.22)}
/* Featured external categories (Экстерьерная) — visually highlighted */
.adofilm-tab--featured{border-color:var(--c-primary);color:var(--c-primary);background:rgba(0,120,212,.07)}
.adofilm-tab--featured .adofilm-tab__star{color:#f5a623;flex-shrink:0}
.adofilm-tab--featured.is-active .adofilm-tab__star{color:#ffd166}
.adofilm-grid{display:none;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.adofilm-grid.is-active{display:grid}
.adofilm-item{display:flex;flex-direction:column;gap:.55rem;background:#fff;border:1px solid var(--c-border);border-radius:12px;padding:10px;transition:box-shadow .2s var(--t),border-color .2s var(--t)}
.adofilm-item:hover{border-color:var(--c-primary);box-shadow:0 10px 22px rgba(0,40,80,.08)}
.adofilm-item__link{position:relative;display:block;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,#eef2f7 0%,#dde5ef 100%);cursor:zoom-in}
.adofilm-item__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s var(--t)}
.adofilm-item__img.is-loaded{opacity:1}
.adofilm-item__code{position:absolute;bottom:6px;right:6px;background:rgba(8,24,48,.85);color:#fff;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.04em;z-index:2}
.adofilm-item__avail{position:absolute;top:6px;left:6px;padding:3px 8px;border-radius:4px;font-size:.62rem;font-weight:700;letter-spacing:.04em;z-index:2;text-transform:uppercase}
.adofilm-item__avail--stock{background:#10b981;color:#fff}
.adofilm-item__avail--order{background:rgba(8,24,48,.65);color:#fff}
.adofilm-avail{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.78rem}
.adofilm-avail--stock{background:rgba(16,185,129,.12);color:#0f8a63}
.adofilm-avail--order{background:rgba(8,24,48,.08);color:var(--c-text-2)}
.adofilm-item__name{margin:0;font-size:.88rem;font-weight:700;color:var(--c-text);text-align:center;line-height:1.3}
.adofilm-item__sep{color:var(--c-muted);margin:0 .25rem;font-weight:400}
.adofilm-item__code-inline{color:var(--c-primary);font-weight:700;letter-spacing:.02em}
.adofilm-item__specs{display:flex;flex-direction:column;gap:3px;padding:8px 2px 2px;border-top:1px dashed var(--c-border);margin-top:2px}
.adofilm-item__spec{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.72rem;line-height:1.35}
.adofilm-item__spec span{color:var(--c-muted);white-space:nowrap}
.adofilm-item__spec strong{color:var(--c-text);font-weight:600;text-align:right}
@media (max-width:620px){
  .adofilm-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
  .adofilm-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}
  .adofilm-tab{white-space:nowrap;flex-shrink:0}
  .adofilm-item__specs{display:none}
}

/* ADO Film detail modal */
.adofilm-modal{position:fixed;inset:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s var(--t),visibility 0s linear .25s}
.adofilm-modal[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .25s var(--t),visibility 0s linear 0s}
.adofilm-modal__overlay{position:absolute;inset:0;background:rgba(6,18,36,.82);backdrop-filter:blur(6px)}
.adofilm-modal__inner{position:relative;z-index:1;background:#fff;border-radius:14px;width:min(1000px,100%);max-height:92vh;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;box-shadow:0 30px 60px rgba(0,10,24,.45)}
.adofilm-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.96);color:var(--c-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 4px 10px rgba(0,0,0,.12);transition:all .2s var(--t)}
.adofilm-modal__close:hover{background:#ff4d4f;color:#fff}
.adofilm-modal__media{position:relative;background:#0f1a2e;display:flex;align-items:stretch;justify-content:stretch;min-height:320px;overflow:hidden}
.adofilm-modal__img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.adofilm-modal__info{padding:28px 28px;display:flex;flex-direction:column;gap:.7rem;overflow-y:auto}
.adofilm-modal__group{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-primary);font-weight:700;padding:4px 10px;border:1px solid currentColor;border-radius:999px;align-self:flex-start}
.adofilm-modal__title{margin:0;font-size:1.4rem;font-weight:700;color:var(--c-text);letter-spacing:-.01em}
.adofilm-modal__code{color:var(--c-muted);font-size:.92rem;font-weight:600;letter-spacing:.04em}
.adofilm-modal__table{width:100%;border-collapse:collapse;margin-top:.3rem}
.adofilm-modal__table tr{border-bottom:1px solid var(--c-border)}
.adofilm-modal__table tr:last-child{border-bottom:0}
.adofilm-modal__table td{padding:10px 2px;font-size:.88rem;color:var(--c-text);vertical-align:top}
.adofilm-modal__table td:first-child{color:var(--c-muted);font-weight:500;width:45%}
.adofilm-modal__table td:last-child{font-weight:600;text-align:right}
.adofilm-modal__note{margin:auto 0 0;font-size:.76rem;color:var(--c-muted);padding-top:1rem;border-top:1px dashed var(--c-border)}
body.adofilm-modal-open{overflow:hidden}
@media (max-width:820px){
  .adofilm-modal__inner{grid-template-columns:1fr;max-height:95vh;overflow-y:auto}
  .adofilm-modal__media{min-height:260px;max-height:50vh}
  .adofilm-modal__info{padding:20px 22px 24px}
}

/* ============== PROFILE COLOR OPTIONS — Swiper auto-loop ============== */
.product-options-carousel{position:relative;margin-top:2rem;padding:0 56px}
.product-options-swiper{overflow:hidden;width:100%}
.product-options-swiper .swiper-wrapper{transition-timing-function:linear !important}
.product-options-carousel .option-item{display:flex;flex-direction:column;gap:.55rem;height:auto;width:180px}
.product-options-carousel .option-item > a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--c-border);cursor:pointer;transition:transform .2s var(--t),box-shadow .2s var(--t),border-color .2s var(--t)}
.product-options-carousel .option-item > a:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,40,80,.1);border-color:var(--c-primary)}
.product-options-carousel .option-item > a[aria-disabled="true"]{cursor:default}
.product-options-carousel .option-item > a[aria-disabled="true"]:hover{transform:none;box-shadow:none;border-color:var(--c-border)}
.option-item__swatch{display:block;width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;background-repeat:no-repeat}
.prod-colors-cta{margin-top:1.8rem;display:flex;justify-content:center}
.prod-colors-cta .btn{display:inline-flex;align-items:center;gap:.5rem}
.product-options-carousel .option-item .item-title{margin:0;text-align:center;font-size:.82rem;font-weight:600;color:var(--c-text-2);letter-spacing:-.005em;line-height:1.3}
.product-options-carousel .option-item .item-code{margin:.1rem 0 0;text-align:center;font-size:.72rem;font-weight:700;color:var(--c-primary);letter-spacing:.04em}
.product-options-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--c-border);background:#fff;color:var(--c-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .2s var(--t);box-shadow:0 4px 12px rgba(0,40,80,.08)}
.product-options-carousel__nav:hover{background:var(--c-primary);color:#fff;border-color:var(--c-primary);box-shadow:0 8px 18px rgba(0,120,212,.25)}
.product-options-carousel__nav svg{width:20px;height:20px}
.product-options-carousel__nav--prev{left:4px}
.product-options-carousel__nav--next{right:4px}
@media (max-width:640px){
  .product-options-carousel{padding:0 48px}
  .product-options-carousel__nav{width:36px;height:36px}
  .product-options-carousel__nav svg{width:16px;height:16px}
}

/* ============== ABOUT · VALUES PAGE ============== */
.values-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;padding:14px 0}
@media (max-width:900px){.values-hero{grid-template-columns:1fr;gap:28px}}
.values-hero__title{margin:.6rem 0 1rem;font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.01em}
.values-hero__lead{margin:0;color:var(--c-text-2);font-size:1.05rem;line-height:1.6;max-width:620px}
.values-hero__art{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.values-hero__badge{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1.4rem 1.2rem;border-radius:12px;background:linear-gradient(135deg,#0e1f38 0%,#16396c 100%);color:#fff;min-height:110px;position:relative;overflow:hidden}
.values-hero__badge::after{content:"";position:absolute;top:-30%;right:-20%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(92,184,255,.25),transparent 70%)}
.values-hero__badge strong{font-size:1.6rem;font-weight:800;letter-spacing:-.01em}
.values-hero__badge span{font-size:.85rem;color:rgba(255,255,255,.8)}
.values-hero__badge--alt{background:linear-gradient(135deg,#0e4a7e 0%,#1e6fb8 100%)}
.values-hero__badge:nth-child(3){grid-column:1/-1}

.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:900px){.values-grid{grid-template-columns:1fr}}
.value-card{background:#fff;border:1px solid var(--c-border);border-radius:14px;padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:.75rem;transition:all .25s var(--t)}
.value-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,40,80,.08);border-color:var(--c-primary)}
.value-card__icon{width:54px;height:54px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,120,212,.12) 0%,rgba(92,184,255,.22) 100%);color:var(--c-primary)}
.value-card__icon svg{width:28px;height:28px}
.value-card__title{margin:.1rem 0;font-size:1.2rem;font-weight:700;letter-spacing:-.005em;color:var(--c-text)}
.value-card__text{margin:0;color:var(--c-text-2);font-size:.92rem;line-height:1.55}
.value-card__list{margin:.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}
.value-card__list li{position:relative;padding-left:1.35rem;font-size:.86rem;color:var(--c-text-2);line-height:1.45}
.value-card__list li::before{content:"";position:absolute;left:0;top:.5rem;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--c-primary) 40%,transparent 42%)}

.values-sustain .section__sub{max-width:680px;margin-left:auto;margin-right:auto}
.sustain-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-bottom:2.5rem}
@media (max-width:980px){.sustain-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sustain-grid{grid-template-columns:1fr}}
.sustain-tile{position:relative;margin:0;border-radius:14px;overflow:hidden;min-height:240px;grid-column:span 4;background:#0f1a2e}
.sustain-tile--large{grid-column:span 6;min-height:340px}
@media (max-width:980px){.sustain-tile,.sustain-tile--large{grid-column:span 1}}
.sustain-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .8s var(--t)}
.sustain-tile:hover img{transform:scale(1.05)}
.sustain-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,48,0) 30%,rgba(8,24,48,.85) 100%);z-index:1}
.sustain-tile figcaption{position:absolute;inset:auto 0 0 0;padding:22px 22px 20px;color:#fff;z-index:2}
.sustain-tile__eyebrow{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.75);padding:3px 10px;border:1px solid rgba(255,255,255,.3);border-radius:999px;margin-bottom:.5rem;font-weight:700}
.sustain-tile figcaption h3{margin:0 0 .35rem;color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:-.005em}
.sustain-tile figcaption p{margin:0;color:rgba(255,255,255,.82);font-size:.85rem;line-height:1.5}

.sustain-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:1.4rem;background:linear-gradient(135deg,#0e1f38 0%,#16396c 100%);border-radius:14px;color:#fff}
@media (max-width:720px){.sustain-stats{grid-template-columns:repeat(2,1fr);gap:16px}}
.sustain-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:0 1rem}
.sustain-stat strong{font-size:clamp(1.6rem,3vw,2rem);font-weight:800;color:var(--c-primary-light);letter-spacing:-.01em}
.sustain-stat span{font-size:.85rem;color:rgba(255,255,255,.78);line-height:1.4}

/* ============== CONTACTS PAGE ============== */
.glazing-grid--5col{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1180px){.glazing-grid--5col{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:780px){.glazing-grid--5col{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.glazing-grid--5col{grid-template-columns:1fr}}
.glazing-grid--2col{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-left:auto;margin-right:auto}
@media (max-width:560px){.glazing-grid--2col{grid-template-columns:1fr}}

.offices-section .section__head{margin-bottom:2rem}
.offices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (max-width:900px){.offices-grid{grid-template-columns:1fr}}
.office-card{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border:1px solid var(--c-border);border-radius:14px;overflow:hidden;transition:all .25s var(--t)}
.office-card:hover{box-shadow:0 12px 28px rgba(0,40,80,.08);border-color:var(--c-primary)}
.office-card--full{grid-template-columns:1.2fr 1fr;margin-bottom:28px}
@media (max-width:720px){.office-card,.office-card--full{grid-template-columns:1fr}}
.office-info{position:relative;padding:1.8rem 1.6rem;color:#fff;background-size:cover;background-position:center;min-height:280px;display:flex;flex-direction:column;gap:1rem}
.office-info::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,24,48,.92) 0%,rgba(8,24,48,.75) 55%,rgba(8,24,48,.55) 100%);z-index:0}
.office-info > *{position:relative;z-index:1}
.office-header{display:flex;align-items:flex-start;gap:.9rem}
.office-icon{width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;flex-shrink:0}
.office-title{margin:0 0 .25rem;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:-.005em;line-height:1.25}
.office-subtitle{font-size:.82rem;color:rgba(255,255,255,.72);font-weight:500;letter-spacing:.03em}
.office-details{display:flex;flex-direction:column;gap:.6rem;margin-top:.2rem}
.office-detail{display:flex;align-items:flex-start;gap:.65rem;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.9)}
.office-detail i{color:var(--c-primary-light);flex-shrink:0;width:14px;text-align:center;margin-top:.22rem}
.office-detail a{color:#fff;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.4);transition:color .2s var(--t),border-color .2s var(--t)}
.office-detail a:hover{color:var(--c-primary-light);border-color:var(--c-primary-light)}
.office-detail strong{color:#fff;font-weight:700}
.office-note{color:rgba(255,255,255,.6);font-size:.78rem;margin-left:.2rem}
.office-map{position:relative;min-height:280px;background:#eef2f7}
.office-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* ============== DEALER LOCATOR ============== */
.wtb-tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--c-border);padding-bottom:14px}
.wtb-tab{display:inline-flex;align-items:center;padding:.6rem 1.2rem;border:1px solid var(--c-border);border-radius:999px;font-size:.92rem;font-weight:600;color:var(--c-text-2);text-decoration:none;transition:all .2s var(--t)}
.wtb-tab:hover{border-color:var(--c-primary);color:var(--c-primary)}
.wtb-tab.is-active{background:var(--c-primary);color:#fff;border-color:var(--c-primary);box-shadow:0 4px 12px rgba(0,120,212,.2)}
.dealer-locator{border:1px solid var(--c-border);border-radius:14px;overflow:hidden;background:#fff}
.dealer-locator .dealer-brands{padding:12px 16px;border-bottom:1px solid var(--c-border-soft,#eef2f7);display:flex;flex-wrap:wrap;gap:8px;background:#fafbfc}
.dealer-locator .brand-chip{height:32px;padding:0 16px;border-radius:20px;border:1px solid var(--c-border);background:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s var(--t);color:var(--c-text);font-family:inherit}
.dealer-locator .brand-chip:hover{background:#f0f4f8;border-color:var(--c-primary)}
.dealer-locator .brand-chip.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary);box-shadow:0 4px 12px rgba(0,120,212,.22)}
.dealer-locator .dealer-body{display:grid;grid-template-columns:360px 1fr;min-height:600px}
.dealer-locator .dealer-list-wrap{border-right:1px solid var(--c-border-soft,#eef2f7);display:flex;flex-direction:column;max-height:600px;background:#fff}
.dealer-locator .dealer-search-box{padding:12px 14px;border-bottom:1px solid var(--c-border-soft,#eef2f7);flex-shrink:0}
.dealer-locator .dl-live-search{width:100%;height:38px;padding:0 12px;border:1px solid var(--c-border);border-radius:8px;outline:none;background:#fff;font-size:.88rem;font-family:inherit;box-sizing:border-box;transition:border-color .15s var(--t)}
.dealer-locator .dl-live-search:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(0,120,212,.12)}
.dealer-locator .dealer-list{overflow-y:auto;padding:14px;background:#fff;flex:1}
.dealer-locator .dealer-list-info{padding:2px 2px 10px;font-size:.78rem;color:var(--c-muted);font-weight:600;letter-spacing:.02em}
.dealer-locator .dealer-card{display:block;padding:14px;border:1px solid var(--c-border);border-radius:12px;margin-bottom:10px;cursor:pointer;background:#fff;transition:transform .1s var(--t),box-shadow .1s var(--t),border-color .1s var(--t)}
.dealer-locator .dealer-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,40,80,.06);border-color:var(--c-primary)}
.dealer-locator .dealer-card.active{border-color:var(--c-primary);box-shadow:0 12px 26px rgba(0,120,212,.14);background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)}
.dealer-locator .dealer-meta{flex:1}
.dealer-locator .dealer-title{font-weight:700;font-size:.95rem;margin:0 0 6px;color:var(--c-text);letter-spacing:-.005em}
.dealer-locator .dealer-text{font-size:.82rem;color:var(--c-text-2);line-height:1.5;margin:0}
.dealer-locator .dealer-distance{margin-top:8px;font-size:.8rem;color:var(--c-primary);font-weight:700}
.dealer-locator .dealer-actions{margin-top:6px;font-size:.82rem}
.dealer-locator .dealer-actions a{color:var(--c-primary);text-decoration:none;margin-right:.4rem}
.dealer-locator .dealer-actions a:hover{text-decoration:underline}
.dealer-locator .dl-ico{width:14px;height:14px;flex-shrink:0;color:var(--c-muted);margin-right:6px;vertical-align:-2px}
.dealer-locator .dl-line{display:flex;align-items:flex-start;gap:0;line-height:1.45}
.dealer-locator .dl-line .dl-ico{margin-top:2px;color:var(--c-muted)}
.dealer-locator .dl-phones{margin-top:6px;display:flex;flex-direction:column;gap:2px}
.dealer-locator .dl-link{display:inline-flex;align-items:center;gap:0;color:var(--c-primary);text-decoration:none;font-weight:600;margin-right:.8rem}
.dealer-locator .dl-link .dl-ico{color:var(--c-primary)}
.dealer-locator .dl-link:hover{text-decoration:underline}
.dealer-locator .dl-links{display:flex;flex-wrap:wrap;gap:.2rem .8rem}
.dealer-locator .dealer-map{min-height:600px;background:#eef2f7}
.dealer-locator .brand-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.66rem;font-weight:700;margin-right:4px;margin-top:6px;line-height:1.5;letter-spacing:.03em}
.dealer-locator .brand-badge.b-wintech{background:#E8F1FA;color:#0057A0}
.dealer-locator .brand-badge.b-grunder{background:#E8FAE8;color:#2E7D32}
.dealer-locator .brand-badge.b-plaswin{background:#FFF3E0;color:#E65100}
.dealer-locator .brand-badge.b-accado{background:#F3E5F5;color:#6A1B9A}
.dealer-locator .brand-badge.b-adofilm{background:#FCE4EC;color:#C62828}
.dealer-locator .dl-show-more{display:block;width:100%;padding:12px;margin:8px 0;border:1px dashed var(--c-border);border-radius:10px;background:#fafbfc;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--c-primary);font-family:inherit;transition:all .15s var(--t)}
.dealer-locator .dl-show-more:hover{background:#eff5fb;border-style:solid}
@media (max-width:980px){
  .dealer-locator .dealer-body{grid-template-columns:1fr}
  .dealer-locator .dealer-list-wrap{border-right:none;border-bottom:1px solid var(--c-border-soft,#eef2f7);max-height:380px}
  .dealer-locator .dealer-map{min-height:440px}
  .dealer-locator .dealer-brands{padding:10px 12px;gap:6px}
  .dealer-locator .brand-chip{height:30px;padding:0 12px;font-size:.78rem}
}

/* ============== PRODUCT CONSULTATION MODAL ============== */
.consult-modal{position:fixed;inset:0;z-index:1150;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s var(--t),visibility 0s linear .2s}
.consult-modal[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .2s var(--t),visibility 0s linear 0s}
.consult-modal__overlay{position:absolute;inset:0;background:rgba(8,24,48,.6);backdrop-filter:blur(4px)}
.consult-modal__inner{position:relative;z-index:1;background:#fff;border-radius:14px;width:min(480px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px rgba(0,10,24,.35)}
.consult-modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--c-border)}
.consult-modal__title{margin:0;font-size:1.15rem;font-weight:700;color:var(--c-text)}
.consult-modal__close{width:34px;height:34px;border-radius:8px;border:0;background:#f3f6fa;color:var(--c-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--t)}
.consult-modal__close:hover{background:#ffe3e3;color:#c53030}
.consult-modal__body{padding:20px 22px;overflow:auto;display:flex;flex-direction:column;gap:.75rem}
.consult-modal__product{margin:0 0 .4rem;padding:.65rem .85rem;background:#eff5fb;border:1px solid rgba(0,120,212,.2);border-radius:8px;font-size:.85rem;color:var(--c-text)}
.consult-modal__product strong{color:var(--c-primary);font-weight:700}
.consult-modal__body .field input,
.consult-modal__body .field textarea{width:100%;padding:.8rem 1rem;background:#fff;border:1px solid var(--c-border);border-radius:8px;font:inherit;font-size:.9rem;color:var(--c-text);transition:border-color .2s var(--t),box-shadow .2s var(--t)}
.consult-modal__body .field input::placeholder,
.consult-modal__body .field textarea::placeholder{color:var(--c-muted)}
.consult-modal__body .field input:focus,
.consult-modal__body .field textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(0,120,212,.14)}
.consult-modal__body .field textarea{resize:vertical;min-height:72px}
.consult-modal__msg{min-height:1.2em;font-size:.85rem}
.consult-modal__msg.is-success{color:#1b7a3c}
.consult-modal__msg.is-error{color:#c43}
.consult-modal__foot{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.25rem}
body.consult-modal-open{overflow:hidden}
@media (max-width:560px){
  .consult-modal__foot{flex-direction:column-reverse}
  .consult-modal__foot .btn{width:100%}
}

/* ============== CONSENT (privacy) MODAL ============== */
.consent-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s var(--t),visibility 0s linear .2s}
.consent-modal[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .2s var(--t),visibility 0s linear 0s}
.consent-modal__overlay{position:absolute;inset:0;background:rgba(8,24,48,.58);backdrop-filter:blur(4px)}
.consent-modal__inner{position:relative;z-index:1;background:#fff;border-radius:14px;width:min(560px,100%);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 60px rgba(0,10,24,.35)}
.consent-modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--c-border)}
.consent-modal__title{margin:0;font-size:1.1rem;font-weight:700;color:var(--c-text)}
.consent-modal__close{width:34px;height:34px;border-radius:8px;border:0;background:#f3f6fa;color:var(--c-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--t)}
.consent-modal__close:hover{background:#ffe3e3;color:#c53030}
.consent-modal__body{padding:18px 22px;overflow:auto;color:var(--c-text-2);line-height:1.55;font-size:.92rem}
.consent-modal__body p{margin:0 0 .75rem}
.consent-modal__body a{color:var(--c-primary);text-decoration:underline}
.consent-modal__foot{display:flex;gap:.6rem;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--c-border);background:#fafbfc}
body.consent-modal-open{overflow:hidden}
@media (max-width:560px){
  .consent-modal__foot{flex-direction:column-reverse}
  .consent-modal__foot .btn{width:100%}
}

/* ============== IMAGE LIGHTBOX ============== */
.lightbox{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s var(--t),visibility 0s linear .25s}
.lightbox[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .25s var(--t),visibility 0s linear 0s}
.lightbox__overlay{position:absolute;inset:0;background:rgba(6,18,36,.88);backdrop-filter:blur(6px)}
.lightbox__stage{position:relative;z-index:1;width:min(1400px,94vw);height:min(92vh,94vh);display:flex;align-items:center;justify-content:center}
.lightbox__img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:10px;box-shadow:0 30px 60px rgba(0,0,0,.5);background:#0f1a2e;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lightbox__btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s var(--t),transform .2s var(--t);z-index:2}
.lightbox__btn:hover{background:rgba(255,255,255,.28)}
.lightbox__btn:disabled{opacity:.35;cursor:default}
.lightbox__btn--prev{left:-68px}
.lightbox__btn--next{right:-68px}
.lightbox__btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lightbox__close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s var(--t);z-index:3}
.lightbox__close:hover{background:#ff4d4f}
.lightbox__counter{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#e7eefc;font-size:.88rem;letter-spacing:.04em;background:rgba(0,0,0,.35);padding:6px 14px;border-radius:999px;z-index:2}
.lightbox__caption{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);max-width:min(90vw,560px);text-align:center;color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.01em;background:rgba(0,0,0,.5);padding:8px 18px;border-radius:10px;z-index:2;line-height:1.4}
@media (max-width:780px){
  .lightbox__btn--prev{left:6px}
  .lightbox__btn--next{right:6px}
  .lightbox__btn{width:40px;height:40px;background:rgba(0,0,0,.45)}
}
body.lightbox-open{overflow:hidden}

/* ------ Blog category tabs (blog page + home news/useful switcher) ------ */
.blog-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 28px;border-bottom:1px solid var(--c-border)}
.blog-tab{padding:.7rem 1.1rem;border:0;background:transparent;color:var(--c-muted);font:600 .92rem/1 inherit;cursor:pointer;border-bottom:2px solid transparent;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s var(--t),border-color .2s var(--t);margin-bottom:-1px}
.blog-tab:hover{color:var(--c-heading)}
.blog-tab.is-active{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.blog-tab__count{color:var(--c-muted);font-weight:500;font-size:.8rem}
.blog-tab.is-active .blog-tab__count{color:var(--c-primary)}

.home-blog-panel[hidden]{display:none !important}
[data-home-blog-cta][hidden]{display:none !important}
.home-blog-tabs{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:0 0 28px}
.home-blog-tab{padding:.55rem 1.2rem;border:1px solid var(--c-border);background:#fff;border-radius:999px;color:var(--c-muted);font:600 .88rem/1 inherit;cursor:pointer;transition:all .2s var(--t)}
.home-blog-tab:hover{color:var(--c-heading);border-color:var(--c-muted)}
.home-blog-tab.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.home-blog-ctas{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}

/* ------ Legal documents (privacy-policy, personal-data-consent, offer, terms) ------ */
.legal-doc{font-size:.95rem;line-height:1.7;color:var(--c-body)}
.legal-doc p{margin:0 0 .9rem}
.legal-doc h2{margin:2rem 0 .9rem;font-size:1.25rem;color:var(--c-primary);padding-bottom:.4rem;border-bottom:1px solid var(--c-border)}
.legal-doc h3{margin:1.4rem 0 .7rem;font-size:1.05rem;color:var(--c-heading)}
.legal-doc ul,.legal-doc ol{margin:0 0 1rem;padding-left:1.4rem}
.legal-doc ul li,.legal-doc ol li{margin-bottom:.35rem}
.legal-doc ol ol{margin-top:.4rem}
.legal-doc__intro{font-size:1rem;padding:1rem 1.2rem;background:var(--c-soft,#f6f7f9);border-left:3px solid var(--c-primary);border-radius:0 6px 6px 0;margin-bottom:1.6rem}

/* ===================== Inline editor (admins) ===================== */
.ce-toolbar{position:fixed;right:20px;bottom:20px;z-index:1300;display:flex;gap:8px;align-items:center}
.ce-toggle{display:inline-flex;align-items:center;gap:8px;padding:.7rem 1.1rem;border-radius:999px;border:0;background:#0e54a4;color:#fff;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 8px 24px rgba(14,84,164,.35);transition:background .2s}
.ce-toggle:hover{background:#0a4185}
body.ce-on .ce-toggle{background:#16a34a;box-shadow:0 8px 24px rgba(22,163,74,.4)}
.ce-toolbar__bo{width:44px;height:44px;border-radius:50%;background:#fff;color:#0e54a4;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(8,24,60,.2)}
.ce-toolbar__bo:hover{color:#0a4185}

/* editable highlight only in edit mode */
body.ce-on [data-ce="t"],
body.ce-on [data-ce-img]{outline:1.5px dashed rgba(14,84,164,.5);outline-offset:2px;position:relative;transition:outline-color .15s}
body.ce-on [data-ce="t"]:hover,
body.ce-on [data-ce-img]:hover{outline-color:#16a34a;outline-style:solid}
.ce-pencil{display:none}
body.ce-on .ce-pencil{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-10px;right:-10px;width:24px;height:24px;border-radius:50%;border:0;background:#16a34a;color:#fff;cursor:pointer;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.25);padding:0}
body.ce-on .ce-text{position:relative}
.ce-pencil--img{top:8px;right:8px}

/* Edit-mode link to a back-office list editor (repeating card blocks) */
.ce-listedit-wrap{display:none}
body.ce-on .ce-listedit-wrap{display:flex;justify-content:center;margin-bottom:16px}
body.ce-on .ce-listedit{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:#16a34a;color:#fff;font-size:.8rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.22)}
body.ce-on .ce-listedit:hover{background:#15803d;color:#fff}

/* editor modal */
.ce-modal{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}
.ce-modal[aria-hidden="false"]{opacity:1;visibility:visible;transition:opacity .2s}
.ce-modal__overlay{position:absolute;inset:0;background:rgba(6,18,36,.6)}
.ce-modal__inner{position:relative;z-index:1;background:#fff;border-radius:14px;width:min(560px,100%);box-shadow:0 30px 60px rgba(0,10,24,.4);overflow:hidden}
.ce-modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--c-border)}
.ce-modal__title{margin:0;font-size:1rem;color:var(--c-heading)}
.ce-modal__close{border:0;background:none;color:var(--c-text-2);cursor:pointer;padding:4px}
.ce-modal__body{padding:20px}
.ce-field{width:100%;padding:.7rem .9rem;border:1px solid var(--c-border);border-radius:8px;font:inherit;font-size:.95rem}
.ce-field-label{display:block;font-size:.82rem;font-weight:600;color:var(--c-text-2);margin:.6rem 0 .35rem}
.ce-hint{font-size:.8rem;color:var(--c-text-2);margin:.5rem 0 0}
.ce-img-preview{margin-bottom:12px;border-radius:8px;overflow:hidden;background:#f2f5f9;text-align:center}
.ce-img-preview img{max-width:100%;max-height:220px;display:inline-block}
.ce-modal__foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--c-border)}
.ce-modal__msg{margin-right:auto;font-size:.85rem;color:#c0392b}
body.ce-modal-open{overflow:hidden}

/* inline editor — image tabs + library picker */
.ce-img-tabs{display:flex;gap:6px;margin-bottom:12px;border-bottom:1px solid var(--c-border)}
.ce-img-tab{border:0;background:none;padding:.5rem .9rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--c-text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.ce-img-tab.is-active{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.ce-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;max-height:300px;overflow-y:auto}
.ce-lib-item{border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#f0f3f8;aspect-ratio:1;padding:0}
.ce-lib-item img{width:100%;height:100%;object-fit:cover;display:block}
.ce-lib-item.is-sel{border-color:#16a34a}


/* ---- Product hero: badge tooltips ---- */
.prod-badge--info{position:relative;cursor:pointer;font:inherit;border:0}
.prod-badge--info::after{content:"i";margin-left:.15rem;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid currentColor;font-size:.6rem;font-weight:700;font-style:italic;opacity:.75;flex-shrink:0}
.prod-badge__pop{
  position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);
  width:max-content;max-width:min(300px,80vw);padding:10px 13px;
  background:#0f1b2d;color:#fff;border-radius:9px;font-size:.8rem;line-height:1.4;font-weight:400;
  text-align:left;white-space:normal;box-shadow:0 12px 28px rgba(0,10,24,.35);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility 0s linear .18s;z-index:20
}
.prod-badge__pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#0f1b2d}
.prod-badge--info:hover .prod-badge__pop,
.prod-badge--info:focus-visible .prod-badge__pop,
.prod-badge--info[aria-expanded="true"] .prod-badge__pop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition-delay:0s}
@media (max-width:600px){.prod-badge__pop{left:0;transform:translateY(4px)}.prod-badge__pop::after{left:24px}
  .prod-badge--info:hover .prod-badge__pop,.prod-badge--info:focus-visible .prod-badge__pop,
  .prod-badge--info[aria-expanded="true"] .prod-badge__pop{transform:translateY(0)}}

/* Certificate rows in "Почему <серия>" become download links when a PDF is set */
.product-info__feat-link{color:inherit;text-decoration:none;border-bottom:1px dashed rgba(14,84,164,.45);transition:color .18s,border-color .18s}
.product-info__feat-link:hover{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.product-info__feat-link .fa-file-pdf{margin-left:.4rem;font-size:.85em;color:#c0392b;opacity:.85}

/* Rutube uses a full-colour logo image instead of a font glyph — keep it the same
   optical size as the neighbouring icons in both the topbar and the footer. */
.soc-ico{width:1.05em;height:1.05em;object-fit:contain;display:block}
.footer__social .soc-ico{width:19px;height:19px}
.topbar__social .soc-ico{width:17px;height:17px}

/* Brand logo used in place of a text eyebrow */
.section__eyebrow--logo{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.55rem}
.section__eyebrow--logo img{height:26px;width:auto;max-width:220px;object-fit:contain;display:block}

/* Brand logo over the products mega-menu cards (mirrors the home page treatment) */
.megamenu__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.78) 55%,rgba(255,255,255,.88) 100%);pointer-events:none;transition:opacity .3s var(--t)}
.megamenu__media img.megamenu__logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:66%;max-height:46%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,20,45,.12))}
/* Same reason as .product-card__logo above: viewBox-only SVG needs an explicit
   width, and this lockup needs a wider box than the one-word PNG marks. */
.megamenu__media img.megamenu__logo[src*=".svg"]{width:88%;max-width:88%}
.megamenu__card:hover .megamenu__scrim{opacity:.88}
.megamenu__card:hover .megamenu__media img.megamenu__logo{transform:translate(-50%,-50%) scale(1.04)}
