﻿/* =====================================================================
   Carelius Ubezpieczenia â€“ main.css
   ===================================================================== */

/* 0) Fixy ogólne */
[hidden]{display:none !important}
a, button { -webkit-tap-highlight-color: transparent; }

/* 1) Zmienne globalne */
:root{
  --ink:#033c5a;           /* podstawowy tekst */
  --muted:#666666;         /* tekst drugiego planu */
  --brand:#0085ca;         /* kolor brandowy (UI, hover w menu) */
  --brand-text:#0078b6;    /* linki w treďż˝ci/stopce ďż˝ AA 4.5:1 */
  --brand-dark:#00629b;    /* ciemny kolor brandowy */
  --brand-light:#00aaff;   /* delikatne tĹ‚a, focusy */
  --accent:#ed6f2f;        /* CTA */
  --accent-dark:#cf4d0c;   /* CTA hover */
  --light-bg:#f8fafc;
  --wrap:1200px;
  --radius:16px;

  --header-h:110px;
  --header-h-scrolled:80px;
}

/* (removed temporary override for perks as stacked list; using base styles below) */
/* 2) Reset i bazowe style */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
/* Bez zmiany koloru i bez podkreĹ›lenia na hover/focus */
a:hover,
a:focus{color:var(--brand);text-decoration:none}
body{
  font-family:'Roboto', system-ui, "Segoe UI", Arial, sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* 2a) Typografia nagĹ‚ĂłwkĂłw - tylko treĹ›Ä‡ */
:where(main, .entry-content) h1,
:where(main, .entry-content) h2,
:where(main, .entry-content) h3,
:where(main, .entry-content) h4,
:where(main, .entry-content) h5,
:where(main, .entry-content) h6{
  font-weight:800;
  line-height:1.15;
  color:var(--ink);
  margin:0 0 .6em;
}
  :where(main, .entry-content) h1{font-size:clamp(32px,4.5vw,44px)}
  :where(main, .entry-content) h2{font-size:clamp(26px,3.6vw,36px)}
:where(main, .entry-content) h3{font-size:clamp(22px,2.8vw,28px)}
.section-h3{font-size:clamp(18px,2.8vw,24px); color:var(--ink); margin:0 0 16px; font-weight:600}
:where(main, .entry-content) h4{font-size:clamp(19px,2.2vw,22px)}
:where(main, .entry-content) h5{font-size:clamp(17px,1.9vw,19px)}
:where(main, .entry-content) h6{font-size:clamp(15px,1.7vw,17px)}

/* Linki w treĹ›ci â€“ AA */
.entry-content a{ color:var(--brand-text); text-decoration:none }
/* Bez zmiany koloru i bez podkreĹ›lenia na hover/focus w treĹ›ci */
.entry-content a:hover,
.entry-content a:focus{ color:var(--brand-text); text-decoration:none }

/* 3) WordPress spacing fixes */
.site{margin:0;padding:0}
#content{margin:0;padding:0}

/* brak odstÄ™pu nad pierwszym blokiem pod WP block-gap */
.wp-site-blocks{ padding-top:0 !important; }
.wp-site-blocks > *:first-child{ margin-top:0 !important; }
.entry-content > *:first-child{ margin-top:0 !important; }

