:root{--ink:#222523;--muted:#747872;--paper:#fbfaf7;--dark:#1f2724;--line:#e3e4df;--accent:#97836d}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.2;letter-spacing:-.045em}h1{font-size:clamp(2.5rem,6.5vw,5.8rem);max-width:900px;margin:18px 0}h2{font-size:clamp(2rem,4vw,3.4rem)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}header{background:rgba(251,250,247,.95);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.nav{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;gap:20px}.brand{font-size:1.4rem;letter-spacing:-.04em;font-weight:800}.brand small{font-size:.58rem;letter-spacing:.17em;display:block;font-weight:600;color:var(--muted);line-height:1}.links{display:flex;gap:26px;align-items:center}.links a{font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 23px;background:var(--dark);color:#fff;border:1px solid var(--dark);border-radius:3px;cursor:pointer;font:inherit}.btn.alt{background:transparent;color:var(--dark);border-color:#aaa}.wrap{max-width:1320px;margin:auto;padding:0 28px}.hero{padding:95px 0 70px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:55px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--accent);font-size:.75rem}.lead{font-size:1.12rem;color:#565a55;max-width:620px}.heroart,.placeholder{min-height:460px;background:linear-gradient(135deg,#716e68,#d8d3c9 45%,#8a8278 50%,#d2c6b8 70%,#4a504e);position:relative;overflow:hidden}.heroart:after{content:'Naturalny kamień. Ponadczasowy charakter.';position:absolute;bottom:25px;left:25px;color:#fff;font-size:1rem;letter-spacing:.05em}.section{padding:70px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tile{background:#fff;border:1px solid var(--line)}.tile img,.tile .placeholder{height:270px;min-height:0;width:100%;object-fit:cover}.tilebody{padding:20px}.tile h3{font-size:1.12rem;letter-spacing:-.02em;margin:0}.muted{color:var(--muted)}.tag{font-size:.73rem;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:700}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service{padding:30px;border:1px solid var(--line);background:#fff;transition:.2s}.service:hover{border-color:var(--accent);transform:translateY(-2px)}.service b{font-size:1.3rem}.dark{background:var(--dark);color:#fff;padding:80px 0}.dark .muted{color:#c2c7c3}footer{padding:50px 0;border-top:1px solid var(--line)}.foot{display:flex;justify-content:space-between;gap:30px}.pill{display:inline-block;padding:9px 17px;border:1px solid #bbb;border-radius:30px;margin:0 5px 12px 0;font-size:.9rem}.pill.active{background:var(--dark);color:#fff}.subhero{padding:70px 0 30px}.detailimg{max-height:680px;width:100%;object-fit:cover;margin:20px 0}.admin{max-width:1100px;margin:40px auto;padding:0 20px}.panel{background:white;border:1px solid var(--line);padding:28px;margin:22px 0}.formrow{margin:0 0 16px}.formrow label{display:block;font-weight:700;margin-bottom:6px}input,select,textarea{font:inherit;border:1px solid #cdd1cb;background:#fff;padding:12px;width:100%;border-radius:3px}textarea{min-height:110px}.alert{padding:14px;background:#fff0e8;border:1px solid #d8af91;margin:15px 0}.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.photos img{height:130px;width:100%;object-fit:cover}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.small{font-size:.85rem}.checks{display:flex;gap:10px;align-items:center}.checks input{width:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 8px}@media(max-width:850px){.hero{grid-template-columns:1fr;padding:50px 0}.heroart{min-height:300px}.links{gap:10px;flex-wrap:wrap}.links a{font-size:.76rem}.grid,.services{grid-template-columns:repeat(2,1fr)}.foot{display:block}}@media(max-width:560px){.nav{align-items:start;flex-direction:column}.links{width:100%;justify-content:space-between}.nav .btn{display:none}.grid,.services{grid-template-columns:1fr}.section{padding:42px 0}.hero{gap:25px}.section-head{display:block}.photos{grid-template-columns:repeat(2,1fr)}}

/* MAD-KAM 1.1: spokojna strona główna z dwoma równorzędnymi działami */
.home-main{padding-top:26px;padding-bottom:72px}.home-intro{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0 22px}.home-subtitle{font-size:.73rem;font-weight:700;letter-spacing:.18em;color:#64655f}.home-years{font-size:.83rem;color:var(--muted)}.home-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.home-path{display:block;min-width:0}.home-photo{height:clamp(330px,43vw,560px);overflow:hidden;position:relative;background:#ccc7c1}.home-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.home-path:hover img{transform:scale(1.025)}.cemetery-photo{background:linear-gradient(150deg,#343634,#767674 60%,#373a39)}.building-photo{background:linear-gradient(145deg,#c8bdad,#e7ded0 60%,#a99d8e)}.photo-empty{position:absolute;left:20px;bottom:20px;color:#fff;font-size:.85rem}.building-photo .photo-empty{color:#514a42}.home-path-caption{padding:18px 2px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.home-path-caption h1,.home-path-caption h2{font-size:clamp(1.1rem,2vw,1.75rem);letter-spacing:-.035em;margin:0;font-weight:700;max-width:none}.home-path-caption p{margin:5px 0 0;font-size:.93rem;color:var(--muted)}.path-arrow{font-size:1.35rem;align-self:flex-start}.subhero.compact{padding:48px 0 18px}.subhero.compact h1{font-size:clamp(2.1rem,4.3vw,4rem)}.breadcrumb{font-size:.85rem;color:var(--muted)}.category-links{display:flex;flex-wrap:wrap;gap:20px;border-block:1px solid var(--line);padding:14px 0}.category-links a{font-weight:600;font-size:.9rem}.home-main + footer{margin-top:0}
@media(max-width:700px){.home-paths{gap:12px}.home-photo{height:clamp(240px,54vw,410px)}.home-intro{padding-bottom:14px}.home-path-caption{display:block}.path-arrow{display:none}.home-path-caption p{font-size:.78rem}.home-path-caption h1,.home-path-caption h2{font-size:1.05rem}.home-years{font-size:.7rem}.home-main{padding-bottom:40px}}
@media(max-width:480px){.home-paths{grid-template-columns:1fr;gap:24px}.home-photo{height:65vw;min-height:260px}.home-path-caption h1,.home-path-caption h2{font-size:1.35rem}.home-path-caption p{font-size:.9rem}.nav{padding:14px 18px}.links{gap:9px}.links a{font-size:.7rem}.wrap{padding-left:18px;padding-right:18px}}

/* MAD-KAM 1.2 */
.home-main{padding-top:34px}.admin-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:400px;overflow:auto}.admin-choice{display:block;border:2px solid transparent;padding:5px;cursor:pointer}.admin-choice:has(input:checked){border-color:#263b34}.admin-choice input{width:auto}.admin-choice img{width:100%;height:110px;object-fit:cover}.admin-choice span{font-size:.76rem;display:block;line-height:1.25}.home-admin-nav{display:flex;gap:12px;flex-wrap:wrap}.home-cover-preview{width:min(100%,500px);height:260px;object-fit:cover;background:#ddd}@media(max-width:700px){.admin-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* MAD-KAM 1.3.0 — tytuly na fotografiach, zaokraglone rogi */
.home-photo{border-radius:16px;isolation:isolate}
.home-photo::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.28) 27%,transparent 58%)}
.home-overlay{position:absolute;z-index:2;right:26px;bottom:24px;left:18px;text-align:right;color:#fff;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.home-overlay h1,.home-overlay h2{font-family:Manrope,sans-serif;font-size:clamp(1.15rem,2vw,1.75rem);font-weight:700;line-height:1.25;letter-spacing:-.035em;margin:0;color:#fff;max-width:none}
.home-overlay p{font-size:clamp(.76rem,1.15vw,.93rem);line-height:1.45;margin:6px 0 0;color:#f7f7f7}
.home-path:focus-visible{outline:3px solid #97836d;outline-offset:5px;border-radius:16px}
@media(max-width:700px){.home-overlay{right:16px;bottom:16px;left:12px}.home-overlay h1,.home-overlay h2{font-size:1.13rem}.home-overlay p{font-size:.78rem}.home-photo{border-radius:12px}}
@media(max-width:480px){.home-overlay h1,.home-overlay h2{font-size:1.35rem}.home-overlay p{font-size:.89rem}}

/* MAD-KAM 1.3.2 — tylko logo i numer kontaktowy w naglowku */
header .nav{align-items:center;flex-direction:row;justify-content:space-between;gap:18px}
.header-phone{display:inline-flex;align-items:center;justify-content:center;color:var(--ink);font-family:Manrope,sans-serif;font-size:1.12rem;font-weight:700;white-space:nowrap;letter-spacing:.015em;padding:9px 0}
.header-phone:hover{color:var(--accent)}
.header-phone:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.phone-icon{display:none}
@media(max-width:700px){
 header .nav{padding:13px 18px;flex-direction:row;align-items:center}
 .phone-number{display:none}
 .phone-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff}
 .phone-icon svg{width:20px;height:20px;display:block}
 .header-phone{padding:0;min-width:42px;min-height:42px}
}


/* MAD-KAM 1.3.3 — spójność wizualna ze Stones Studio */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#27231f;--muted:#746c63;--paper:#f5f1eb;--dark:#27231f;--line:#ddd6cd;--accent:#8a1f33}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
h1,h2,h3,.header-phone{font-family:Inter,system-ui,sans-serif;letter-spacing:-.028em}
header{background:#faf7f2;border-bottom:1px solid var(--line)}
header .nav{padding-top:15px;padding-bottom:15px}
.brand{display:inline-flex;align-items:center;min-height:52px;max-width:min(55vw,250px);font-weight:800;color:var(--ink)}
.stones-logo{display:block;width:auto;max-width:100%;height:52px;object-fit:contain;object-position:left center}
.brand-fallback{font-size:1.4rem;letter-spacing:-.045em;line-height:1.1}
.brand-fallback small{font-size:.53rem;letter-spacing:.14em;margin-top:4px}
.header-phone{font-weight:800;color:var(--ink)}
.phone-icon{border-color:var(--line);border-radius:11px;background:#fff}
.home-main{padding-top:24px}
.home-paths{gap:18px}
.home-photo{border-radius:17px;background-color:#ddd6cd}
.home-photo::after{background:linear-gradient(to top,rgba(24,20,18,.72),rgba(24,20,18,.13) 39%,transparent 65%)}
.home-overlay{right:25px;bottom:24px}
.home-overlay h1,.home-overlay h2{font-family:Inter,system-ui,sans-serif;font-weight:800;letter-spacing:-.027em}
.home-overlay p{color:#f4eee9;font-weight:500}
.home-path:focus-visible,.header-phone:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.tile,.panel,.service{background:#fff;border-color:var(--line);border-radius:15px;overflow:hidden}
.btn{border-radius:11px;font-weight:800}
.btn:not(.alt){background:var(--accent);border-color:var(--accent)}
.pill{border-color:var(--line);background:#fff}
.pill.active{background:var(--accent);border-color:var(--accent);color:#fff}
input,select,textarea{border-color:var(--line);border-radius:11px}
footer{border-color:var(--line);padding:28px 0;background:#faf7f2}
@media(max-width:700px){header .nav{padding:10px 18px}.stones-logo{height:42px}.brand{min-height:44px}.home-photo{border-radius:13px}.home-overlay{right:17px;bottom:17px}.home-main{padding-top:16px}}

/* 1.3.4 — oryginalny, lokalny logotyp Stones Studio */
header .nav{padding-top:12px;padding-bottom:12px}
.brand{max-width:205px;min-height:0}
.stones-logo{display:block;width:190px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
@media(max-width:700px){header .nav{padding-top:9px;padding-bottom:9px}.brand{max-width:148px}.stones-logo{width:144px;height:auto}}


/* 1.3.5 — większe logo w układzie poziomym */
.brand{max-width:420px;min-height:0;flex:1 1 auto}
.stones-logo{display:block;width:360px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
header .nav{gap:22px}
.header-phone{flex:0 0 auto}
@media(max-width:1000px){.brand{max-width:340px}.stones-logo{width:300px}}
@media(max-width:700px){.brand{max-width:230px}.stones-logo{width:220px}}


/* 1.3.6 — nowe logo MAD-KAM w stylu Stones Studio */
.brand{max-width:560px;min-height:0;flex:1 1 auto}
.stones-logo{display:block;width:500px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
@media(max-width:1200px){.brand{max-width:500px}.stones-logo{width:440px}}
@media(max-width:1000px){.brand{max-width:420px}.stones-logo{width:370px}}
@media(max-width:700px){.brand{max-width:260px}.stones-logo{width:250px}}


/* 1.3.7 — korekta proporcji logo względem telefonu */
.brand{max-width:360px;min-height:0;flex:1 1 auto}
.stones-logo{display:block;width:310px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
.header-phone{font-size:1.08rem}
@media(max-width:1200px){.brand{max-width:330px}.stones-logo{width:290px}}
@media(max-width:1000px){.brand{max-width:300px}.stones-logo{width:260px}.header-phone{font-size:1rem}}
@media(max-width:700px){.brand{max-width:185px}.stones-logo{width:175px}.header-phone{min-width:42px;min-height:42px}}
@media(max-width:420px){.brand{max-width:165px}.stones-logo{width:155px}}


/* 1.3.8 — logo pomniejszone o ok. 30% */
.brand{max-width:255px;min-height:0;flex:1 1 auto}
.stones-logo{display:block;width:217px;max-width:100%;height:auto;object-fit:contain;object-position:left center}
@media(max-width:1200px){.brand{max-width:235px}.stones-logo{width:203px}}
@media(max-width:1000px){.brand{max-width:210px}.stones-logo{width:182px}}
@media(max-width:700px){.brand{max-width:140px}.stones-logo{width:123px}.header-phone{min-width:42px;min-height:42px}}
@media(max-width:420px){.brand{max-width:125px}.stones-logo{width:109px}}

/* MAD-KAM 1.3.9 — przycisk Realizacje pod głównymi kaflami */
.realizations-link{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:64px;margin-top:18px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);font-size:1.06rem;font-weight:700;letter-spacing:.005em;transition:background .2s,border-color .2s,color .2s}
.realizations-link:hover{background:#fff;border-color:var(--accent);color:var(--accent)}
.realizations-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.realizations-link span{font-size:1.35rem;font-weight:400;line-height:1}
@media(max-width:700px){.realizations-link{min-height:54px;margin-top:14px;border-radius:13px;font-size:1rem}}


/* 1.4.0 — galeria zamiast opisowych podstron. Tylko zdjęcia i niezbędne etykiety. */
.realizations-link{display:none!important}
footer{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.photo-page{padding-top:22px;padding-bottom:38px}
.back-circle{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;margin-bottom:18px;font-size:22px;line-height:1}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.visual-tile{position:relative;display:block;overflow:hidden;isolation:isolate;aspect-ratio:4/5;border-radius:17px;background:#ddd6cd}
.visual-tile img{height:100%;width:100%;object-fit:cover;transition:transform .25s ease}
.visual-tile:hover img{transform:scale(1.025)}
.visual-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,20,18,.68),transparent 43%);pointer-events:none}
.visual-caption{position:absolute;z-index:1;right:18px;bottom:17px;left:18px;text-align:right;color:white;font-weight:800;font-size:clamp(15px,1.6vw,22px);line-height:1.25;text-shadow:0 2px 5px #0005}
.photo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.photo-detail-grid .detailimg{display:block;width:100%;max-height:none;height:auto;object-fit:contain;border-radius:16px;margin:0;background:#eee}
@media(max-width:850px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:560px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-tile{border-radius:12px}.visual-caption{right:10px;bottom:10px;left:10px;font-size:13px}.photo-detail-grid{grid-template-columns:1fr;gap:12px}.photo-page{padding-top:14px}.home-main{padding-bottom:24px}}


/* MAD-KAM 1.4.1 — trzy kategorie na dział, kafle realizacji o stałym rozmiarze */
.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:15px}
.group-card{display:block;min-width:0;border-radius:17px;overflow:hidden;outline-offset:4px}
.group-card-photo{height:clamp(280px,34vw,465px);position:relative;overflow:hidden;border-radius:17px;background:#bbb3ab}
.group-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.group-card:hover img{transform:scale(1.025)}
.group-card-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.63),transparent 45%);pointer-events:none}
.group-card-label{position:absolute;z-index:2;bottom:22px;right:23px;left:16px;text-align:right;color:#fff;font-size:clamp(1.1rem,1.7vw,1.5rem);font-weight:800;text-shadow:0 1px 3px #0008}
.group-placeholder{position:absolute;inset:0;background:linear-gradient(145deg,#aaa49f,#4e4844)}
.group-card:nth-child(2) .group-placeholder{background:linear-gradient(145deg,#9a8e81,#514b47)}
.group-card:nth-child(3) .group-placeholder{background:linear-gradient(145deg,#a9a19d,#595653)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:15px 0 45px}
.project-card{display:block;aspect-ratio:4/3;position:relative;overflow:hidden;border-radius:15px;background:#ddd6cd}
.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.project-card:hover img{transform:scale(1.03)}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.63),transparent 50%);pointer-events:none}
.project-card-caption{position:absolute;z-index:2;right:14px;bottom:13px;left:14px;font-weight:700;font-size:.95rem;color:white;text-align:right;text-shadow:0 1px 3px #0007}
@media(max-width:850px){.group-grid,.project-grid{gap:12px}.group-card-photo{height:clamp(230px,39vw,360px)}}
@media(max-width:650px){.group-grid{grid-template-columns:1fr;gap:14px}.group-card-photo{height:clamp(210px,54vw,325px)}.group-card-label{bottom:17px;right:17px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-card{border-radius:12px}.project-card-caption{font-size:.77rem;bottom:9px;right:9px;left:9px}}
@media(max-width:340px){.project-grid{grid-template-columns:1fr}}


/* 1.4.2 — kafle na pełną dostępną szerokość + systemowy motyw */
:root{color-scheme:light dark}
html,body{min-height:100%;background:var(--paper)}
/* Układy fotograficzne zajmują dostępną szerokość okna. */
.wrap:has(.home-paths),
.wrap.photo-page,
.wrap:has(.group-grid),
.wrap:has(.project-grid){
    max-width:none;
    width:100%;
    padding-left:clamp(10px,1.3vw,24px);
    padding-right:clamp(10px,1.3vw,24px);
}
.home-main.wrap{padding-top:clamp(10px,1.3vw,24px);padding-bottom:clamp(10px,1.3vw,24px)}
.home-paths,.group-grid,.project-grid{width:100%;gap:clamp(10px,1.3vw,22px)}
/* Zdjęcia całkowicie wypełniają ramkę — zachowujemy ich proporcje. */
.home-photo,.group-card-photo,.project-card,.visual-tile{overflow:hidden}
.home-photo img,.group-card-photo img,.project-card img,.visual-tile img{
    display:block;width:100%;height:100%;object-fit:cover;object-position:center
}
/* Dwa obrazy główne wykorzystują wysokość ekranu bez rozciągania zdjęć. */
.home-photo{height:max(430px,calc(100svh - 112px));min-height:0}
/* Trzy kategorie mieszczą się w jednym rzędzie na szerokich ekranach. */
.group-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}
.group-card-photo{height:max(320px,calc(100svh - 142px));min-height:0}
/* Kafle realizacji mają stałe proporcje i adaptacyjną szerokość. */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}
.project-card{aspect-ratio:4/3;min-height:0}
/* Galeria szczegółów również wykorzystuje pełną szerokość. */
.photo-detail-grid{width:100%}
.photo-detail-grid .detailimg{width:100%;height:auto;object-fit:contain}
@media(max-width:700px){
    .home-paths{grid-template-columns:1fr}
    .home-photo{height:clamp(280px,56svh,650px)}
    .group-grid{grid-template-columns:1fr}
    .group-card-photo{height:clamp(240px,32svh,410px)}
    .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .project-card{aspect-ratio:4/3}
}
@media(max-width:340px){.project-grid{grid-template-columns:1fr}}
/* Preferencja urządzenia — automatyczny jasny lub ciemny motyw. */
@media(prefers-color-scheme:light){
  :root{--ink:#27231f;--muted:#746c63;--paper:#f5f1eb;--dark:#27231f;--line:#ddd6cd;--accent:#8a1f33}
}
@media(prefers-color-scheme:dark){
  :root{--ink:#f1ede9;--muted:#b8ada6;--paper:#171615;--dark:#f1ede9;--line:#45403b;--accent:#bd6071}
  header{background:#211f1d;border-bottom-color:var(--line)}
  .phone-icon,.back-circle,.tile,.panel,.service,.pill{background:#282522;color:var(--ink);border-color:var(--line)}
  .header-phone{color:var(--ink)}
  .brand-fallback{color:var(--ink)}
  input,select,textarea{background:#282522;color:var(--ink);border-color:var(--line)}
  .pill.active,.btn:not(.alt){background:#8a1f33;border-color:#8a1f33;color:#fff}
  .btn.alt{color:var(--ink);border-color:var(--line)}
  .project-card,.home-photo,.group-card-photo{background-color:#33302d}
  .group-placeholder{background:linear-gradient(145deg,#45403b,#252220)}
}


/* MAD-KAM 1.4.3 — bezszwowy nagłówek i ekran bez przewijania */
:root{--screen-gap:clamp(10px,1.2vw,20px);--site-head:76px}
html{scrollbar-gutter:auto}
body{min-height:100dvh}
header{position:relative;background:var(--paper)!important;border:0!important;box-shadow:none!important}
header .nav{position:relative;height:var(--site-head);min-height:0;max-width:none;padding:0 var(--screen-gap);justify-content:flex-end;gap:12px}
/* Logo dokładnie w poziomym środku ekranu — niezależnie od telefonu. */
@media(min-width:701px){
  header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:auto;max-width:260px;min-height:0;flex:none}
  header .stones-logo{width:217px;max-width:100%;height:auto;object-position:center}
  header .header-phone{margin-left:auto;position:relative;z-index:1}
}
/* Strona główna i wybór kategorii to pojedyncze ekrany. */
body.landing-screen,body.groups-screen{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.landing-screen header,body.groups-screen header{flex:0 0 var(--site-head)}
body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{
  flex:1 1 0;min-height:0;min-width:0;width:100%;max-width:none;
  margin:0;padding:var(--screen-gap);display:flex;flex-direction:column;overflow:hidden
}
body.landing-screen .home-paths,body.groups-screen .group-grid{
  flex:1 1 0;min-height:0;display:grid;width:100%;height:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--screen-gap);margin:0
}
body.landing-screen .home-path,body.groups-screen .group-card{display:block;min-height:0;min-width:0;height:100%;overflow:hidden}
body.landing-screen .home-photo,body.groups-screen .group-card-photo{
  display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;overflow:hidden
}
body.groups-screen .group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Powrót nakładamy na galerię, aby nie zabierał jej wysokości. */
body.groups-screen .group-page{position:relative}
body.groups-screen .back-circle{position:absolute;top:calc(var(--screen-gap) + 12px);left:calc(var(--screen-gap) + 12px);z-index:5;margin:0}
/* Ujednolicamy boczny, środkowy i dolny pas tła. */
body.landing-screen .home-paths,body.groups-screen .group-grid{padding:0}
@media(max-width:700px){
  :root{--site-head:64px;--screen-gap:10px}
  header .nav{height:var(--site-head);padding:0 var(--screen-gap);justify-content:space-between}
  header .brand{position:static;transform:none;max-width:140px;flex:0 1 auto}
  header .stones-logo{width:123px;max-width:100%}
  body.landing-screen .home-paths{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
  body.groups-screen .group-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr))}
  body.landing-screen .home-photo,body.groups-screen .group-card-photo{height:100%;min-height:0;max-height:none}
  body.groups-screen .back-circle{width:36px;height:36px;top:calc(var(--screen-gap) + 8px);left:calc(var(--screen-gap) + 8px)}
  .home-overlay h1,.home-overlay h2{font-size:clamp(.95rem,4vw,1.35rem)}
  .home-overlay p{font-size:clamp(.72rem,3vw,.9rem)}
}
@media(max-height:450px) and (orientation:landscape){
  :root{--site-head:50px;--screen-gap:7px}
  body.groups-screen .group-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}
  body.landing-screen .home-paths{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr}
}


/* 1.4.4 — dwa równorzędne, całe klikalne przyciski nagłówka */
header .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;position:relative;z-index:2;margin-left:auto;min-width:0}
header .header-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 12px;background:transparent;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:.9rem;font-weight:700;line-height:1.15;letter-spacing:-.02em;white-space:nowrap;transition:border-color .15s,background-color .15s;flex:0 0 auto}
header .header-action:hover{color:var(--ink);border-color:var(--accent);background:color-mix(in srgb,var(--ink) 5%,transparent)}
header .header-action:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
header .header-action .action-icon{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;background:none!important;border:0!important;padding:0;border-radius:0}
header .header-action .action-icon svg{display:block;width:20px;height:20px}
header .header-action .action-label{display:inline}
@media(min-width:701px){header .header-phone{margin-left:0}}
/* W średnich szerokościach środkowe logo nie nachodzi na przyciski. */
@media(min-width:701px) and (max-width:1200px){
 header .header-action{width:44px;height:44px;padding:0}
 header .header-action .action-label{display:none}
}
/* Na telefonach — dwie jednakowe ikony, oba przyciski 44 × 44 px. */
@media(max-width:700px){
 header .header-actions{gap:8px;margin-left:auto}
 header .header-action{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}
 header .header-action .action-label{display:none}
}


/* 1.4.5 — logo typograficzne Kamieniarstwo Madejski / Bukowno */
header .brand-wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.1;text-align:center;color:var(--ink);text-decoration:none;white-space:nowrap;min-width:0}
header .brand-wordmark .brand-main{font-family:Inter,system-ui,sans-serif;font-size:clamp(17px,1.65vw,23px);font-weight:500;letter-spacing:-.05em;line-height:1.15}
header .brand-wordmark .brand-main strong{font-weight:800}
header .brand-wordmark .brand-city{display:block;font-family:Inter,system-ui,sans-serif;font-size:10px;font-weight:750;letter-spacing:.28em;line-height:1.1;color:var(--accent)}
@media(min-width:701px){header .brand-wordmark{width:340px;max-width:340px;flex:none}}
@media(min-width:701px) and (max-width:1200px){header .brand-wordmark{width:260px;max-width:260px}header .brand-wordmark .brand-main{font-size:18px}}
@media(max-width:700px){
 header .brand-wordmark{position:static;transform:none;max-width:235px;width:auto;flex:0 1 auto;align-items:flex-start;text-align:left;gap:3px}
 header .brand-wordmark .brand-main{font-size:clamp(13px,3.7vw,18px);letter-spacing:-.055em}
 header .brand-wordmark .brand-city{font-size:9px;letter-spacing:.21em}
}
@media(max-width:380px){header .brand-wordmark .brand-main{font-size:12px}header .brand-wordmark .brand-city{font-size:8px}}


/* 1.4.6 — uproszczony wordmark: Kamieniarstwo MADEJSKI */
header .brand-wordmark{gap:0}
header .brand-wordmark .brand-main{display:flex;align-items:baseline;justify-content:center;gap:.34em;font-family:Inter,system-ui,sans-serif;font-size:clamp(18px,1.7vw,24px);font-weight:500;letter-spacing:-.055em;line-height:1.05;color:var(--ink)}
header .brand-wordmark .brand-prefix{font-weight:500;opacity:.92}
header .brand-wordmark .brand-main strong{font-weight:900;letter-spacing:-.045em;color:var(--ink)}
header .brand-wordmark .brand-city{display:none!important}
@media(min-width:701px){header .brand-wordmark{width:360px;max-width:360px;flex:none}}
@media(min-width:701px) and (max-width:1200px){header .brand-wordmark{width:290px;max-width:290px}header .brand-wordmark .brand-main{font-size:19px}}
@media(max-width:700px){header .brand-wordmark{max-width:230px;width:auto;align-items:flex-start;text-align:left}header .brand-wordmark .brand-main{font-size:clamp(13px,3.7vw,17px);gap:.28em;justify-content:flex-start;line-height:1.02}}
@media(max-width:380px){header .brand-wordmark .brand-main{font-size:12px}}


/* 1.4.7 — większy wordmark mobilny i miasto w poziomie, tam gdzie się mieści */
.home-photo,.group-card,.group-card-photo,.project-card,.visual-tile,.tile,.panel,.service,.photo-detail-grid .detailimg{border-radius:22px}
header .header-action,.phone-icon,.back-circle,.btn,.pill{border-radius:22px}
@media(max-width:700px){
  header .nav{gap:8px}
  header .brand-wordmark{flex:1 1 auto;width:auto;max-width:none;min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;overflow:hidden}
  header .brand-wordmark .brand-main{flex:0 1 auto;min-width:0;font-size:clamp(16px,4.1vw,21px);line-height:1.1;gap:.25em;letter-spacing:-.06em;white-space:nowrap}
  header .brand-wordmark .brand-main strong{font-weight:900}
  header .brand-wordmark .brand-city{display:none!important}
  header .header-actions{flex:0 0 auto}
}
/* Miasto pojawia się z boku dopiero wtedy, gdy pozostaje na nie miejsce. */
@media(min-width:520px) and (max-width:700px){
  header .brand-wordmark .brand-city{display:inline-flex!important;flex:0 0 auto;align-items:center;justify-content:center;padding:5px 9px;border-radius:22px;background:#665448;color:#f5ead9;font-size:11px;font-weight:750;letter-spacing:.01em;line-height:1;white-space:nowrap}
}
@media(max-width:700px){
  .home-photo,.group-card,.group-card-photo,.project-card,.visual-tile,.tile,.photo-detail-grid .detailimg{border-radius:22px}
}


/* 1.4.8 — automatyczny dobór zdjęć kategorii i po 3 realizacje końcowe */
.empty-card{background:linear-gradient(145deg,rgba(127,114,101,.18),rgba(127,114,101,.08));border:1px dashed var(--line)}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-card{position:relative;overflow:hidden}
.project-card-caption{position:absolute;right:18px;bottom:16px;left:18px;display:block;color:#fff;font-weight:700;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,0,0,.45);z-index:2}
.project-card::after{content:'';position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(to top,rgba(17,14,12,.72),rgba(17,14,12,.12),transparent);pointer-events:none}
@media(max-width:700px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card-caption{right:12px;bottom:12px;left:12px;font-size:.9rem}}


/* 1.4.9 — przycisk e-mail z pełną aktywną powierzchnią */
header .header-email{cursor:pointer}
@media(min-width:1201px) and (max-width:1650px){
 header .header-email{width:44px;height:44px;padding:0}
 header .header-email .action-label{display:none}
}
@media(max-width:700px){
 header .header-email{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}
}
@media(max-width:430px){
 header .brand-wordmark .brand-main{font-size:clamp(12px,3.85vw,16px)}
 header .header-actions{gap:6px}
}


/* 1.5.0 — stały, pełnoszerokościowy pasek danych kontaktowych */
:root{--contact-height:74px}
body{padding-bottom:var(--contact-height)}
body.landing-screen,body.groups-screen{padding-bottom:var(--contact-height);box-sizing:border-box}
.fixed-contact{position:fixed;bottom:0;left:0;right:0;z-index:30;box-sizing:border-box;min-height:var(--contact-height);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:0;padding:9px clamp(10px,1.2vw,20px) max(9px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -5px 24px rgba(0,0,0,.05);font-family:Inter,system-ui,sans-serif;color:var(--ink)}
.fixed-contact-link{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 10px;border-radius:22px;color:var(--ink);font-size:clamp(11px,1.15vw,15px);font-weight:650;text-align:center;line-height:1.3;text-decoration:none;overflow-wrap:anywhere;min-width:0}
.fixed-contact-link:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}
.fixed-contact-link:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.fixed-contact-link svg{display:block;flex:none;width:20px;height:20px}
@media(max-width:700px){
  :root{--contact-height:88px}
  .fixed-contact{min-height:var(--contact-height);padding:7px 7px max(7px,env(safe-area-inset-bottom))}
  .fixed-contact-link{flex-direction:column;gap:5px;padding:5px 3px;font-size:10px;line-height:1.15}
  .fixed-contact-link svg{width:18px;height:18px}
}
@media(max-width:360px){.fixed-contact-link{font-size:9px}}


/* 1.5.1 — pasek tylko na telefonie, bez ikon i linków */
:root{--contact-height:0px}
body,body.landing-screen,body.groups-screen{padding-bottom:0}
.fixed-contact{display:none}
/* Pełny adres poczty w nagłówku desktopowym — zamiast tekstu "Wyślij wiadomość". */
@media(min-width:1201px){
 header .header-email{width:auto;height:auto;min-height:44px;padding:8px 12px}
 header .header-email .action-label{display:inline}
}
@media(max-width:700px){
 :root{--contact-height:44px}
 body,body.landing-screen,body.groups-screen{padding-bottom:44px}
 .fixed-contact{
   display:grid;position:fixed;left:0;right:0;bottom:0;z-index:30;
   width:100%;height:44px;min-height:44px;max-height:44px;
   grid-template-columns:minmax(0,1.18fr) minmax(0,1.28fr) minmax(0,.78fr);
   gap:4px;align-items:center;padding:4px 8px;box-sizing:border-box;
   background:var(--paper);border:0;box-shadow:none;
 }
 .fixed-contact-text{
   display:block;min-width:0;overflow:hidden;text-align:center;
   font-family:Inter,system-ui,sans-serif;font-weight:650;
   font-size:clamp(8px,2.1vw,11px);line-height:1.15;letter-spacing:-.025em;
   color:var(--ink);overflow-wrap:anywhere;cursor:default;
 }
}


/* 1.5.2 — mobilny dolny kafel, pojedynczy wiersz z separatorami */
@media(max-width:700px){
 .fixed-contact{
   display:flex;align-items:center;justify-content:space-evenly;
   gap:clamp(2px,.55vw,5px);
   left:var(--screen-gap,10px);right:var(--screen-gap,10px);width:auto;
   height:44px;min-height:44px;max-height:44px;padding:0 clamp(5px,1.3vw,10px);
   border:1px solid var(--line);border-radius:22px;
   background:var(--paper);box-shadow:none;
 }
 .fixed-contact-text{
   flex:0 1 auto;width:auto;min-width:0;
   white-space:nowrap;overflow:visible;overflow-wrap:normal;
   font-size:clamp(8px,2.65vw,12px);font-weight:700;
   line-height:1;letter-spacing:-.045em;
 }
 .contact-separator{
   flex:0 0 auto;color:var(--muted);font-size:clamp(10px,2.85vw,13px);
   line-height:1;font-weight:400;
 }
}
@media(max-width:365px){
 .fixed-contact{gap:2px;padding:0 5px}
 .fixed-contact-text{font-size:clamp(7.4px,2.55vw,9.3px);letter-spacing:-.055em}
}


/* 1.5.3 - dolny margines mobilnego kafla */
@media(max-width:700px){
 :root{--contact-height:calc(44px + var(--screen-gap,10px))}
 body,body.landing-screen,body.groups-screen{padding-bottom:var(--contact-height)}
 .fixed-contact{bottom:var(--screen-gap,10px)}
}

/* 1.5.4 — klikalne dane kontaktowe, wizualnie identyczny pasek mobilny */
@media(max-width:700px){
  .fixed-contact a.fixed-contact-text,
  .fixed-contact a.fixed-contact-text:link,
  .fixed-contact a.fixed-contact-text:visited{
    color:var(--ink);text-decoration:none;cursor:pointer;
    display:block;background:none;border:0;border-radius:0;
    padding:0;margin:0;-webkit-tap-highlight-color:transparent;
  }
  .fixed-contact a.fixed-contact-text:hover,
  .fixed-contact a.fixed-contact-text:active{
    color:var(--ink);text-decoration:none;background:none;
  }
  .fixed-contact a.fixed-contact-text:focus-visible{
    outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;
  }
}


/* MAD-KAM 1.5.5: menu z trzema kropkami + dyskretne podstrony informacyjne */
header .more-menu{position:absolute;left:var(--screen-gap,12px);top:50%;transform:translateY(-50%);z-index:45;color:var(--ink)}
header .more-menu summary{display:flex;align-items:center;justify-content:center;width:40px;height:40px;cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:22px;background:var(--paper);transition:border-color .15s;background-color:var(--paper)}
header .more-menu summary::-webkit-details-marker{display:none}
header .more-menu summary:hover,header .more-menu[open] summary{border-color:var(--accent)}
header .more-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
header .more-menu-panel{position:absolute;left:0;top:calc(100% + 9px);display:flex;flex-direction:column;min-width:220px;max-width:calc(100vw - 20px);padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 35px #0002}
header .more-menu-panel a{display:block;padding:11px 13px;color:var(--ink);font-size:13px;font-weight:600;text-decoration:none;border-radius:10px}
header .more-menu-panel a:hover,header .more-menu-panel a:focus-visible{background:color-mix(in srgb,var(--ink) 8%,transparent)}
@media(max-width:700px){
 header .more-menu{left:auto;right:calc(var(--screen-gap,10px) + 156px);z-index:46}
 header .more-menu summary{width:34px;height:40px;border:0;background:transparent}
 header .more-menu-panel{left:auto;right:-156px;min-width:235px}
 header .brand-wordmark{padding-right:34px;box-sizing:border-box}
}
@media(max-width:390px){header .brand-wordmark .brand-main{font-size:clamp(11px,3.4vw,14px)}header .brand-wordmark .brand-city{display:none!important}}
.legal-page{max-width:840px;margin:0 auto;padding:36px 22px 90px;color:var(--ink)}
.legal-page h1{font-size:clamp(24px,4vw,36px);margin:0 0 24px}
.legal-panel{border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,32px);background:color-mix(in srgb,var(--paper) 95%,var(--ink) 5%)}
.legal-panel h2{font-size:18px;margin:24px 0 8px}.legal-panel h2:first-child{margin-top:0}
.legal-panel p{font-size:15px;line-height:1.7;color:var(--ink)}
.legal-panel dl{display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:14px 24px;margin:18px 0 0}
.legal-panel dt{color:var(--muted)}.legal-panel dd{margin:0;overflow-wrap:anywhere}
.legal-panel a,.legal-back{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal-back{display:inline-block;margin:24px 0}
@media(max-width:700px){.legal-page{padding:20px 14px 100px}.legal-panel dl{grid-template-columns:1fr;gap:4px}.legal-panel dd{margin:0 0 12px}}


/* 1.5.6 — menu na końcu nagłówka desktop / po separatorze w dolnym pasku mobile */
@media(min-width:701px){
 header .more-menu{position:relative;left:auto;right:auto;top:auto;transform:none;flex:0 0 auto;z-index:55}
 header .more-menu summary{width:44px;height:44px;border:1px solid var(--line);border-radius:22px}
 header .more-menu-panel{left:auto;right:0;top:calc(100% + 9px)}
 .fixed-contact .mobile-more-menu{display:none!important}
}
@media(max-width:700px){
 header .more-menu{display:none!important}
 header .brand-wordmark{padding-right:0}
 .fixed-contact{gap:clamp(1px,.4vw,4px);justify-content:space-between;padding-left:clamp(4px,.9vw,8px);padding-right:clamp(4px,.9vw,8px)}
 .fixed-contact .fixed-contact-text{font-size:clamp(7px,2.28vw,11px);letter-spacing:-.05em;flex:0 1 auto;min-width:0}
 .fixed-contact .contact-separator{font-size:clamp(9px,2.2vw,12px)}
 .fixed-contact .mobile-more-menu{position:relative;display:block;left:auto;right:auto;top:auto;transform:none;flex:0 0 auto;margin:0;z-index:60}
 .fixed-contact .mobile-more-menu summary{height:34px;width:25px;border:0;border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;padding:0}
 .fixed-contact .mobile-more-menu summary svg{height:20px;width:20px}
 .fixed-contact .mobile-more-menu .more-menu-panel{position:absolute;left:auto;right:0;top:auto;bottom:calc(100% + 11px);min-width:225px;max-width:calc(100vw - 20px);background:var(--paper);z-index:61}
}
@media(max-width:365px){.fixed-contact .fixed-contact-text{font-size:clamp(6.7px,2.15vw,8px);letter-spacing:-.06em}.fixed-contact .mobile-more-menu summary{width:23px}}

/* 1.5.7 — podstawowe utrudnienia kopiowania fotografii, bez zmiany wyglądu. */
.home-photo img,.group-card-photo img,.project-card img,.photo-detail-grid img {
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}


/* 1.5.8 — większe, zwarte napisy bez ramki dolnego paska */
@media(max-width:700px){
 .fixed-contact{border:0!important;box-shadow:none!important;background:transparent!important;gap:0!important;padding:0 2px!important;justify-content:space-between;min-height:44px;height:44px}
 .fixed-contact .fixed-contact-text{font-family:"Arial Narrow","Liberation Sans Narrow",Arial,system-ui,sans-serif!important;font-size:clamp(8.4px,2.68vw,12px)!important;font-stretch:condensed;font-weight:700!important;letter-spacing:-.052em!important;white-space:nowrap;line-height:1;flex:0 1 auto}
 .fixed-contact .contact-separator{font-size:11px!important;margin:0!important;padding:0 1px!important;flex:0 0 auto}
 .fixed-contact .mobile-more-menu{flex:0 0 auto}
 .fixed-contact .mobile-more-menu summary{width:18px!important;height:36px!important;padding:0!important}
 .fixed-contact .mobile-more-menu summary svg{width:18px!important;height:18px!important}
}
@media(max-width:365px){.fixed-contact .fixed-contact-text{font-size:clamp(7.7px,2.57vw,9.8px)!important;letter-spacing:-.06em!important}.fixed-contact .contact-separator{padding:0!important}.fixed-contact .mobile-more-menu summary{width:16px!important}}


/* 1.5.9 — dokładnie po jednej spacji przy kresce, zero sztucznych przerw */
@media(max-width:700px){
 .fixed-contact{gap:0!important;justify-content:center!important;padding-left:0!important;padding-right:0!important;column-gap:0!important}
 .fixed-contact .contact-separator{white-space:pre!important;display:inline!important;margin:0!important;padding:0!important;letter-spacing:0!important;flex:0 0 auto!important;font-family:Arial,sans-serif!important;font-size:inherit!important}
 .fixed-contact .fixed-contact-text{margin:0!important;padding:0!important;flex:0 1 auto!important;letter-spacing:-.06em!important}
 .fixed-contact .mobile-more-menu{margin:0!important;padding:0!important}
}

/* 1.6.0 — treść dolnego paska rozciągnięta do szerokości kafelków zdjęć. */
@media(max-width:700px){
 .fixed-contact{left:var(--screen-gap,10px)!important;right:var(--screen-gap,10px)!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible}
 .fixed-contact .contact-inline{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0 auto;padding:0;gap:0;white-space:nowrap;box-sizing:border-box}
 .fixed-contact .fixed-contact-text{font-size:var(--contact-font-size,10px)!important;flex:0 0 auto!important;white-space:nowrap}
 .fixed-contact .contact-separator{font-size:var(--contact-font-size,10px)!important;flex:0 0 auto!important;white-space:pre!important;line-height:1!important}
 .fixed-contact .mobile-more-menu{flex:0 0 auto!important}
}

/* 1.6.1 — rozwijane menu mobilne: ten sam układ co na desktopie. */
@media(max-width:700px){
  .fixed-contact .mobile-more-menu{isolation:isolate}
  .fixed-contact .mobile-more-menu .more-menu-panel{
    position:absolute;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    left:auto;
    right:0;
    top:auto;
    bottom:calc(100% + 12px);
    width:250px;
    min-width:0;
    max-width:calc(100vw - 20px);
    box-sizing:border-box;
    padding:7px;
    margin:0;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--paper);
    box-shadow:0 12px 35px rgba(0,0,0,.17);
    color:var(--ink);
    text-align:left;
    white-space:normal;
    z-index:80;
  }
  .fixed-contact .mobile-more-menu .more-menu-panel a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:42px;
    box-sizing:border-box;
    margin:0;
    padding:10px 13px;
    color:var(--ink);
    background:transparent;
    border:0;
    border-radius:14px;
    text-align:left;
    text-decoration:none;
    font:600 14px/1.25 Inter,system-ui,sans-serif;
    letter-spacing:0;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .fixed-contact .mobile-more-menu .more-menu-panel a:hover,
  .fixed-contact .mobile-more-menu .more-menu-panel a:focus-visible{
    background:color-mix(in srgb,var(--ink) 8%,transparent);
  }
  .fixed-contact .mobile-more-menu summary{list-style:none;cursor:pointer}
  .fixed-contact .mobile-more-menu summary::-webkit-details-marker{display:none}
  .fixed-contact .mobile-more-menu summary:focus-visible{
    outline:2px solid var(--accent);outline-offset:2px;
  }
}


/* MAD-KAM 1.6.2 — wyważone kadry: mniejsze, wyśrodkowane kafle zamiast pełnego ekranu. */
:root{--gallery-max:1120px;--gallery-space:clamp(14px,1.5vw,22px)}

/* Strona główna i trzy kategorie pozostają bez przewijania, lecz zdjęcia mają
   teraz własny, spokojny obszar, zamiast pokrywać cały dostępny ekran. */
body.landing-screen .home-main.wrap,
body.groups-screen .group-page.wrap{
  width:100%;max-width:calc(var(--gallery-max) + 64px);
  margin-left:auto;margin-right:auto;
  padding:clamp(22px,4vh,44px) clamp(18px,2.5vw,32px);
  justify-content:center;
}
body.landing-screen .home-paths,
body.groups-screen .group-grid{
  flex:0 1 auto;
  width:100%;height:min(62svh,510px);
  gap:var(--gallery-space);
  align-items:stretch;
}
body.groups-screen .group-grid{height:min(58svh,480px)}
body.landing-screen .home-path,
body.groups-screen .group-card{
  height:100%;min-height:0;
}
body.landing-screen .home-photo,
body.groups-screen .group-card-photo{
  height:100%;min-height:0;max-height:none;
}

/* Podstrony realizacji: taki sam maksymalny rozmiar i symetryczne marginesy. */
.wrap.photo-page{
  max-width:calc(var(--gallery-max) + 64px);
  margin-left:auto;margin-right:auto;
  padding-left:clamp(18px,2.5vw,32px);
  padding-right:clamp(18px,2.5vw,32px);
}
.project-grid{
  gap:var(--gallery-space);
  margin-top:16px;
}
.photo-detail-grid{gap:var(--gallery-space)}

/* Dyskretny efekt interakcji bez naruszania wyglądu i treści zdjęć. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .home-path,.group-card,.project-card{transition:filter .2s ease}
  .home-path:hover,.group-card:hover,.project-card:hover{filter:brightness(1.035)}
}
@media(prefers-reduced-motion:reduce){
  .home-path img,.group-card img,.project-card img{transition:none}
}

@media(max-width:700px){
  :root{--gallery-space:12px}
  body.landing-screen .home-main.wrap,
  body.groups-screen .group-page.wrap{
    max-width:540px;
    padding:16px 14px;
  }
  body.landing-screen .home-paths{
    grid-template-columns:1fr;
    grid-template-rows:repeat(2,minmax(0,1fr));
    height:min(62svh,510px);
  }
  body.groups-screen .group-grid{
    grid-template-columns:1fr;
    grid-template-rows:repeat(3,minmax(0,1fr));
    height:min(67svh,525px);
  }
  .wrap.photo-page{padding-left:14px;padding-right:14px}
  .fixed-contact{left:14px!important;right:14px!important}
  .project-grid{gap:12px}
  /* Strzałka powrotu nadal znajduje się przy górnym zdjęciu. */
  body.groups-screen .back-circle{top:26px;left:25px}
}
@media(max-height:450px) and (orientation:landscape){
  body.landing-screen .home-main.wrap,
  body.groups-screen .group-page.wrap{padding:8px 12px}
  body.landing-screen .home-paths{
    height:min(66svh,295px);
    grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;
  }
  body.groups-screen .group-grid{
    height:min(66svh,295px);
    grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;
  }
  body.groups-screen .back-circle{top:18px;left:21px}
}


/* MAD-KAM 1.6.3 — minimalistyczne atelier: typografia, subtelny ruch, szampańskie detale. */
:root{--atelier-brass:#a58a66;--atelier-brass-soft:rgba(165,138,102,.34)}
@media(prefers-color-scheme:dark){:root{--atelier-brass:#d3b68d;--atelier-brass-soft:rgba(211,182,141,.38)}}

.atelier-intro{display:flex;flex:0 0 auto;align-items:center;flex-direction:column;justify-content:center;text-align:center;gap:5px;position:relative;z-index:1}
.atelier-eyebrow{font:700 clamp(9px,.8vw,11px)/1.35 Inter,system-ui,sans-serif;letter-spacing:.2em;color:var(--atelier-brass);text-transform:uppercase}
.atelier-intro h1{font:500 clamp(24px,3.15vw,43px)/1.18 Inter,system-ui,sans-serif;letter-spacing:-.053em;color:var(--ink);margin:3px 0 6px;max-width:none}
.atelier-full-stop{color:var(--atelier-brass)}
.atelier-hairline{display:block;width:46px;height:1px;flex:0 0 1px;margin-top:3px;background:var(--atelier-brass)}
body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{gap:clamp(12px,2vh,19px)}
body.landing-screen .home-paths,body.groups-screen .group-grid{flex:0 1 auto;min-height:0}
body.landing-screen .home-paths{height:min(58svh,500px)}
body.groups-screen .group-grid{height:min(55svh,466px)}
.atelier-group-intro h1{font-size:clamp(23px,2.65vw,36px)}

/* Numery w narożnikach zdjęć — ułatwiają orientację, nie dodają nowych przycisków. */
.home-photo,.group-card-photo,.project-card{position:relative;isolation:isolate}
.home-photo::after{background:linear-gradient(180deg,rgba(18,18,18,.24) 0%,transparent 25%,transparent 48%,rgba(0,0,0,.64) 100%)}
.group-card-photo::after{background:linear-gradient(180deg,rgba(18,18,18,.29) 0%,transparent 29%,transparent 46%,rgba(0,0,0,.61) 100%)}
.project-card::after{inset:0;height:auto;background:linear-gradient(180deg,rgba(18,18,18,.28) 0%,transparent 28%,transparent 53%,rgba(0,0,0,.64) 100%)}
.atelier-photo-index,.atelier-photo-arrow{position:absolute;z-index:4;color:#fff;pointer-events:none;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.atelier-photo-index{top:20px;left:21px;font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.13em;white-space:nowrap;padding:9px 0;border-top:1px solid rgba(255,255,255,.7)}
.atelier-photo-arrow{top:18px;right:20px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(25,23,19,.12);font:400 21px/1 Inter,system-ui,sans-serif;backdrop-filter:blur(3px);transition:background-color .25s,border-color .25s,transform .3s ease}
.home-overlay h2,.group-card-label,.project-card-caption{letter-spacing:-.035em}
.home-overlay h2{font-weight:750}
.group-card-label{font-weight:750}
.atelier-project-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;margin-bottom:8px}
.atelier-project-heading .atelier-eyebrow{font-size:11px}
.atelier-project-heading .atelier-hairline{width:40px;margin:0;flex:0 0 40px}
.atelier-project-divider{color:var(--muted);padding:0 4px}
.project-grid{margin-top:10px}

/* Jednorazowe subtelne pojawienie się oraz mikrointerakcje wyłącznie dla osób tolerujących ruch. */
@media(prefers-reduced-motion:no-preference){
  @keyframes atelier-show{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
  .atelier-intro{animation:atelier-show .5s ease-out both}
  body.landing-screen .home-path,body.groups-screen .group-card,.project-page .project-card{animation:atelier-show .55s ease-out both}
  body.landing-screen .home-path:nth-child(2),body.groups-screen .group-card:nth-child(2),.project-page .project-card:nth-child(2){animation-delay:.09s}
  body.groups-screen .group-card:nth-child(3),.project-page .project-card:nth-child(3){animation-delay:.15s}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .home-photo img,.group-card-photo img,.project-card img{transition:transform .75s cubic-bezier(.2,.75,.23,1)}
  .home-path:hover img,.group-card:hover img,.project-card:hover img{transform:scale(1.048)}
  .home-path:hover .atelier-photo-arrow,.group-card:hover .atelier-photo-arrow,.project-card:hover .atelier-photo-arrow{transform:translate(2px,-2px);background:var(--atelier-brass);border-color:var(--atelier-brass)}
}
@media(prefers-reduced-motion:reduce){
  .atelier-photo-arrow,.home-photo img,.group-card-photo img,.project-card img{animation:none!important;transition:none!important}
}
/* Przy typowych szerokościach laptopów zachowujemy czytelne, niekolidujące logo. */
@media(min-width:1201px) and (max-width:1599px){
  header .header-location,header .header-email{width:44px!important;height:44px;padding:0!important}
  header .header-location .action-label,header .header-email .action-label{display:none!important}
}
@media(max-width:700px){
  body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{gap:10px}
  .atelier-intro{gap:3px}
  .atelier-eyebrow{font-size:9px;letter-spacing:.145em}
  .atelier-intro h1{font-size:clamp(21px,5.9vw,29px);margin:2px 0 4px;letter-spacing:-.05em}
  .atelier-group-intro h1{font-size:clamp(20px,5.3vw,26px)}
  .atelier-hairline{width:35px;margin-top:2px}
  body.landing-screen .home-paths{height:min(54svh,470px)}
  body.groups-screen .group-grid{height:min(58svh,490px)}
  .atelier-photo-index{top:13px;left:14px;font-size:10px;padding:7px 0}
  .atelier-photo-arrow{top:12px;right:13px;width:30px;height:30px;font-size:19px}
  .atelier-project-heading{gap:8px}
  .atelier-project-heading .atelier-eyebrow{font-size:9px;letter-spacing:.1em}
  .atelier-project-heading .atelier-hairline{flex-basis:26px;width:26px}
}
@media(max-height:450px) and (orientation:landscape){
  .atelier-intro{gap:1px}
  .atelier-intro h1,.atelier-group-intro h1{font-size:clamp(15px,2.9vh,20px);margin:0}
  .atelier-eyebrow{font-size:8px;letter-spacing:.1em}
  .atelier-hairline{margin-top:0}
  body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{gap:6px}
  body.landing-screen .home-paths,body.groups-screen .group-grid{height:min(57svh,245px)}
  .atelier-photo-index{top:9px;left:11px;font-size:9px}
  .atelier-photo-arrow{top:9px;right:10px;width:27px;height:27px}
}


/* MAD-KAM 1.6.4 — po wyborze 6 kategorii od razu pokazujemy pełną galerię miniatur
   oraz podgląd na środku z animacją i bocznymi podglądami poprzedniego/następnego zdjęcia. */
.gallery-view-page{display:flex;flex-direction:column;gap:14px}
.thumb-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  gap:clamp(12px,1.35vw,18px);
  width:100%;
  margin-top:4px;
}
.thumb-card{
  appearance:none;border:0;padding:0;margin:0;cursor:pointer;
  position:relative;overflow:hidden;border-radius:22px;
  background:color-mix(in srgb,var(--paper) 92%, var(--ink) 8%);
  aspect-ratio:1/1;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.thumb-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.75,.23,1),filter .24s ease}
.thumb-card::after{
  content:'';position:absolute;inset:auto 0 0;height:36%;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%, rgba(0,0,0,.24) 100%);
  pointer-events:none;
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .thumb-card:hover img{transform:scale(1.06);filter:brightness(1.03)}
}
.lightbox-viewer{
  position:fixed;inset:0;z-index:999;
  background:rgba(11,11,11,.82);
  backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
}
body.viewer-open{overflow:hidden}
.viewer-stage{
  width:min(94vw,1480px);height:min(84vh,900px);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.viewer-track{
  width:100%;height:100%;display:grid;
  grid-template-columns:minmax(0,18fr) minmax(0,64fr) minmax(0,18fr);
  align-items:center;gap:clamp(10px,1vw,18px);
}
.viewer-frame{
  height:100%;display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:22px;position:relative;
}
.viewer-frame img{
  width:100%;height:100%;display:block;object-fit:contain;
  user-select:none;-webkit-user-drag:none;
}
.viewer-frame-prev,.viewer-frame-next{opacity:.55;transform:scale(.94)}
.viewer-frame-prev img,.viewer-frame-next img{object-position:center center;filter:saturate(.9)}
.viewer-frame-current{opacity:1}
.viewer-frame-current img{filter:drop-shadow(0 14px 24px rgba(0,0,0,.18))}
.viewer-nav,.viewer-close{
  position:fixed;z-index:1001;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);
}
.viewer-close{top:18px;right:18px;width:44px;height:44px;border-radius:50%;font:300 34px/1 Inter,system-ui,sans-serif}
.viewer-nav{top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;font:300 38px/1 Inter,system-ui,sans-serif}
.viewer-prev{left:18px}.viewer-next{right:18px}
.viewer-counter{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);
  border-radius:999px;padding:8px 14px;font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;
}
.viewer-current-no,.viewer-total-no{min-width:2ch;display:inline-block;text-align:center}
@media(prefers-reduced-motion:no-preference){
  .lightbox-viewer .viewer-frame{transition:transform .26s ease,opacity .26s ease}
  .lightbox-viewer.is-sliding-left .viewer-frame-prev{transform:translateX(-16px) scale(.9);opacity:.2}
  .lightbox-viewer.is-sliding-left .viewer-frame-current{transform:translateX(-34px) scale(.98)}
  .lightbox-viewer.is-sliding-left .viewer-frame-next{transform:translateX(-18px) scale(.98);opacity:.72}
  .lightbox-viewer.is-sliding-right .viewer-frame-next{transform:translateX(16px) scale(.9);opacity:.2}
  .lightbox-viewer.is-sliding-right .viewer-frame-current{transform:translateX(34px) scale(.98)}
  .lightbox-viewer.is-sliding-right .viewer-frame-prev{transform:translateX(18px) scale(.98);opacity:.72}
}
@media(max-width:900px){
  .thumb-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .viewer-stage{width:min(96vw,900px);height:min(80vh,700px)}
  .viewer-track{grid-template-columns:minmax(0,12fr) minmax(0,76fr) minmax(0,12fr);gap:8px}
  .viewer-frame{border-radius:18px}
  .viewer-nav{width:42px;height:42px;font-size:34px}
}
@media(max-width:700px){
  .thumb-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .thumb-card{border-radius:18px}
  .viewer-stage{width:100vw;height:min(78vh,640px);padding:0 6px}
  .viewer-track{grid-template-columns:minmax(0,11fr) minmax(0,78fr) minmax(0,11fr);gap:6px}
  .viewer-frame{border-radius:16px}
  .viewer-frame-prev,.viewer-frame-next{opacity:.6;transform:scale(.95)}
  .viewer-nav{width:40px;height:40px;font-size:32px}
  .viewer-prev{left:8px}.viewer-next{right:8px}
  .viewer-close{top:10px;right:10px;width:40px;height:40px;font-size:30px}
  .viewer-counter{bottom:10px;font-size:11px;padding:7px 12px}
}
@media(max-width:420px){
  .thumb-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .viewer-track{grid-template-columns:minmax(0,10fr) minmax(0,80fr) minmax(0,10fr);gap:4px}
}

/* MAD-KAM 1.6.5 — kompaktowy, jednolity panel zarządzania realizacjami i 8 kafelkami. */
.admin-ui{--admin-surface:#ffffff;--admin-soft:#f5f3ef;--admin-border:#e5e1da;--admin-label:#696a66;--admin-text:#252826;font:400 13px/1.4 'DM Sans',Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink)}
.admin-ui .admin.admin-compact{width:min(100%,1480px);max-width:1480px;margin:0 auto;padding:22px clamp(14px,2.25vw,34px) 42px}
.admin-ui .admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}
.admin-ui .admin-kicker{font:700 10px/1.35 Inter,system-ui,sans-serif;letter-spacing:.14em;color:var(--atelier-brass);margin-bottom:4px}
.admin-ui .admin-topbar h1{font:700 clamp(23px,2.35vw,32px)/1.12 Inter,system-ui,sans-serif;margin:0;max-width:none;letter-spacing:-.035em}
.admin-ui .admin-top-actions,.admin-ui .home-admin-nav{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.admin-ui .btn{font:700 12px/1.2 Inter,system-ui,sans-serif;min-height:34px;padding:8px 12px;border-radius:9px;white-space:nowrap}
.admin-ui .btn.alt{background:transparent;color:var(--ink);border:1px solid var(--line)}
.admin-ui .btn:not(.alt){background:var(--ink);color:var(--paper);border-color:var(--ink)}
.admin-ui .admin-notice{background:color-mix(in srgb,var(--atelier-brass) 8%, var(--admin-surface));border:1px solid var(--admin-border);padding:10px 13px;border-radius:10px;margin:10px 0}
.admin-ui .admin-error{background:#fff0e8;color:#7c3519;border-color:#e0b89e}
.admin-ui .admin-workspace{display:grid;grid-template-columns:minmax(350px,.83fr) minmax(0,1.65fr);gap:13px;align-items:start}
.admin-ui .admin-main-panel{min-width:0;padding:16px;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:16px}
.admin-ui .admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.admin-ui .admin-panel-head h2{font:750 17px/1.2 Inter,system-ui,sans-serif;margin:0;letter-spacing:-.03em}
.admin-ui .admin-panel-head h3{font:750 14px/1.2 Inter,system-ui,sans-serif;margin:0}
.admin-ui .admin-text-link{font-weight:700;color:var(--atelier-brass);font-size:12px}
.admin-ui .admin-project-form{display:grid;gap:12px}
.admin-ui .admin-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-ui .admin-field{display:flex;flex-direction:column;gap:5px;min-width:0;font:700 11px/1.35 Inter,system-ui,sans-serif;color:var(--admin-label)}
.admin-ui .admin-field input,.admin-ui .admin-field select,.admin-ui .admin-field textarea,
.admin-ui .admin-filter-row input,.admin-ui .admin-filter-row select,
.admin-ui .admin-picker-search{padding:8px 10px;border:1px solid var(--admin-border);border-radius:9px;min-width:0;min-height:36px;width:100%;background:var(--admin-surface);color:var(--ink);font:500 12px/1.35 Inter,system-ui,sans-serif}
.admin-ui .admin-field textarea{resize:vertical;min-height:54px;max-height:160px}
.admin-ui .admin-field input[type=file]{padding:7px;min-height:40px;font-size:11px;cursor:pointer}
.admin-ui .admin-form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:2px}
.admin-ui .admin-publish{display:flex;gap:7px;align-items:center;cursor:pointer;font:700 12px/1 Inter,system-ui,sans-serif}
.admin-ui .admin-publish input{width:17px;height:17px;margin:0;accent-color:var(--atelier-brass)}
.admin-ui .admin-inline-photos{border-top:1px solid var(--admin-border);margin-top:19px;padding-top:14px}
.admin-ui .admin-photos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.admin-ui .admin-photo-item{min-width:0;background:var(--admin-soft);border:1px solid var(--admin-border);border-radius:9px;overflow:hidden}
.admin-ui .admin-photo-item>img{display:block;width:100%;height:85px;object-fit:cover}
.admin-ui .admin-photo-tools{display:flex;align-items:center;justify-content:space-between;padding:4px;gap:4px}
.admin-ui .admin-photo-tools form{display:flex;gap:3px}
.admin-ui .admin-photo-tools button{border:0;border-radius:6px;cursor:pointer;background:var(--admin-surface);font:700 13px/1 Inter,system-ui,sans-serif;color:var(--ink);width:24px;height:24px;padding:0}
.admin-ui .admin-filter-row{display:grid;grid-template-columns:1fr minmax(145px,.65fr);gap:7px;margin-bottom:8px}
.admin-ui .admin-table-scroll{overflow:auto}
.admin-ui .admin-project-table{width:100%;border-collapse:collapse;font-size:12px}
.admin-ui .admin-project-table th{font:750 10px/1.2 Inter,system-ui,sans-serif;color:var(--admin-label);letter-spacing:.025em;background:var(--admin-soft);padding:9px 10px;border-bottom:1px solid var(--admin-border);white-space:nowrap}
.admin-ui .admin-project-table td{padding:6px 9px;border-bottom:1px solid var(--admin-border);white-space:nowrap}
.admin-ui .admin-project-table tr[hidden]{display:none}
.admin-ui .admin-project-cell{display:flex;gap:9px;align-items:center;min-width:155px}
.admin-ui .admin-project-cell img{width:41px;height:33px;object-fit:cover;border-radius:5px;flex:none}
.admin-ui .admin-project-cell>a{min-width:0;max-width:250px;overflow:hidden;text-overflow:ellipsis;font-weight:650;white-space:nowrap}
.admin-ui .admin-table-noimage{display:flex;align-items:center;justify-content:center;width:41px;height:33px;background:var(--admin-soft);color:var(--admin-label);border-radius:5px;flex:none}
.admin-ui .admin-table-category{font-size:11px;color:var(--admin-label)}
.admin-ui .admin-status{display:inline-block;padding:3px 6px;border-radius:5px;font-size:10px;font-weight:700}
.admin-ui .admin-status.is-live{color:#416d4e;background:#e8f3e9}
.admin-ui .admin-status.is-draft{color:#8b7652;background:#faf2e3}
.admin-ui .admin-table-actions{display:flex;gap:9px;align-items:center;font-size:11px;font-weight:700}
.admin-ui .admin-table-actions a{color:var(--atelier-brass)}
.admin-ui .admin-table-actions form{margin:0}
.admin-ui .admin-table-actions button{background:none;border:0;color:var(--admin-label);font-size:18px;cursor:pointer;padding:2px 5px;line-height:1}
.admin-ui .admin-empty-list{color:var(--admin-label);font-size:12px}
.admin-ui .admin-lead{font-size:12px;line-height:1.55;color:var(--admin-label);margin:0 0 17px}
.admin-ui .admin-cover-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.admin-ui .admin-cover-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:15px;min-width:0;overflow:hidden}
.admin-ui .admin-cover-form{height:100%;display:flex;flex-direction:column;gap:0}
.admin-ui .admin-cover-head{padding:13px 13px 9px;display:flex;align-items:baseline;justify-content:space-between;gap:7px}
.admin-ui .admin-cover-head h2{font:750 14px/1.2 Inter,system-ui,sans-serif;margin:0;order:0;letter-spacing:-.02em}
.admin-ui .admin-cover-group{font:700 9px/1.2 Inter,system-ui,sans-serif;text-transform:uppercase;color:var(--atelier-brass);order:1;white-space:nowrap}
.admin-ui .admin-cover-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--admin-soft);margin:0 12px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.admin-ui .admin-cover-image img{width:100%;height:100%;object-fit:cover;display:block}
.admin-ui .admin-cover-placeholder{display:block;text-align:center;font:650 11px/1.3 Inter,system-ui,sans-serif;color:var(--admin-label);padding:16px}
.admin-ui .admin-cover-controls{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;flex:1}
.admin-ui .admin-cover-status{font-size:10px;color:var(--admin-label);min-height:13px}
.admin-ui .admin-cover-upload-label{display:block;font-size:10px;font-weight:700;color:var(--admin-label);cursor:pointer}
.admin-ui .admin-cover-upload-label input{display:block;font-size:10px;padding:6px;min-width:0;width:100%;min-height:34px;margin-top:5px;border:1px solid var(--admin-border);border-radius:7px;background:var(--admin-surface);color:var(--ink)}
.admin-ui .admin-cover-actions{display:flex;gap:6px;margin-top:auto}
.admin-ui .admin-cover-actions .btn{min-width:0;flex:1;padding:7px 5px;font-size:11px}
.admin-ui .admin-reset-cover{padding:2px;border:0;cursor:pointer;font:500 10px/1.2 Inter,system-ui,sans-serif;background:transparent;color:var(--admin-label);text-decoration:underline;text-underline-offset:2px;align-self:flex-start}
.admin-ui .admin-footnote{font-size:11px;color:var(--admin-label);line-height:1.5;margin:13px 0}
.admin-ui .admin-gallery-dialog{width:min(900px,calc(100vw - 24px));max-width:900px;height:min(760px,calc(100dvh - 30px));max-height:760px;border:1px solid var(--admin-border);border-radius:18px;background:var(--admin-surface);color:var(--ink);padding:18px;box-shadow:0 22px 70px rgba(0,0,0,.24)}
.admin-ui .admin-gallery-dialog::backdrop{background:rgba(13,14,14,.7);backdrop-filter:blur(3px)}
.admin-ui .admin-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.admin-ui .admin-picker-head h2{font:750 19px/1.2 Inter,system-ui,sans-serif;margin:0}
.admin-ui .admin-picker-close{border:1px solid var(--admin-border);border-radius:50%;width:36px;height:36px;color:var(--ink);background:var(--admin-surface);font-size:24px;cursor:pointer;line-height:1}
.admin-ui .admin-picker-search{margin-bottom:12px}
.admin-ui .admin-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;overflow-y:auto;max-height:calc(100% - 100px);align-content:start;padding-right:4px}
.admin-ui .admin-picker-item{border:1px solid var(--admin-border);border-radius:9px;background:var(--admin-surface);min-width:0;overflow:hidden;padding:3px;cursor:pointer;text-align:left;color:var(--ink)}
.admin-ui .admin-picker-item[hidden]{display:none}
.admin-ui .admin-picker-item img{width:100%;height:102px;object-fit:cover;border-radius:6px}
.admin-ui .admin-picker-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;padding:6px 4px 3px}
.admin-ui .admin-picker-item:hover,.admin-ui .admin-picker-item:focus-visible{border-color:var(--atelier-brass);outline-color:var(--atelier-brass)}
.admin-ui .admin-picker-empty{font-size:12px;grid-column:1/-1;color:var(--admin-label)}
@media(prefers-color-scheme:dark){.admin-ui{--admin-surface:#272522;--admin-soft:#33302b;--admin-border:#49443c;--admin-label:#beb8ae;--admin-text:#f6f4ee}.admin-ui .admin-status.is-live{color:#bae0be;background:#314935}.admin-ui .admin-status.is-draft{color:#e5cd9b;background:#4d4030}}
@media(max-width:1100px){.admin-ui .admin-workspace{grid-template-columns:minmax(300px,.9fr) minmax(0,1.15fr)}.admin-ui .admin-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.admin-ui .admin-workspace{grid-template-columns:1fr}.admin-ui .admin-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ui .admin-topbar{align-items:flex-start;flex-wrap:wrap}.admin-ui .admin-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:480px){.admin-ui .admin.admin-compact{padding:14px 10px 34px}.admin-ui .admin-main-panel{padding:12px}.admin-ui .admin-form-pair{grid-template-columns:1fr}.admin-ui .admin-cover-grid{gap:7px}.admin-ui .admin-cover-head{padding:10px 9px 7px;flex-direction:column;gap:3px}.admin-ui .admin-cover-head h2{font-size:12px}.admin-ui .admin-cover-group{font-size:8px}.admin-ui .admin-cover-image{margin:0 8px;border-radius:7px}.admin-ui .admin-cover-controls{padding:8px;gap:7px}.admin-ui .admin-cover-actions{flex-direction:column}.admin-ui .admin-cover-actions .btn{width:100%}.admin-ui .admin-photos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-ui .admin-filter-row{grid-template-columns:1fr}.admin-ui .admin-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-ui .admin-picker-item img{height:88px}.admin-ui .admin-gallery-dialog{padding:12px}}

/* Ukryty podgląd galerii z 1.6.4 nie może przykrywać strony — reguła [hidden]
   musi mieć pierwszeństwo nad stylem display:flex. */
.lightbox-viewer[hidden]{display:none!important}


/* MAD-KAM 1.6.6 — optycznie rowne odstepy nad logotypem i przed haslem.
   Korekta dotyczy dwoch ekranow powitalnych; nie przesuwa przyciskow kontaktowych
   ani naglowkow w galerii i administracji. */
@media(min-width:701px){
  body.landing-screen header .brand-wordmark{
    transform:translate(-50%,calc(-50% + clamp(28px,6.2vh,56px)));
  }
  body.groups-screen header .brand-wordmark{
    transform:translate(-50%,calc(-50% + clamp(30px,7vh,64px)));
  }
}
@media(max-width:700px){
  body.landing-screen header .brand-wordmark{
    transform:translateY(clamp(16px,4.7svh,30px));
  }
  body.groups-screen header .brand-wordmark{
    transform:translateY(clamp(14px,4.1svh,26px));
  }
}
@media(max-height:450px) and (orientation:landscape){
  body.landing-screen header .brand-wordmark,
  body.groups-screen header .brand-wordmark{
    transform:translate(-50%,calc(-50% + 6px));
  }
}
@media(max-width:700px) and (max-height:450px) and (orientation:landscape){
  body.landing-screen header .brand-wordmark,
  body.groups-screen header .brand-wordmark{
    transform:translateY(3px);
  }
}


/* MAD-KAM 1.6.7 — odczytywana wersja wdrożenia, uproszczony upload, wyrównany nagłówek. */
.admin-ui .admin-release{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;border-radius:999px;border:1px solid var(--admin-border);background:var(--admin-soft);color:var(--admin-label);font:600 11px/1.2 Inter,system-ui,sans-serif}
.admin-ui .admin-release strong{font-size:12px;color:var(--ink);font-weight:800}
.admin-ui .admin-quick-panel{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:15px;padding:16px;margin:0 0 13px;display:flex;gap:24px;align-items:end;justify-content:space-between}
.admin-ui .admin-quick-description{flex:0 1 360px;min-width:160px}
.admin-ui .admin-quick-description h2{margin:0 0 5px;font:750 17px/1.2 Inter,system-ui,sans-serif;letter-spacing:-.03em}
.admin-ui .admin-quick-description p{margin:0;font-size:11px;line-height:1.45;color:var(--admin-label)}
.admin-ui .admin-quick-form{display:grid;grid-template-columns:minmax(150px,210px) minmax(210px,1fr) auto;align-items:end;gap:9px;flex:1;max-width:920px}
.admin-ui .admin-quick-file input{padding:6px 8px;border:1px solid var(--admin-border);border-radius:9px;background:var(--admin-surface);color:var(--ink);min-height:36px;width:100%;font-size:11px}
.admin-ui .admin-quick-submit{height:36px;align-self:end}
.admin-ui .admin-quick-submit:disabled{opacity:.65;cursor:wait}
.admin-ui .admin-auto-publish{font-size:11px;color:var(--admin-label)}
.admin-ui .admin-edit-panel + .admin-list-panel{min-width:0}
.admin-ui .admin-workspace.is-list-only{display:block}
@media(max-width:950px){.admin-ui .admin-quick-panel{display:block}.admin-ui .admin-quick-description{margin-bottom:14px}.admin-ui .admin-quick-form{max-width:none}}
@media(max-width:560px){.admin-ui .admin-quick-form{grid-template-columns:1fr}.admin-ui .admin-quick-panel{padding:13px}.admin-ui .admin-quick-submit{width:100%}}

/* Wyraźna i przewidywalna pozycja logotypu — uwzględnia nagłówek i hasło,
   a arkusz stylów jest odświeżany przy każdej aktualizacji. */
@media(min-width:701px){
  body.landing-screen header .brand-wordmark,
  body.groups-screen header .brand-wordmark{
    position:absolute;left:50%;top:calc(50% + clamp(44px,7.8vh,72px));
    transform:translate(-50%,-50%);margin:0;
  }
}
@media(max-width:700px){
  body.landing-screen header .brand-wordmark,
  body.groups-screen header .brand-wordmark{
    position:relative;top:clamp(26px,4.5svh,37px);transform:none;margin:0;
  }
}
@media(max-height:450px) and (orientation:landscape){
  body.landing-screen header .brand-wordmark,
  body.groups-screen header .brand-wordmark{top:calc(50% + 7px);transform:translate(-50%,-50%)}
}
@media(max-width:700px) and (max-height:450px) and (orientation:landscape){
  body.landing-screen header .brand-wordmark,
  body.groups-screen header .brand-wordmark{position:relative;top:4px;transform:none}
}

/* Czytelna, zwarta tabela realizacji również na telefonach. */
.admin-ui .admin-project-copy{display:flex;flex-direction:column;min-width:0;max-width:100%}
.admin-ui .admin-project-copy > a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:650}
.admin-ui .admin-mobile-meta{display:none;color:var(--admin-label);font-size:10px;line-height:1.2;margin-top:2px}
@media(max-width:600px){
 .admin-ui .admin-project-table{table-layout:fixed;width:100%;font-size:11px}
 .admin-ui .admin-project-table thead th:nth-child(2),
 .admin-ui .admin-project-table thead th:nth-child(3),
 .admin-ui .admin-project-table tbody td:nth-child(2),
 .admin-ui .admin-project-table tbody td:nth-child(3){display:none}
 .admin-ui .admin-project-table thead th:first-child{width:74%}
 .admin-ui .admin-project-table thead th:last-child{width:26%}
 .admin-ui .admin-project-table th,.admin-ui .admin-project-table td{padding:7px 5px}
 .admin-ui .admin-project-cell{min-width:0;gap:8px}
 .admin-ui .admin-project-cell img,.admin-ui .admin-table-noimage{width:38px;height:36px}
 .admin-ui .admin-mobile-meta{display:block}
 .admin-ui .admin-project-table .admin-table-actions{justify-content:flex-end;gap:6px}
 .admin-ui .admin-project-table .admin-table-actions a{font-size:11px}
}


/* MAD-KAM 1.6.8 — przywrócenie zaakceptowanego graficznego logo i przycisków pod fotografiami.
   Nie polegamy na starych selektorach .brand-wordmark ani header .header-actions. */
:root{--site-head:clamp(103px,12vh,120px)}
header{position:relative!important;background:var(--paper)!important;border:0!important;box-shadow:none!important}
header .nav{
  width:100%;height:var(--site-head)!important;min-height:0;
  padding:clamp(14px,2.3vh,22px) 18px 6px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
header .brand-logo{
  position:static!important;left:auto!important;top:auto!important;
  transform:translateY(clamp(11px,2.25vh,21px))!important;margin:0!important;padding:0!important;
  min-width:0;max-width:none!important;width:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 1 auto;
}
header .brand-logo .site-logo{
  width:clamp(225px,21vw,295px)!important;
  max-width:min(78vw,295px);height:auto;max-height:94px;
  object-fit:contain;object-position:center;
}
@media(prefers-color-scheme:dark){
  header .brand-logo .site-logo{filter:brightness(0) invert(1)}
}
/* Nie duplikujemy linków w starym, przyklejonym do dołu pasku kontaktowym. */
.fixed-contact{display:none!important}
.site-action-bar{
  position:relative;z-index:20;
  margin:0 auto clamp(12px,2vh,20px);
  padding:0 14px;
  width:min(100%,920px);
  display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;
  gap:clamp(8px,1vw,16px);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.site-action-bar .header-action,
.site-action-bar .more-menu summary{
  min-height:43px;
  display:flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid var(--line);border-radius:999px;
  color:var(--ink);background:var(--paper);
  padding:7px 15px;text-align:center;font:650 13px/1.2 Inter,system-ui,sans-serif;
  transition:background .2s ease,border-color .2s ease;
  cursor:pointer;white-space:nowrap;
}
.site-action-bar .header-action:hover,
.site-action-bar .more-menu summary:hover{border-color:var(--atelier-brass);background:color-mix(in srgb,var(--ink) 4%,var(--paper))}
.site-action-bar .header-action:focus-visible,
.site-action-bar .more-menu summary:focus-visible{outline:2px solid var(--atelier-brass);outline-offset:3px}
.site-action-bar .action-icon{display:flex;justify-content:center;align-items:center;width:18px;height:18px;flex:none}
.site-action-bar .action-icon svg,.site-action-bar .more-menu svg{height:18px;width:18px;flex:none}
.site-action-bar .action-label{display:inline}
.site-action-bar .action-label-mobile{display:none}
.site-action-bar .more-menu{position:relative;left:auto;right:auto;top:auto;transform:none;z-index:100}
.site-action-bar .more-menu summary{list-style:none;min-width:98px}
.site-action-bar .more-menu summary::-webkit-details-marker{display:none}
.site-action-bar .more-menu-panel{
  position:absolute;bottom:calc(100% + 10px);top:auto;right:0;left:auto;
  z-index:101;display:flex;flex-direction:column;
  min-width:240px;max-width:min(90vw,290px);
  padding:8px;background:var(--paper);border:1px solid var(--line);
  border-radius:15px;box-shadow:0 15px 45px #0003;
}
.site-action-bar .more-menu-panel a{display:block;padding:11px 13px;font-size:13px;font-weight:600;line-height:1.25;border-radius:9px;white-space:normal}
.site-action-bar .more-menu-panel a:hover,.site-action-bar .more-menu-panel a:focus-visible{background:color-mix(in srgb,var(--ink) 8%,var(--paper))}
body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{
  padding-top:clamp(5px,.8vh,10px);
  padding-bottom:clamp(8px,1vh,15px);
}
/* Widok jednym ekranem pozostaje wycentrowany dzięki flex: galeria dostaje wolne miejsce po odjęciu przycisków. */
body.landing-screen .site-action-bar,body.groups-screen .site-action-bar{flex:0 0 auto}
body.gallery-screen .site-action-bar{margin-top:clamp(18px,2.5vh,32px);margin-bottom:20px}
@media(max-width:700px){
  :root{--site-head:clamp(77px,11svh,87px)}
  header .nav{padding:clamp(11px,2vh,17px) 12px 4px!important}
  header .brand-logo{transform:translateY(clamp(11px,2.2svh,19px))!important}
  header .brand-logo .site-logo{width:min(220px,66vw)!important;max-height:68px}
  .site-action-bar{
    width:min(100%,480px);padding:0 14px;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;margin-bottom:clamp(10px,1.7svh,16px);
  }
  .site-action-bar .header-action,.site-action-bar .more-menu summary{
    width:100%;min-height:39px;height:39px;padding:5px 8px;
    font-size:12px;gap:7px;
  }
  .site-action-bar .more-menu summary{min-width:0}
  .site-action-bar .action-label-desktop{display:none}
  .site-action-bar .action-label-mobile{display:inline}
  .site-action-bar .more-menu-panel{bottom:calc(100% + 8px);right:0}
  body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{
    padding-top:0;padding-bottom:7px;gap:8px;
  }
  body.landing-screen .home-paths{height:min(48svh,415px)}
  body.groups-screen .group-grid{height:min(51svh,440px)}
}
@media(max-height:450px) and (orientation:landscape){
  :root{--site-head:46px}
  header .nav{padding:2px 10px!important;height:46px!important}
  header .brand-logo{transform:none!important}
  header .brand-logo .site-logo{width:auto!important;max-width:170px;max-height:40px}
  .site-action-bar{display:flex;gap:5px;padding:0 7px;margin-bottom:5px;max-width:600px}
  .site-action-bar .header-action,.site-action-bar .more-menu summary{height:28px;min-height:28px;padding:3px 9px;font-size:10px}
  .site-action-bar .header-action svg,.site-action-bar .more-menu svg{width:13px;height:13px}
  .site-action-bar .action-label-desktop{display:inline}
  .site-action-bar .action-label-mobile{display:none}
  body.landing-screen .home-main.wrap,body.groups-screen .group-page.wrap{gap:4px;padding:2px 7px 3px}
  body.landing-screen .home-paths,body.groups-screen .group-grid{height:min(57svh,236px)}
}


/* MAD-KAM 1.6.9 — oryginalne dwa warianty logo, bez filtrów zmieniających kolory.
   Tryb jasny: ciemna grafika. Tryb ciemny: biała grafika. */
header .brand-logo .site-logo-picture{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:auto;min-width:0;
}
header .brand-logo .site-logo-picture .site-logo{
  display:block;filter:none!important;
  width:clamp(225px,21vw,295px)!important;
  max-width:min(78vw,295px);height:auto;max-height:94px;
  object-fit:contain;object-position:center;
}
@media(max-width:700px){
  header .brand-logo .site-logo-picture .site-logo{
    width:min(220px,66vw)!important;max-height:68px;
  }
}
@media(max-height:450px) and (orientation:landscape){
  header .brand-logo .site-logo-picture .site-logo{
    width:auto!important;max-width:170px;max-height:40px;
  }
}

/* Minimalistyczny kontakt pod siatką zdjęć w 6 podkategoriach. */
.gallery-view-page .gallery-contact-cta{
  width:100%;box-sizing:border-box;
  margin:clamp(34px,5vw,72px) auto 16px;
  padding:clamp(20px,3vw,36px) 12px clamp(18px,3vw,30px);
  display:flex;flex-direction:column;align-items:center;text-align:center;
  border-top:1px solid var(--line);color:var(--ink);
}
.gallery-contact-line{
  width:42px;height:2px;background:var(--atelier-brass);
  display:block;margin:0 auto 18px;
}
.gallery-contact-cta h2{
  font:600 clamp(22px,2.6vw,32px)/1.22 Inter,system-ui,sans-serif;
  letter-spacing:-.047em;margin:0 0 12px;
}
.gallery-contact-cta p{
  color:var(--muted);font:400 clamp(14px,1.22vw,16px)/1.6 Inter,system-ui,sans-serif;
  margin:0 0 clamp(22px,2.8vw,30px);
}
.gallery-contact-actions{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:12px;width:100%;
}
.gallery-contact-button{
  min-width:232px;min-height:62px;padding:11px 18px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;gap:13px;
  color:var(--ink);background:var(--paper);border:1px solid var(--line);
  border-radius:14px;text-decoration:none;
  transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
.gallery-contact-button:hover{
  color:var(--ink);border-color:var(--atelier-brass);
  background:color-mix(in srgb,var(--atelier-brass) 7%,var(--paper));
  transform:translateY(-2px);
}
.gallery-contact-button:focus-visible{outline:2px solid var(--atelier-brass);outline-offset:3px}
.gallery-contact-button svg{
  width:21px;height:21px;flex:0 0 21px;color:var(--atelier-brass);
}
.gallery-contact-button>span{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.gallery-contact-button-label{
  color:var(--muted);font:600 10px/1 Inter,system-ui,sans-serif;
  letter-spacing:.12em;text-transform:uppercase;
}
.gallery-contact-button strong{
  font:650 clamp(13px,1.16vw,15px)/1.3 Inter,system-ui,sans-serif;
  letter-spacing:-.025em;overflow-wrap:anywhere;text-align:left;
}
@media(max-width:700px){
  .gallery-view-page .gallery-contact-cta{
    margin:clamp(24px,7vw,42px) auto 6px;padding:22px 0 16px;
  }
  .gallery-contact-cta h2{font-size:clamp(20px,5vw,25px)}
  .gallery-contact-cta p{font-size:14px;max-width:320px}
  .gallery-contact-actions{flex-direction:column;gap:10px;max-width:340px}
  .gallery-contact-button{width:100%;min-width:0;min-height:58px;justify-content:flex-start;padding:10px 18px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-contact-button{transition:none!important}
  .gallery-contact-button:hover{transform:none}
}

/* Ukryty podgląd nie może zasłaniać miniatur i sekcji kontaktowej przed kliknięciem. */
.lightbox-viewer[hidden]{display:none!important}


/* MAD-KAM 1.6.10: kontakt widoczny stale POD zdjęciem w pełnoekranowej przeglądarce.
   Zarówno fotografia, strzałki, jak i CTA mieszczą się w wysokości okna — bez scrollowania. */
.lightbox-viewer:not([hidden]){
  box-sizing:border-box;
  height:100vh;height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(8px,1.3vh,14px);
  padding:clamp(44px,6vh,62px) 12px max(10px,env(safe-area-inset-bottom));
}
.lightbox-viewer .viewer-stage{
  flex:1 1 0;
  min-height:0;
  width:min(94vw,1480px);
  max-height:none;
  height:auto;
}
.lightbox-viewer .viewer-frame{min-height:0}
.lightbox-viewer .viewer-frame img{max-height:100%}
.lightbox-viewer .viewer-counter{
  top:16px;
  bottom:auto;
  padding:7px 12px;
  line-height:1;
}
.lightbox-viewer .viewer-contact{
  flex:0 0 auto;
  width:min(100%,780px);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:5px;
  padding:10px 12px 2px;
  color:#f3f0e9;
  border-top:1px solid rgba(255,255,255,.19);
}
.viewer-contact-line{width:36px;height:2px;margin:0 0 3px;background:var(--atelier-brass);display:block}
.viewer-contact h2{
  font:600 clamp(16px,1.65vw,22px)/1.17 Inter,system-ui,sans-serif;
  letter-spacing:-.04em;
  margin:0;
  color:#f6f4ef;
}
.viewer-contact p{
  font:400 clamp(11px,1vw,13px)/1.3 Inter,system-ui,sans-serif;
  color:rgba(255,255,255,.75);
  margin:0 0 4px;
}
.viewer-contact-actions{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:center;gap:9px;width:100%}
.viewer-contact-button{
  box-sizing:border-box;min-width:0;
  display:inline-flex;align-items:center;justify-content:center;
  gap:9px;min-height:39px;
  padding:7px 14px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:10px;
  background:rgba(255,255,255,.075);
  text-decoration:none;color:#fff;
  transition:border-color .2s ease,background-color .2s ease;
}
.viewer-contact-button:hover{border-color:var(--atelier-brass);background:rgba(255,255,255,.14);color:#fff}
.viewer-contact-button:focus-visible{outline:2px solid var(--atelier-brass);outline-offset:2px}
.viewer-contact-button svg{width:17px;height:17px;flex:0 0 17px;color:var(--atelier-brass)}
.viewer-contact-button>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.viewer-contact-button small{
  color:rgba(255,255,255,.67);font:600 9px/1 Inter,system-ui,sans-serif;
  text-transform:uppercase;letter-spacing:.09em;
}
.viewer-contact-button strong{
  font:650 clamp(11px,1.05vw,13px)/1.1 Inter,system-ui,sans-serif;
  white-space:nowrap;letter-spacing:-.025em;
}
@media(max-width:700px){
  .lightbox-viewer:not([hidden]){padding:44px 6px max(8px,env(safe-area-inset-bottom));gap:7px}
  .lightbox-viewer .viewer-stage{width:100vw;box-sizing:border-box;padding:0 6px;height:auto;min-height:0}
  .lightbox-viewer .viewer-contact{padding:8px 6px 0;gap:5px}
  .viewer-contact-line{width:28px;height:1px;margin-bottom:2px}
  .viewer-contact h2{font-size:clamp(16px,4.2vw,19px)}
  .viewer-contact p{font-size:11px;line-height:1.23;margin:0 0 3px}
  .viewer-contact-actions{gap:6px}
  .viewer-contact-button{min-height:38px;padding:6px 9px;gap:6px}
  .viewer-contact-button svg{width:14px;height:14px;flex-basis:14px}
  .viewer-contact-button strong{font-size:clamp(10px,2.7vw,12px)}
  .viewer-contact-button small{font-size:8px}
  .lightbox-viewer .viewer-counter{top:12px;bottom:auto;padding:7px 12px}
}
@media(max-width:360px){
  .viewer-contact-button{padding:6px 6px;gap:4px}
  .viewer-contact-button svg{width:12px;height:12px;flex-basis:12px}
  .viewer-contact-button strong{font-size:10px}
}
@media(max-height:500px) and (orientation:landscape){
  .lightbox-viewer:not([hidden]){padding:36px 10px 6px;gap:4px}
  .lightbox-viewer .viewer-contact{gap:3px;padding:5px 8px 0}
  .viewer-contact-line{display:none}
  .viewer-contact h2{font-size:14px;line-height:1.05}
  .viewer-contact p{font-size:10px;line-height:1.15;margin:0}
  .viewer-contact-button{min-height:28px;padding:3px 11px;gap:6px}
  .viewer-contact-button svg{width:13px;height:13px;flex-basis:13px}
  .viewer-contact-button>span{flex-direction:row;align-items:baseline;gap:6px}
  .viewer-contact-button strong{font-size:11px}
  .lightbox-viewer .viewer-counter{top:8px;bottom:auto;padding:6px 9px}
  .lightbox-viewer .viewer-close{top:6px;right:8px;width:33px;height:33px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){.viewer-contact-button{transition:none}}


/* MAD-KAM 1.6.11 — mobile: prawdziwe miejsce na logo zamiast
   przesunięcia transform, które powodowało kolizję z nagłówkami. */
@media (max-width:700px) and (orientation:portrait){
  :root{--site-head:clamp(108px,15svh,124px)}
  header .nav{
    height:var(--site-head)!important;
    padding:12px 14px 10px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  header .brand-logo{
    transform:none!important;
    position:static!important;
  }
  header .brand-logo .site-logo-picture .site-logo{
    width:min(220px,64vw)!important;
    max-width:min(220px,64vw)!important;
    height:auto!important;
    max-height:76px!important;
  }
  /* Jednolite odstępy pomiędzy znakiem i opisami na obu ekranach kategorii. */
  body.landing-screen .home-main.wrap,
  body.groups-screen .group-page.wrap{
    padding-top:clamp(12px,2.2svh,19px)!important;
    padding-bottom:8px!important;
    gap:clamp(10px,1.7svh,15px)!important;
    justify-content:flex-start!important;
  }
  /* Kafelki wykorzystują dostępne miejsce, ale zachowują ograniczoną wysokość. */
  body.landing-screen .home-paths{height:min(54svh,475px)!important}
  body.groups-screen .group-grid{height:min(56svh,485px)!important}
  body.landing-screen .atelier-intro,
  body.groups-screen .atelier-intro{
    margin:0;
    padding:0 8px;
    gap:4px;
    min-height:0;
  }
  .atelier-intro .atelier-eyebrow{line-height:1.4}
  .gallery-screen .gallery-view-page,
  .gallery-screen .project-page{
    padding-top:clamp(12px,2.2svh,19px)!important;
  }
}
/* Małe ekrany poziome: logo bez przesuwania i bez wchodzenia na opis. */
@media(max-width:700px) and (orientation:landscape) and (max-height:450px){
  header .brand-logo{transform:none!important}
  body.landing-screen .home-main.wrap,
  body.groups-screen .group-page.wrap{padding-top:5px!important}
}

/* MAD-KAM 1.6.12 — nakładka edycji na żywo. Widoczna tylko dla administratora. */
.visual-edit-mode{padding-bottom:106px!important}
.visual-edit-mode .site-action-bar,.visual-edit-mode .fixed-contact{z-index:110!important}
.visual-editor-bar{
  position:fixed;left:10px;right:10px;bottom:10px;z-index:5000;
  display:flex;gap:8px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:#18191b;color:#fff;border:1px solid #ad956f;border-radius:16px;
  box-shadow:0 14px 46px rgba(0,0,0,.28);padding:10px 14px;
  font:500 12px/1.3 Inter,system-ui,sans-serif;
}
.visual-editor-brand strong{color:#d6bc95}
.visual-editor-bar nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.visual-editor-bar a{padding:8px 10px;text-decoration:none;color:#fff;border-radius:9px;white-space:nowrap}
.visual-editor-bar a:hover,.visual-editor-bar a:focus-visible{background:#303030}
.visual-editor-bar a.visual-editor-exit{background:#d5b98d;color:#151515;font-weight:750}
.visual-editor-bar small{font-size:10px;color:#c8c8c8;width:100%;text-align:center}
.visual-edit-mode [data-vtext]{cursor:text!important;outline:1px dashed rgba(173,149,111,.68);outline-offset:3px;border-radius:2px}
.visual-edit-mode [data-vtext]:hover{outline:2px solid #b99d70;background:rgba(182,151,99,.1)}
.visual-edit-mode [data-vcover],.visual-edit-mode [data-vphoto]{cursor:crosshair!important;outline:2px dashed rgba(213,185,141,.55);outline-offset:-3px}
.visual-edit-mode [data-vcover]:hover,.visual-edit-mode [data-vphoto]:hover{outline:3px solid #d8bd8d;outline-offset:-3px}
.visual-edit-mode .atelier-photo-arrow{pointer-events:auto!important;z-index:12;cursor:pointer}
.visual-edit-mode .thumb-card{touch-action:pan-y}
.visual-edit-mode .visual-dragging{opacity:.54;transform:scale(.97);outline:3px solid #caaa78!important;z-index:5;transition:none!important}
.visual-edit-mode .visual-sorting{outline:2px dashed #bc9d6e;outline-offset:8px}
.visual-sort-active{user-select:none!important;-webkit-user-select:none!important;touch-action:none!important}
.visual-editor-dialog{max-width:min(94vw,520px);width:100%;background:#fff;color:#222;border:1px solid #c8b28b;border-radius:17px;padding:0;box-shadow:0 18px 70px #0006}
.visual-editor-dialog::backdrop{background:rgba(0,0,0,.57);backdrop-filter:blur(4px)}
.visual-dialog-body{padding:22px;display:flex;flex-direction:column;gap:15px}
.visual-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;font:600 21px Inter,system-ui,sans-serif}
.visual-dialog-x{border:0;background:transparent;font-size:30px;cursor:pointer;color:#444}
.visual-dialog-body label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}
.visual-dialog-body textarea,.visual-dialog-body input{font:400 15px/1.4 Inter,system-ui,sans-serif;border:1px solid #aaa;border-radius:10px;padding:11px;width:100%;box-sizing:border-box}
.visual-dialog-body #visual-dialog-info{margin:0;color:#666;font-size:12px;line-height:1.45}
.visual-dialog-body #visual-dialog-error{color:#9e2626;font-weight:650;margin:0;font-size:12px}
.visual-dialog-actions{display:flex;justify-content:flex-end;gap:10px}
.visual-dialog-actions button{padding:11px 16px;border-radius:10px;border:1px solid #bbb;background:#fff;font:650 13px Inter,system-ui,sans-serif;cursor:pointer}
.visual-dialog-actions button[type=submit]{color:#fff;background:#262626;border-color:#262626}
.visual-dialog-actions button:disabled{opacity:.5}
@media(max-width:700px){
  .visual-edit-mode{padding-bottom:166px!important}
  .visual-editor-bar{left:6px;right:6px;bottom:6px;gap:5px;padding:9px;border-radius:12px;justify-content:center}
  .visual-editor-brand{display:none}
  .visual-editor-bar nav{justify-content:center}
  .visual-editor-bar a{font-size:11px;padding:7px 9px}
  .visual-editor-bar small{font-size:9px;line-height:1.3}
  .visual-edit-mode .site-action-bar,.visual-edit-mode .fixed-contact{display:none!important}
}
.visual-dialog-body label[hidden]{display:none!important}
.visual-edit-mode .visual-editor-bar a:focus-visible,
.visual-edit-mode [data-vtext]:focus-visible,
.visual-edit-mode [data-vphoto]:focus-visible{outline:2px solid #d5b98d;outline-offset:3px}

/* Dodatkowy luz między prawdziwym logo MAD-KAM i hasłami na dużych ekranach. */
@media(min-width:701px){
 body.landing-screen .atelier-home-intro,body.groups-screen .atelier-group-intro{margin-top:24px}
}
/* Napisy na zdjęciach pozostają klikalne w trybie edycji (publiczny overlay nie przechwytuje myszy). */
.visual-edit-mode .home-overlay,.visual-edit-mode .home-overlay [data-vtext],
.visual-edit-mode .group-card-label,.visual-edit-mode [data-vtext]{pointer-events:auto!important}



/* MAD-KAM 1.6.14 — zdjęcia wypełniają wolną przestrzeń na telefonie.
   Dotyczy tylko dwóch etapów wyboru: startu i 3 kafelków podkategorii.
   Układ miniatur w galeriach NIE jest zmieniany. */
@media(max-width:700px) and (orientation:portrait){
  body.landing-screen:not(.visual-edit-mode),
  body.groups-screen:not(.visual-edit-mode){
    height:100dvh;
    min-height:100svh;
    padding-bottom:0!important;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  body.landing-screen header,
  body.groups-screen header{flex:0 0 var(--site-head)}

  body.landing-screen .home-main.wrap,
  body.groups-screen .group-page.wrap{
    flex:1 1 0!important;
    width:100%!important;
    max-width:none!important;
    min-width:0;
    min-height:0;
    margin:0 auto!important;
    padding:clamp(8px,1.3svh,14px) clamp(8px,2.5vw,14px) 7px!important;
    display:flex;
    flex-direction:column;
    justify-content:flex-start!important;
    gap:clamp(9px,1.3svh,14px)!important;
    overflow:hidden;
  }

  body.landing-screen .atelier-intro,
  body.groups-screen .atelier-intro{flex:0 0 auto;min-height:0}

  /* Usuwamy poprzednie ograniczenia 54/56svh i 475/485px —
     siatka zajmuje dokładnie dostępne miejsce pod nagłówkiem. */
  body.landing-screen .home-paths,
  body.groups-screen .group-grid{
    flex:1 1 0!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    gap:clamp(8px,1.3svh,13px)!important;
    align-items:stretch;
    align-content:stretch;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.landing-screen .home-paths{
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
  }
  body.groups-screen .group-grid{
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
  }
  body.landing-screen .home-path,
  body.groups-screen .group-card,
  body.landing-screen .home-photo,
  body.groups-screen .group-card-photo{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0;
  }
  body.landing-screen .home-photo img,
  body.groups-screen .group-card-photo img{
    width:100%;height:100%;object-fit:cover;
  }
  body.landing-screen .site-action-bar,
  body.groups-screen .site-action-bar{
    flex:0 0 auto;
    margin-top:0;
    margin-bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
}

/* W poziomie również oddajemy kafelkom pozostałą przestrzeń,
   ale zostawiamy 2 lub 3 obrazy w jednym rzędzie. */
@media(max-width:900px) and (orientation:landscape) and (max-height:500px){
  body.landing-screen:not(.visual-edit-mode),
  body.groups-screen:not(.visual-edit-mode){
    height:100dvh;min-height:0;padding-bottom:0!important;overflow:hidden;
    display:flex;flex-direction:column;
  }
  body.landing-screen .home-main.wrap,
  body.groups-screen .group-page.wrap{
    flex:1 1 0!important;min-height:0!important;max-width:none!important;
    padding:3px 8px!important;gap:5px!important;justify-content:flex-start!important;
  }
  body.landing-screen .atelier-intro,
  body.groups-screen .atelier-intro{flex:0 0 auto}
  body.landing-screen .home-paths,
  body.groups-screen .group-grid{
    flex:1 1 0!important;width:100%!important;height:auto!important;max-height:none!important;
    min-height:0!important;margin:0!important;gap:7px!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  body.landing-screen .home-paths{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.groups-screen .group-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.landing-screen .home-path,
  body.groups-screen .group-card,
  body.landing-screen .home-photo,
  body.groups-screen .group-card-photo{
    width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  }
  body.landing-screen .home-photo img,
  body.groups-screen .group-card-photo img{width:100%;height:100%;object-fit:cover}
  body.landing-screen .site-action-bar,
  body.groups-screen .site-action-bar{flex:0 0 auto;margin-bottom:4px!important}
}

/* 1.6.15: lista może liczyć setki zdjęć; pomiń malowanie kafelków poza ekranem. */
.thumb-card{content-visibility:auto;contain-intrinsic-size:auto 160px}


/* MAD-KAM 1.6.18: siatka miniatur pozostaje bez zmian; ich łączami zarządza
   teraz oryginalny PhotoSwipe. Żadnych zmian wyglądu natywnego lightboxa. */
.thumb-gallery > a.thumb-card{display:block;min-width:0;box-sizing:border-box}
/* Neutralizuje ogólną regułę img{max-width:100%} przy animowanym powiększeniu.
   Nie zmienia wyglądu PhotoSwipe, a zapobiega ściskaniu slajdów. */
.pswp__img{max-width:none;max-height:none}


/* 1.6.21 — dyskretny wskaźnik dodawania i optymalizacji zdjęć */
.admin-upload-progress{grid-column:1/-1;margin:8px 0 0;font-size:13px;line-height:1.45;font-weight:500;color:inherit;}
.admin-upload-progress.is-error{color:#b14535;}
.admin-upload-progress[hidden]{display:none;}
