/*
 * Gracja – style strony one-page (motyw potomny Kadence + bloki Stackable)
 * Klasy .gr-* są nadane blokom Stackable (Zaawansowane → Dodatkowe klasy CSS).
 * Kolory, odstępy i rozmiary ustawione są w samych blokach – tu tylko to, czego Stackable nie robi.
 */

/* ---------- Fonty (hostowane lokalnie – bez Google Fonts CDN, zgodnie z RODO) ---------- */
@font-face{font-family:"Archivo Gracja";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url("../fonts/archivo-latin-ext-wdth-normal.woff2") format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo Gracja";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree Gracja";font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/figtree-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree Gracja";font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/figtree-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree Gracja";font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/figtree-latin-ext-600-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree Gracja";font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/figtree-latin-600-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree Gracja";font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/figtree-latin-ext-700-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree Gracja";font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/figtree-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokeny ---------- */
:root{
  --gr-navy:#0B1F4D; --gr-navy-2:#071534; --gr-blue:#1A47C2; --gr-blue-dk:#0F3496; --gr-text:#3E4A63;
  --gr-line:#DCE3F0; --gr-soft:#F3F6FB; --gr-ice:#EAF1FF; --gr-white:#FFFFFF;
  --gr-amber:#FFB21A; --gr-amber-dk:#E8A100; --gr-on-navy:#B9C6E4; --gr-field:#6B7895; --gr-error:#B42318;
  --gr-font-display:"Archivo Gracja","Archivo",system-ui,sans-serif;
  --gr-font-body:"Figtree Gracja","Figtree",system-ui,sans-serif;
  --gr-wrap:1240px; --gr-gutter:24px; --gr-sec:120px;
  --gr-r-sm:10px; --gr-r-md:20px; --gr-r-lg:24px;
  --gr-i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --gr-i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --gr-i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --gr-i-home:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E");
  --gr-i-building:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M9 7h1M14 7h1M9 11h1M14 11h1M9 15h1M14 15h1'/%3E%3C/svg%3E");
  --gr-i-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
  --gr-i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --gr-i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-12a7 7 0 0 1 14 0c0 5.8-7 12-7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");
  --gr-i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
  --gr-i-award:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 14L7 22l5-3 5 3-1.5-8'/%3E%3C/svg%3E");
  --gr-i-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --gr-i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.5'/%3E%3C/svg%3E");
  --gr-i-shield-blue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A47C2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}

/* Paleta Kadence (zabezpieczenie – i tak ustaw ją w Customizerze: Kolory → Globalna paleta) */
:root:root{
  --global-palette1:#1A47C2; --global-palette2:#0F3496; --global-palette3:#0B1F4D; --global-palette4:#3E4A63; --global-palette5:#4A5878;
  --global-palette6:#DCE3F0; --global-palette7:#F3F6FB; --global-palette8:#FFFFFF; --global-palette9:#FFFFFF;
}

/* ---------- Globalne ---------- */
html{scroll-behavior:smooth;scroll-padding-top:var(--gr-scroll-offset,24px)}
/* Nagłówek przyklejony w Kadence? Ustaw w Dodatkowym CSS: :root{--gr-scroll-offset:110px} */
/* Fonty nagłówków i treści wymuszone niezależnie od ustawień Kadence */
html body{font-family:var(--gr-font-body)}
html :is(h1,h2,h3,h4,h5,h6){font-family:var(--gr-font-display);font-stretch:112%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{font-family:var(--gr-font-body);color:var(--gr-text);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.site-title{font-family:var(--gr-font-display);font-stretch:112%;color:var(--gr-navy)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--gr-amber);outline-offset:3px;border-radius:4px}
.gr-dark :where(a,button,summary):focus-visible{outline-color:var(--gr-amber)}
.gr-btn--primary .stk-button:focus-visible{outline-color:var(--gr-navy)}

/* Logo tekstowe w nagłówku Kadence */
.site-branding .site-title,.site-branding .site-title a{font-weight:900;font-stretch:125%;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.site-branding .site-title a{color:var(--gr-navy)}
.site-branding .site-description{font-size:11px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:var(--gr-text)}
/* Element HTML w nagłówku: telefon */
.gr-hdr-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:2px solid var(--gr-navy);border-radius:var(--gr-r-sm);color:var(--gr-navy)!important;font-weight:700;text-decoration:none;white-space:nowrap}
.gr-hdr-phone::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:var(--gr-i-phone) center/contain no-repeat;mask:var(--gr-i-phone) center/contain no-repeat}
.gr-hdr-phone:hover{background:var(--gr-navy);color:#fff!important}

/* ---------- Sekcje Stackable ---------- */
.gr-sec{font-family:var(--gr-font-body);font-size:18px;line-height:1.6;color:var(--gr-text)}
.entry-content > .gr-sec.alignfull{margin-top:0;margin-bottom:0}
/* szerokość treści sekcji: 1240 px niezależnie od szerokości treści motywu */
.gr-sec > .stk-content-align{max-width:var(--gr-wrap)!important;margin-left:auto!important;margin-right:auto!important}
.gr-sec :is(.stk-block-heading__text,.stk-block-text__text,.stk-block-subtitle__text){margin:0}
.gr-sec :where(.stk-block-heading__text){font-family:var(--gr-font-display);font-stretch:112%;color:var(--gr-navy);line-height:1.08;letter-spacing:-.01em;font-weight:800}
.gr-sec h2.stk-block-heading__text{font-size:clamp(34px,3.6vw,52px)}
.gr-sec h3.stk-block-heading__text{font-size:24px}
.gr-sec .stk-block-heading__text em{font-style:normal;color:var(--gr-blue)}
.gr-sec :where(.stk-block-text__text,.stk-block-icon-list-item__text){color:var(--gr-text)}
.gr-sec.gr-dark :where(.stk-block-text__text){color:var(--gr-on-navy)}
.gr-form,.gr-form *{box-sizing:border-box}
.gr-sec :is(.gr-card,.gr-stat,.gr-contact__info,.gr-faq__item) .stk-container,.gr-sec :is(.gr-card,.gr-stat,.gr-contact__info) > .stk-column-wrapper{box-shadow:none!important}
.gr-sec a:not(.stk-button){color:var(--gr-blue)}
.gr-sec a:not(.stk-button):hover{color:var(--gr-blue-dk)}

/* etykiety */
.gr-sec .gr-num .stk-block-subtitle__text,.gr-sec .gr-num{font-family:var(--gr-font-display);font-stretch:125%;font-weight:800;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--gr-blue)}
.gr-sec .gr-eyebrow .stk-block-text__text{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--gr-blue)}
.gr-sec .gr-eyebrow .stk-block-text__text::before{content:"";width:32px;height:3px;background:var(--gr-amber);border-radius:2px;flex:none}
.gr-sec .gr-head__lead .stk-block-text__text{font-size:19px;max-width:560px}

