/* ============================================================
   AMBER HOSTEL — style motywu (1:1 z zaakceptowanej makiety AMBER/index.html)
   Granat + złoto, Bricolage Grotesque / Instrument Sans,
   jeden styl przycisku (złoty pill z ikoną), akcent „gem", dark mode.
   ============================================================ */
:root{
  --amber:#C9821C;
  --amber-bright:#E6A52E;
  --amber-deep:#8F5A12;
  --navy:#16233C;
  --navy-deep:#0D182B;
  --paper:#F7F4EC;
  --sand:#EAE7DC;

  --bg:var(--paper);
  --fg:var(--navy);
  --muted:#5E6878;
  --surface:#FFFEFA;
  --line:#D9D5C8;
  --line-soft:#E6E3D8;
  --band:var(--navy-deep);
  --band-fg:#EDF1F8;
  --band-muted:#9AA7BC;
  --on-amber:#101A2E;
  --footer-bg:#000000;
  --footer-fg:#F2F2F2;
  --footer-muted:#9B9B9B;
  --shadow:0 18px 40px -18px rgba(13,24,43,.3);

  --font-display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;
  --font-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --header-h:72px;
  --wrap:1440px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1322; --fg:#E9EEF6;
    --sand:#0F1A2D; --surface:#121E33;
    --muted:#9AA8BE;
    --line:#27344D; --line-soft:#1D2A41;
    --amber:#D9952B; --amber-bright:#ECB54A;
    --shadow:0 18px 40px -18px rgba(0,0,0,.65);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1322; --fg:#E9EEF6;
  --sand:#0F1A2D; --surface:#121E33;
  --muted:#9AA8BE;
  --line:#27344D; --line-soft:#1D2A41;
  --amber:#D9952B; --amber-bright:#ECB54A;
  --shadow:0 18px 40px -18px rgba(0,0,0,.65);
  color-scheme:dark;
}

/* ---------- baza ---------- */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth; scroll-padding-top:var(--header-h)}
html,body{overflow-x:clip}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
h1,h2,h3{font-family:var(--font-display); line-height:1.06; margin:0; text-wrap:balance; font-weight:700; letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
address{font-style:normal}
::selection{background:var(--amber); color:var(--on-amber)}
:focus-visible{outline:3px solid var(--amber-bright); outline-offset:3px; border-radius:4px}

.wrap{
  max-width:var(--wrap); margin-inline:auto;
  padding-left:max(16px, env(safe-area-inset-left, 0px));
  padding-right:max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width:760px){
  .wrap{
    padding-left:max(32px, env(safe-area-inset-left, 0px));
    padding-right:max(32px, env(safe-area-inset-right, 0px));
  }
}
@media (min-width:1440px){
  .wrap{padding-left:48px; padding-right:48px}
}

/* ---------- WordPress: zero odstępów między sekcjami (każda ma własny padding) ---------- */
.wp-site-blocks{padding:0}
.wp-site-blocks > *, .amber-main > *, .wp-block-post-content > *{margin-block:0}
.wp-site-blocks > * + *{margin-block-start:0}
.amber-main{margin:0}
body:not(.home) .amber-main{padding-top:var(--header-h)}
.amber-main--text{padding-bottom:clamp(3rem,7vw,5rem)}
.amber-main--text > .wp-block-post-title{font-size:clamp(2rem,4.6vw,3rem); padding-top:clamp(2.5rem,6vw,4rem); margin-bottom:1.5rem}
.amber-main--text .wp-block-post-content > * + *{margin-top:1em}

/* ---------- przyciski: JEDEN styl ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font:600 1rem/1 var(--font-body);
  padding:.95em 1.5em; border-radius:999px;
  text-decoration:none; cursor:pointer; border:0;
  background:var(--amber); color:var(--on-amber);
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.btn:hover{background:var(--amber-bright); box-shadow:0 10px 24px -12px rgba(201,130,28,.65)}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px; height:18px; flex:none; stroke:currentColor; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round}
.btn-small{padding:.7em 1.15em; font-size:.92rem}
/* wariant obrysowy — tylko na ciemnym tle (baner cookies) */
.btn-ghost{background:transparent; color:var(--band-fg); box-shadow:inset 0 0 0 1.5px rgba(237,241,248,.45)}
.btn-ghost:hover{background:rgba(237,241,248,.08); box-shadow:inset 0 0 0 1.5px var(--amber-bright)}

.link-more{
  display:inline-block; font-weight:600; color:var(--fg);
  text-decoration:underline; text-decoration-color:var(--amber);
  text-decoration-thickness:2px; text-underline-offset:5px;
}
.link-more:hover{color:var(--amber-deep); text-decoration-color:var(--amber-deep)}
:root[data-theme="dark"] .link-more:hover{color:var(--amber-bright); text-decoration-color:var(--amber-bright)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .link-more:hover{color:var(--amber-bright); text-decoration-color:var(--amber-bright)}
}

.gem{display:inline-block; width:7px; height:7px; background:var(--amber); transform:rotate(45deg); border-radius:1px; flex:none}

/* ---------- nagłówek ---------- */
.site-header{
  position:fixed; inset-inline:0; top:0; z-index:40;
  padding-top:env(safe-area-inset-top, 0px);
  color:#F4F6FA;
  transition:background .25s ease, color .25s ease, box-shadow .25s ease;
}
.site-header .bar{display:flex; align-items:center; gap:1.25rem; min-height:var(--header-h)}
.site-header.scrolled,
body:not(.home) .site-header{
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  color:var(--fg);
  box-shadow:0 1px 0 var(--line);
}
.admin-bar .site-header{top:32px}
@media (max-width:782px){ .admin-bar .site-header{top:46px} }
@media (max-width:600px){ .admin-bar .site-header{top:0} }
.brand{
  display:flex; align-items:center; gap:.55rem;
  font-family:var(--font-display); font-size:1.3rem; font-weight:700;
  text-decoration:none; white-space:nowrap;
}
.brand .gem{width:.6em; height:.6em; background:var(--amber-bright); border-radius:2px}
.main-nav{display:flex; gap:1.4rem; margin-inline:auto}
.main-nav a{
  text-decoration:none; font-size:.95rem; font-weight:500; opacity:.92;
  border-bottom:2px solid transparent; padding:.2em 0;
}
.main-nav a:hover{border-bottom-color:var(--amber-bright); opacity:1}
.main-nav a[aria-current="page"]{border-bottom-color:var(--amber); opacity:1; font-weight:600}
.header-cta{display:flex; align-items:center; gap:1rem; margin-left:auto}
.header-phone{text-decoration:none; font-weight:600; font-size:.95rem; white-space:nowrap}
.header-phone:hover{color:var(--amber-bright)}
.nav-toggle{display:none; margin-left:auto; background:none; border:0; color:inherit; cursor:pointer; padding:.5rem}
.nav-toggle svg{display:block}
@media (max-width:980px){
  .main-nav, .header-phone{display:none}
  .nav-toggle{display:block}
  .header-cta{margin-left:auto}
}
@media (max-width:400px){ .site-header .btn-small{padding:.65em .9em} .brand{font-size:1.15rem} }
.mobile-nav{
  position:fixed; inset-inline:0; top:0; z-index:39;
  padding:calc(96px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-left,0px)) 28px max(16px,env(safe-area-inset-right,0px));
  background:var(--bg); color:var(--fg);
  box-shadow:var(--shadow);
  display:flex; flex-direction:column; gap:.35rem;
}
.mobile-nav a{
  text-decoration:none; font-family:var(--font-display); font-size:1.45rem; font-weight:600;
  padding:.45rem 0; border-bottom:1px solid var(--line-soft);
}
.mobile-nav a:last-of-type{border-bottom:0}
.mobile-nav .mobile-phone{font-family:var(--font-body); font-size:1.05rem; font-weight:600; color:var(--amber-deep); border-bottom:0; margin-top:.4rem}
:root[data-theme="dark"] .mobile-nav .mobile-phone{color:var(--amber-bright)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .mobile-nav .mobile-phone{color:var(--amber-bright)}
}

