:root{
  --brand:#ff5d86;
  --brand-dark:#e34a74;
  --ink:#111418;
  --muted:#6c757d;
  --bg:#ffffff;
}

html,body{scroll-behavior:smooth;}
/* Fonts */
@font-face{
  font-family:'Tangkiwood';
  src: url('../fonts/Tangkiwood.woff2') format('woff2'),
       url('../fonts/Tangkiwood.woff') format('woff');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'TAN Tangkiwood';
  src: url('../fonts/Tangkiwood.woff2') format('woff2'),
       url('../fonts/Tangkiwood.woff') format('woff');
  font-weight:400; font-style:normal; font-display:swap;
}

body{color:var(--ink); background:var(--bg); font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
h1,h2,h3,.navbar-brand{font-family:'Tangkiwood','Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; letter-spacing:.2px; font-weight: 700;}

/* Navbar */
.navbar{transition: background-color .25s ease, box-shadow .25s ease; background: transparent;}
.navbar.is-scrolled{background-color:#E34A74; backdrop-filter: blur(6px); box-shadow: 0 8px 24px rgba(0,0,0,.08);} 
.navbar.is-scrolled .nav-link{color:#FCFDF2;}
.navbar .nav-link{color:#FCFDF2; opacity:.95;}
.navbar .nav-link:hover{opacity:1;}
.navbar .navbar-brand{color:#FCFDF2;}
.navbar, .navbar .nav-link, .navbar .navbar-toggler{
  font-family:'TAN Tangkiwood','Tangkiwood','Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:.2px;
  font-weight:700;
}
.navbar-brand-logo{height:40px; width:auto; display:block; filter: drop-shadow(0 1px 1px rgba(0,0,0,.25));}
@media (min-width: 768px){
  .navbar-brand-logo{height:56px;}
}

/* Hero */
.hero{min-height:100vh; position:relative; background-color: #4B5AE4; color:#FCFDF2;} 
.hero > .container{position:relative; z-index:0;}
/* Nagłówek w hero (zawijanie na małych ekranach) */
.hero .display-4{ 
  font-size: clamp(22px, 4.2vw, 40px);
  white-space: normal; /* pozwól zawijać na mniejszych ekranach */
  text-wrap: balance; /* ładniejsze łamanie linii gdzie wspierane */
  letter-spacing: -0.01em;
}
@media (min-width: 992px){
  .hero .display-4{ font-size: clamp(28px, 3vw, 48px); }
}
/* Logo w hero */
.brand-logo-hero{width:min(68vw, 260px); height:auto; filter: drop-shadow(0 8px 24px rgba(0,0,0,.35));}
@media (min-width: 768px){
  .brand-logo-hero{width:360px;}
}

/* Sections */
.section-pad{padding: 72px 0;}
.shadow-hover{transition: transform .25s ease, box-shadow .25s ease;}
.shadow-hover:hover{transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.08);}
/* clickable offer cards */
.card[data-open-gallery]{cursor:pointer;}

/* Gallery */
.gallery-tile{position:relative; display:block; overflow:hidden; border-radius:.5rem; background:#f5f6f8;}
.gallery-tile{aspect-ratio: 4 / 3;}
.gallery-tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.001); transition: transform .4s ease, filter .4s ease;}
.gallery-tile:hover img{transform: scale(1.05); filter:saturate(1.05) contrast(1.05);} 

/* Portrait image: scale down slightly on md+ */
.portrait-img{display:block; max-width:100%; height:auto;}
@media (min-width: 768px){
  .portrait-img{max-height:420px;}
}

/* Lightbox */
.lightbox{position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.85); z-index:1050;}
.lightbox.is-open{display:flex;}
.lightbox__img{max-width:min(92vw,1400px); max-height:86vh; box-shadow:0 12px 32px rgba(0,0,0,.4); border-radius:.5rem;}
.lightbox__close{position:absolute; top:16px; right:16px; background:transparent; border:none; color:#fff; font-size:40px; line-height:1; cursor:pointer; opacity:.9;}
.lightbox__close:hover{opacity:1;}
/* Lightbox nav */
.lightbox__nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); color:#fff; border:none; width:48px; height:64px; cursor:pointer; font-size:34px; line-height:1; border-radius:.5rem; display:flex; align-items:center; justify-content:center; backdrop-filter: blur(2px);}
.lightbox__prev{left:16px;}
.lightbox__next{right:16px;}
.lightbox__nav:hover{background:rgba(0,0,0,.5);} 
.lightbox__counter{position:absolute; bottom:16px; left:50%; transform:translateX(-50%); color:#fff; font-size:14px; background:rgba(0,0,0,.35); padding:.25rem .5rem; border-radius:.375rem;}

/* Footer */
footer .link-secondary{text-decoration:none;}
footer .link-secondary:hover{text-decoration:underline;}

/* Helpers */
.text-secondary{color:var(--muted)!important;}
.btn-primary{--bs-btn-bg:var(--brand); --bs-btn-border-color:var(--brand); --bs-btn-hover-bg:var(--brand-dark); --bs-btn-hover-border-color:var(--brand-dark);} 

/* Contact list */
.contact-list .icon{display:inline-flex; align-items:center; justify-content:center; width:1.25rem; height:1.25rem; margin-right:.5rem; color:var(--brand); opacity:.9;}
.contact-list a{text-decoration:none;}
.contact-list a:hover{text-decoration:underline;}
