:root {
  --bg:#f8fafc;
  --card:#ffffff;
  --muted:#475569;
  --text:#0f172a;
  --accent:#22c55e;
  --border:#d6e3f0;
  --header-bg:rgba(255,255,255,.82);
  --pill-bg:#e2e8f0;
  --footer-bg:#e2e8f0;
  --calc-input-bg:#f1f5f9;
  --btn-text:#052e14;
  --control-hover:#64748b;
  --overlay:rgba(15,23,42,.45);
}

:root[data-theme="dark"] {
  --bg:#0c1116;
  --card:#111827;
  --muted:#9aa4b2;
  --text:#e5e7eb;
  --accent:#22c55e;
  --border:#334155;
  --header-bg:rgba(12,17,22,.7);
  --pill-bg:#0b1723;
  --footer-bg:#0b1220;
  --calc-input-bg:#0b1723;
  --btn-text:#052e14;
  --control-hover:#3b556f;
  --overlay:rgba(0,0,0,.55);
}

/* Base */
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
  white-space:nowrap;
}
.nav-open{overflow:hidden}

.container{max-width:1080px;margin:0 auto;padding:24px}

h1{margin:16px 0 8px;font-size:clamp(28px,4vw,40px);line-height:1.2}
p{margin:8px 0}
.lede{margin:6px 0 22px;font-size:1.125rem;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:0.875rem}

/* Header */
.site-header{border-bottom:1px solid var(--border);background:var(--header-bg);backdrop-filter:saturate(1.1) blur(4px)}
.site-header .container{display:flex;flex-direction:column;gap:16px;padding:10px 24px;}
.header-top{display:flex;align-items:center;gap:16px;width:100%;}
.header-top__contacts{display:none;align-items:center;gap:18px;margin-left:auto;}
.header-top__contact-link{display:inline-flex;align-items:center;color:var(--text);text-decoration:none;font-weight:600;padding:4px 6px;border-radius:8px;transition:color .2s ease,background-color .2s ease}
.header-top__contact-link:hover{color:var(--text);background-color:rgba(148,163,184,.18)}
.header-top__contact-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.brand{display:flex;align-items:center;gap:12px;padding:8px 0;flex:1;min-width:0}
.logo{width:32px;height:32px;display:grid;place-items:center;background:var(--card);border-radius:8px}
.logo img{max-width:100%;max-height:100%;object-fit:contain}
.brand-text{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1;min-width:0}
.brand-text strong{display:flex;align-items:center;gap:8px;margin-right:auto;white-space:nowrap}
.brand-contacts{display:flex;align-items:center;gap:10px;margin-top:0;margin-left:12px}
.brand-contact{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--muted);text-decoration:none;transition:border-color .2s ease,color .2s ease,background-color .2s ease}
.brand-contact:hover{border-color:var(--control-hover);color:var(--text)}
.brand-contact:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.brand-contact::before{content:"";width:18px;height:18px;background-color:currentColor;display:block}
.brand-contact--phone::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 6.75c0 8.284 6.716 15 15 15h1.5a1.5 1.5 0 0 0 1.5-1.5v-2.25a1.5 1.5 0 0 0-1.3-1.485l-3.3-.55a1.5 1.5 0 0 0-1.51.87l-.7 1.54c-2.874-1.21-5.2-3.536-6.41-6.41l1.54-.7a1.5 1.5 0 0 0 .87-1.51l-.55-3.3A1.5 1.5 0 0 0 6.75 3.75H4.5a1.5 1.5 0 0 0-1.5 1.5v1.5Z'/%3E%3C/svg%3E") no-repeat center/contain; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 6.75c0 8.284 6.716 15 15 15h1.5a1.5 1.5 0 0 0 1.5-1.5v-2.25a1.5 1.5 0 0 0-1.3-1.485l-3.3-.55a1.5 1.5 0 0 0-1.51.87l-.7 1.54c-2.874-1.21-5.2-3.536-6.41-6.41l1.54-.7a1.5 1.5 0 0 0 .87-1.51l-.55-3.3A1.5 1.5 0 0 0 6.75 3.75H4.5a1.5 1.5 0 0 0-1.5 1.5v1.5Z'/%3E%3C/svg%3E") no-repeat center/contain}
.brand-contact--email::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21.75 7.5v9a2.25 2.25 0 0 1-2.25 2.25h-15A2.25 2.25 0 0 1 2.25 16.5v-9A2.25 2.25 0 0 1 4.5 5.25h15A2.25 2.25 0 0 1 21.75 7.5ZM6 7.5l6 4.5 6-4.5'/%3E%3C/svg%3E") no-repeat center/contain; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21.75 7.5v9a2.25 2.25 0 0 1-2.25 2.25h-15A2.25 2.25 0 0 1 2.25 16.5v-9A2.25 2.25 0 0 1 4.5 5.25h15A2.25 2.25 0 0 1 21.75 7.5ZM6 7.5l6 4.5 6-4.5'/%3E%3C/svg%3E") no-repeat center/contain}