/* ---------- 1. hero ---------- */
.hero{position:relative; min-height:clamp(620px, 92svh, 1000px); display:flex; align-items:center; color:#F4F6FA; isolation:isolate; text-align:center}
.hero-media{position:absolute; inset:0; z-index:-2; background:var(--navy-deep)}
.hero-media img{width:100%; height:100%; object-fit:cover}
.hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(to bottom, rgba(9,15,28,.52) 0%, rgba(9,15,28,.3) 42%, rgba(9,15,28,.66) 82%, rgba(9,15,28,.84) 100%),
    linear-gradient(15deg, rgba(201,130,28,.22), transparent 55%);
}
.hero-inner{width:100%; padding-top:8.5rem; padding-bottom:4rem; display:flex; flex-direction:column; align-items:center}
.hero-kicker{font-size:1.02rem; font-weight:500; color:#F0DCB2; margin-bottom:1.1rem}
.hero h1{font-size:clamp(2.8rem, 7.5vw, 5.2rem); font-weight:800; max-width:14ch; margin-inline:auto}
.hero-sub{max-width:52ch; font-size:1.1rem; margin-top:1.25rem; margin-inline:auto; color:rgba(240,244,250,.92)}
.hero-actions{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; justify-content:center}

/* pasek dat */
.booking-bar{margin-top:3.1rem; width:min(100%, 920px); margin-inline:auto}
.booking-form{
  background:var(--surface); color:var(--fg); text-align:left;
  border:1px solid var(--line); border-radius:18px;
  box-shadow:var(--shadow);
  display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:0;
  overflow:hidden;
}
.booking-field{display:flex; flex-direction:column; gap:.2rem; padding:.95rem 1.3rem; border-right:1px solid var(--line-soft); min-width:0}
.booking-field label{font-size:.78rem; font-weight:600; color:var(--muted)}
.booking-field input, .booking-field select{
  border:0; background:transparent; color:var(--fg);
  font:500 1rem var(--font-body); padding:0; min-width:0; width:100%;
  cursor:pointer;
}
.booking-field input::placeholder{color:var(--fg); opacity:.55}
.booking-field select option{color:#16233C}
.booking-field:focus-within{box-shadow:inset 0 0 0 2px var(--amber-bright)}
.booking-field input:focus-visible, .booking-field select:focus-visible{outline:none}
.booking-submit{display:flex; align-items:stretch; padding:.55rem}
.booking-submit .btn{border-radius:12px; width:100%}
@media (max-width:860px){
  .booking-form{grid-template-columns:1fr 1fr}
  .booking-field:nth-child(2){border-right:0}
  .booking-field{border-bottom:1px solid var(--line-soft)}
  .booking-submit{grid-column:1 / -1; padding:.8rem}
}
@media (max-width:420px){
  .booking-form{grid-template-columns:1fr}
  .booking-field{border-right:0}
}

/* ---------- sekcje ---------- */
.section{padding-block:clamp(4rem, 9vw, 6.5rem)}
.section-head{max-width:62ch; margin-bottom:clamp(2rem, 5vw, 3.2rem)}
.section-head h2{font-size:clamp(2rem, 4.6vw, 3rem)}
.section-head .lead{margin-top:1rem; font-size:1.08rem; color:var(--muted); max-width:52ch}

/* 2. o nas */
.about{background:var(--bg)}
.about-grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(2rem,5vw,4.5rem); align-items:center}
.about-copy h2{font-size:clamp(2rem, 4.6vw, 3rem); margin-bottom:1.3rem}
.about-copy p{margin-bottom:1rem; max-width:56ch}
.about-copy p.dim{color:var(--muted)}
.about-figure{position:relative; min-width:0; margin:0}
.about-figure .ph-main{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:16px; background:var(--sand)}
.about-figure figcaption{
  position:absolute; left:-1.4rem; bottom:1.6rem;
  background:var(--amber); color:var(--on-amber);
  font-weight:600; font-size:.92rem; line-height:1.35;
  padding:.8rem 1.1rem; border-radius:12px; max-width:15rem;
  box-shadow:var(--shadow);
}
@media (max-width:860px){
  .about-grid{grid-template-columns:1fr}
  .about-figure .ph-main{aspect-ratio:3/2}
  .about-figure figcaption{left:1rem; bottom:1rem}
}

/* 3. atuty */
.perks{background:var(--sand)}
.perks-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1rem}
.perk{
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:1.4rem 1.25rem; display:flex; flex-direction:column; gap:.9rem;
}
.perk svg{width:30px; height:30px; stroke:var(--amber-deep); flex:none}
:root[data-theme="dark"] .perk svg{stroke:var(--amber-bright)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .perk svg{stroke:var(--amber-bright)}
}
.perk strong{font-size:1.02rem; line-height:1.3; display:block}
.perk span{font-size:.88rem; color:var(--muted); line-height:1.45; display:block; margin-top:.15rem}
@media (max-width:1060px){ .perks-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:640px){ .perks-grid{grid-template-columns:repeat(2,1fr)} .perk{padding:1.1rem 1rem} }