/* 4) Kontenery */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* 5) Wsparcie dla blokĂłw szerokich */
.alignfull{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.alignwide{max-width:min(1100px,95vw);margin:0 auto}

/* 6) Utility */
.card{border:1px solid var(--light-bg);border-radius:var(--radius);background:#fff;padding:20px}
.text-muted{color:var(--muted)}

/* 7) Przyciski */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 18px; border-radius:999px;
  background:var(--accent);
  color:#fff; font-weight:700; font-size:19px; line-height:1.2;
}
.btn:hover{ background:var(--accent-dark) }
.btn, .btn:link, .btn:visited{ color:#fff; text-decoration:none }
.btn:hover, .btn:focus, .btn:active{ color:#fff; text-decoration:none }
.entry-content a.btn,
.entry-content a.btn:hover,
.entry-content a.btn:focus{ color:#fff; text-decoration:none }
.btn:focus-visible{ outline:2px solid var(--brand-light); outline-offset:3px }

/* Brand variant */
.btn--brand{ background: var(--brand); }
.btn--brand:hover,
.btn--brand:focus,
.btn--brand:active{ background: var(--brand-light); }

/* Dark brand variant: dark by default, brand on hover */
.btn--brand-dark{ background: var(--brand-dark); }
.btn--brand-dark:hover,
.btn--brand-dark:focus,
.btn--brand-dark:active{ background: var(--brand); }

/* HERO â€” tĹ‚o jak na home (var(--light-bg)) */
.hero{
  padding:24px 0 80px;
  background:var(--light-bg);
}
@media (min-width:1024px){
  .hero{ padding-top:8px; }
}

/* =====================================================================
   8) HEADER
   ===================================================================== */

/* wyĹ‚Ä…cz globalny â€žschodekâ€ť WP */
html{ margin-top:0 !important; }

/* kompensata dla fixed headera â€“ dynamiczna przy scrolled */
body.has-fixed-header{ padding-top:var(--header-h); }

/* 404 page spacing */
.error-404 .error-hero{ padding:120px 0 160px; }
body.has-fixed-header:has(#site-header.scrolled){
  padding-top:var(--header-h-scrolled);
}

/* admin bar â€“ zalogowany */
body.admin-bar #site-header{ top:32px; }
body.admin-bar.has-fixed-header{
  padding-top:calc(var(--header-h) + 32px);
}
body.admin-bar.has-fixed-header:has(#site-header.scrolled){
  padding-top:calc(var(--header-h-scrolled) + 32px);
}
/* mobile admin bar ma 46px */
@media (max-width:782px){
  body.admin-bar #site-header{ top:46px; }
  body.admin-bar.has-fixed-header{
    padding-top:calc(var(--header-h) + 46px);
  }
  body.admin-bar.has-fixed-header:has(#site-header.scrolled){
    padding-top:calc(var(--header-h-scrolled) + 46px);
  }
}

#site-header{
  position:fixed; top:0; left:0; right:0; z-index:10000;
  height:var(--header-h);
  background:rgba(255,255,255,1);
  border-bottom:1px solid var(--light-bg);
  box-shadow:0 2px 6px rgba(0,0,0,.08);
  transition:height .25s ease, background .25s ease, backdrop-filter .25s ease, box-shadow .25s ease;
  overflow:visible;
}
#site-header.scrolled{
  height:var(--header-h-scrolled);
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(8px);
  box-shadow:0 6px 18px rgba(0,0,0,.16);
}

/* ukĹ‚ad wiersza */
.header-inner{
  height:100%;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:0 24px; flex-wrap:nowrap;
}
.site-logo{ flex:0 0 auto; }
.site-logo img{ height:56px; width:auto; display:block; transition:height .25s ease; }
#site-header.scrolled .site-logo img{ height:40px; }
.site-name{ font-weight:800; color:var(--ink); text-decoration:none; }

/* prawa strona: menu + numer razem */
.header-right{ display:flex; align-items:center; gap:20px; flex:0 0 auto; }

/* menu */
.main-nav{ flex:0 1 auto; min-width:0; }
.main-nav .menu{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; gap:24px;
}
#site-header.scrolled .main-nav .menu{ gap:20px; }

.main-nav a{
  position:relative; text-decoration:none; color:var(--ink);
  display:inline-block; padding:8px 22px 8px 0;
  font-weight:700; font-size:19px; line-height:1.2; /* large => AA */
  transition:color .2s ease;
}
.main-nav a:hover,
.main-nav .current-menu-item > a{ color:var(--brand); }

/* === PHONE BADGE (desktop only) === */
.header-phone{
  display:none; background:var(--brand); color:#fff;
  padding:14px 32px; border-radius:9999px;
  font-weight:800; font-size:20px; line-height:1.3;
  align-items:center; gap:14px; white-space:nowrap; cursor:text; flex:0 0 auto;
}
#site-header.scrolled .header-phone{ padding:12px 28px; font-size:18px; gap:12px; }
.header-phone img{ width:18px; height:18px; display:block; filter:brightness(0) invert(1); user-select:none; pointer-events:none; }
#site-header.scrolled .header-phone img{ width:16px; height:16px; }
.header-phone .phone-number{ user-select:text; }

@media (min-width:981px){ .header-phone{ display:inline-flex; } }
@media (max-width:980px){ .header-phone{ display:none !important; } }

.header-phone:hover,
.header-phone:focus,
.header-phone:active{
  background:var(--brand); color:#fff; box-shadow:none; transform:none; outline:none;
}

/* ===================== DESKTOP â€“ MEGA MENU ===================== */
@media (min-width:981px){
  .main-nav .menu > li{ position:relative; }

  /* CARET */
  .main-nav .menu > li.menu-item-has-children > a{ --caret-rot:45deg; }
  .main-nav .menu > li.menu-item-has-children > a::after{
    content:""; position:absolute; right:0; top:50%;
    width:10px; height:10px; box-sizing:border-box;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:translateY(-50%) rotate(var(--caret-rot));
    opacity:.85; transition:transform .2s ease, opacity .2s ease;
  }
  .main-nav .menu > li.menu-item-has-children:hover > a{ --caret-rot:-135deg; }
  .main-nav .menu > li.menu-item-has-children:focus-within > a{ --caret-rot:-45deg; }

  /* PANEL â€“ peĹ‚na szerokoĹ›Ä‡ */
  .main-nav .menu > li.menu-item-has-children > .sub-menu{
    position:fixed; left:24px; right:24px; top:var(--header-h); z-index:10010;
    margin-top:0; padding:24px; background:#fff; border:1px solid #eee; border-radius:16px;
    box-shadow:0 16px 40px rgba(0,0,0,.14);
    display:grid; grid-template-columns:repeat(4, minmax(180px,1fr)); gap:28px;
    opacity:0; transform:translateY(8px); visibility:hidden; pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  body:has(#site-header.scrolled) .main-nav .menu > li.menu-item-has-children > .sub-menu{ top:var(--header-h-scrolled); }
  .main-nav .menu > li.menu-item-has-children:hover > .sub-menu,
  .main-nav .menu > li.menu-item-has-children:focus-within > .sub-menu{
    opacity:1; transform:translateY(0); visibility:visible; pointer-events:auto;
    transition:opacity .18s ease, transform .18s ease, visibility 0s;
  }

  /* kolumny panelu */
  .main-nav .menu > li.menu-item-has-children > .sub-menu > li{ list-style:none; min-width:0; }
  .main-nav .menu > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a{
    display:flex; align-items:center; gap:10px; margin:0 0 8px; padding:0;
    font-size:18px; font-weight:800; color:var(--ink); text-decoration:none;
  }
  .main-nav .menu > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::before{
    content:""; display:inline-block; width:14px; height:14px; border-radius:4px;
    background:color-mix(in srgb, var(--brand) 10%, transparent);
    border:1px solid color-mix(in srgb, var(--brand) 20%, transparent);
  }
  .main-nav .menu > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu{
    position:static; padding:0; margin:0; border:none; box-shadow:none; display:block; opacity:1; transform:none;
  }
  .main-nav .menu > li.menu-item-has-children > .sub-menu a{
    display:block; padding:8px 10px; border-radius:10px; color:var(--ink);
    text-decoration:none; font-weight:600; font-size:15px; transition:background .15s ease, color .15s ease;
  }
  .main-nav .menu > li.menu-item-has-children > .sub-menu a:hover{ background:#f6fbff; color:var(--brand); }

  .main-nav .menu > li.menu-item-has-children > .sub-menu > li.media{
    display:flex; align-items:center; justify-content:center;
    padding:8px; background:linear-gradient(180deg,#f9fbff,#fff);
    border:1px dashed #e6eff7; border-radius:14px; min-height:220px;
  }
  .main-nav .menu > li.menu-item-has-children > .sub-menu > li.media img{ max-width:100%; height:auto; display:block; }
}

/* ===================== MOBILE ===================== */
.burger{
  display:none; width:44px; height:44px; background:transparent; border:none;
  padding:0; cursor:pointer; position:relative;
}
.burger:focus{ outline:none; }
.burger:focus-visible{ outline:2px dashed #cde7f7; outline-offset:2px; }
.burger-bar{
  position:absolute; left:10px; right:10px; height:2.5px;
  background:var(--ink); border-radius:2px;
  top:50%; transform:translateY(-50%);
  transition:top .25s ease, transform .25s ease, opacity .25s ease;
}
.burger-bar:nth-child(1){ top:calc(50% - 7px); }
.burger-bar:nth-child(2){ top:50%; }
.burger-bar:nth-child(3){ top:calc(50% + 7px); }
.nav-open .burger-bar:nth-child(1){ top:50%; transform:translateY(-50%) rotate(45deg); }
.nav-open .burger-bar:nth-child(2){ opacity:0; }
.nav-open .burger-bar:nth-child(3){ top:50%; transform:translateY(-50%) rotate(-45deg); }

.nav-backdrop{ display:none !important; }

.mobile-nav{
  position:fixed; top:0; left:0; right:0; background:#fff;
  border-bottom:1px solid var(--light-bg); box-shadow:0 16px 28px rgba(0,0,0,.12);
  z-index:9997; transform:translateY(-12px); opacity:0; pointer-events:none;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-open .mobile-nav{ transform:translateY(0); opacity:1; pointer-events:auto; }

.mobile-nav .mobile-menu{
  list-style:none; margin:0; padding:12px 16px 16px;
  display:flex; flex-direction:column; gap:6px;
}
.mobile-nav .mobile-menu li{
  --row-h:52px; position:relative;
  padding:0 56px 0 40px; border-radius:12px; list-style:none;
}
.mobile-nav .mobile-menu li .row-hit{
  position:absolute; left:0; right:0; top:0; height:var(--row-h);
  z-index:1; background:transparent; border:0; padding:0; margin:0; cursor:pointer;
}
.mobile-nav .mobile-menu li .icon{
  position:absolute; left:8px; top:calc(var(--row-h)/2);
  transform:translateY(-50%); width:20px; height:20px;
  display:inline-flex; align-items:center; justify-content:center;
}
.mobile-nav .mobile-menu li .icon img,
.mobile-nav .mobile-menu li .icon svg{ width:100%; height:100%; object-fit:contain; }

.mobile-nav .mobile-menu > li > a{
  position:relative; z-index:2;
  display:inline-block !important;
  max-width:calc(100% - 64px);
  padding:calc((var(--row-h) - 24px)/2) 8px;
  font-weight:700; font-size:18px; line-height:24px;
  color:var(--ink); text-decoration:none; border-radius:12px; background:none !important;
}
.mobile-nav .mobile-menu > li > a:hover,
.mobile-nav .mobile-menu > li > a:focus,
.mobile-nav .mobile-menu > li > a:active{ background:none !important; color:var(--ink); }

.mobile-nav .submenu-toggle{
  position:absolute; right:12px; top:calc(var(--row-h)/2); z-index:3;
  width:24px; height:24px; background:transparent; border:none;
  transform:translateY(-50%); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.mobile-nav .submenu-toggle::before{
  content:""; display:block; width:8px; height:8px;
  border-right:2px solid var(--ink); border-bottom:2px solid var(--ink);
  transform:rotate(-45deg); transition:transform .2s ease;
}
.mobile-nav .submenu-open > .submenu-toggle::before{ transform:rotate(45deg); }

.mobile-nav .sub-menu{
  display:none; padding:8px 0 10px 8px;
  border-left:2px solid var(--light-bg); margin-left:8px;
}
.mobile-nav .submenu-open > .sub-menu{ display:block; }

/* breakpoints */
@media (max-width:980px){
  .main-nav{ display:none; }
  .burger{ display:inline-flex; }
}
@media (max-width:768px){
  :root{ --header-h:72px; --header-h-scrolled:56px; }
  .header-inner{ padding:0 16px; }
  .site-logo img{ height:40px; }
  #site-header.scrolled .site-logo img{ height:32px; }
  .burger{ width:40px; height:40px; }
}


/* =====================================================================
   9) Stopka (Footer)
   ===================================================================== */

.site-footer{
  --bg:#f9f9f9;
  background:var(--bg); color:var(--ink);
  margin-top:40px;
}
.site-footer .wrap{
  max-width:1200px; margin:0 auto; padding:60px 20px;
  display:grid; grid-template-columns:1fr; gap:40px;
}

/* NagĹ‚Ăłwki kolumn */
.footer-col h4{
  margin:0 0 12px; font-size:18px; font-weight:700; color:var(--ink);
  border-bottom:2px solid var(--light-bg); padding-bottom:8px;
  text-transform:uppercase; letter-spacing:.5px;
}

/* Linki w kolumnach â€“ AA */
.footer-col a,
.footer-menu a,
.links-firmowe a,
.footer-item a{ color:var(--ink); text-decoration:none; transition:color .2s ease }
.footer-col a:hover,
.footer-menu a:hover,
.links-firmowe a:hover,
.footer-item a:hover{ color:var(--brand-text); }

/* Menu w kolumnach */
.footer-menu{ margin:0; padding:0; list-style:none; }
.footer-menu li + li{ margin-top:6px; }
/* Linki firmowe na caďż˝ďż˝ szerokoďż˝ďż˝ */
.links-firmowe{ grid-column:1 / -1; }
.links-firmowe nav{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px 24px; }
.links-firmowe nav ul{ list-style:none; margin:0; padding:0; }
.links-firmowe a{ display:block; padding:6px 0; font-weight:600; }
.social-menu{
  display:flex; flex-direction:column; align-items:flex-start;
  gap:10px;
}
.social-title{ margin:0; font-size:15px; font-weight:700; color:var(--ink); }
.social-menu ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px; }
.social-menu li{ margin:0; padding:0; }
.social-menu a{
  position:relative; width:30px; height:30px; display:block;
  text-indent:-9999px; text-decoration:none; transition:filter .3s;
}
.social-menu a:hover{ filter: brightness(0) saturate(100%) invert(19%) sepia(96%) saturate(7330%) hue-rotate(204deg) brightness(102%) contrast(105%); }
.social-menu a::before{
  content:''; position:absolute; left:0; top:0; width:30px; height:30px;
  background-size:contain; background-repeat:no-repeat;
}
.social-menu a[href*="facebook"]::before{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E"); }
.social-menu a[href*="instagram"]::before{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E"); }
.social-menu a[href*="linkedin"]::before{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E"); }

/* Kontakt */
.footer-contact{
  grid-column:1 / -1;
  margin-top:30px;
  display:flex; justify-content:center; align-items:center; gap:30px; flex-wrap:wrap;
}
.footer-item{
  display:flex; align-items:center; gap:10px;
  font-size:16px; font-weight:500; color:var(--ink);
}
.footer-item img{
  width:22px; height:22px; flex-shrink:0;
  filter:invert(26%) sepia(91%) saturate(1682%) hue-rotate(175deg) brightness(92%) contrast(96%);
}

/* Dolna sekcja kontaktowa */
.footer-bottom-top{
  border-top:1px solid var(--light-bg);
  margin-bottom: -15px;
  padding:20px;
  display:flex; justify-content:center; align-items:center; gap:30px;
  flex-wrap:wrap;
  font-size:15px; font-weight:500; color:var(--ink);
  text-align:center;
}
.footer-bottom-top .label{ font-weight:600; }
.footer-bottom-top .footer-item{ display:flex; align-items:center; gap:8px; }
.footer-bottom-top .footer-item img{ width:20px; height:20px; }

/* Mniejszy font + light dla całej sekcji danych firmy w stopce */
.footer-bottom-top.footer-company{ font-size:13px; font-weight:300; border-top:none; margin-top: 10px; margin-bottom: 20px; }
.footer-bottom-top.footer-company .footer-item{ font-size:13px; font-weight:300; display:flex; }
.footer-bottom-top.footer-company .footer-item strong{ font-weight:300; }
/* Pokaż adresy firmy w stopce */
.footer-bottom-top.footer-company .footer-item.footer-item--company-clean{ display:none !important; }
.footer-bottom-top.footer-company .footer-item.footer-item--company-bold{ font-weight:600; font-size:15px; }
.footer-bottom-top.footer-company .footer-item.footer-item--company-bold .address{ display:inline; }
.footer-bottom-top.footer-company .footer-item.footer-item--company-bold .addr-line{ display:inline; }
.footer-bottom-top.footer-company .footer-item.footer-item--company-bold .addr-line:not(:last-child)::after{ content:", "; }
@media (max-width:780px){
  .footer-bottom-top.footer-company .footer-item.footer-item--company-bold .address{ display:flex; flex-direction:column; }
  .footer-bottom-top.footer-company .footer-item.footer-item--company-bold .addr-line{ display:block; }
  .footer-bottom-top.footer-company .footer-item.footer-item--company-bold .addr-line:not(:last-child)::after{ content:""; }
}

/* Copyright */
.footer-bottom{
  border-top:1px solid var(--light-bg);
  padding:15px; text-align:center;
  font-size:14px; color:var(--muted); /* lekko jaĹ›niej w stopce */
}

/* RWD */
@media (max-width:900px){
  .site-footer .wrap{ grid-template-columns:1fr; }
  .links-firmowe nav{ grid-template-columns:repeat(2, minmax(140px,1fr)); justify-items:center; text-align:center; }
  .footer-contact{ flex-direction:column; gap:12px; text-align:center; }
  .social-menu{ align-items:center; justify-content:center; }
  .social-menu ul{ justify-content:center; gap:10px; }
  .social-menu a,
  .social-menu a::before{ width:28px; height:28px; }
}
@media (max-width:640px){
  .site-footer .wrap{ padding:40px 16px; gap:28px; }
  .links-firmowe nav{ grid-template-columns:1fr; justify-items:flex-start; text-align:left; gap:10px 0; }
  .links-firmowe nav h3{ margin-bottom:6px; font-size:16px; }
  .links-firmowe a{ padding:4px 0; }
  .social-menu{ width:100%; align-items:flex-start; }
  .social-menu ul{ width:100%; justify-content:flex-start; gap:10px; }
  .footer-bottom-top{
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    gap:14px;
    padding:18px 16px;
  }
  .footer-bottom-top .label{ display:block; width:100%; }
  .footer-bottom-top .footer-item{ width:100%; justify-content:flex-start; }
  .footer-bottom-top .footer-item img{ width:18px; height:18px; }
  .footer-bottom{ padding:12px 16px; line-height:1.5; }
}
@media (min-width:901px){
  .links-firmowe{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:48px;
    max-width:1200px;
    margin:0 auto;
  }
  .links-firmowe > nav{ flex:1 1 33%; min-width:240px; }
  .links-firmowe nav{
    display:block;
    grid-template-columns:none;
    text-align:left;
  }
  .links-firmowe nav h3{ margin-top:0; margin-bottom:10px; text-align:left; }
  .social-menu{
    flex:0 0 auto;
    flex-wrap:nowrap;
    gap:12px;
    align-items:flex-start;
    padding-top:0;
    height:100%;
  }
  .social-menu ul{
    flex-wrap:nowrap;
    gap:12px;
    align-items:center;
  }
}

/* =====================================================================
   10) Page breaker â€“ opcjonalne
   ===================================================================== */
.no-page-padding .section{ padding:0 !important; }
.no-page-padding .section .wrap{
  padding-left:0 !important;
  padding-right:0 !important;
  max-width:100% !important;
}
.section--keep-padding .wrap{
  max-width:var(--wrap) !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

/* =====================================================================
   11) CTA Thin â€“ tylko dla #ekspresowa-wycena
   ===================================================================== */
#ekspresowa-wycena{
  --cta-h:110px;
  background:var(--light-bg) !important;
  height:var(--cta-h);
}
#ekspresowa-wycena .wrap{
  height:100%;
  max-width:min(1100px,95vw);  /* byĹ‚o min(1120px,96vw) */
  padding-inline:14px;         /* byĹ‚o 10px */
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:stretch;
  gap:16px;
}

/* lewa kolumna */
#ekspresowa-wycena .copy{
  position:relative;
  height:100%;
}
#ekspresowa-wycena .sub{
  position:absolute; top:50%; left:0; right:0;
  transform:translateY(-50%);
  margin:0;
}
#ekspresowa-wycena .sub br{ display:none; }
#ekspresowa-wycena .sub .line{ display:block; }
#ekspresowa-wycena .sub .line:first-of-type{
  font-size:clamp(18px,2.2vw,22px);
  line-height:1.45;
  font-weight:600;
  margin-bottom:2px;
}
#ekspresowa-wycena .sub .line:last-of-type{
  font-size:clamp(16px,1.9vw,19px);
  line-height:1.45;
  font-weight:400;
}
#ekspresowa-wycena .accent{ color:var(--brand); font-weight:600; }

/* prawa kolumna */
#ekspresowa-wycena .cta-cta{
  height:100%;
  display:flex; flex-direction:column;
  justify-content:center; align-items:center; gap:6px;
}
#ekspresowa-wycena .note{
  margin:0; font-size:.95rem; line-height:1; color:var(--muted); text-align:center;
}

/* przycisk - szerzej, bez zmiany wysokoĹ›ci */
#ekspresowa-wycena .btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:56px;                         /* bez zmian */
  padding:0 44px;
  min-width: clamp(240px, 28vw, 360px);
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:clamp(14px,1.1vw,17px);
  font-weight:700;
  gap:14px;
}
#ekspresowa-wycena .btn .label{ display:flex; align-items:center; }
#ekspresowa-wycena .btn .arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.6em; height:1.6em;
  transform:translateY(2px);
  transition:transform .25s ease;
  will-change:transform;
}
#ekspresowa-wycena .btn .arrow svg{ width:100%; height:100%; display:block; }

/* ruch strzaĹ‚ki */
#ekspresowa-wycena .btn:hover .arrow,
#ekspresowa-wycena .btn:focus-visible .arrow{
  transform:translateY(2px) translateX(6px);
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  #ekspresowa-wycena .btn .arrow{ transition:none; }
  #ekspresowa-wycena .btn:hover .arrow,
  #ekspresowa-wycena .btn:focus-visible .arrow{
    transform:translateY(2px);
  }
}