/* Form */
.lead-form{max-width:640px}
.field{margin:0 0 14px}
.field label{display:block;margin:0 0 6px;color:var(--muted)}
.field input,
.field textarea{
  width:100%;
  box-sizing:border-box;
  background:var(--card);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  outline:none;
  font-size:1rem;
}
.field textarea{resize:vertical;min-height:96px}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(34,197,94,.15)}

.actions{margin-top:18px}
.policy-accept label{display:flex;align-items:center;gap:10px;color:var(--muted)}
.policy-accept input[type=checkbox]{width:18px;height:18px}
.policy-accept a{color:var(--text)}

/* Buttons */
.btn{
  background:var(--accent);
  color:var(--btn-text);
  padding:14px 18px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  display:inline-block;
  border:none;
  cursor:pointer;
}
.btn:hover{filter:saturate(1.1) brightness(1.02)}
.btn:disabled{opacity:.7;cursor:not-allowed}

/* Secondary button */
.btn-secondary{
  background:transparent;
  color:var(--text);
  padding:12px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:600;
  display:inline-block;
  border:1px solid var(--border);
  cursor:pointer;
}
.btn-secondary:hover{border-color:var(--control-hover)}

/* Sections */
.section{padding:48px 0}
.hero{padding:64px 0}
.cta{text-align:center}
.cta .btn{margin-top:8px}
.docs-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
  width:100%;
}
.docs-actions .doc-btn{
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  padding:12px 18px;
  border-radius:14px;
}
.docs-actions .doc-btn span{flex:1; min-width:0;}
.docs-actions .doc-btn::after{
  content:"";
  width:18px;
  height:18px;
  background-color:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a1 1 0 0 1 1 1v9.59l2.29-2.3a1 1 0 1 1 1.42 1.42l-4 4a1 1 0 0 1-1.42 0l-4-4a1 1 0 0 1 1.42-1.42L11 13.59V4a1 1 0 0 1 1-1Zm-7 14a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a1 1 0 0 1 1 1v9.59l2.29-2.3a1 1 0 1 1 1.42 1.42l-4 4a1 1 0 0 1-1.42 0l-4-4a1 1 0 0 1 1.42-1.42L11 13.59V4a1 1 0 0 1 1-1Zm-7 14a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1Z'/%3E%3C/svg%3E") no-repeat center/contain;
}

@media (max-width: 640px){
  .docs-actions{flex-wrap:nowrap}
  .docs-actions .doc-btn{flex:1 1 auto; width:100%;}
}

