@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@600;700&display=swap');
:root{
  --rose-top:#F8E3DB;
  --rose-bot:#F6D2C9;
  --gold:#C49A47;
  --gold-dark:#A8843E;
  --ink:#2B2B2B;
  --paper:#FFFFFF;
  --center-graphic:url('../img/header-logo.png');
}

*{box-sizing:border-box}html,body{margin:0;padding:0}
body{min-height:100vh;display:flex;flex-direction:column;background:#F7EAE5;color:var(--ink);line-height:1.7;font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif}

.rose-side{
	position:fixed;
	top:105px;
	bottom:0;
	width:clamp(210px,16vw,320px);
	z-index:1;
	pointer-events:none;
	background-repeat: repeat-y;
    background-attachment: scroll;
	background-position:top center;
	background-size: auto 700px;
	opacity:1
	}
.rose-left{left:0;background-image:url('../img/rose-left.png')}
.rose-right{right:0;background-image:url('../img/rose-right.png')}

.site-wrap{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100vh;width:100%}
.site-main{flex:1 0 auto}
.container{width:min(1200px,92%);margin:0 auto}


/* Header */
.site-header{background:linear-gradient(180deg,var(--rose-top),var(--rose-bot));border-bottom:1px solid #00000010;position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:104px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#6d5f4d}
.brand-logo{height:88px;width:auto;display:block}
.brand-title{font-weight:700}
.primary-nav{margin-left:auto}
.primary-nav .menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.primary-nav .menu a{text-decoration:none;color:#5a5652;padding:10px 12px;border-radius:10px;font-weight:600}
.primary-nav .menu a:hover{background:#0000000d;color:var(--gold-dark)}
.nav-toggle{display:none;margin-left:8px;border:0;background:transparent;width:40px;height:32px;cursor:pointer}
.nav-toggle span{display:block;height:2px;background:var(--gold-dark);margin:7px 0}

/* Content & Footer */
.content{padding:28px 0 44px}
.card{background:var(--paper);border:1px solid #00000012;border-radius:14px;padding:24px;box-shadow:0 6px 18px #00000010}
.entry-title{color:var(--gold-dark);margin-top:0;font-family:'Playfair Display',serif;font-weight:700}

.center-graphic{
  width: clamp(200px, 30vw, 30px);
  aspect-ratio: 1 / 1;
  margin: 25px auto 25px;
  background-image: var(--center-graphic);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain; /* treat as graphic */
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.08));
}

.booksy-icon{
  background-image: url(../img/booksy-ikona.png);
  background-repeat: no-repeat;
  background-size: contain;
  height: 70px;
  width: 70px;
  margin-bottom: -30px;
}

.social-icons{margin-bottom:12px}
.social-icons a{
    color:#fff;
    margin:0 12px;
    font-size:26px;
    transition:.2s;
}
.social-icons a:hover{color:#FFC8C0}

.site-footer{background:linear-gradient(180deg,var(--rose-bot),var(--rose-top));border-top:1px solid #00000010;padding:15px 0;color: unset !important}
.footer-inner{display:flex;align-items:center;justify-content:center}
.footer-copy{opacity:.75;font-size:14px}

/* Hide sides on very narrow to avoid crowding */
@media (max-width:900px){
  body::before,body::after{display:none}
  .primary-nav{display:none;position:absolute;left:0;right:0;top:92px;background:var(--paper);border-bottom:1px solid #00000010;padding:10px 12px}
  .center-graphic{margin:24px auto 40px;width:clamp(200px, 30vw, 30px)}
  .rose-side{display:none}
  .primary-nav.open{display:block}
  .primary-nav .menu{flex-direction:column;gap:6px}
  .nav-toggle{display:block;margin-left:12px}
}

/* ==== Elegant dropdown polish (v33) ==== */

/* Reset for any nav lists */
.primary-nav ul{ list-style:none; margin:0; padding:0; }

/* Top-level layout should work whether WP renders .menu or raw <ul> */
.primary-nav > ul,
.primary-nav > .menu{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }

/* Top-level links */
.primary-nav a{
  font-weight:600;
  letter-spacing:.01em;
  color:#4d4a45;
  padding:10px 14px;
  border-radius:14px;
  transition:color .2s ease, background .2s ease, transform .2s ease;
}
.primary-nav > ul > li > a:hover,
.primary-nav > .menu > li > a:hover{
  background:rgba(196,154,71,.08);
  color:var(--gold-dark);
}

/* caret for items with children */
.primary-nav li.menu-item-has-children > a::after,
.primary-nav li.page_item_has_children > a::after,
.primary-nav li.has-child > a::after{
  content:"";
  width:6px; height:6px; display:inline-block; margin-left:8px;
  border-right:2px solid var(--gold-dark); border-bottom:2px solid var(--gold-dark);
  transform:rotate(45deg) translateY(-1px); opacity:.85;
  transition:transform .2s ease, opacity .2s ease;
}

/* Submenu base */
.primary-nav li{ position:relative; }
.primary-nav li > ul,
.primary-nav li > .sub-menu{
  background:var(--paper);
  border:1px solid rgba(196,154,71,.14);
  border-radius:16px;
  box-shadow:0 14px 36px rgba(88,56,35,.18), 0 3px 8px rgba(88,56,35,.08);
  padding:10px;
  z-index:1000;
}

/* Desktop behavior */
@media (min-width:901px){
  /* hide mobile toggles on desktop */
  .primary-nav li > ul,
  .primary-nav li > .sub-menu{
    position:absolute; left:0; top:calc(100% + 10px); min-width:280px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(4px);
    transform-origin:10% 0;
    opacity:0; visibility:hidden; transform:translateY(8px) scale(.98);
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  .primary-nav li:hover > ul,
  .primary-nav li:focus-within > ul,
  .primary-nav li:hover > .sub-menu,
  .primary-nav li:focus-within > .sub-menu{
    opacity:1; visibility:visible; transform:translateY(0) scale(1); transition-delay:0s;
  }

  .primary-nav li > ul a,
  .primary-nav li > .sub-menu a{
    display:block; padding:10px 12px; border-radius:10px;
    color:#3e3b37; font-weight:600;
  }
  .primary-nav li > ul a:hover,
  .primary-nav li > .sub-menu a:hover{
    background:var(--rose-top);
  }

  /* rotate caret when open */
  .primary-nav li:hover > a::after,
  .primary-nav li:focus-within > a::after{ transform:rotate(225deg) translateY(1px); }
}

/* Mobile collapsible submenus */
@media (max-width:900px){
  .primary-nav{ border-radius:14px; box-shadow:0 14px 36px rgba(0,0,0,.10); }
  .primary-nav a{ padding:12px 10px; border-radius:12px; }
  .primary-nav > ul, .primary-nav > .menu{ flex-direction:column; gap:6px; }

  .primary-nav li > ul,
  .primary-nav li > .sub-menu{
    position:static; display:block; border:0;
    border-left:2px solid rgba(196,154,71,.25);
    margin:4px 0 6px 14px; padding-left:10px;
    max-height:0; overflow:hidden; transition:max-height .25s ease; background:transparent;
  }
  .primary-nav li.is-open > ul,
  .primary-nav li.is-open > .sub-menu{ max-height:1000px; }
  .primary-nav a{ display:inline-flex; gap:8px; align-items:center; justify-content:space-between; width:calc(100% - 40px); }
}

/* === Scrollable submenu (desktop) === */
:root{
  /* jeśli nie chcesz JS-owego wyliczania poniżej – wpisz tu na sztywno np. 96px */
  --header-h: 96px;
}

@media (min-width:901px){
  .primary-nav li > ul,
  .primary-nav li > .sub-menu{
    /* ogranicz wysokość do okna i włącz wewnętrzny scroll */
    max-height: clamp(260px, calc(100vh - var(--header-h, 96px) - 40px), 78vh);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
  }

  /* ładniejszy scrollbar (WebKit) */
  .primary-nav li > ul::-webkit-scrollbar,
  .primary-nav li > .sub-menu::-webkit-scrollbar{ width: 10px; }
  .primary-nav li > ul::-webkit-scrollbar-track,
  .primary-nav li > .sub-menu::-webkit-scrollbar-track{ background: transparent; }
  .primary-nav li > ul::-webkit-scrollbar-thumb,
  .primary-nav li > .sub-menu::-webkit-scrollbar-thumb{
    background: rgba(196,154,71,.35);
    border-radius: 8px;
    border: 2px solid rgba(255,255,255,.7);
  }
  .primary-nav li > ul:hover::-webkit-scrollbar-thumb,
  .primary-nav li > .sub-menu:hover::-webkit-scrollbar-thumb{
    background: rgba(196,154,71,.55);
  }
}

/* (opcjonalnie) również na mobile chcesz wewnętrzny scroll zamiast nieskończonego rozwijania */
@media (max-width:900px){
  .primary-nav li.is-open > ul,
  .primary-nav li.is-open > .sub-menu{
    max-height: 72vh; /* lub 480px */
    overflow: auto;
  }
}
/* ===== Kontakt: jeden kafelek (mapa lewo, dane prawo) ===== */
:root{
  --gold:      #C49A47;
  --gold-dark: #A8843E;
  --rose-ink:  #6B5B4A;
}

.contact-hero{ text-align:center; padding:32px 0 8px; }
.contact-title{ margin:0; font-family:'Playfair Display',serif; font-weight:700; color:#7e693e; }
.contact-sub{ opacity:.8; margin:.5rem 0 0; }

/* KAFEL z dwiema kolumnami */
.contact-combined-card{ padding:0; overflow:hidden; }
.contact-combined-card > .combined-inner{
  display:grid;
  grid-template-columns: 1.25fr 1fr; /* mapa troszkę szersza */
  min-height: 440px;
}
@media (max-width: 980px){
  .contact-combined-card > .combined-inner{
    grid-template-columns: 1fr;
    min-height: unset;
  }
}

/* kolumna mapy */
.map-col{
  position:relative;
  border-right:1px solid rgba(196,154,71,.18);
  background:#f7f3f1;
}
@media (max-width:980px){
  .map-col{ border-right:none; border-bottom:1px solid rgba(196,154,71,.18); height: 56vw; min-height: 280px; }
}
.map-embed{ position:absolute; inset:0; }
.map-embed iframe{ width:100%; height:100%; border:0; }

/* kolumna danych */
.details-col{
  padding:22px 20px 20px;
  display:flex; flex-direction:column; justify-content:flex-start;
}
.details-col > h2{
  margin:0 0 14px; color:#7e693e; font-family:'Playfair Display',serif;
}

/* wiersze kontaktu */
.contact-list{ margin:8px 0 2px; }
.contact-row{
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid rgba(196,154,71,.22);
  border-radius:14px; padding:12px 14px; margin:10px 0;
  text-decoration:none; color:var(--rose-ink);
  box-shadow:0 6px 18px rgba(0,0,0,.04);
  transition:border-color .2s ease, box-shadow .2s ease, transform .05s ease;
}
.contact-row:hover{ border-color:rgba(196,154,71,.45); box-shadow:0 10px 22px rgba(0,0,0,.08); transform:translateY(-1px); }
.contact-row:visited{ color:var(--rose-ink); text-decoration:none; }
.contact-row.is-static{ cursor:default; }

.cr-ico svg{ stroke:var(--gold-dark); }
.cr-text strong{ display:block; font-weight:700; color:#3e3b37; }
.cr-text em{ display:block; font-style:normal; font-weight:600; color:#7a6c5a; font-size:.92rem; opacity:.95; }

.cr-link{
  margin-left:auto; font-weight:700; color:#7e693e;
  text-decoration:none; border-bottom:1px dashed rgba(196,154,71,.6);
}
.cr-link:hover{ border-bottom-color:rgba(196,154,71,.9); }

/* === MOBILE NAV – final flatten patch (max-width:900px) === */
@media (max-width:900px){

  /* Panel */
  .primary-nav{
    position: fixed; z-index: 1000;
    top: calc(var(--header-h, 88px)); left: 0; right: 0;
    background: #fff;
    border-top: 1px solid rgba(196,154,71,.18);
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    padding: 10px 10px 14px;
    max-height: calc(100vh - var(--header-h, 88px));
    overflow: auto;
    transform: translateY(-8px); opacity: 0; visibility: hidden;
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    border-radius: 0;
  }
  .primary-nav.open{ transform: translateY(0); opacity: 1; visibility: visible; }

  /* Reset list / stack items vertically */
  .primary-nav ul{ list-style: none; margin: 0; padding: 0; }
  .primary-nav > ul, .primary-nav > .menu{ display: flex; flex-direction: column; gap: 0; }

  .primary-nav li{ position: relative; margin: 0; }

  /* FLAT LINKS: no cards, no shadows, no big radii */
  .primary-nav li > a{
    display: block; width: 100%;
    padding: 14px 42px 14px 12px !important; /* room for caret on the right */
    line-height: 1.35;
    color: #3d3a36; text-decoration: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  /* subtle separators instead of “pills” */
  .primary-nav li + li > a{ border-top: 1px solid rgba(196,154,71,.15) !important; }
  .primary-nav li > a:hover{ background: rgba(243,203,197,.15) !important; }
  .primary-nav li.is-open > a{ background: rgba(243,203,197,.18) !important; }

  /* remove any desktop caret so we don’t get two */
  .primary-nav li.menu-item-has-children > a::after,
  .primary-nav li.page_item_has_children > a::after{ display: none !important; }

  /* SUBMENU: flat, text-only, no cards */
  .primary-nav li > ul,
  .primary-nav li > .sub-menu{
    position: static; display: block;
    margin: 6px 0 10px 14px; padding-left: 12px;
    border-left: 2px solid rgba(196,154,71,.25);
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    max-height: 0; overflow: hidden; transition: max-height .25s ease;
  }
  .primary-nav li.is-open > ul,
  .primary-nav li.is-open > .sub-menu{ max-height: 1000px; }

  .primary-nav li > ul > li > a,
  .primary-nav li > .sub-menu > li > a{
    padding: 10px 8px !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  }
  .primary-nav li > ul > li + li > a,
  .primary-nav li > .sub-menu > li + li > a{ border-top: 1px dashed rgba(196,154,71,.22) !important; }
}

/* =====================================================================
   🧹 Mobile nav cleanup v6 — 2025-10-11
   - Remove stray/duplicate carets on the far right
   - Top-level caret inline (near label); submenu caret inline & smaller
   - Close (X) hidden by default, shown only when menu is actually open
   ===================================================================== */

:root{ --rz-gold: var(--gold-dark, #8a6d3b); }

@media (max-width: 900px){

  /* ========== 0) HAMBURGER vs X ========== */
  /* Hide all "X" variants by default */
  .menu-close, .nav-close, .close-menu, .menu__close, .offcanvas-close,
  .drawer .close, .mobile-menu .close, .site-header .close, .close, .icon-close {
    display:none !important;
  }
  /* Show them only when menu is open (cover common flags/classes) */
  body.menu-open .menu-close,
  body.mobile-menu-open .menu-close,
  .site-header.menu-open .menu-close,
  .primary-nav.is-open .menu-close,
  body.menu-open .nav-close,
  body.mobile-menu-open .nav-close,
  .site-header.menu-open .nav-close,
  .primary-nav.is-open .nav-close,
  body.menu-open .close,
  body.mobile-menu-open .close,
  .site-header.menu-open .close,
  .primary-nav.is-open .close{
    display:block !important;
  }

  /* Inside toggle button: show hamburger initially, X only when expanded */
  .menu-toggle .icon-close,
  .menu-toggle .close,
  .menu-toggle .x{ display:none !important; }
  .menu-toggle[aria-expanded="true"] .icon-close,
  .menu-toggle[aria-expanded="true"] .close,
  .menu-toggle[aria-expanded="true"] .x{ display:inline-block !important; }
  .menu-toggle[aria-expanded="true"] .icon,
  .menu-toggle[aria-expanded="true"] .hamburger,
  .menu-toggle[aria-expanded="true"] .bars{ display:none !important; }

  /* ========== 1) BASE LIs & ANCHORS ========== */
  .primary-nav li > a,
  nav .menu li > a{
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    line-height: 1.3 !important;
  }

  /* center top-level label */
  .primary-nav > ul > li > a,
  nav .menu > li > a{
    justify-content: center !important;
    text-align: center !important;
    padding: 10px 24px !important;
  }

  /* ========== 2) NUKE OLD/ABSOLUTE CARETS to avoid duplicates ========== */
  /* Remove any caret that themes put on all <a> (esp. absolute right) */
  .primary-nav > ul > li > a::after,
  nav .menu > li > a::after,
  .primary-nav .sub-menu > li > a::after,
  nav .menu .sub-menu > li > a::after{
    content: none !important;
  }

  /* ========== 3) OUR CARETS (inline, near text) ========== */
  /* Top-level items that have children */
  .primary-nav > ul > li.menu-item-has-children > a::after,
  nav .menu > li.menu-item-has-children > a::after{
    content:"" !important;
    display:inline-block !important;
    width:9px !important; height:9px !important;
    margin-left:10px !important;
    border-right:2px solid var(--rz-gold) !important;
    border-bottom:2px solid var(--rz-gold) !important;
    transform:rotate(45deg) !important;
    vertical-align:middle !important;
  }
  .primary-nav > ul > li.menu-item-has-children.is-open > a::after,
  .primary-nav > ul > li.menu-item-has-children.open > a::after,
  .primary-nav > ul > li.menu-item-has-children.current-menu-ancestor > a::after,
  .primary-nav > ul > li.menu-item-has-children > a[aria-expanded="true"]::after,
  nav .menu > li.menu-item-has-children.is-open > a::after,
  nav .menu > li.menu-item-has-children.open > a::after,
  nav .menu > li.menu-item-has-children.current-menu-ancestor > a::after,
  nav .menu > li.menu-item-has-children > a[aria-expanded="true"]::after{
    transform:rotate(-135deg) !important;
  }

  /* Submenu items that have children */
  .primary-nav .sub-menu li.menu-item-has-children > a::after,
  nav .menu .sub-menu li.menu-item-has-children > a::after,
  .primary-nav .children li.page_item_has_children > a::after,
  nav .menu .children li.page_item_has_children > a::after{
    content:"" !important;
    display:inline-block !important;
    width:7px !important; height:7px !important;
    margin-left:8px !important;   /* closer to label */
    border-right:2px solid var(--rz-gold) !important;
    border-bottom:2px solid var(--rz-gold) !important;
    transform:rotate(45deg) !important;
    vertical-align:middle !important;
  }
  .primary-nav .sub-menu li.menu-item-has-children.is-open > a::after,
  .primary-nav .sub-menu li.menu-item-has-children.open > a::after,
  .primary-nav .sub-menu li.menu-item-has-children.current-menu-ancestor > a::after,
  .primary-nav .sub-menu li.menu-item-has-children > a[aria-expanded="true"]::after,
  nav .menu .sub-menu li.menu-item-has-children.is-open > a::after,
  nav .menu .sub-menu li.menu-item-has-children.open > a::after,
  nav .menu .sub-menu li.menu-item-has-children.current-menu-ancestor > a::after,
  nav .menu .sub-menu li.menu-item-has-children > a[aria-expanded="true"]::after{
    transform:rotate(-135deg) !important;
  }
}

/* Desktop caret unchanged (subtle) */
@media (min-width:901px){
  .primary-nav li.menu-item-has-children > a::after,
  nav .menu li.menu-item-has-children > a::after{
    content:"";
    display:inline-block;
    width:7px; height:7px;
    margin-left:10px;
    border-right:2px solid var(--rz-gold);
    border-bottom:2px solid var(--rz-gold);
    transform:rotate(45deg) translateY(-1px);
    vertical-align:middle;
  }
}