/* mobile */
@media (max-width:900px){
  #ekspresowa-wycena{ height:auto; padding:20px 0; }
  #ekspresowa-wycena .wrap{
    grid-template-columns:1fr; gap:12px; text-align:center; align-items:center;
    max-width:95vw; padding-inline:16px; /* lekko wiÄ™kszy margines teĹĽ na mobile */
  }
  #ekspresowa-wycena .copy{ height:auto; }
  #ekspresowa-wycena .sub{ position:static; transform:none; }
  #ekspresowa-wycena .btn{
    width:100%; max-width:540px;
    height:60px;
    padding:0 36px;
    min-width:unset;
    font-size:16px;
  }
}

/* =====================================================================
   12) FAQ
   ===================================================================== */
/* Layout */
.aboutfaq .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.aboutfaq .section__head{margin-bottom:12px}

/* H2 + cienkie podkreĹ›lenie (3px), wyrĂłwnane do lewej
   Uwaga: NIE nadpisujemy margin H2 â€“ korzysta z domyĹ›lnego z motywu */
/* Nagłówek H2 wyrównany do lewej, bez dekoracyjnej kreski */
.aboutfaq .section__title{ text-align:left; }

/* Akapit pod H2 â€“ wiÄ™kszy odstÄ™p od podkreĹ›lenia */
.aboutfaq .section__lead{margin:20px 0 0 0;color:var(--muted)}