/* Header nav + stickiness */
.site-header{position:sticky;top:0;z-index:50}
.site-nav{margin-left:auto;padding:0}
.site-nav__inner{display:flex;align-items:center}
.site-nav__list{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0}
.site-nav__link{color:var(--muted);text-decoration:none;padding:8px 0;display:inline-flex;align-items:center;font-weight:500}
.site-nav__link:hover{color:var(--text)}
.site-nav__contact-bar{display:none;align-items:center;gap:18px}
.site-nav__contact-link{display:inline-flex;align-items:center;color:var(--text);text-decoration:none;font-weight:600;padding:4px 6px;border-radius:8px;transition:color .2s ease,background-color .2s ease}
.site-nav__contact-link:hover{color:var(--text);background-color:rgba(148,163,184,.18)}
.site-nav__contact-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.site-nav__link--contact{gap:8px;font-weight:600;color:var(--text)}
.site-nav__link--contact:hover{color:var(--text)}
.contact-icon{display:inline-block;width:18px;height:18px;background-color:currentColor}
.contact-icon--phone{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 6.75c0 8.284 6.716 15 15 15h1.5a1.5 1.5 0 0 0 1.5-1.5v-2.25a1.5 1.5 0 0 0-1.3-1.485l-3.3-.55a1.5 1.5 0 0 0-1.51.87l-.7 1.54c-2.874-1.21-5.2-3.536-6.41-6.41l1.54-.7a1.5 1.5 0 0 0 .87-1.51l-.55-3.3A1.5 1.5 0 0 0 6.75 3.75H4.5a1.5 1.5 0 0 0-1.5 1.5v1.5Z'/%3E%3C/svg%3E") no-repeat center/contain; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 6.75c0 8.284 6.716 15 15 15h1.5a1.5 1.5 0 0 0 1.5-1.5v-2.25a1.5 1.5 0 0 0-1.3-1.485l-3.3-.55a1.5 1.5 0 0 0-1.51.87l-.7 1.54c-2.874-1.21-5.2-3.536-6.41-6.41l1.54-.7a1.5 1.5 0 0 0 .87-1.51l-.55-3.3A1.5 1.5 0 0 0 6.75 3.75H4.5a1.5 1.5 0 0 0-1.5 1.5v1.5Z'/%3E%3C/svg%3E") no-repeat center/contain}
.contact-icon--email{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21.75 7.5v9a2.25 2.25 0 0 1-2.25 2.25h-15A2.25 2.25 0 0 1 2.25 16.5v-9A2.25 2.25 0 0 1 4.5 5.25h15A2.25 2.25 0 0 1 21.75 7.5ZM6 7.5l6 4.5 6-4.5'/%3E%3C/svg%3E") no-repeat center/contain; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21.75 7.5v9a2.25 2.25 0 0 1-2.25 2.25h-15A2.25 2.25 0 0 1 2.25 16.5v-9A2.25 2.25 0 0 1 4.5 5.25h15A2.25 2.25 0 0 1 21.75 7.5ZM6 7.5l6 4.5 6-4.5'/%3E%3C/svg%3E") no-repeat center/contain}
.site-nav__item--contact{margin-left:8px}
.site-nav__item--contact .site-nav__link{padding:6px 0}
.site-nav__item--toggle{margin-left:12px}
.site-nav__overlay[hidden]{display:none}
.site-nav__overlay{position:fixed;inset:0;background:rgba(15,23,42,.25);backdrop-filter:blur(2px);z-index:45;opacity:0;pointer-events:none;transition:opacity .25s ease}
.site-nav__overlay.is-visible{opacity:1;pointer-events:auto}
.site-nav-placeholder,
.site-nav-overlay-placeholder{display:none}
.site-nav__close{display:none;margin-left:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;width:40px;height:40px;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.site-nav__close:hover{border-color:var(--control-hover)}
.site-nav__close:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.site-nav__close-icon{position:relative;width:18px;height:18px;display:block}
.site-nav__close-icon::before,
.site-nav__close-icon::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;border-radius:999px;transform-origin:center}
.site-nav__close-icon::before{transform:translate(-50%,-50%) rotate(45deg)}
.site-nav__close-icon::after{transform:translate(-50%,-50%) rotate(-45deg)}
.site-nav__close-label{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap}
@media (min-width: 761px){
  .site-header .container{align-items:stretch}
  .header-top{justify-content:space-between}
  .header-top__contacts{display:flex}
  .brand-contacts{display:none}
  .site-nav{margin-left:0;width:100%}
  .site-nav__overlay{display:none !important}
  .site-nav__inner{justify-content:flex-start}
  .site-nav__contact-bar{display:none}
  .site-nav__item--contact{display:none}
  .site-nav__link,
  .header-top__contact-link,
  .site-nav__contact-link{cursor:pointer}
}
.menu-toggle{display:none;margin-left:auto;position:relative;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);align-items:center;justify-content:center;gap:6px;flex-direction:column;padding:6px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.menu-toggle__bar{display:block;width:22px;height:2px;background:currentColor;border-radius:999px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle__label{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}
.menu-toggle:hover{border-color:var(--control-hover)}
.menu-toggle.is-open .menu-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle.is-open .menu-toggle__bar:nth-child(2){opacity:0}
.menu-toggle.is-open .menu-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.theme-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:transparent;color:var(--muted);padding:6px 14px;border-radius:999px;font-size:.95rem;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}
.theme-toggle:hover{color:var(--text);border-color:var(--control-hover)}
.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.theme-toggle .theme-icon{width:18px;height:18px;display:inline-block;position:relative}
.theme-toggle .theme-icon::before{content:"";position:absolute;inset:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.6' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 3.75v.75m6.75 6.75h.75M4.5 12H3.75m16.5 0A8.25 8.25 0 1 1 11.25 3.75v0c-.215 0-.43.008-.643.024A6.75 6.75 0 0 0 19.5 12Z'/%3E%3C/svg%3E") no-repeat center/contain; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.6' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 3.75v.75m6.75 6.75h.75M4.5 12H3.75m16.5 0A8.25 8.25 0 1 1 11.25 3.75v0c-.215 0-.43.008-.643.024A6.75 6.75 0 0 0 19.5 12Z'/%3E%3C/svg%3E") no-repeat center/contain}
.theme-toggle[data-theme="dark"] .theme-icon::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z'/%3E%3C/svg%3E") no-repeat center/contain; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z'/%3E%3C/svg%3E") no-repeat center/contain}
.site-nav__item--toggle .theme-toggle{margin-left:0}

@media (max-width: 760px){
  .header-top{justify-content:space-between}
  .menu-toggle{display:flex}
  .site-nav{margin-left:0;position:fixed;top:0;right:0;bottom:0;width:min(320px,80vw);background:var(--card);border-left:1px solid var(--border);transform:translateX(100%);transition:transform .3s ease;z-index:70;padding:0 24px 32px;box-shadow:-10px 0 30px rgba(15,23,42,.18);will-change:transform;pointer-events:none}
  .site-nav[data-open="true"]{transform:translateX(0);pointer-events:auto}
  .site-nav__inner{position:relative;height:100%;width:100%;align-items:flex-start;overflow-y:auto;padding-top:0}
  .site-nav__contact-bar{display:none}
  .site-nav__list{flex-direction:column;align-items:flex-start;gap:18px;width:100%;margin-top:24px}
  .site-nav__close{display:flex;margin-bottom:0;margin-left:auto;position:absolute;top:24px;right:0}
  .site-nav__item{width:100%}
  .site-nav__link{width:100%;padding:12px 0;font-size:1.05rem}
  .site-nav__item--toggle{margin-left:0}
  .site-nav__item--toggle .theme-toggle{width:100%;justify-content:flex-start}
  .site-nav__item--contact{margin-left:0}
  .site-nav__link--contact{font-size:1.05rem}
}

/* Cards & grid */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.pill{display:inline-block;background:var(--pill-bg);border:1px solid var(--border);color:var(--muted);padding:4px 8px;border-radius:999px;font-size:.8rem;margin-bottom:8px}
/* Consistent inner spacing */
.card > * + *{margin-top:8px}
.card h3{margin:0}
.card p{margin:0}
.card ul{margin:0 0 0 18px}
.card li{margin:6px 0}

/* Flip cards */
.flip-card{position:relative;perspective:1000px;cursor:pointer;outline:none;overflow:hidden;border-radius:14px;min-height:220px;transition:height .28s ease, box-shadow .2s}
.flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}
.flip-face{backface-visibility:hidden;height:100%}
.flip-front{position:relative;height:100%}
.flip-back{position:absolute;inset:0;transform:rotateY(180deg);height:100%}
.flip-card.active .flip-inner{transform:rotateY(180deg)}
.flip-card:focus-visible .card{box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.flip-card:hover .card{border-color:var(--control-hover)}

/* front action button */
.flip-front.card{position:relative;display:block;padding-bottom:18px}
.flip-btn{margin-top:16px;background:transparent;border:1px solid var(--border);color:var(--accent);border-radius:999px;padding:6px 10px;font-size:.85rem;cursor:pointer}
.flip-btn:hover{border-color:var(--accent)}
.flip-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.15)}

