
:root{
  --font-serif: Garamond, "Adobe Garamond Pro", "EB Garamond", Georgia, serif;
  --text: #000;
  --muted: #5b5b5b;
  --pill: #b8d162;
  --dropdown: #2f593f;
  --topbar: #2f593f;
  --bg: #ffffff;
  --container: 1200px;
  --radius-pill: 999px;
  --radius-box: 18px;
  --shadow: 0 10px 24px rgba(0,0,0,.08);
}
*{ box-sizing: border-box; }
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-serif);}
.container{ max-width: var(--container); margin: 0 auto; padding: 0 20px; }

/* Topbar */
.topbar{ background: var(--topbar); color:#fff; }
.topbar-grid{ display:grid; grid-template-columns: auto 1fr auto auto auto; column-gap: 20px; align-items:center; padding: 8px 0; white-space: nowrap; }
.tb-col{ font-size: 16px; color:#fff; }
.tb-center{ justify-self: end; }
.tb-right{ justify-self: end; }
.tb-label{ font-weight: 700; margin-right: 10px; }
.tb-link{ color:#fff; text-decoration:none; margin-left: 12px; }

/* Menu */
.menu-bar{ background: var(--bg); border-bottom: 2px solid var(--pill); }
.menu-inner{ display:grid; grid-template-columns: auto 1fr auto; align-items:center; gap: 20px; padding: 12px 0; }
.brand-logo{ height: 54px; }
.menu-logos{ display:flex; gap:22px; align-items:center; }
.menu-badge{ height:54px; }
.badge-iso{ height:44px; }
.main-nav .menu.level-1{ list-style:none; display:flex; gap:36px; justify-content:center; margin:0; padding:0; }
.main-nav .menu.level-1 > .menu-item > a{ text-decoration:none; color: var(--text); padding: 8px 16px; border-radius: var(--radius-pill); }
.main-nav .menu.level-1 > .menu-item > a:hover{ background: var(--pill); color:#1e2a19; }
.main-nav .menu.level-1 > .menu-item.is-active > a{ background: var(--pill); color:#1e2a19; font-weight:700; }
.menu-item-has-children{ position: relative; }
.menu-item-has-children > .menu.level-2{ position:absolute; top: calc(100% + 10px); left: 0; opacity:0; visibility:hidden; transform: translateY(4px); background: var(--dropdown); border-radius: 10px; padding: 10px; list-style:none; min-width:300px; }
.menu-item-has-children:hover > .menu.level-2{ opacity:1; visibility:visible; transform: translateY(0); }
.menu.level-2 > .menu-item > a{ color:#fff; text-decoration:none; display:block; padding:10px 14px; border-radius:8px; }

/* YouTube + Form */
.yt-form-section{ padding: 28px 0 50px; }
.yt-form-grid{ display:grid; grid-template-columns: 1.05fr 1fr; gap:36px; align-items:start; }
.yt-card{ margin:0; border:3px solid var(--pill); border-radius:6px; overflow:hidden; box-shadow: var(--shadow); }
.yt-card iframe{ display:block; width:100%; aspect-ratio:16/9; border:0; }
.form-title{ margin:0 0 18px; color: var(--dropdown); font-size:26px; font-weight:700; line-height:1.15; }
.offer-form{ display:grid; gap:16px; }
.form-row{ display:grid; grid-template-columns: 200px 1fr; gap:16px; align-items:center; }
.offer-form label{ color: var(--dropdown); font-weight:700; }
.offer-form input[type="text"], .offer-form input[type="email"], .offer-form input[type="tel"]{ height:44px; border:3px solid var(--pill); padding:6px 10px; border-radius:2px; font:inherit; }
.consent-head{ margin-top:6px; color:var(--dropdown); font-weight:700; border-bottom:3px solid var(--pill); display:inline-block; padding-bottom:2px; }
.consent-row{ display:grid; grid-template-columns: 24px 1fr; gap:12px; align-items:start; }
.offer-form input[type="checkbox"]{ appearance:none; width:20px; height:20px; border:3px solid var(--pill); border-radius:2px; margin-top:4px; position:relative; }
.offer-form input[type="checkbox"]:checked::after{ content:""; position:absolute; inset:3px; background: var(--pill); }
.req-note{ color:var(--dropdown); font-size:14px; }

/* Quick contact bar */
.quick-contact{ background: var(--pill); color:#fff; text-align:center; padding:10px 0; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.quick-contact-inner{ max-width: var(--container); margin:0 auto; padding:0 20px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:22px; }
.qc-phone{ color:#fff; text-decoration:none; }

/* Benefits */
.benefits{ padding:36px 0 40px; }
.benefits-grid{ display:grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap:36px; }
.benefit-frame{ border:3px solid rgba(184,209,98,.9); border-radius:18px; padding:18px 18px 26px; text-align:center; height:100%; }
.benefit-frame img{ max-height:150px; width:auto; height:auto; display:block; margin:16px auto 18px; }
.benefit-title{ font-size:14px; line-height:1.3; margin:0; font-weight:700; color: var(--dropdown); text-transform:uppercase; }

/* Offer bar & grid */
.offer-bar{ background: var(--pill); color:#fff; text-align:center; padding:10px 0; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.offer-bar-inner{ max-width: var(--container); margin:0 auto; padding:0 20px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; font-size:22px; }
.offer-grid-section{ padding:36px 0 40px; }
.offer-grid{ display:grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap:36px; }
.offer-frame{ border:3px solid rgba(184,209,98,.9); border-radius:18px; padding:18px 18px 26px; text-align:center; height:100%; }
.offer-card .offer-frame{ flex:1 1 auto; width:100%; }
.offer-frame img{ max-height:150px; width:auto; height:auto; display:block; margin:16px auto 18px; }
.offer-title{ font-size:14px; line-height:1.3; margin:0; font-weight:700; color: var(--dropdown); text-transform:uppercase; }
.offer-card{ display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.offer-card .btn-video{ align-self:center; display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; border-radius: var(--radius-pill); background: var(--dropdown); color:#fff; text-decoration:none; font-weight:700; font-size:13px; letter-spacing:.05em; white-space:nowrap; transition: background .2s ease, transform .2s ease; }
.offer-card .btn-video:hover{ background: var(--pill); color: #1e2a19; transform: translateY(-2px); }
.offer-card .btn-video:focus{ outline:3px solid rgba(184,209,98,.7); outline-offset:3px; }

/* Partner & KNF */
.partner-knf{ padding:10px 0 24px; }
.partner-knf-inner{ display:flex; justify-content:center; align-items:center; gap:36px; }
.knf-text{ color: var(--dropdown); text-transform:uppercase; letter-spacing:.02em; font-size:14px; }
.partner-logo{ height:54px; width:auto; display:block; }

/* Responsive */
@media (max-width: 1100px){
  .benefits-grid, .offer-grid{ grid-template-columns: repeat(2, minmax(220px, 1fr)); gap:26px; }
}
@media (max-width: 700px){
  .menu-inner{ grid-template-columns: 1fr auto; grid-template-areas: "brand badges" "nav nav"; }
  .quick-contact-inner, .offer-bar-inner{ font-size:18px; }
  .partner-knf-inner{ flex-direction:column; gap:10px; }
  .yt-form-grid{ grid-template-columns: 1fr; }
}

/* === STOPKA === */
.site-footer{ background: var(--dropdown); color:#eaf3dc; padding: 28px 0 40px; }
.site-footer a{ color: var(--pill); text-decoration: none; }
.site-footer a:hover{ text-decoration: underline; }

 .footer-topnav{ display:flex; justify-content:space-between; align-items:center; width:100%; gap:0; margin-bottom:24px; font-weight:700; } 
.footer-topnav a{ color:#fff; position: relative; }
.footer-topnav a:hover::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background: var(--pill);
}

.footer-grid{
  display: grid;
  grid-template-columns: 1.2fr .8fr 2fr;
  gap: 48px;
}
.footer-col h4{
  margin: 0 0 10px; font-size: 20px; color: #eaf3dc; font-weight: 700;
}
.footer-col p{ margin: 0 0 18px; }
.footer-col ul{ margin: 0; padding: 0; list-style: none; }
.footer-col li{ margin: 0 0 10px; }

.footer-useful .useful-grid{
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px;
}

.footer-graphic{ display:block; width: 144px; height:auto; margin-top: 18px;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.15));
}

@media (max-width: 1100px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .footer-useful .useful-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 700px){
   .footer-topnav{ display:flex; justify-content:space-between; align-items:center; width:100%; gap:0; margin-bottom:24px; font-weight:700; } 
  .footer-grid{ grid-template-columns: 1fr; gap: 24px; }
  .footer-graphic{ display:block; width: 144px; }
}