/* 4. pokoje: maks. 3 kafelki w rzędzie, karta wyróżniona szeroka */
.rooms{background:var(--bg)}
.rooms-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap}
.rooms-head .section-head{margin-bottom:0}
.rooms-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:clamp(2rem,5vw,3rem)}
.room-card{
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}
.room-card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.room-photo{position:relative; background:var(--sand)}
.room-photo img{width:100%; aspect-ratio:4/3; object-fit:cover}
.room-price{
  position:absolute; left:.9rem; bottom:.9rem;
  background:var(--amber); color:var(--on-amber);
  font-weight:700; font-size:.88rem; padding:.42em .85em; border-radius:999px;
}
.room-body{padding:1.2rem 1.3rem 1.35rem; display:flex; flex-direction:column; gap:.45rem; flex:1}
.room-body h3{font-size:1.3rem}
.room-body p{font-size:.95rem; color:var(--muted); line-height:1.5}
.room-meta{margin-top:auto; padding-top:.8rem; font-size:.85rem; color:var(--muted); display:flex; gap:.45rem; align-items:center}
.room-card--wide{grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.room-card--wide .room-photo img{aspect-ratio:auto; height:100%; min-height:300px}
.room-card--wide .room-body{padding:2rem; justify-content:center}
.room-card--wide .room-body h3{font-size:1.7rem}
.room-card--wide .room-meta{margin-top:.6rem}
@media (max-width:960px){ .rooms-grid{grid-template-columns:repeat(2,1fr)} .room-card--wide{grid-template-columns:1fr} .room-card--wide .room-photo img{aspect-ratio:16/9; min-height:0} }
@media (max-width:560px){ .rooms-grid{grid-template-columns:1fr} }

/* 5. galeria: szczelna mozaika */
.gallery{background:var(--sand)}
.gallery-grid{
  display:grid; gap:.85rem;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:180px;
  grid-auto-flow:dense;
}
.gallery-grid a{display:block; border-radius:12px; overflow:hidden; position:relative; background:var(--line-soft); cursor:zoom-in}
.gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease}
.gallery-grid a:hover img{transform:scale(1.045)}
.g-tall{grid-row:span 2}
.g-wide{grid-column:span 2}
.gallery-foot{margin-top:2rem; display:flex; justify-content:center}
@media (max-width:760px){
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px}
}

/* 6. dojazd: mapa Google + karta */
.directions{background:var(--bg)}
.map-band{position:relative; border-block:1px solid var(--line)}
.map-canvas{display:block; width:100%; height:clamp(440px, 56vw, 580px); border:0; background:var(--sand)}
.map-card{
  position:absolute; top:50%; transform:translateY(-50%);
  left:max(16px, env(safe-area-inset-left,0px));
  width:min(380px, calc(100% - 32px));
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow); padding:1.6rem 1.6rem 1.5rem;
  display:flex; flex-direction:column; gap:.4rem;
}
@media (min-width:1536px){ .map-card{left:calc(50% - var(--wrap) / 2 + 48px)} }
.map-card h2{font-size:1.7rem; margin-bottom:.4rem}
.map-card address{line-height:1.55}
.map-card .walk{margin-top:.9rem; display:flex; flex-direction:column; gap:.45rem; font-size:.92rem; color:var(--muted)}
.map-card .walk div{display:flex; align-items:center; gap:.6rem}
.map-card .walk strong{color:var(--fg); font-weight:600}
.map-card .btn{margin-top:1.2rem; align-self:flex-start}
@media (max-width:680px){
  .map-band{display:flex; flex-direction:column}
  .map-card{position:static; transform:none; width:auto; margin:1rem 16px; order:2}
  .map-canvas{height:320px}
}

/* 7. CTA */
.cta-band{position:relative; color:#F4F6FA; isolation:isolate; text-align:center; overflow:hidden}
.cta-band .bg{position:absolute; inset:0; z-index:-2}
.cta-band .bg img{width:100%; height:100%; object-fit:cover}
.cta-band::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(rgba(9,15,28,.68), rgba(9,15,28,.62))}
.cta-band--plain{background:var(--band); color:var(--band-fg)}
.cta-band--plain::before{display:none}
.cta-band .gem-deco{position:absolute; background:var(--amber); transform:rotate(45deg); border-radius:6px; opacity:.14; z-index:-1}
.cta-band .gem-deco.g1{width:180px; height:180px; left:-60px; top:-60px}
.cta-band .gem-deco.g2{width:260px; height:260px; right:-90px; bottom:-120px}
.cta-inner{padding-block:clamp(4.5rem, 10vw, 7rem); display:flex; flex-direction:column; align-items:center; gap:1.6rem}
.cta-inner h2{font-size:clamp(2.1rem, 5vw, 3.3rem); max-width:18ch}
.cta-inner p{max-width:48ch; color:rgba(240,244,250,.88); font-size:1.06rem}
.cta-phone{color:rgba(240,244,250,.85); font-size:.98rem}
.cta-phone a{font-weight:600; text-decoration-color:var(--amber-bright); text-underline-offset:4px}