/* Back face spacing symmetry */
.flip-back .card{display:flex;flex-direction:column;padding:24px}

/* legacy hint cleanup (no longer used) */
.hint{color:var(--accent);font-weight:600}

/* Front face layout: keep hint near bottom, reduce bottom padding */
.flip-front.card{position:relative;display:block;padding-bottom:18px}
.flip-front.card .hint{position:absolute;left:16px;right:36px;bottom:10px}

/* Steps */
.steps{counter-reset:step;list-style:none;padding:0;margin:12px 0 0}
.steps li{position:relative;padding-left:36px;margin:10px 0}
.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;transform:translateY(2px);width:24px;height:24px;display:grid;place-items:center;background:var(--accent);color:var(--btn-text);border-radius:50%;font-weight:700}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 14px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0}

/* Anchors */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:80px}
#calc{scroll-margin-top:80px}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:var(--footer-bg)}
.site-footer .footer-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.site-footer .footer-copy{font-size:.95rem}
.site-footer .footer-legal{font-size:.9rem}
.site-footer a{color:var(--text);text-decoration:none}
.site-footer a:hover{text-decoration:underline}

/* Calculator */
.calc{margin-top:18px}
.calc h3{margin:0 0 8px}
.calc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.calc-label{color:var(--muted);white-space:nowrap;display:flex;align-items:center;min-height:42px}
.calc-input{background:var(--calc-input-bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;min-height:42px;box-sizing:border-box}
.calc select.calc-input{width:clamp(140px,50vw,280px)}
.promo-box{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;/*width:100%*/;min-height:42px}
.promo-input-wrap{position:relative;flex:0 1 clamp(160px,60vw,320px);max-width:100%;min-width:0}
.promo-input{width:100%;height:42px;padding-right:44px;min-width:0}
.promo-icon-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:transparent;color:var(--muted);border:1px solid var(--border);cursor:pointer}
.promo-icon-btn::before{content:'\2192';font-size:16px;line-height:1}
.promo-icon-btn:hover{border-color:var(--control-hover)}
.promo-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.promo-icon-btn.applied{background:var(--accent);border-color:var(--accent);color:var(--btn-text)}
.promo-icon-btn.applied::before{content:'\2713';font-weight:700}
#promoInfo[hidden]{display:none !important}
.calc-qty{display:flex;align-items:center;gap:8px;/*margin-right:6px*/}
.qty-input{width:72px;text-align:center}
.qty-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:20px;line-height:1;cursor:pointer}
.qty-btn:hover{border-color:var(--control-hover)}
.toggle-btn{background:transparent;border:1px solid var(--border);color:var(--accent);border-radius:999px;padding:8px 12px;cursor:pointer}
.toggle-btn[data-active="true"], .toggle-btn[aria-pressed="true"]{background:rgba(34,197,94,.1);border-color:var(--accent);color:var(--text)}
.calc-actions{margin-top:20px}
.calc-result{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}
.result-title{font-weight:700;margin-bottom:6px}
.result-prices{display:flex;flex-direction:column;gap:4px}
.result-prices .old{text-decoration:line-through;color:var(--muted)}
.result-prices .new{font-size:1.15rem}
.promo-info{margin-top:6px}
.result-note{margin-top:8px}
.calc-cta{margin-top:10px}

