:root{
  --bg: #f7efe9;
  --text:#5d3f37;
  --muted:#8f675a;
  --brand:#c09687;
  --brand-2:#e5c9bd;
  --card:#fff3ec;
  --border:#e2cfc6;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.row{display:flex;gap:16px;align-items:center}
.space{justify-content:space-between}

/* Topbar */
.topbar{position:sticky;top:0;background:linear-gradient(180deg, var(--brand-2) 0%, #fff7f3 85%);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid var(--border);z-index:10}
.topbar .brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);padding:12px 0}
.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;font-weight:600}
.brand-name{font-weight:600;letter-spacing:.04em}
/* Logo w topbarze */

.brand-logo {
  height: 60px;     /* dopasuj jeśli za duże/małe */
  width: auto;
  display: block;
}

@media (max-width: 768px) {
  .brand-logo {
    height: 48px;
  }
}

/* Nav */
.mainnav {border-bottom: 1px solid var(--border);background: #fff;margin-bottom: 20px; /* odstęp pod menu */}
.mainnav ul{list-style:none;margin:0;padding:0;display:flex;gap:24px}
.mainnav a{display:inline-block;padding:12px 0;text-decoration:none;color:var(--text)}
.mainnav a:hover{color:var(--muted)}
.nav-toggle{background:transparent;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:18px}

@media (max-width:860px){
.mainnav ul{display:none;flex-direction:column}
.mainnav.open ul{display:flex}
}

/* --- Hero slider --- */
.hero-slider {
  position: relative;
  width: 100%;
  height: 480px;
  overflow: hidden;
  border-radius: 24px;
}

.hero-slider .slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}

.hero-slider .slide.active {
  opacity: 1;
}

@media (max-width: 768px) {
  .hero-slider { height: 320px; }
}