/* ---------- stopka: totalna czerń ---------- */
.site-footer{background:var(--footer-bg); color:var(--footer-fg)}
.footer-grid{
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);
  gap:clamp(2rem,5vw,4rem); padding-block:clamp(3rem,7vw,4.5rem);
}
.footer-brand .brand{font-size:1.5rem; color:var(--footer-fg)}
.footer-brand p{margin-top:1rem; color:var(--footer-muted); font-size:.95rem; max-width:34ch}
.site-footer h3{font-family:var(--font-body); font-size:.95rem; font-weight:600; margin-bottom:1rem; color:var(--footer-fg); letter-spacing:0}
.footer-nav{display:grid; grid-template-columns:1fr 1fr; gap:.45rem 1.5rem}
.footer-nav a, .footer-contact a{color:var(--footer-muted); text-decoration:none; font-size:.95rem}
.footer-nav a:hover, .footer-contact a:hover{color:var(--amber-bright)}
.footer-contact{display:flex; flex-direction:column; gap:.55rem}
.footer-contact div{display:flex; gap:.7rem; align-items:baseline; color:var(--footer-muted); font-size:.95rem}
.footer-contact .gem{background:var(--amber-bright); align-self:center}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.14);
  padding-block:1.3rem calc(1.3rem + env(safe-area-inset-bottom,0px));
  display:flex; flex-wrap:wrap; gap:.6rem 2rem; justify-content:space-between;
  font-size:.85rem; color:var(--footer-muted);
}
.footer-bottom a{color:inherit}
.footer-bottom a:hover{color:var(--amber-bright)}
@media (max-width:860px){ .footer-grid{grid-template-columns:1fr} }

/* ============================================================
   PODSTRONY — okruszki, nagłówek podstrony, lista pokoi
   ============================================================ */
.crumb-bar{background:var(--sand); border-bottom:1px solid var(--line-soft)}
.crumb-bar .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:52px; flex-wrap:wrap; padding-block:.5rem}
.crumbs{display:flex; align-items:center; gap:.55rem; font-size:.88rem; color:var(--muted); flex-wrap:wrap}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--fg); text-decoration:underline; text-decoration-color:var(--amber)}
.crumbs .sep{color:var(--line); font-size:.8rem}
.crumbs .current{color:var(--fg); font-weight:600}
.back-link{display:inline-flex; align-items:center; gap:.45em; font-size:.92rem; font-weight:600; text-decoration:none; color:var(--fg)}
.back-link svg{width:16px; height:16px; stroke:var(--amber-deep); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.back-link:hover{color:var(--amber-deep)}
:root[data-theme="dark"] .back-link:hover{color:var(--amber-bright)}
:root[data-theme="dark"] .back-link svg{stroke:var(--amber-bright)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .back-link:hover{color:var(--amber-bright)}
  :root:not([data-theme="light"]) .back-link svg{stroke:var(--amber-bright)}
}

.page-head{background:var(--bg); padding-block:clamp(2.8rem, 6vw, 4.5rem) 0}
.page-kicker{display:flex; align-items:center; gap:.6rem; font-size:.95rem; font-weight:500; color:var(--muted); margin-bottom:.9rem}
.page-head h1{font-size:clamp(2.4rem, 6vw, 4rem); font-weight:800; max-width:18ch}
.page-head .lead{margin-top:1.1rem; font-size:1.1rem; color:var(--muted); max-width:60ch}
.rooms--list{padding-top:clamp(2.2rem, 5vw, 3.2rem)}
.rooms--list .rooms-grid{margin-top:0}
.rooms--list .section-head + .rooms-grid, .rooms--list .amber-dyn-note + .rooms-grid{margin-top:0}

/* ============================================================
   POJEDYNCZY POKÓJ / APARTAMENT (makieta apartament.html)
   ============================================================ */
.apt-hero{position:relative; min-height:clamp(380px, 62svh, 640px); display:flex; align-items:flex-end; color:#F4F6FA; isolation:isolate; background:var(--navy-deep)}
.apt-hero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2}
.apt-hero::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom, rgba(9,15,28,.18) 0%, rgba(9,15,28,.1) 45%, rgba(9,15,28,.62) 82%, rgba(9,15,28,.8) 100%)}
.apt-hero .hero-inner{width:100%; padding-block:2.6rem; display:block}
.apt-hero .kicker{font-size:.98rem; font-weight:500; color:#F0DCB2; margin-bottom:.5rem}
.apt-hero h1{font-size:clamp(2.4rem, 6vw, 4.2rem); font-weight:800; max-width:16ch}

.apt-intro{padding-block:clamp(2.8rem, 6vw, 4.5rem)}
.intro-grid{display:grid; grid-template-columns:minmax(0,7.5fr) minmax(0,4.5fr); gap:clamp(2rem, 4vw, 4rem); align-items:start}
.intro-copy h2{font-size:clamp(1.9rem, 4vw, 2.7rem); margin-bottom:1rem}
.intro-copy .lead{font-size:1.1rem; color:var(--muted); max-width:56ch}
.facts{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem}
.fact{display:inline-flex; align-items:center; gap:.55em; background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.5em 1em; font-size:.92rem; font-weight:500}
.fact svg, .amenity svg{width:18px; height:18px; stroke:var(--amber-deep); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none}
.amenity svg{width:20px; height:20px}
:root[data-theme="dark"] .fact svg, :root[data-theme="dark"] .amenity svg{stroke:var(--amber-bright)}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .fact svg, :root:not([data-theme="light"]) .amenity svg{stroke:var(--amber-bright)}
}
.booking-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:1.7rem 1.7rem 1.6rem; display:flex; flex-direction:column; gap:1.1rem; position:sticky; top:calc(var(--header-h) + 1.2rem)}
.admin-bar .booking-card{top:calc(var(--header-h) + 32px + 1.2rem)}
.price-row{display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap}
.price-row .price{font-family:var(--font-display); font-size:2.1rem; font-weight:800; color:var(--fg); line-height:1}
.price-row .per{color:var(--muted); font-size:.95rem}
.price-note{font-size:.85rem; color:var(--muted); margin-top:-.6rem}
.booking-card .btn{width:100%}
.booking-contact{display:flex; flex-direction:column; gap:.3rem; text-align:center}
.booking-contact a{font-weight:700; font-size:1.12rem; text-decoration:none}
.booking-contact a:hover{color:var(--amber-deep)}
.booking-contact span{font-size:.85rem; color:var(--muted)}
.previo-note{display:flex; align-items:center; justify-content:center; gap:.5rem; font-size:.82rem; color:var(--muted); border-top:1px solid var(--line-soft); padding-top:.9rem}
@media (max-width:860px){ .intro-grid{grid-template-columns:1fr} .booking-card{position:static} }