/* hide number input spinners */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number]{ -moz-appearance: textfield; }

@media (min-width: 720px){
  .calc{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .calc h3{grid-column:1/-1}
  .calc-actions{grid-column:1/-1}
  .calc-result{grid-column:1/-1}
  .qty-input{width:90px}
}

@media (max-width: 719px){
  .calc{margin-top:28px}
}

@media (max-width: 880px){
  .calc-row{flex-wrap:wrap;align-items:flex-start}
  .calc-label{white-space:normal;margin-bottom:4px}
  .calc select.calc-input{width:100%}
  .calc-qty{flex:1 1 100%;width:100%;justify-content:space-between}
  .qty-input{flex:1 1 auto;min-width:0}
}

@media (max-width: 560px){
  .calc-row{flex-direction:column;align-items:stretch;gap:8px}
  .calc-label{width:100%;min-height:auto}
  .calc-input{width:100%}
  .calc select.calc-input{width:100%}
  .calc-qty{width:100%;justify-content:space-between;gap:10px}
  .calc-qty .qty-btn{flex:0 0 42px}
  .qty-input{flex:1 1 auto;width:100%;min-width:0}
  .toggle-btn{width:100%;text-align:center}
  .promo-box{flex-direction:column;align-items:stretch}
  .promo-input-wrap{flex:1 1 auto;width:100%}
  .promo-input{width:100%}
}

/* Modal */
.modal-overlay[hidden]{display:none}
.modal-overlay{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:100}
.modal-overlay#policyModal{z-index:150}
.modal{background:var(--card);border:1px solid var(--border);border-radius:14px;max-width:520px;width:92vw;padding:18px;position:relative;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;gap:12px}
.modal-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:20px;cursor:pointer}
.modal-close:hover{border-color:var(--control-hover)}
.modal h3{margin:0}
.modal .modal-body{flex:1 1 auto;overflow:auto;margin-top:4px;padding-right:4px}
#policyModal .actions{margin-top:0;display:flex;flex-wrap:wrap;gap:10px}
.modal .policy-accept span{font-size:0.9rem}