/* CTA â€“ wyĹ›rodkowane, inwersja tylko na hover; kolory z var(--ink) */
.aboutfaq__cta{
  display:flex;
  justify-content:center;
  margin:32px 0 0; /* dystans od akapitu */
}
.aboutfaq__btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:36px;padding:0 16px;border-radius:999px;
  border:2px solid var(--ink);background:#fff;color:var(--ink);
  font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.aboutfaq__btn:link,.aboutfaq__btn:visited{color:var(--ink);text-decoration:none}
.aboutfaq__btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* FAQ â€“ prosto, bez cieni; +/-ďż˝ po prawej (details dziaĹ‚a natywnie) */
.aboutfaq__list{display:grid;gap:10px;margin-top:14px}
.aboutfaq__item{border:1px solid var(--light-bg);border-radius:12px;background:#fff}
.aboutfaq__summary{
  padding:12px 42px 12px 16px;font-weight:800;color:var(--ink);
  cursor:pointer;position:relative;list-style:none;
}
.aboutfaq__summary::-webkit-details-marker{display:none}
.aboutfaq__summary::after{
  content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);
  font-weight:900;font-size:18px;color:var(--ink);
}
.aboutfaq__item[open] .aboutfaq__summary::after{content:"-"}
.aboutfaq__panel{padding:0 16px 14px;color:var(--muted)}