.apt-details{background:var(--sand); padding-block:clamp(3.2rem, 7vw, 5rem)}
.apt-details h2{font-size:clamp(1.7rem, 3.4vw, 2.2rem); margin-bottom:1.2rem}
.apt-desc p{margin-bottom:1rem; max-width:66ch}
.amenities{margin-top:2.6rem}
.apt-desc + .amenities{margin-top:2.6rem}
.amenities:first-child{margin-top:0}
.amenities-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem 1.6rem; max-width:62rem}
.amenity{display:flex; align-items:center; gap:.7rem; font-size:.97rem}
@media (max-width:860px){ .amenities-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .amenities-grid{grid-template-columns:1fr} }

.apt-photos{padding-block:clamp(3.2rem, 7vw, 5rem)}
.photos-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem}
.photos-grid a{display:block; border-radius:12px; overflow:hidden; background:var(--sand); cursor:zoom-in}
.photos-grid img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .3s ease}
.photos-grid a:hover img{transform:scale(1.05)}
@media (max-width:760px){ .photos-grid{grid-template-columns:1fr 1fr} }

.cta-band--plain .cta-inner{padding-block:clamp(3.8rem, 8vw, 5.5rem); gap:1.4rem}
.cta-band--plain .cta-inner h2{font-size:clamp(2rem, 4.6vw, 3rem); max-width:20ch}
.cta-band--plain .cta-inner p{color:var(--band-muted)}
.cta-band--plain .cta-phone a{color:var(--band-fg)}

.others{background:var(--sand); padding-block:clamp(3.5rem, 7vw, 5rem)}
.others-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; margin-bottom:clamp(1.6rem, 4vw, 2.4rem)}
.others-head h2{font-size:clamp(1.8rem, 4vw, 2.5rem)}
.others-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem}
.others .room-body{padding:1.1rem 1.2rem 1.2rem; gap:.35rem}
.others .room-body h3{font-size:1.22rem}
.others .room-body p{font-size:.9rem}
@media (max-width:860px){ .others-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .others-grid{grid-template-columns:1fr} }

/* ============================================================
   PODSTRONY — silnik Previo, kontakt, polityka prywatności
   ============================================================ */