/* Cookie banner */
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:120;display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.cookie-text{flex:1;min-width:220px;color:var(--muted)}
.cookie-actions{display:flex;gap:8px}

@media (min-width: 960px){
  .cookie-banner{max-width:900px;margin:0 auto;left:0;right:0}
}

.btn.btn-mini { padding:4px 8px; }
.segmented label { margin-right:12px; }
section.calc { display:block !important; margin-top:72px; }
section.calc h2 { margin:0 0 12px; }

.calc__panel { border:1px solid rgba(0,0,0,.08); border-radius:12px; padding:16px; background:var(--card); display:flex; flex-direction:column; gap:12px; }
.calc__row { display:flex; align-items:center; gap:12px; }
.calc__row[hidden] { display:none !important; }
.calc__row--checkbox { align-items:center; }
.calc__row--promo { flex-wrap:wrap; }
.calc__row--promo .calc__label { min-width:0; }
.calc__row input[type="number"],
.calc__row input[type="text"],
.calc__row input[type="tel"],
.calc__row input[type="email"],
.calc__row textarea,
.calc__row select,
.calc__row .calc__input { flex:1 1 auto; min-height:42px; border-radius:10px; border:1px solid var(--border); background:var(--calc-input-bg); color:var(--text); padding:10px 12px; box-sizing:border-box; }
.calc__row select { width:100%; max-width:100%; height:42px; line-height:1.2; appearance:none; -webkit-appearance:none; -moz-appearance:none; padding-right:36px; background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position:calc(100% - 18px) 17px, calc(100% - 12px) 17px; background-size:6px 6px; background-repeat:no-repeat; }
.calc__row select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 2px rgba(16,185,129,.15); }
.calc__row textarea { resize:vertical; }
.calc__row input[type="checkbox"] { margin-right:6px; }
.calc__row--checkbox label { display:flex; align-items:center; gap:6px; }
.calc__row .calc__label { min-width:140px; color:var(--muted); flex:0 0 140px; }
.calc__row button.btn { flex:0 0 auto; }