/* Hero */
.hero{margin:24px 0;border-radius:24px;background:linear-gradient(135deg, #f1d9cf 0%, #fff 70%);border:1px solid var(--border)}
.hero-inner{padding:56px 28px;text-align:center}
.hero h1{margin:0 0 10px;font-size:clamp(28px,3.6vw,40px);line-height:1.15;color:var(--text)}
.hero p{margin:0 0 24px;color:#805d51}

/* Buttons */
.btn{display:inline-block;padding:12px 18px;border-radius:999px;border:1px solid var(--border);text-decoration:none;font-weight:500;transition:all .25s ease}
.btn-primary{background:var(--brand);color:#fff;border-color:transparent}
.btn-primary:hover{filter:brightness(.95);transform:translateY(-1px)}
.btn-ghost{background:#fff;color:var(--text)}
.btn-ghost:hover{background:var(--brand-2)}

/* Cards */
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:28px 0}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 2px 6px rgba(0,0,0,.05);transition:transform .2s ease}
.card:hover{transform:translateY(-4px)}
.card h3{margin:0 0 8px;color:var(--text)}

@media (max-width:920px){
  .feature-grid{grid-template-columns:1fr}
}

/* Page intro */
.page-intro{padding:28px 0;border-bottom:1px solid var(--border)}
.page-intro h1{margin:0 0 8px;color:var(--text)}

/* Services */
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:20px 0 40px}
.service{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 2px 5px rgba(0,0,0,.04)}
.service h3{color:var(--text)}
@media (max-width:920px){
  .service-list{grid-template-columns:1fr}
}

/* Contact */
.contact-form{display:grid;gap:14px;max-width:700px;margin:20px 0 60px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form input, .contact-form textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:#fff;font-size:16px;color:var(--text)}
.contact-form input:focus, .contact-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-2)}
.contact-form button{align-self:start}

/* Footer */
.site-footer{margin-top:60px;background:#fff7f3;border-top:1px solid var(--border)}
.site-footer .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:40px 0}
.site-footer h4{margin:0 0 8px;color:var(--text)}
.site-footer .legal{padding:12px 0;border-top:1px solid var(--border);font-size:14px;color:#7a5a4e;text-align:center}
@media (max-width:920px){
  .site-footer .grid{grid-template-columns:1fr}
}
/* --- Stopka: 2 kolumny (kontakt | mapa) --- */
.footer-grid-2col{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: stretch;
}

.contact{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

/* Mapa prawa kolumna */
.map-side{
  width:100%;
  height:100%;
  min-height:350px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,0.08);
}

.contact-list{
  list-style:none;
  margin:0 0 16px 0;
  padding:0;
  display:grid;
  gap:10px;
}

.contact-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.contact-list .icon{
  display:inline-flex;
  width:20px; height:20px;
  margin-top:2px;
  color: var(--muted);
  flex: 0 0 20px;
}

.contact-list a{
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.contact-list a:hover{
  border-bottom-color: var(--muted);
}

/* RWD: jedna kolumna na mobile */
@media (max-width: 920px){
  .footer-grid-2col{
    grid-template-columns: 1fr;
  }
  .map-side{
    min-height:300px;
    margin-top:20px;
  }
}
/* --- Stopka: lewa kontakt, prawa szersza mapa --- */
.site-footer .container {
  padding: 40px 30px; /* odsuwa od krawędzi */
}

.footer-grid-2col {
  display: grid !important;
  grid-template-columns: 0.4fr 0.6fr; /* kontakt węższy, mapa szersza */
  gap: 40px;
  align-items: start;
}

/* Lewa kolumna (kontakt) */
.contact {
  display: flex;
  flex-direction: column;
}

.contact h4 {
  margin-top: 0;
  margin-bottom: 10px;
}

.contact-line {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 6px 0;
}

.contact-line .icon {
  width: 20px;
  height: 20px;
  color: var(--muted);
  flex: 0 0 20px;
  margin-top: 2px;
}

/* Prawa kolumna (mapa) */
.map-side {
  width: 100%;
  min-height: 360px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.map-side iframe {
  width: 100%;
  height: 100%;
  display: block;
}

/* Linki w stopce */
.site-footer a,
.site-footer a:visited,
.site-footer a:active {
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .25s;
}
.site-footer a:hover {
  border-bottom-color: var(--muted);
}

/* Responsywność */
@media (max-width: 920px) {
  .site-footer .container {
    padding: 30px 20px;
  }
  .footer-grid-2col {
    grid-template-columns: 1fr;
  }
  .map-side {
    min-height: 300px;
    margin-top: 20px;
  }
}
/* Dropdown w menu Oferta */
.mainnav .nav-root{list-style:none;margin:0;padding:0;display:flex;gap:24px}
.has-dropdown{position:relative}
.has-dropdown > .dropdown{position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.08);padding:16px;display:none;gap:18px;z-index:20}
.has-dropdown:hover > .dropdown{display:grid}
.dropdown{grid-template-columns:repeat(4, minmax(180px, 1fr))}
.dropdown-col{min-width:180px}
.dropdown-col h4{margin:6px 0 8px;font-size:14px;color:#8b6b60;text-transform:uppercase;letter-spacing:.04em}
.dropdown a{display:block;padding:6px 4px;color:var(--text);text-decoration:none;border-radius:8px}
.dropdown a:hover{background:var(--card)}
@media (max-width: 860px){
.mainnav .nav-root{flex-direction:column}
.has-dropdown > .dropdown{position:static;display:grid;border:none;box-shadow:none;padding:8px 0;border-radius:0}
.dropdown{grid-template-columns:1fr 1fr}
}

/* Jednokolumnowy cennik */
.price-table {
  display: block;
  margin: 30px 0;
}

.price-section {
  background: var(--brand-2);
  padding: 10px 16px;
  border-radius: 10px;
  color: var(--text);
  margin: 0 0 12px;
  font-size: 20px;
}

.price-group {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 30px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.04);
}

.price-group h4 {
  margin-top: 12px;
  margin-bottom: 6px;
  color: var(--muted);
}

.price-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px dashed var(--border);
}

.price-row:last-child {
  border-bottom: none;
}

/* Desktop: hamburger ukryty, menu poziome */
.nav-toggle{ display:none; }
.mainnav .nav-root{ display:flex; gap:24px; }

/* Mobile: menu domyślnie schowane, pokazuje się po .open */
@media (max-width:860px){
  .nav-toggle{
    display:inline-flex;
    align-items:center; justify-content:center;
    background:#fff; border:1px solid var(--border);
    border-radius:10px; padding:8px 10px; font-size:18px;
  }
  .mainnav .nav-root{
    display:none;
    flex-direction:column; gap:12px; padding:10px 0;
  }
  .mainnav.open .nav-root{ display:flex; }
}