/* przyciski: stan fokusu i strzałka */
.gr-sec .stk-button{font-family:var(--gr-font-body);line-height:1.2;text-decoration:none!important}
.gr-sec .gr-btn--link .stk-button{min-height:44px}

/* listy */
.gr-sec .gr-ticks .stk-block-icon-list-item__text,.gr-sec .gr-checks .stk-block-icon-list-item__text{color:var(--gr-navy);font-weight:500}

/* HERO */
.gr-sec .gr-hero__media > .stk-column-wrapper > .stk-block-content{position:relative}
.gr-sec .gr-hero__img img{border-radius:24px 24px 24px 120px}
.gr-sec .gr-chip{position:absolute;right:24px;top:24px;margin:0!important;z-index:2}
.gr-sec .gr-chip .stk-block-text__text{background:var(--gr-navy);color:#fff;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600;display:inline-flex;gap:8px;align-items:center}
.gr-sec .gr-chip .stk-block-text__text::before{content:"";width:20px;height:20px;background:var(--gr-amber);-webkit-mask:var(--gr-i-shield) center/contain no-repeat;mask:var(--gr-i-shield) center/contain no-repeat}
.gr-sec .gr-badge{position:absolute;left:-40px;bottom:40px;margin:0!important;z-index:2}
.gr-sec .gr-badge .stk-block-text__text{background:#fff;border-radius:16px;padding:22px 26px 22px 150px;box-shadow:0 18px 40px rgba(11,31,77,.16);font-size:15px;line-height:1.35;color:var(--gr-navy);font-weight:600;position:relative;min-height:96px;display:flex;flex-direction:column;justify-content:center}
.gr-sec .gr-badge strong{position:absolute;left:26px;top:50%;transform:translateY(-50%);font-family:var(--gr-font-display);font-stretch:112%;font-size:52px;font-weight:900;line-height:1;color:var(--gr-blue)}

/* MARKI */
.gr-sec .gr-brands__label .stk-block-text__text{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.gr-sec .gr-brands__list .stk--svg-wrapper{display:none}
.gr-sec .gr-brands__list .stk-block-icon-list-item__text{font-family:var(--gr-font-display);font-stretch:118%;font-weight:800;font-size:19px;color:var(--gr-navy);letter-spacing:.02em;text-transform:uppercase}

/* OFERTA */
.gr-sec .gr-card > .stk-column-wrapper{overflow:hidden}
.gr-sec .gr-card__img{margin:0!important}
.gr-sec .gr-tag .stk-block-icon-list-item__text{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gr-blue)}
.gr-sec .gr-strip__icon .stk--svg-wrapper{width:64px;height:64px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center}
.gr-sec .gr-strip__iconcol{flex:0 0 auto!important}
.gr-sec .gr-strip__cta{flex:0 0 auto!important}

/* JAK DZIAŁAMY */
.gr-sec .gr-step > .stk-column-wrapper{border-top:2px solid rgba(185,198,228,.35);padding-top:40px!important;position:relative}
.gr-sec .gr-step > .stk-column-wrapper::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--gr-amber)}
.gr-sec .gr-step__n .stk-block-text__text{font-family:var(--gr-font-display);font-stretch:125%;font-weight:900;font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--gr-on-navy)}
.gr-sec .gr-process__cta{padding-top:40px;border-top:1px solid rgba(185,198,228,.25)}