.calc__row-pair { display:flex; flex-direction:column; gap:12px; }
.calc__row--inline { width:100%; align-items:center; }
.calc__row--inline > *:not(.calc__label) { flex:1 1 auto; min-width:0; }

.calc__number-input { flex:1 1 auto; min-width:0; width:100%; display:flex; align-items:stretch; border:1px solid var(--border); border-radius:10px; background:var(--calc-input-bg); overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.calc__number-input input[type="number"] { flex:1 1 auto; border:0; border-radius:0; background:transparent; padding:10px 12px; min-height:42px; color:var(--text); width:100%; box-sizing:border-box; text-align:center; appearance:textfield; }
.calc__number-input input[type="number"]::-webkit-outer-spin-button,
.calc__number-input input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin:0; }
.calc__number-input .calc__number-btn { flex:0 0 42px; display:grid; place-items:center; border:0; background:transparent; color:var(--accent); font-size:1.25rem; font-weight:600; cursor:pointer; transition:background .2s ease, color .2s ease; }
.calc__number-input .calc__number-btn:hover { background:rgba(16,185,129,.12); }
.calc__number-input .calc__number-btn:focus-visible { outline:none; background:rgba(16,185,129,.18); }
.calc__number-input:focus-within { border-color:var(--accent); box-shadow:0 0 0 2px rgba(16,185,129,.15); }
.calc__number-input .calc__number-btn span { display:inline-block; line-height:1; }

.calc__summary { border-top:1px solid rgba(0,0,0,.06); padding-top:10px; display:flex; flex-direction:column; gap:6px; }
.calc__totals { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; }
.calc__totals { flex-direction:column; align-items:flex-start; gap:6px; }
.calc__totals .price { font-size:1.35rem; font-weight:700; }
.calc__totals .old-price { text-decoration:line-through; opacity:.6; display:inline-block; }
.calc__total-label { font-weight:700; }
.calc__price-block { display:flex; flex-direction:column; gap:4px; }
.price-line { display:flex; gap:6px; align-items:baseline; }
.price-text { color:var(--muted); font-weight:600; }

.calc__lead { display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.calc__lead .calc__row { flex-direction:column; align-items:stretch; gap:6px; }
.calc__lead button { align-self:flex-start; }

.note { font-size:0.9rem; color:var(--muted); }
.note.warn { color:#b45309; }
.note.info { color:#0369a1; }

.calc__panel .success { color:#047857; }
.calc__panel .error { color:#b91c1c; }

.badge { display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; font-size:0.75rem; font-weight:600; background:rgba(16,185,129,.12); color:#047857; margin-left:8px; }
.badge.warn { background:rgba(234,179,8,.18); color:#b45309; }

@media (max-width: 720px) {
  .calc__panel { padding:14px; gap:14px; }
  .calc__row { flex-direction:column; align-items:stretch; width:100%; gap:8px; }
  .calc__row .calc__label { min-width:0; width:100%; flex:0 0 auto; }
  .calc__row input[type="number"],
  .calc__row input[type="text"],
  .calc__row input[type="tel"],
  .calc__row select { width:100%; }
  .calc__row .calc__number-input { width:100%; }
  .segmented { width:100%; display:flex; gap:8px; }
  .segmented label { flex:1 1 0; text-align:center; margin-right:0; }
  .calc__row--promo { flex-direction:column; align-items:stretch; }
  .calc__row--promo button { width:100%; }
  .calc__lead .calc__row { padding:0; }
  .calc__lead button { width:100%; }
  .calc__totals { gap:8px; }
}

@media (min-width: 768px) {
  .calc__row-pair { flex-direction:row; align-items:flex-start; gap:16px; }
  .calc__row--inline { flex:1 1 0; }
  .calc__row--inline .calc__label { min-width:0; flex:0 0 160px; }
}
.policy-link {
  color: var(--text);
  text-decoration: underline dotted;
}
