 :root {
   --brand:  #1e4237;
   --garden: #85974d;
   --home:   #6a8a7e;
   --decor:  #ba714c;
   --cream:  #f0ece6;
   --text:   #1a1a1a;
  
  --bs-primary: #1e4237;
  --bs-primary-rgb: 30, 66, 55;
  --bs-link-color: #1e4237;
  --bs-link-hover-color: #163129;}
  
  .btn-primary { --bs-btn-bg: #1e4237; --bs-btn-border-color: #1e4237; --bs-btn-hover-bg: #163129; --bs-btn-hover-border-color: #163129; --bs-btn-active-bg: #1e4237; --bs-btn-disabled-bg: #1e4237; 
  --bs-btn-active-border-color: #1e4237;  --bs-btn-disabled-border-color: #1e4237;}
 .bg-primary { background-color: #1e4237 !important; }
 .text-primary { color: #1e4237 !important; }
 .border-primary { border-color: #1e4237 !important;   }
 *, *::before, *::after { box-sizing: border-box; }
 html { scroll-behavior: smooth; }
 body {
   font-family: 'Anek Latin', sans-serif;
   font-weight: 300;
   background: #fff;
   color: var(--text);
   font-size: 1rem;
   line-height: 1.75;
   overflow-x: hidden;
 }
 
 .wrapper {overflow-x: hidden;}

 /* NAV */
 .navbar { background: var(--brand); padding: 0.7rem 0; }
 .nav-link {
   font-family: 'Anek Latin', sans-serif;
   font-weight: 400;
   font-size: 0.77rem;
   letter-spacing: 0.13em;
   text-transform: uppercase;
   color: rgba(240,236,230,0.75) !important;
   padding: 0.4rem 0.85rem !important;
   transition: color 0.2s;
 }
 .nav-link:hover { color: var(--cream) !important; }
 .nav-shop {
   border: 1px solid rgba(240,236,230,0.4);
   border-radius: 2px;
   color: var(--cream) !important;
   padding: 0.32rem 1rem !important;
   margin-left: 0.25rem;
   transition: background 0.2s;
  text-decoration: none;
 }
 .nav-shop:hover { background: rgba(240,236,230,0.12); }
 .navbar-toggler { border-color: rgba(240,236,230,0.3); }
 .navbar-toggler-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(240,236,230,0.85)' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
 }

 /* HERO */
 .hero {
   background: var(--brand);
   color: var(--cream);
   padding: 6rem 0 5.5rem;
   position: relative;
   overflow: hidden;
 }
 .hero-symbol {
   position: absolute;
   right: -40px;
   top: 50%;
   transform: translateY(-50%);
   opacity: 0.07;
   pointer-events: none;
 }
 .hero .section-eyebrow {
   color: rgba(240,236,230,0.55) !important;
   margin-bottom: 1.1rem !important;
 }
 .hero h1 {
   font-family: 'Anek Latin', sans-serif;
   font-weight: 700;
   font-size: clamp(2.4rem, 5.5vw, 4.2rem);
   line-height: 1.1;
   letter-spacing: -0.015em;
   margin-bottom: 1.5rem;
   color: var(--cream);
 }
 .hero h1 em { font-weight: 300; font-style: normal; color: rgba(240,236,230,0.65); }
 .hero-desc {
   font-size: 1.05rem;
   font-weight: 300;
   line-height: 1.85;
   color: rgba(240,236,230,0.85);
   max-width: 520px;
 }
 .hero-btns { margin-top: 2.4rem; display: flex; flex-wrap: wrap; gap: 0.65rem; }
 .btn-cream {
   background: var(--cream); color: var(--brand);
   border: none; border-radius: 2px;
   padding: 0.65rem 1.7rem;
   font-family: 'Anek Latin', sans-serif; font-weight: 600;
   font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase;
   text-decoration: none; transition: opacity 0.2s; white-space: nowrap;
 }
 .btn-cream:hover { opacity: 0.88; color: var(--brand); }
 .btn-outline-cream {
   background: transparent; color: var(--cream);
   border: 1px solid rgba(240,236,230,0.4); border-radius: 2px;
   padding: 0.65rem 1.7rem;
   font-family: 'Anek Latin', sans-serif; font-weight: 400;
   font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase;
   text-decoration: none; transition: border-color 0.2s, background 0.2s; white-space: nowrap;
 }
 .btn-outline-cream:hover { border-color: var(--cream); background: rgba(240,236,230,0.08); color: var(--cream); }

 /* ABOUT */
 .about-section { padding: 6rem 0; background: #fff; }
 .section-eyebrow {
   font-size: 1rem; letter-spacing: 0.22em; text-transform: uppercase;
   color: var(--brand); margin-bottom: 0.5rem;
 }
 .section-title {
   font-family: 'Anek Latin', sans-serif; font-weight: 700;
   font-size: clamp(1.85rem, 3.2vw, 2.7rem);
   color: var(--brand); line-height: 1.12; letter-spacing: -0.01em;
 }
 .section-title em { font-weight: 300; font-style: normal; }
 .rule { width: 36px; height: 2px; background: var(--brand); margin: 1.3rem 0; }
 .rule-cream { background: var(--cream); }
 .rule-center { margin: 1.3rem auto; }
 .about-text { font-size: 1rem; line-height: 1.9; color: var(--text); }
 .stat-box { padding: 1.3rem 1.6rem; border-left: 3px solid var(--brand); }
 .stat-num { font-weight: 700; font-size: 2rem; color: var(--brand); line-height: 1; }
 .stat-lbl { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text); margin-top: 0.2rem; }

 /* LINKS BAR */
 .links-bar { background: var(--cream); padding: 2.5rem 0; }
 .link-tile {
   display: flex; align-items: center; gap: 1rem;
   padding: 1.9rem 1.9rem; background: #fff; 
   text-decoration: none; color: var(--brand);
   border-top: 3px solid var(--brand);
   transition: box-shadow 0.2s, transform 0.2s; height: 100%;
 }
 .link-tile:hover { box-shadow: 0 4px 20px rgba(30,66,55,0.12); transform: translateY(-2px); color: var(--brand); }
 .link-icon {
   width: 40px; height: 40px; flex-shrink: 0;
   background: var(--brand); border-radius: 50%;
   display: flex; align-items: center; justify-content: center;
 }
 .link-icon svg { fill: #fff; width: 17px; height: 17px; }
 .link-tile-name { font-weight: 600; font-size: 0.96rem; margin-bottom: 0.1rem; color: var(--brand); }
 .link-tile-sub { font-size: 0.73rem; color: var(--text); letter-spacing: 0.03em; }

 /* BRAND SECTIONS */
 .brand-section { padding: 0; }
 .xbrand-section + .brand-section { border-top: 1px solid rgba(0,0,0,0.05); }

 /* Header band */
 .brand-header {
   padding: 3.5rem 0 3rem;
   color: var(--cream);
   position: relative;
   overflow: hidden;
 }
 .brand-header-symbol {
   position: absolute;
   right: -20px; top: 70%; transform: translateY(-50%);
   opacity: 0.08; pointer-events: none;
 }
 .brand-header-eyebrow {
   font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase;
   color: rgba(240,236,230,0.65); margin-bottom: 0.5rem;
 }
 .brand-header h2 {
   font-family: 'Anek Latin', sans-serif; font-weight: 700;
   font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -0.01em;
   line-height: 1.1; color: var(--cream); margin-bottom: 0;
 }
 .brand-header h2 em { font-weight: 300; font-style: normal; color: rgba(240,236,230,0.6); }
 .brand-header p { font-size: 1rem; color: rgba(240,236,230,0.85); line-height: 1.8; margin: 1rem 0 0; }
 
 /* Tags in header */
 .btag {
   display: inline-block;
   font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase;
   padding: 0.22rem 0.65rem; border-radius: 2px;
   border: 1px solid rgba(240,236,230,1);
   color: rgba(240,236,230,1);
   margin-right: 0.35rem; margin-top: 0.35rem;
 }

 /* Carousel strip */
 .brand-carousel { color: var(--brand);}
 .brand-carousel .carousel-item img {
   height: 720px;
   width: 100%;
   object-fit: cover;
 }
 .carousel-control-prev, .carousel-control-next {
   width: 48px;
 }

 /* Info strip below carousel */
 .brand-info { padding: 3rem 0 4rem; background: #fff; }

 /* CATALOGS */
 .catalogs-section { padding: 6rem 0; background: var(--cream); }
 .catalog-card {
   display: block;
   text-decoration: none;
   border-radius: 4px;
   overflow: hidden;
   background: #fff;
   border: 1px solid rgba(30,66,55,0.08);
   transition: box-shadow 0.25s, transform 0.25s;
   height: 100%;
 }
 .catalog-card:hover {
   box-shadow: 0 8px 32px rgba(30,66,55,0.14);
   transform: translateY(-4px);
 }
 .catalog-card img {
   width: 100%;
   display: block;
   aspect-ratio: 7/10;
   object-fit: cover;
 }
 .catalog-card-body {
   padding: 1.1rem 1.3rem 1.3rem;
 }
 .catalog-card-title {
   font-family: 'Anek Latin', sans-serif;
   font-weight: 600;
   font-size: 0.92rem;
   color: var(--brand);
   margin-bottom: 0.3rem;
   line-height: 1.3;
 }
 .catalog-card-sub {
   font-size: 0.75rem;
   color: var(--text);
   letter-spacing: 0.04em;
 }
 .catalog-dl {
   display: inline-flex;
   align-items: center;
   gap: 0.4rem;
   margin-top: 0.8rem;
   font-size: 0.75rem;
   font-weight: 600;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   color: var(--brand);
 }
 .catalog-dl svg { width: 14px; height: 14px; fill: var(--brand); flex-shrink: 0; }


 /* catalog landscape variant (A4 poziomo) */
 .catalog-card-landscape {
   display: flex;
   flex-direction: row;
   align-items: stretch;
 }
 .catalog-card-landscape .catalog-img-wrap {
   flex: 0 0 55%;
   overflow: hidden;
 }
 .catalog-card-landscape img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   aspect-ratio: auto;
   display: block;
 }
 .catalog-card-landscape .catalog-card-body {
   flex: 1;
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 1.8rem 2rem;
 }
 .catalog-card-landscape .catalog-card-title {
   font-size: 1.05rem;
 }
 .catalog-card-landscape .catalog-card-sub {
   font-size: 0.8rem;
   margin-top: 0.2rem;
 }
 @media (max-width: 575px) {
   .catalog-card-landscape { flex-direction: column; }
   .catalog-card-landscape .catalog-img-wrap { flex: none; }
   .catalog-card-landscape img { aspect-ratio: 10/7; height: auto; }
 }

 /* MAP */
 .map-section { padding: 6rem 0; background: #fff; }
 .map-placeholder {
   background: #f7f7f7;
   border: 1px dashed rgba(30,66,55,0.2);
   height: 460px;
   display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1rem;
 }
 .map-placeholder svg { width: 52px; height: 52px; fill: var(--brand); }
 .map-placeholder p { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text); margin: 0; }

 /* CONTACT */
 .contact-section { padding: 6rem 0; background: var(--cream); }
 .contact-card {
   background: #fff;
   padding: 2rem 2rem; height: 100%;
   border-top: 3px solid var(--brand);
 }
 .contact-card h4 { font-weight: 700; font-size: 1.1rem; color: var(--brand); margin-bottom: 1.3rem; }
 .c-line { display: flex; align-items: flex-start; gap: 0.7rem; margin-bottom: 0.85rem; }
 .c-line svg { width: 15px; height: 15px; flex-shrink: 0; fill: var(--brand); margin-top: 3px; }
 .c-line a, .c-line span { font-size: 0.88rem; color: var(--text); text-decoration: none; }
 .c-line a:hover { color: var(--brand); text-decoration: underline; }

 /* FOOTER */
 footer { background: var(--brand); color: var(--cream); padding: 2.5rem 0; }
 footer p { font-size: 0.85rem; color: rgba(240,236,230,0.55); margin: 0; }
 footer a { color: rgba(240,236,230,0.55); font-size: 0.85rem; text-decoration: none; display: block; margin-bottom: 0.3rem; transition: color 0.2s; }
 footer a:hover { color: var(--cream); }

/* LINKS */
a { color: var(--brand); text-decoration: underline;}
 a:hover { text-decoration: none;  }


 @media (max-width: 991px) {
   .navbar-collapse { padding: 1rem 0; }
   .brand-carousel .carousel-item img { height: 480px; }
   .brand-header-symbol { display: none; }
   .hero-symbol { display: none; }
 }
 @media (max-width: 767px) {
   .brand-header { padding: 2.5rem 0 2rem; }
   .brand-carousel .carousel-item img { height: 280px; }
 }

/* COLORS */

.bg-brand { background:var(--brand); }
.bg-garden { background:var(--garden); }
.bg-home { background:var(--home); }
.bg-decor { background:var(--decor); }
.bg-brand a, .bg-garden a, .bg-home a, .bg-decor a { color: var(--cream);}

.wojewodztwo {fill: var(--bs-gray-500);transition: fill 0.4s;}.wojewodztwo:hover {fill: var(--brand);transition: fill 0.4s;}#mapaPH .active .wojewodztwo {fill: var(--brand);transition: fill 0.4s;}.zi-1050 {z-index: 1050;}.body-with-nav main {padding-top: 6rem !important;}