/* O NAS */
.gr-sec .gr-quote .stk-block-text__text{font-family:var(--gr-font-display);font-stretch:108%;line-height:1.35;padding-top:28px;border-top:3px solid var(--gr-amber)}
.gr-sec .gr-stat__num .stk-block-text__text{font-family:var(--gr-font-display);font-stretch:112%;font-size:48px;font-weight:900;line-height:1.05}
.gr-sec .gr-about__img img{border-radius:var(--gr-r-md)}
.gr-sec .gr-certs > .stk-column-wrapper{margin-top:56px;padding-top:40px!important;border-top:1px solid var(--gr-line)}
.gr-sec .gr-pills .stk-block-icon-list__ul{display:flex!important;flex-wrap:wrap;gap:12px;columns:auto!important}
.gr-sec .gr-pills .stk-block-icon-list-item{border:1px solid var(--gr-line);border-radius:999px;padding:10px 18px;background:#fff;margin:0!important;width:auto!important}
.gr-sec .gr-pills .stk-block-icon-list-item__text{font-weight:600;color:var(--gr-navy)}

/* FAQ (blok Akordeon Stackable) */
.gr-sec .gr-faq__item{background:#fff;border:1px solid var(--gr-line);border-radius:14px;margin-bottom:12px!important;overflow:hidden}
.gr-sec .gr-faq__item[open]{border-color:var(--gr-blue)}
.gr-sec .gr-faq__item .stk-block-accordion__heading > .stk-container{background:transparent!important;box-shadow:none!important;padding:20px 26px!important;min-height:64px}
.gr-sec .gr-faq__item .stk-block-accordion__content > .stk-column-wrapper{padding:0 26px 24px!important}
.gr-sec .gr-faq__q .stk-block-heading__text{font-family:var(--gr-font-body);font-stretch:100%;font-weight:700;color:var(--gr-navy);line-height:1.35;letter-spacing:0}
.gr-sec .gr-faq__item summary{list-style:none;cursor:pointer}
.gr-sec .gr-faq__item summary::-webkit-details-marker{display:none}

/* statystyki 2 × 2 */
.gr-sec .gr-stats > .stk-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gr-sec .gr-stats > .stk-row > .stk-column{width:auto!important;max-width:none!important;flex:none!important;margin:0!important}
@media (max-width:767px){.gr-sec .gr-stats > .stk-row{grid-template-columns:minmax(0,1fr)}}

/* KONTAKT */
.gr-sec .gr-contact__list .stk-block-icon-list-item__content{align-items:flex-start}
.gr-sec .gr-contact__list .stk--svg-wrapper{margin-top:2px}
.gr-sec .gr-contact__list .stk-block-icon-list-item__text{color:#fff}
.gr-sec .gr-contact__list .gr-lbl{display:block;font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.gr-sec .gr-contact__list a{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.gr-sec .gr-contact__list a.gr-big{font-family:var(--gr-font-display);font-stretch:110%;font-size:26px;font-weight:700;text-decoration:none}
.gr-sec .gr-contact__list a:hover{color:var(--gr-amber)!important}
.gr-sec .gr-contact__form .gr-form{height:100%}
.gr-sec.gr-dark :focus-visible,.gr-sec .gr-contact__info :focus-visible{outline-color:var(--gr-amber)}

@media (max-width:1023px){
  .gr-sec .gr-badge{left:16px}
}
@media (max-width:767px){
  .gr-sec{font-size:17px}
  .gr-sec .gr-hero__img img{border-radius:20px 20px 20px 64px}
  .gr-sec .gr-badge{position:relative;left:auto;bottom:auto;margin:-56px 16px 0!important}
  .gr-sec .gr-badge strong{font-size:40px}
  .gr-sec .gr-badge .stk-block-text__text{padding-left:122px}
  .gr-sec .gr-brands__list .stk-block-icon-list-item__text{font-size:17px}
  .gr-sec .gr-contact__list a.gr-big{font-size:22px}
}


/* ---------- KONTAKT: formularz ---------- */
/* formularz [gracja_formularz] */
.gr-form{border:1px solid var(--gr-line);border-radius:var(--gr-r-lg);padding:48px 44px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;align-content:start;background:#fff;height:100%}
.gr-form .gr-form__title{grid-column:1/-1;font-size:30px;font-weight:800;margin:0}
.gr-form .gr-form__intro{grid-column:1/-1;font-size:16px;margin:-10px 0 0}
.gr-form .gr-fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.gr-form .gr-fld--full{grid-column:1/-1}
.gr-form label,.gr-form legend{font-weight:600;font-size:16px;color:var(--gr-navy);padding:0}
.gr-form .gr-req{color:var(--gr-error);font-weight:700}
.gr-form .gr-opt{font-weight:400;color:var(--gr-text);font-size:14px}
.gr-form input[type=text],.gr-form input[type=tel],.gr-form input[type=email],.gr-form textarea{font:inherit;font-size:17px;color:var(--gr-navy);border:1.5px solid var(--gr-field);border-radius:var(--gr-r-sm);padding:12px 14px;min-height:52px;background:#fff;width:100%;margin:0;box-shadow:none}
.gr-form textarea{min-height:128px;resize:vertical}
.gr-form input:focus-visible,.gr-form textarea:focus-visible{outline:3px solid var(--gr-amber);outline-offset:1px;border-color:var(--gr-navy)}
.gr-form [aria-invalid=true]{border-color:var(--gr-error)!important;border-width:2px!important}
.gr-form .gr-hint{font-size:14px;color:var(--gr-text)}
.gr-form .gr-err{display:flex;gap:6px;align-items:flex-start;font-size:14px;color:var(--gr-error);font-weight:600}
.gr-form .gr-err::before{content:"";width:18px;height:18px;flex:none;margin-top:2px;background:currentColor;-webkit-mask:var(--gr-i-alert) center/contain no-repeat;mask:var(--gr-i-alert) center/contain no-repeat}
.gr-form fieldset{border:0;padding:0;margin:0;min-width:0}
.gr-form .gr-seg{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.gr-form .gr-seg label{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--gr-field);border-radius:var(--gr-r-sm);padding:10px 16px;min-height:52px;font-weight:500;cursor:pointer;flex:1 1 140px}
.gr-form .gr-seg label:has(input:checked){border-color:var(--gr-blue);background:var(--gr-ice)}
.gr-form .gr-seg input,.gr-form .gr-consent input{width:20px;height:20px;margin:0;accent-color:var(--gr-blue);flex:none}
.gr-form .gr-consent{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5}
.gr-form .gr-consent input{width:22px;height:22px;margin-top:2px}
.gr-form .gr-consent label{font-weight:400;font-size:15px;color:var(--gr-text)}
.gr-form .gr-form__actions{grid-column:1/-1;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.gr-form .gr-form__actions p{font-size:14px;margin:0}
.gr-form .gr-submit{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:var(--gr-r-sm);border:0;background:var(--gr-amber);color:var(--gr-navy);font:inherit;font-weight:700;font-size:17px;cursor:pointer}
.gr-form .gr-submit:hover{background:var(--gr-amber-dk)}
.gr-form .gr-submit:focus-visible{outline-color:var(--gr-navy)}
.gr-form .gr-submit::after{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:var(--gr-i-arrow) center/contain no-repeat;mask:var(--gr-i-arrow) center/contain no-repeat}
.gr-form .gr-summary{grid-column:1/-1;border:2px solid var(--gr-error);border-radius:var(--gr-r-sm);padding:16px 20px;background:#FEF3F2}
.gr-form .gr-summary h4{font-family:var(--gr-font-body);font-size:17px;color:var(--gr-error);margin:0 0 6px}
.gr-form .gr-summary ul{margin:0;padding-left:20px;font-size:15px}
.gr-form .gr-summary a{color:var(--gr-error);font-weight:600}
.gr-form .gr-success{grid-column:1/-1;border:2px solid #1B7F4B;background:#EDFBF3;color:#0E4D2C;border-radius:var(--gr-r-sm);padding:16px 20px;font-weight:600}
.gr-form .gr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.screen-reader-text.gr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Pasek szybkiego kontaktu (mobile) ---------- */
.gr-callbar{display:none}
@media (max-width:720px){
  .gr-form{grid-template-columns:minmax(0,1fr);padding:28px 22px}
  .gr-hdr-phone{display:none}
  .gr-callbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:10px 12px;background:#fff;border-top:1px solid var(--gr-line);z-index:100;box-shadow:0 -6px 20px rgba(11,31,77,.08)}
  .gr-callbar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:var(--gr-r-sm);font-weight:700;font-size:16px;text-decoration:none;font-family:var(--gr-font-body)}
  .gr-callbar .gr-callbar__tel{border:2px solid var(--gr-navy);color:var(--gr-navy)}
  .gr-callbar .gr-callbar__tel::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:var(--gr-i-phone) center/contain no-repeat;mask:var(--gr-i-phone) center/contain no-repeat}
  .gr-callbar .gr-callbar__cta{background:var(--gr-amber);color:var(--gr-navy)}
  body.gr-has-callbar{padding-bottom:72px}
  html{scroll-padding-bottom:80px}
}