/* Desktop extra spacing dla CTA */
@media (min-width:768px){
  .aboutfaq__cta{ margin-top:40px; }
}
/* =====================================================================
   13) CPT Towarzystwa
   ===================================================================== */
.tow-single{padding-bottom:80px;}
.tow-hero{
  padding:40px 0 24px;
  background:#f6fbff;
}
/* Tylko dla zalogowanych (widoczny pasek admina) */
/* === Admin bar: korekta odstďż˝pu wynikajďż˝cego z paddingu body dla Single Towarzystwo === */
/* Zostawiamy hero bez zmian; zmniejszamy tylko kompensatďż˝ pod fixed headerem. */
body.admin-bar.has-fixed-header.single-towarzystwo{ padding-top:calc(var(--header-h-scrolled) + 32px); }
body.admin-bar.has-fixed-header.single-towarzystwo:has(#site-header.scrolled){ padding-top:calc(var(--header-h-scrolled) + 32px); }
@media (max-width:782px){
  body.admin-bar.has-fixed-header.single-towarzystwo{ padding-top:calc(var(--header-h-scrolled) + 46px); }
  body.admin-bar.has-fixed-header.single-towarzystwo:has(#site-header.scrolled){ padding-top:calc(var(--header-h-scrolled) + 46px); }
}
.tow-hero__back{
  display:inline-block;
  margin-bottom:24px;
  font-weight:700;
  color:var(--brand-text);
}
.tow-hero__content{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:24px;
  padding:32px;
  align-items:flex-start;
}
/* two-column hero: left content, right logo */
.tow-hero__col--main{min-width:0;}
.tow-hero__col--logo{display:flex; align-items:center; justify-content:center; align-self:stretch;}
/* Original header layout */
.tow-hero__header{
  display:flex;
  align-items:flex-start;
  gap:24px;
  flex-wrap:wrap;
}
.tow-hero__logo{flex:0 0 auto;}
.tow-hero__logo-image{
  /* Wymuďż˝ konkretnďż˝ wysokoďż˝ďż˝, aby zewnďż˝trzne SVG z width/height=100% nie zapadaďż˝y siďż˝ do 0 */
  height:80px;
  width:auto;
  display:block;
  max-width:100%;
}
.tow-hero__title{
  margin:0;
  font-size:clamp(32px,4vw,44px);
}
.tow-hero__title-area{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.tow-hero__logo--inline img.tow-hero__logo-image{ max-height:80px; width:auto; display:block; }
.tow-hero__excerpt{
  margin:12px 0 0;
  font-size:18px;
}
/* Perks displayed as a stacked list with checkmarks */
.tow-hero__perks{
  display:block;
  list-style:none;
  margin:12px 0 0;
  padding:0;
}
  .tow-hero__perk{
    position:relative;
    background:none;
    border-radius:0;
    padding:0 0 0 28px;
    font-weight:400;
    margin:0 0 10px 0;
  }
  .tow-hero__perk::before{
  content:"";
  position:absolute;
  left:0;
  top:0.1em;
  width:1.2em;
  height:1.2em;
  -webkit-mask-image:url('../../images/icons/towarzystwa/checkmark.svg');
  mask-image:url('../../images/icons/towarzystwa/checkmark.svg');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
    background-color:var(--brand);
  }
  /* CTA in hero/proxy: pill + centered label */
  .tow-hero .btn,
  .tow-proxy .btn{
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    height:58px;
    padding:0 56px;
    min-width:clamp(320px, 52vw, 520px);
    line-height:1;
  }
  @media (min-width:601px) and (max-width:960px){ .tow-hero .btn, .tow-proxy .btn{ height:54px; } }
  @media (max-width:600px){ .tow-hero .btn, .tow-proxy .btn{ height:50px; padding-inline:32px; min-width:280px; } }

  .tow-proxy{ padding:40px 0 0; }
  .tow-proxy .wrap{ text-align:center; }
.tow-main{margin-top:48px;}
  .tow-main__layout{

  /* Stronger overrides for stacked perks */
  /* removed stacked strong overrides */
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
  }
  /* single-column layout on Single Towarzystwo */
  .tow-main__layout--single{ grid-template-columns:1fr; }
.tow-main__sidebar{position:relative;}
.tow-contact__title{margin-top:0;}
.tow-contact__list{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  display:grid;
  gap:12px;
}
.tow-contact__list strong{
  display:block;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--muted);
  margin-bottom:6px;
}
.tow-contact__proxy{
  display:inline-block;
  font-weight:700;
  color:var(--brand);
}
  .tow-faq{
    margin-top:40px;
    padding:40px 0;
    background:none;
  }
  .tow-faq__title{
    margin-top:32px;
    text-align:center;
    margin-bottom:24px;
  }
.tow-faq__items{
  max-width:820px;
  margin:0 auto;
  display:grid;
  gap:18px;
}
.tow-faq__item{
  border:1px solid var(--light-bg);
  border-radius:var(--radius);
  padding:0 24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,0.04);
}
.tow-faq__item[open]{
  box-shadow:0 14px 36px rgba(0,0,0,0.07);
}
  .tow-faq__question{
    font-weight:700;
    font-size:19px;
    padding:22px 36px 22px 0;
    list-style:none;
    cursor:pointer;
    position:relative;
  }
  .tow-faq__question::-webkit-details-marker{display:none;}
  .tow-faq__question::after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:10px;
    height:10px;
    box-sizing:border-box;
    border-right:2px solid var(--brand);
    border-bottom:2px solid var(--brand);
    transform: translateY(-50%) rotate(45deg);
    transition: transform .2s ease, opacity .2s ease;
    opacity:.95;
  }
  .tow-faq__item[open] .tow-faq__question::after{
    transform: translateY(-50%) rotate(225deg);
  }
