
/* Container width rules */
.container{ width:100%; margin-left:auto; margin-right:auto; }
@media (max-width: 575.98px){ .container{ max-width: 375px; } }           /* mobile */
@media (min-width: 1200px){ .container{ min-width:1200px; max-width:1920px; } } /* desktop clamp */

/* Bootstrap 5 integration theme — UI polish without changing backend logic */
/* Base */
:root{ --bs-border-color: var(--border);
  --bs-body-bg:#F7F8FA;
  --bs-body-color: #111;
  --bs-primary: #0d6efd;
  --bs-success: #198754;
  --bs-danger: #dc3545;
  --bs-warning: #ffc107;
  --bs-info: #0dcaf0;
  --bs-border-radius: 12px;
  --bs-border-color: rgba(0,0,0,.125);
}
body{ background: var(--bs-body-bg); color: var(--bs-body-color); font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; }
main{ min-height: 60vh; }
}
@media (max-width: 575.98px){ .container{ max-width: 375px; } }

/* Generic cards mapping */
.card, .tile, .zleca-card, .view-card, .offer-card, .widget, .panel, .box{
  background: #fff;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  padding: 1.25rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

/* Lists layout spacing */
.wrap, .page-center{ max-width: 1140px; margin: 1rem auto; padding: 0 1rem; }
.cards, .stack{ gap: 1rem; }
.headflex h2, h1, h2, h3{ font-weight: 800; letter-spacing:.2px; }

/* Buttons: adopt Bootstrap sizing and colors */
.btn{ border-radius: .6rem; font-weight: 700; }
.btn.small{ padding: .3rem .6rem; font-size: .875rem; }
.btn.big{ padding: .9rem 1.3rem; font-size: 1.15rem; }
/* map existing "btn-cta" and "btn-ghost2" */
.btn-cta{ @apply: none; } /* ignored by browsers, kept as note */
.btn-cta{ display:block; text-align:center; padding:.7rem 1rem; border-radius:.6rem; background: var(--bs-primary); color:#fff; border:1px solid var(--bs-primary); font-weight:800; text-decoration:none; }
.btn-ghost2{ display:block; text-align:center; padding:.7rem 1rem; border-radius:.6rem; background: transparent; color: var(--bs-primary); border:1px solid var(--bs-primary); text-decoration:none; }

/* Tables/meta blocks */
.view-section .title, .title{ font-weight:800; }
.meta-label{ color:#555; font-weight:700; }
.meta-value{ font-weight:600; }

/* Sidebar (cats/filter) */
.sidebar-cats, .filter-box{ background:#fff; border:1px solid var(--bs-border-color); border-radius: var(--bs-border-radius); padding:1rem; }

/* Footer */
.footer{ background:var(--bg); border-top:0; padding:1rem 0; }
.footer .container{ display:flex; justify-content:space-between; }

/* Light green navbar background */
.bg-light-green{ background: linear-gradient(rgba(0,0,0,.015), rgba(0,0,0,.015)), var(--hero-light) !important; background-color: var(--hero-light) !important;}

/* Remove top gap above footer */
.footer{ background:var(--bg); border-top:0; padding:1rem 0; }


/* Dropdown on hover for desktop */
@media (min-width: 992px){
  .nav-profile.dropdown:hover .dropdown-menu{ display:block; }
  .nav-profile .dropdown-toggle::after{ display:none; } /* ukryj strzałkę */
}



/* Profile dropdown polish: clip hover background to rounded menu + align right */
.nav-profile .dropdown-menu{
  right: 0 !important;
  left: auto !important;
  overflow: hidden;
  border-radius: 12px;
  padding: .25rem 0;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  z-index: 1100;
  clip-path: inset(0 round 12px);
}
.nav-profile .dropdown-item{ padding: .55rem 1rem; }
.nav-profile .dropdown-item:hover,
.nav-profile .dropdown-item:focus{ background-color: #eef5ff; }



/* Icons alignment in dropdown */
.nav-profile .dropdown-item .bi{ font-size: 1rem; vertical-align: -0.125em; }



/* Dropdown polish — full-width hover, subtle dividers */
.nav-profile .dropdown-menu{ padding: 0 !important; overflow: hidden; border-radius: 12px; clip-path: inset(0 round 12px); }
.nav-profile .dropdown-item{ padding: .65rem 1rem; display:flex; align-items:center; gap:.5rem; }
.nav-profile .dropdown-item:hover, .nav-profile .dropdown-item:focus{ background-color: #e6f0ff !important; }
.nav-profile .dropdown-divider{ margin: .25rem 0; opacity: .25; }



/* Full-bleed hover inside profile dropdown */
.nav-profile .dropdown-menu{ padding:0 !important; overflow:hidden; border-radius:12px; clip-path: inset(0 round 12px); }
.nav-profile .dropdown-item{ display:flex; align-items:center; gap:.5rem; width:100%; margin:0; border-radius:0 !important; }
.nav-profile .dropdown-item:hover,
.nav-profile .dropdown-item:focus{ background-color:#e6f0ff !important; }



/* UI scale */
html{ font-size: 18px; }            /* was ~16px */
body{ line-height: 1.6; }           /* more airy reading */


/* === Desktop global scale-down (visual zoom) === */
@media (min-width: 992px){
  html{ zoom: .92; } /* Chrome/Edge/Opera */
}
/* Firefox fallback (no CSS zoom support) */
@-moz-document url-prefix() {
  @media (min-width: 992px){
    html{ font-size: 15.5px !important; } /* ~0.92 of 17px/16px base */
  }
}



/* === Modal repair overrides (ensure proper show/hide and z-index layering) === */
.modal{ display:none !important; z-index: 2000 !important; }
.modal:not([hidden]){ display:block !important; }
.modal .modal-backdrop{ background: rgba(0,0,0,.5) !important; }
.modal .modal-dialog{
  position: relative !important;
  z-index: 1 !important;
  background: #ffffff !important;
  color: #111 !important;
  border: 1px solid rgba(0,0,0,.15) !important;
  border-radius: 12px !important;
  padding: 14px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.15) !important;
}
.modal .modal-body input,
.modal .modal-body textarea{
  background: #fff !important;
  color: #111 !important;
  border: 1px solid rgba(0,0,0,.2) !important;
}



/* Transparent, non-clickable backdrop for modals */
.modal-backdrop{ background: transparent !important; pointer-events: none !important; }


/* Force transparent backdrop (override specific selector) */
.modal .modal-backdrop{ background: transparent !important; pointer-events: none !important; }


/* --- Modal interaction hard-fix --- */
.modal-backdrop{ display:none !important; }
.modal{ z-index: 3000 !important; }
.modal .modal-dialog{
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(560px, 92vw) !important;
  max-height: 90vh !important;
  overflow: auto !important;
  pointer-events: auto !important;
}



/* Navbar compact mode: ~30% shorter */
.navbar{ padding-top:.25rem; padding-bottom:.25rem; }
.navbar .nav-link{ padding-top:.3rem; padding-bottom:.3rem; }
.navbar .navbar-brand{ padding-top:.2rem; padding-bottom:.2rem; }

/* === Global background override (force site-wide) === */









/* === Modern palette overrides (teal + warm CTA) === */
:root{
  --bg:#F7F8FA; --surface:#FFFFFF; --text:#111827; --muted:#6B7280; --border:#E5E7EB;
  --primary:#0F766E; --primary-600:#0A5F59; --primary-700:#074B46;
  --cta:#F97316; --cta-600:#EA580C; --cta-700:#C2410C;
  --success:#16A34A; --warning:#F59E0B; --danger:#EF4444; --info:#0EA5E9;
  --hero:#0F766E;
}

/* Base */
html, body{ background:var(--bg) !important; color:var(--text); }
a{ color:var(--primary); }
a:hover{ text-decoration:underline; }

/* Navbar utility used in theme */
.bg-light-green{ background: linear-gradient(rgba(0,0,0,.015), rgba(0,0,0,.015)), var(--hero-light) !important; background-color: var(--hero-light) !important;}

/* Cards / blocks */
.card, .mega-card, .mega-benefits article, .mega-steps-grid li, .stat{
  background:var(--surface); border:1px solid var(--border); border-radius:14px;
  box-shadow:0 6px 24px rgba(0,0,0,.06);
}

/* Hero */
.hero2{ background: linear-gradient(180deg, var(--hero-light), var(--hero)) !important; color:#fff; }
.hero2 h1, .hero2 h2, .hero2 h3, .hero2 .hero-sub, .hero2 .hero-info{ color:#fff; }

/* Tabs */
.hero2 .hero-tabs{ background:#F3F4F6; box-shadow:none; }
.hero2 .tab{ background:transparent; border:1px solid #2b2f36; color:#fff; }
.hero2 .tab.active{ background:#fff; border-color:#2b2f36; color:var(--primary); }

/* Buttons */
.btn-primary{ background:var(--primary); border-color:var(--primary); color:#fff; }
.btn-primary:hover{ background:var(--primary-600); border-color:var(--primary-600); }
.btn-cta,.btn-warning{ background:var(--cta); border-color:var(--cta); color:#fff; }
.btn-cta:hover,.btn-warning:hover{ background:var(--cta-600); border-color:var(--cta-600); }
.btn-outline{ background:#fff; border:1px solid var(--border); color:var(--primary); }
.btn-outline:hover{ background:#F3F4F6; }

/* Dividers / badges */
hr{ border-color:var(--border); }
.badge{ background:#F3F4F6; color:var(--text); border:1px solid var(--border); }


/* ensure navbar links readable on hero gradient */
.navbar.bg-light-green .navbar-brand,
.navbar.bg-light-green .nav-link,
.navbar.bg-light-green .navbar-text{ color:#ffffff !important; }
.navbar.bg-light-green .nav-link:hover{ color:#E5E7EB !important; }



/* remove thin bottom line on top navbar */
.navbar.bg-light-green{ border-bottom: none !important; box-shadow: none !important; }