.engine-section{background:var(--sand); padding-block:clamp(2rem, 5vw, 3.5rem) clamp(3rem, 7vw, 5rem)}
.engine-note{display:flex; align-items:center; gap:.6rem; color:var(--muted); font-size:.95rem; margin-bottom:1.2rem}
.engine-frame{background:#fff; color:#16233C; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:clamp(.5rem, 2vw, 1.5rem); min-height:420px}
.engine-frame .previo-booking-wrap{max-width:none; padding:0; margin:0}
.engine-frame #previo-booking-engine{width:100%}

.contact{background:var(--bg)}
.contact-grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(2rem, 5vw, 4.5rem); align-items:start}
.contact-items{display:flex; flex-direction:column; gap:1rem}
.contact-item{display:flex; gap:1rem; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1.1rem 1.25rem}
.contact-item svg{width:26px; height:26px; stroke:var(--amber-deep); flex:none; margin-top:.15rem}
:root[data-theme="dark"] .contact-item svg{stroke:var(--amber-bright)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .contact-item svg{stroke:var(--amber-bright)} }
.contact-item h3{font-family:var(--font-body); font-size:.8rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:.3rem}
.contact-item p{font-size:1.08rem; font-weight:600; line-height:1.45}
.contact-item p a{text-decoration:none}
.contact-item p a:hover{color:var(--amber-deep); text-decoration:underline; text-decoration-color:var(--amber)}
.contact-item span{display:block; margin-top:.2rem; font-size:.88rem; color:var(--muted)}
.contact-card{background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:clamp(1.4rem, 3vw, 2.2rem)}
.contact-card h2{font-size:1.6rem; margin-bottom:1.2rem}
.contact-form{display:flex; flex-direction:column; gap:1rem}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.form-row{display:flex; flex-direction:column; gap:.35rem; min-width:0}
.form-row label{font-size:.85rem; font-weight:600}
.form-row small{font-weight:400; color:var(--muted)}
.contact-form input[type=text], .contact-form input[type=email], .contact-form input[type=tel], .contact-form textarea{
  width:100%; font:inherit; color:var(--fg); background:var(--bg);
  border:1px solid var(--line); border-radius:10px; padding:.75em .9em;
}
.contact-form textarea{resize:vertical; min-height:8rem}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--amber); box-shadow:0 0 0 3px color-mix(in srgb, var(--amber) 28%, transparent)}
.form-consent{display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem; color:var(--muted); line-height:1.45}
.form-consent input{margin-top:.2rem; accent-color:var(--amber); width:16px; height:16px; flex:none}
.form-consent a{color:inherit}
.contact-form .btn{align-self:flex-start}
.hp{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
.form-msg{border-radius:10px; padding:.8rem 1rem; font-size:.95rem; margin-bottom:1rem}
.form-msg--ok{background:color-mix(in srgb, #2f8f5b 14%, var(--surface)); border:1px solid #2f8f5b}
.form-msg--err{background:color-mix(in srgb, #b3261e 12%, var(--surface)); border:1px solid #b3261e}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr} }
@media (max-width:520px){ .form-grid{grid-template-columns:1fr} .contact-form .btn{width:100%} }

.legal{max-width:820px; margin-inline:auto; padding:clamp(2.2rem, 5vw, 3.5rem) max(16px, env(safe-area-inset-right,0px)) clamp(3.5rem, 8vw, 6rem) max(16px, env(safe-area-inset-left,0px))}
@media (min-width:760px){ .legal{padding-inline:32px} }
.legal > * + *{margin-top:1em}
.legal ul, .legal ol{padding-left:1.4em; line-height:1.7}
.legal li + li{margin-top:.35em}
.legal p{line-height:1.72}
.legal .legal-todo{background:color-mix(in srgb, var(--amber) 16%, var(--surface)); border:1px dashed var(--amber); border-radius:10px; padding:.8rem 1rem; font-size:.92rem}

/* ============================================================
   MODUŁY CORE (galeria, lightbox, flatpickr, cookies, Previo, RODO)
   ============================================================ */

/* Galeria (CPT „Galeria zdjęć") — siatka 3 w rzędzie */
.photo-gallery{background:var(--bg); padding-block:clamp(3.5rem,7vw,6rem)}
.photo-gallery-head{margin-bottom:clamp(1.6rem,3.6vw,2.6rem)}
.photo-gallery-head h2{font-size:clamp(2rem,4.6vw,3rem)}
.photo-gallery-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem}
.photo-tile{display:block; overflow:hidden; aspect-ratio:4/3; background:var(--sand); border-radius:12px; cursor:zoom-in}
.photo-tile img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease}
.photo-tile:hover img{transform:scale(1.045)}
.photo-gallery-empty{color:var(--muted); padding:2rem 0}
@media (max-width:860px){ .photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:480px){ .photo-gallery-grid{grid-template-columns:1fr} }

/* Lightbox */
.amber-lb{position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; background:rgba(8,13,24,.94); opacity:0; transition:opacity .25s ease; padding:clamp(16px,4vw,56px)}
.amber-lb.is-open{opacity:1}
.amber-lb img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:8px; box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.amber-lb-btn{position:absolute; display:grid; place-items:center; background:transparent; border:0; color:#fff; opacity:.82; transition:opacity .2s; z-index:1; cursor:pointer}
.amber-lb-btn:hover, .amber-lb-btn:focus-visible{opacity:1}
.amber-lb-close{top:clamp(10px,2.4vw,26px); right:clamp(10px,2.4vw,26px); font-size:40px; width:52px; height:52px; line-height:1}
.amber-lb-prev, .amber-lb-next{top:50%; transform:translateY(-50%); font-size:46px; width:64px; height:64px}
.amber-lb-prev{left:clamp(4px,2vw,24px)}
.amber-lb-next{right:clamp(4px,2vw,24px)}
.amber-lb-count{position:absolute; bottom:clamp(12px,2.6vw,24px); left:0; right:0; text-align:center; color:rgba(255,255,255,.75); font-size:14px}
@media (max-width:600px){ .amber-lb-prev, .amber-lb-next{font-size:32px; width:46px; height:46px} .amber-lb-close{font-size:32px; width:44px; height:44px} }

/* Flatpickr — akcenty marki; komórki wypełniają kolumny (bez nachodzenia) */
.flatpickr-calendar{font-family:var(--font-body); border-radius:14px; box-shadow:0 18px 50px -18px rgba(13,24,43,.5)}
.flatpickr-day{max-width:none; height:42px; line-height:42px; border-radius:0; box-shadow:none!important}
.flatpickr-day.inRange, .flatpickr-day.inRange:hover{background:#F6E6C8; border-color:#F6E6C8; color:#16233C}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange,
.flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus{background:var(--amber); border-color:var(--amber); color:#101A2E}
.flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover{background:#E6A52E; border-color:#E6A52E; color:#101A2E}
.flatpickr-day.startRange{border-radius:50% 0 0 50%}
.flatpickr-day.endRange{border-radius:0 50% 50% 0}
.flatpickr-day.selected.startRange.endRange, .flatpickr-day.selected:not(.startRange):not(.endRange){border-radius:50%}
.flatpickr-day.today{border-color:var(--amber)}
.flatpickr-day.today:hover{background:var(--amber); border-color:var(--amber); color:#101A2E}
.flatpickr-months .flatpickr-month, .flatpickr-current-month, .flatpickr-weekday{color:#16233C}

/* Baner zgody na cookies */
.amber-cookies{position:fixed; left:0; right:0; bottom:0; z-index:9998; background:var(--navy-deep); color:var(--band-fg); box-shadow:0 -12px 44px -22px rgba(0,0,0,.7)}
.amber-cookies-inner{max-width:var(--wrap); margin-inline:auto; padding:clamp(16px,2vw,22px) max(16px, env(safe-area-inset-right,0px)) calc(clamp(16px,2vw,22px) + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px)); display:flex; gap:clamp(18px,3vw,44px); align-items:center; justify-content:space-between; flex-wrap:wrap}
@media (min-width:760px){ .amber-cookies-inner{padding-inline:32px} }
.amber-cookies-text{flex:1; min-width:min(100%,300px); max-width:72ch}
.amber-cookies-text strong{font-family:var(--font-display); font-size:1.05rem; display:block; margin-bottom:5px}
.amber-cookies-text p{font-size:.9rem; line-height:1.55; color:var(--band-muted)}
.amber-cookies-text a{color:var(--amber-bright)}
.amber-cookies-actions{display:flex; gap:.75rem; flex-wrap:wrap; flex-shrink:0}
.amber-cookies-actions .btn{white-space:nowrap; padding:.8em 1.25em; font-size:.95rem}
@media (max-width:640px){ .amber-cookies-actions{width:100%} .amber-cookies-actions .btn{flex:1} }

/* Notka „sekcja dynamiczna" (Previo) — tylko dla redaktorów */
.amber-dyn-note{display:flex; gap:.6rem; align-items:center; margin-bottom:1.2rem; padding:.7rem 1rem; border:1px dashed var(--amber); border-radius:10px; font-size:.88rem; color:var(--muted); background:var(--surface)}
.rooms-grid-empty{padding:1.5rem 0; color:var(--muted)}

/* Silnik Previo (Rezerwacja / Cennik) */
.previo-booking-section{background:var(--sand); padding-block:clamp(2.5rem,6vw,6rem)}
.previo-booking-wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:max(16px, env(safe-area-inset-left,0px))}
.previo-booking-wrap #previo-booking-engine{width:100%}


/* Edytor: podgląd sekcji bez nagłówka strony */
.editor-styles-wrapper .hero-inner{padding-top:4rem}
.editor-styles-wrapper .hero{min-height:640px}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important; animation-duration:.01ms !important}
}
.legal h2{font-size:clamp(1.4rem, 2.6vw, 1.9rem); margin-top:1.8em}
.legal h2:first-child{margin-top:0}
.legal a{color:var(--amber-deep); text-decoration:underline; text-underline-offset:2px}
:root[data-theme="dark"] .legal a{color:var(--amber-bright)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .legal a{color:var(--amber-bright)} }

/* ---------- Hero podstron (jak apartament) ---------- */
.page-hero{min-height:clamp(340px, 52svh, 560px)}
.page-hero .page-lead{margin-top:1rem; max-width:58ch; font-size:1.1rem; color:rgba(240,244,250,.9)}
.page-hero--center{text-align:center}
.page-hero--center .hero-inner{display:flex; flex-direction:column; align-items:center}
.page-hero--center h1{margin-inline:auto; max-width:18ch}
.page-hero--center .page-lead{margin-inline:auto}
.page-hero--plain{background:var(--band); overflow:hidden; min-height:clamp(300px, 42svh, 460px)}
.page-hero--plain::before{background:linear-gradient(15deg, rgba(201,130,28,.18), transparent 60%)}
.page-hero--plain .gem-deco{position:absolute; background:var(--amber); transform:rotate(45deg); border-radius:6px; opacity:.14; z-index:-1}
.page-hero--plain .gem-deco.g1{width:180px; height:180px; left:-60px; top:-60px}
.page-hero--plain .gem-deco.g2{width:260px; height:260px; right:-90px; bottom:-120px}

/* Podstrony z małą ilością treści — wyśrodkowane notki i nagłówki */
.engine-note{justify-content:center; text-align:center; max-width:70ch; margin-inline:auto}
.engine-section .amber-dyn-note{justify-content:center}
.photo-gallery-head{text-align:center}
.rooms--list .section-head{margin-inline:auto; text-align:center}
.legal{max-width:880px}

/* ---------- Atuty — kompaktowy pasek pod hero ---------- */
.perks-strip{background:var(--sand); border-bottom:1px solid var(--line-soft)}
.perks-strip-grid{display:grid; grid-template-columns:repeat(5, minmax(0,1fr))}
.perks-strip .perk{background:none; border:0; border-radius:0; padding:1.5rem 1.25rem; flex-direction:row; align-items:center; gap:.9rem}
.perks-strip .perk + .perk{border-left:1px solid var(--line)}
.perks-strip .perk:first-child{padding-left:0}
.perks-strip .perk:last-child{padding-right:0}
.perks-strip .perk svg{width:28px; height:28px}
.perks-strip .perk strong{font-size:.98rem}
.perks-strip .perk span{font-size:.84rem; margin-top:.1rem}
@media (max-width:1100px){
  .perks-strip-grid{grid-template-columns:repeat(2, minmax(0,1fr)); padding-block:.6rem}
  .perks-strip .perk{padding:.9rem .4rem}
  .perks-strip .perk + .perk{border-left:0}
  .perks-strip .perk:first-child{padding-left:.4rem}
  .perks-strip .perk:last-child{grid-column:1 / -1}
}
@media (max-width:480px){
  .perks-strip-grid{grid-template-columns:1fr}
  .perks-strip .perk{padding:.7rem 0}
  .perks-strip .perk + .perk{border-top:1px solid var(--line-soft)}
}

/* ---------- Pokoje: parametry z ikonami (osoby, metraż) ---------- */
.room-specs{list-style:none; margin:auto 0 0; padding:.9rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; font-size:.88rem; font-weight:600; color:var(--fg)}
.room-specs li{display:inline-flex; align-items:center; gap:.45rem}
.room-specs svg{width:18px; height:18px; stroke:var(--amber-deep); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none}
:root[data-theme="dark"] .room-specs svg{stroke:var(--amber-bright)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .room-specs svg{stroke:var(--amber-bright)} }
.others .room-specs{padding-top:.6rem}

/* Start: sekcja pokoi wyśrodkowana, przycisk pod kafelkami */
.rooms--home .section-head{margin-inline:auto; text-align:center}
.rooms--home .section-head .lead{margin-inline:auto}
.rooms--home .rooms-grid{margin-top:0}
.rooms-foot{margin-top:2.2rem; display:flex; justify-content:center}

/* Teaser galerii — wyższe kafle */
.gallery-grid{grid-auto-rows:280px}
@media (max-width:760px){ .gallery-grid{grid-auto-rows:190px} }
.gallery .section-head{margin-inline:auto; text-align:center}
.gallery .section-head .lead{margin-inline:auto}

/* Stopka: „Strona wykonana przez Previo" */
.footer-credit{display:inline-flex; align-items:center; gap:.6rem; color:var(--footer-muted); text-decoration:none}
.footer-credit img{height:28px; width:auto; display:block; opacity:.9; transition:opacity .18s ease}
.footer-credit:hover img{opacity:1}
.footer-bottom{align-items:center}

/* Kontakt bez formularza — kafelki w rzędzie, wyśrodkowane */
.contact--simple .section-head{margin-inline:auto; text-align:center}
.contact--simple .section-head .lead{margin-inline:auto}
.contact--simple .contact-items{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem}
.contact--simple .contact-item{padding:1.4rem 1.4rem}
@media (max-width:900px){ .contact--simple .contact-items{grid-template-columns:1fr; max-width:520px; margin-inline:auto} }

/* ---------- O nas — ciemne pasmo, kolaż zdjęć, liczby ---------- */
:root{--deep:#0D182B; --deep-fg:#EDF1F8; --deep-muted:#A5B1C4; --deep-line:rgba(237,241,248,.14)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--deep:#060B15; --deep-line:rgba(237,241,248,.1)} }
:root[data-theme="dark"]{--deep:#060B15; --deep-line:rgba(237,241,248,.1)}

.about--deep{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--deep); color:var(--deep-fg);
  padding-block:clamp(4.5rem, 10vw, 7.5rem);
}
.about--deep .about-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:clamp(2.5rem, 6vw, 6rem)}
.about--deep .about-copy h2{font-size:clamp(2.2rem, 4.8vw, 3.4rem); margin-bottom:1.4rem; max-width:16ch}
.about--deep .about-copy p{color:rgba(237,241,248,.86); font-size:1.06rem; max-width:58ch}
.about--deep .about-copy p.dim{color:var(--deep-muted)}
.about-kicker{display:flex; align-items:center; gap:.6rem; font-size:.95rem; font-weight:600; letter-spacing:.04em; color:var(--amber-bright); margin-bottom:1rem !important}

.about-media{position:relative; margin:0; min-width:0}
.about-media .ph-main{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:18px; box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.about-media.has-second{padding-right:clamp(2.5rem, 8%, 5.5rem); padding-bottom:clamp(2.5rem, 8%, 4.5rem)}
.about-media .ph-second{
  position:absolute; right:0; bottom:0; width:44%; aspect-ratio:3/4; object-fit:cover;
  border-radius:14px; border:6px solid var(--deep); outline:2px solid var(--amber); outline-offset:-2px;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.75);
}
.about-media figcaption{
  position:absolute; left:1.2rem; top:1.2rem; display:flex; align-items:center; gap:.55rem;
  background:var(--amber); color:var(--on-amber);
  font-weight:600; font-size:.9rem; line-height:1.3; padding:.65rem .95rem; border-radius:12px; max-width:16rem;
  box-shadow:0 14px 30px -14px rgba(0,0,0,.6);
}
.about-media figcaption .gem{background:var(--on-amber)}

.about-stats{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.2rem; margin:2rem 0 2.2rem; padding-top:1.8rem; border-top:1px solid var(--deep-line)}
.about-stat strong{display:block; font-family:var(--font-display); font-size:clamp(1.9rem, 3.4vw, 2.6rem); font-weight:800; line-height:1; color:var(--amber-bright); letter-spacing:-.01em}
.about-stat span{display:block; margin-top:.45rem; font-size:.88rem; line-height:1.4; color:var(--deep-muted)}
.about--deep :focus-visible{outline-color:var(--amber-bright)}

@media (max-width:900px){
  .about--deep .about-grid{grid-template-columns:1fr}
  .about-media .ph-main{aspect-ratio:4/3}
  .about-media.has-second{padding-right:2.2rem; padding-bottom:2.6rem}
  .about-media .ph-second{width:38%}
}
@media (max-width:480px){
  .about-stats{grid-template-columns:1fr 1fr; row-gap:1.4rem}
  .about-stats .about-stat:last-child{grid-column:1 / -1}
  .about--deep .about-btn{width:100%}
}

/* ---------- Złoty nadtytuł nad nagłówkami sekcji (bez rombu) ---------- */
.eyebrow{margin:0 0 .8rem; font-size:.92rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--amber-deep)}
:root[data-theme="dark"] .eyebrow{color:var(--amber-bright)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .eyebrow{color:var(--amber-bright)} }
.about--deep .about-copy .eyebrow, .cta-band .cta-inner .eyebrow{color:var(--amber-bright)}
.cta-inner .eyebrow{margin-bottom:-.6rem}
.map-card .eyebrow{margin-bottom:.2rem}
.section-head .eyebrow + h2{margin-top:0}

/* =====================================================================
   TRYB „KANCIASTY" — zero zaokrągleń w całym serwisie (test 2026-10-15).
   Cofnięcie: usuń ten blok. Silnik Previo i pasek admina zostają bez zmian.
   ===================================================================== */
/* Wyłączenie per obiekt: klasa body.amber-rounded (Amber Pensjonat — forma zaokrąglona, 2026-10-22). */
body:not(.amber-rounded) *:not(#previo-booking-engine *):not(#wpadminbar *),
body:not(.amber-rounded) *:not(#previo-booking-engine *):not(#wpadminbar *)::before,
body:not(.amber-rounded) *:not(#previo-booking-engine *):not(#wpadminbar *)::after{border-radius:0 !important}
body:not(.amber-rounded) .flatpickr-calendar, body:not(.amber-rounded) .flatpickr-calendar *{border-radius:0 !important}

/* ---------- Rezerwacja / Cennik — jasne tło pod silnik Previo (#f2f2f2) ---------- */
.engine-section{background:#f2f2f2; color:#16233C; padding-block:clamp(1.5rem, 4vw, 3rem) clamp(3rem, 7vw, 5rem)}
.engine-frame{background:transparent; border:0; box-shadow:none; padding:0; min-height:420px}
.engine-section .engine-note{color:#5E6878}
.engine-section .engine-note .gem{background:#C9821C}
.engine-section .amber-dyn-note{background:#fff; color:#5E6878; border-color:#C9821C}

/* ---------- Hero podstron: treść na środku (pion + poziom) ---------- */
.page-hero--center{align-items:center; justify-content:center}
.page-hero--center .hero-inner{justify-content:center; padding-block:3rem}
.page-hero--center::before{background:linear-gradient(to bottom, rgba(9,15,28,.42) 0%, rgba(9,15,28,.5) 50%, rgba(9,15,28,.62) 100%)}

/* =========================================================================
   PLACEHOLDER „Zdjęcie robocze" (brak zdjęcia od klienta)
   ========================================================================= */
.room-photo img.is-placeholder { object-fit: cover; }
.apt-hero img.bg.is-placeholder { opacity: 1; filter: none; }
.apt-hero .ph-badge {
	display: inline-flex; align-items: center; gap: .5em;
	margin: 0 auto 1.25rem; padding: .45em 1em;
	border: 2px dashed var(--amber-bright, #E6A52E); color: var(--amber-bright, #E6A52E);
	font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	background: rgba(13, 24, 43, .6);
}
.apt-hero .ph-badge svg { width: 1.1em; height: 1.1em; stroke: currentColor; }