.tow-faq__answer{
  padding:0 0 22px;
  color:var(--muted);
}
  .tow-faq__answer p{margin:0 0 14px;}
  @media (max-width:960px){
    .tow-main__layout{grid-template-columns:1fr;}
    .tow-main__sidebar{order:-1;}
  }

  /* Single Towarzystwo: larger spacing above H2 only on this template */
  .tow-single .entry-content h2{ margin-top:40px; }

  /* Products section heading spacing */
  .tow-products__title{ margin:40px 0 24px; }
  .tow-contact--below{ margin-top:32px; }
@media (max-width:720px){
  .tow-hero__content{padding:24px; grid-template-columns:1fr;}
  .tow-hero__col--logo{justify-content:center; align-self:stretch;}
  .tow-hero__title{font-size:32px;}
}
.tow-archive__hero{
  padding:64px 0 24px;
  text-align:center;
  background:none;
}
.tow-archive__title{
  margin:0;
  font-size:clamp(36px,4.5vw,48px);
}
.tow-archive__description{
  max-width:720px;
  margin:16px auto 0;
  font-size:18px;
  text-align:center;
}
.tow-archive__list{padding:56px 0 80px;}
.tow-archive__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:28px;
}
.tow-card{
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:28px;
  position:relative;
  cursor:pointer;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  transition: box-shadow .2s ease, transform .2s ease;
  align-items:center;
  text-align:center;
}
.tow-card:hover,
.tow-card:focus-within{
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
  transform: translateY(-2px);
  border-color: var(--brand-light);
}
.tow-card__header{
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
}
.tow-card__link{ position:absolute; inset:0; z-index:1; }
.tow-card__link:focus-visible{ outline:2px solid var(--brand-light); outline-offset:3px; }
.tow-card__logo-image{
  /* Ustal wysokoďż˝ďż˝, by SVG bez wymiarďż˝w nie renderowaďż˝y siďż˝ jako 0x0 */
  height:60px;
  width:auto;
  max-width:100%;
  object-fit:contain;
}
.tow-card__title{
  margin:0;
  font-size:28px;
}
.tow-card__title a{
  color:inherit;
  text-decoration:none;
}
.tow-card__excerpt p{margin:0;}

.tow-card__more{
  color: var(--brand);
  font-weight: 700;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition: color .2s ease, gap .2s ease;
  align-self: center;
  text-align: center;
  line-height: 1;
}
.tow-card:hover .tow-card__more,
.tow-card:focus-within .tow-card__more{
  text-decoration: underline;
}
.tow-card__more::after{
  content: '';
  display:inline-block;
  width: 1.6em;
  height: 1.6em;
  -webkit-mask-image: url('../../images/icons/towarzystwa/arrow.svg');
  mask-image: url('../../images/icons/towarzystwa/arrow.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: currentColor;
  transform: translate(0, 0.06em);
  transition: transform .2s ease;
}
.tow-card:hover .tow-card__more::after,
.tow-card:focus-within .tow-card__more::after{
  transform: translate(10px, 0.06em);
}

._removed_perks_marker li::before{
  content:"â€˘";
  position:absolute;
  left:0;
  color:var(--brand);
}
.tow-archive__empty{
  text-align:center;
  font-size:18px;
}
@media (max-width:640px){
  .tow-card{padding:22px;}
  .tow-card__header{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Single Towarzystwo ďż˝ sekcja z innymi towarzystwami (kafelki jak w archiwum) */
.tow-more{ padding:56px 0 80px; background:none; }
.tow-more{ 
  /* Kontrolki akcentu: ile widaďż˝ paska i jego caďż˝kowita wysokoďż˝ďż˝ */
  --tow-accent-visible: 3px;   /* maksymalnie wysoko pod boxem */
  --tow-accent-height: 56px;    /* caďż˝kowita wysokoďż˝ďż˝ elipsy pod boxem */
}
.tow-more__title{ text-align:center; margin:0 0 24px; }
/* 5 columns per row in the single-page related insurers section */
.tow-more .tow-archive__grid{ grid-template-columns:repeat(5, 1fr); }
@media (max-width: 1024px){ .tow-more .tow-archive__grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width: 720px){ .tow-more .tow-archive__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width: 480px){ .tow-more .tow-archive__grid{ grid-template-columns:1fr; } }
/* w tej sekcji pokazujemy tylko logo na kafelku */
.tow-more .tow-card__title,
.tow-more .tow-card__excerpt,
.tow-more .tow-card__more{ display:none !important; }
/* Kafelek jak na zrzucie: wiďż˝kszy radius, mocniejszy cieďż˝ i pasek akcentu pod spodem */
.tow-more .tow-card{
  position:relative;
  border:1px solid var(--light-bg);
  border-radius:24px;
  padding:40px 28px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  overflow:visible;
  z-index:0; /* pozwala schowaďż˝ pasek ::after pod boxem */
}
.tow-more .tow-card:hover,
.tow-more .tow-card:focus-within{
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}
/* Pasek akcentu pod kafelkiem ďż˝ pod panelem (na karcie) */
.tow-more .tow-card::after{
  content:"";
  position:absolute;
  /* Taka sama szerokoďż˝ďż˝ jak karta; czďż˝ďż˝ chowa siďż˝ pod panelem */
  left:0; right:0; bottom: calc(-1 * var(--tow-accent-visible)); height: var(--tow-accent-height);
  background: var(--brand);
  border-radius:999px;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.08));
  transition:background .2s ease;
  pointer-events:none;
  z-index:-1; /* o warstwďż˝ pod panelem i zawartoďż˝ciďż˝ karty */
}
.tow-more .tow-card:hover::after,
.tow-more .tow-card:focus-within::after{
  background: var(--brand-light);
}
/* Logo w sekcji: ogranicz maks. szerokoďż˝ďż˝ i wysokoďż˝ďż˝ */
.tow-more .tow-card__logo{
  display:flex; justify-content:center; align-items:center;
  width:100%; margin:0 auto;
  height:72px;                         /* jeszcze odrobinďż˝ mniejsza wysokoďż˝ďż˝ logo */
  max-width:220px;                     /* ogranicz szerokoďż˝ďż˝ ramki, by loga mogďż˝y urosnďż˝ďż˝ do wysokoďż˝ci */
}
/* Obraz automatycznie skaluje siďż˝ w obu kierunkach do ramki */
.tow-more .tow-card__logo-image{
  display:block;                       /* usuďż˝ dodatkowe odstďż˝py inline */
  width:100%;                          /* wypeďż˝nij ramkďż˝ w poziomie */
  height:100%;                         /* i w pionie */
  max-width:100%;                      /* nie wychodďż˝ poza ramkďż˝ */
  max-height:100%;                     /* nie wychodďż˝ poza ramkďż˝ */
  object-fit:contain;                  /* skaluj proporcjonalnie w ramce */
}

/* === Tow-more layering fix: panel ponad paskiem === */
.tow-more .tow-card{ background:transparent; border:none; padding:0; box-shadow:none; }
.tow-more .tow-card{ display:block; }
.tow-more .tow-card:hover,
.tow-more .tow-card:focus-within{ box-shadow:none; }
/* Ensure the visual accent bar is accounted for in layout height */
.tow-more .tow-card{ padding-bottom: var(--tow-accent-visible); }
.tow-more .tow-card__panel{
  position:relative;
  border:1px solid var(--light-bg);
  border-radius:24px;
  background:#fff;
  padding:40px 28px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  z-index:1;
  width:100%;
  min-height:180px;            /* ujednolicenie wysokoďż˝ci kafelkďż˝w */
  display:flex;                /* centrowanie zawartoďż˝ci */
  align-items:center;
  justify-content:center;
}
.tow-more .tow-card:hover .tow-card__panel,
.tow-more .tow-card:focus-within .tow-card__panel{ box-shadow:0 16px 40px rgba(0,0,0,.12); }

/* Equal-size boxes in related insurers section */
.tow-more .tow-card__panel{ height:180px; }

/* === Overrides: configurable accent width and centering === */
.tow-more{ --tow-accent-width: 100%; }
.tow-more .tow-card::after{
  width: var(--tow-accent-width);
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}


/* Category hero (generic, two columns) */
.cat-hero {}
.cat-hero__content{ display:grid; grid-template-columns:2fr 1fr; gap:24px; align-items:center; }
.cat-hero__col--main{ min-width:0; }
.cat-hero__col--media{ display:flex; align-items:center; justify-content:center; }
.cat-hero__media-placeholder{ width:100%; aspect-ratio:4/3; border:1px dashed #e6eff7; border-radius:14px; background:linear-gradient(180deg,#f9fbff,#fff); }
@media (max-width: 820px){ .cat-hero__content{ grid-template-columns:1fr; gap:16px; text-align:center; } }

/* Global CTA row (shared with home) */
.cta-row{ display:flex; margin-top:clamp(12px, 2.2vw, 20px); margin-inline:auto; justify-content:center; }
.cta-row .btn{ display:flex; justify-content:center; align-items:center; padding:0 32px; border-radius:999px; }
@media (max-width:600px){ .cta-row .btn{ padding-inline:20px; } }

/* Standard CTA proportions (optional modifier) */
.cta-row--std{ width:min(88%, 720px); }
.btn--std{ height:64px; }
@media (max-width:960px){ .cta-row--std{ width:100%; } .btn--std{ height:60px; } }
@media (max-width:600px){ .btn--std{ height:54px; } }

/* Cat hero lead line */
.cat-hero__lead{
  font-weight:800;
  font-size:clamp(20px, 2.6vw, 28px);
  line-height:1.2;
  margin:6px 0 10px;
  text-wrap:balance;
}
@media (max-width:820px){ .cat-hero__lead{ text-align:center; } }

/* Category lead brand color */
.cat-hero__lead{ color: var(--brand); }

/* Hero top spacing: inside hero above its content */
:root{ --hero-content-gap: clamp(24px, 4vw, 56px); }
.hero:not(#home) .wrap{ padding-top: var(--hero-content-gap); }

/* === Footer brand strip override === */
.footer-bottom{
  background: var(--brand);
  color:#fff;
  border-top: none;
}
.footer-bottom a{ color:#fff; text-decoration:none }
.footer-bottom a:hover,
.footer-bottom a:focus{ color:#fff; text-decoration:none }
