/* Nekrologi / panel — styl zgodny z misjajaworzno.pl */
:root{
  --tlo:#14171a;--tlo-2:#1b1f23;--tlo-3:#22272c;
  --kosc:#ece7dc;--kosc-2:#b8b3a8;
  --mosiadz:#b99659;--mosiadz-jasny:#d4b87e;
  --linia:rgba(185,150,89,.28);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
  --blad:#d98b7a;--ok:#9fbf8a;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--tlo);color:var(--kosc);font-family:var(--sans);font-weight:300;line-height:1.7;letter-spacing:.01em;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
::selection{background:var(--mosiadz);color:var(--tlo)}
a{color:var(--mosiadz-jasny)}
header{position:sticky;top:0;z-index:50;background:rgba(20,23,26,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linia)}
.nav-wrap{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;flex-wrap:wrap}
.logo{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:var(--kosc);text-decoration:none;display:flex;align-items:baseline;gap:.6rem}
.logo em{font-style:normal;font-family:var(--sans);font-size:.7rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--mosiadz)}
nav{display:flex;gap:1.4rem;flex-wrap:wrap}
nav a{color:var(--kosc-2);text-decoration:none;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:.3rem 0;border-bottom:1px solid transparent}
nav a:hover,nav a.aktywna{color:var(--mosiadz-jasny);border-color:var(--mosiadz)}
.sekcja{max-width:1100px;margin:0 auto;padding:3.5rem 1.5rem}
.sekcja.waska{max-width:760px}
.naglowek{margin-bottom:2.2rem}
.naglowek .etykieta{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mosiadz);display:block;margin-bottom:.7rem}
.naglowek h1,.naglowek h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2}
.naglowek::after{content:'';display:block;width:56px;height:1px;background:var(--mosiadz);margin-top:1.2rem}
.naglowek p{color:var(--kosc-2);margin-top:.9rem}
.btn{display:inline-block;text-decoration:none;font-family:var(--sans);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding:.8rem 1.7rem;transition:all .25s;border:1px solid transparent;cursor:pointer;background:none;color:var(--kosc)}
.btn-zloty{background:var(--mosiadz);color:#17130a;font-weight:500}
.btn-zloty:hover{background:var(--mosiadz-jasny)}
.btn-kontur{border-color:var(--linia)}
.btn-kontur:hover{border-color:var(--mosiadz);color:var(--mosiadz-jasny)}
.btn-maly{padding:.45rem .9rem;font-size:.72rem}
.btn-czerwony{border-color:rgba(217,139,122,.4);color:var(--blad)}
.btn-czerwony:hover{border-color:var(--blad)}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mosiadz-jasny);outline-offset:2px}

/* karta nekrologu (jak na stronie głównej) */
.nekrolog{background:var(--tlo-2);border:1px solid rgba(255,255,255,.05);padding:2.2rem 1.9rem;text-align:center;position:relative}
.nekrolog::before{content:'✝';color:var(--mosiadz);font-size:1.1rem;display:block;margin-bottom:1rem}
.nekrolog h3,.nekrolog h1{font-family:var(--serif);font-weight:600;font-size:1.5rem;margin-bottom:.2rem;line-height:1.25}
.nekrolog .daty{color:var(--mosiadz-jasny);font-size:.9rem;letter-spacing:.08em;margin-bottom:1.1rem}
.nekrolog .wiek{color:var(--kosc-2);margin-bottom:1.2rem;font-style:italic;font-family:var(--serif);font-size:1.05rem}
.nekrolog .ceremonia{border-top:1px solid var(--linia);padding-top:1.1rem;font-size:.9rem;color:var(--kosc-2);line-height:1.6}
.nekrolog .ceremonia b{color:var(--kosc);font-weight:500}
.nekrolog .pv-zdj,.nekrolog .zdjecie{display:block;width:150px;height:190px;object-fit:cover;margin:0 auto 1.3rem;border:1px solid var(--linia);filter:grayscale(.35)}

/* strona pojedynczego nekrologu */
.nekrolog.duzy{padding:3rem 2rem 2.6rem}
.nekrolog.duzy h1{font-size:clamp(2rem,5vw,2.7rem)}
.nekrolog.duzy .zdjecie{width:200px;height:255px}
.nekrolog .tresc{font-family:var(--serif);font-size:1.22rem;line-height:1.6;color:var(--kosc);margin:0 auto 1.6rem;max-width:560px}
.nekrolog .zawiadamia{font-style:italic;font-family:var(--serif);font-size:1.12rem;color:var(--kosc-2);margin-top:1.6rem}
.nekrolog .prosba{margin-top:1.2rem;font-size:.9rem;color:var(--kosc-2)}
.nekrolog .ceremonia{font-size:.98rem}
.akcje{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.stopka-nekrologu{text-align:center;color:var(--kosc-2);font-size:.85rem;margin-top:2rem}

/* formularze */
.uklad-form{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2rem;align-items:start}
@media(max-width:900px){.uklad-form{grid-template-columns:1fr}.podglad-wrap{order:-1;position:static}}
.podglad-wrap{position:sticky;top:5.5rem}
.etykieta-mala{display:block;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--mosiadz);margin-bottom:.6rem}
fieldset{border:1px solid rgba(255,255,255,.06);border-top:1px solid var(--linia);background:var(--tlo-2);padding:1.4rem 1.4rem 1.2rem;margin-bottom:1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem}
@media(max-width:560px){fieldset{grid-template-columns:1fr}}
legend{font-family:var(--serif);font-size:1.25rem;font-weight:600;padding:0 .4rem;color:var(--kosc)}
label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--kosc-2)}
label b{color:var(--mosiadz-jasny);font-weight:500}
label.pelne{grid-column:1/-1}
label.check{flex-direction:row;align-items:flex-start;gap:.6rem;color:var(--kosc-2)}
label.check input{margin-top:.3rem;accent-color:var(--mosiadz)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=time],input[type=search],input[type=number],select,textarea{
  width:100%;background:var(--tlo);border:1px solid rgba(255,255,255,.12);color:var(--kosc);font-family:var(--sans);font-size:1rem;font-weight:300;padding:.65rem .75rem;border-radius:0;color-scheme:dark}
input[type=file]{color:var(--kosc-2);font-family:var(--sans);font-size:.9rem}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--mosiadz)}
.blad-pola{color:var(--blad);font-size:.8rem}
.zdj-obecne{display:flex;align-items:center;gap:1rem}
.zdj-obecne img{width:70px;height:90px;object-fit:cover;border:1px solid var(--linia)}
.szablony{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.78rem}
.szablony button{background:none;border:1px solid var(--linia);color:var(--kosc-2);font-family:var(--sans);font-size:.75rem;padding:.2rem .6rem;cursor:pointer}
.szablony button:hover{color:var(--mosiadz-jasny);border-color:var(--mosiadz)}
.przyciski-form{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.5rem}

/* komunikaty */
.komunikat{padding:1rem 1.2rem;margin-bottom:1.5rem;border:1px solid var(--linia);background:var(--tlo-2);font-size:.95rem}
.komunikat.ok{border-color:rgba(159,191,138,.45);color:var(--ok)}
.komunikat.blad{border-color:rgba(217,139,122,.45);color:var(--blad)}
.komunikat.info{color:var(--kosc-2)}

/* panel */
.panel-lista{width:100%;border-collapse:collapse;font-size:.92rem;margin-bottom:2.5rem}
.panel-lista th{text-align:left;font-weight:400;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mosiadz);padding:.6rem .7rem;border-bottom:1px solid var(--linia)}
.panel-lista td{padding:.75rem .7rem;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}
.panel-lista td.akcje-w{white-space:nowrap;text-align:right}
.panel-lista td.akcje-w form{display:inline}
.panel-lista .pusto{color:var(--kosc-2);font-style:italic}
@media(max-width:760px){
  .panel-lista thead{display:none}
  .panel-lista tr{display:block;border:1px solid rgba(255,255,255,.07);margin-bottom:.8rem;background:var(--tlo-2)}
  .panel-lista td{display:block;border:none;padding:.4rem .9rem}
  .panel-lista td.akcje-w{text-align:left;white-space:normal;padding-bottom:.9rem}
}
.znacznik{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid var(--linia);color:var(--kosc-2)}
.znacznik.oczekuje{border-color:rgba(212,184,126,.6);color:var(--mosiadz-jasny)}
.znacznik.opublikowany{border-color:rgba(159,191,138,.5);color:var(--ok)}
.znacznik.ukryty,.znacznik.szkic{opacity:.75}
h2.panel-h{font-family:var(--serif);font-weight:600;font-size:1.45rem;margin:0 0 .8rem}
.pole-linku{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.pole-linku input{flex:1;min-width:240px;font-family:monospace;font-size:.95rem}
.porownanie{width:100%;border-collapse:collapse;font-size:.9rem;margin:1rem 0 1.5rem}
.porownanie th,.porownanie td{padding:.6rem;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;vertical-align:top}
.porownanie th{color:var(--mosiadz);font-weight:400;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.porownanie td.nowe{color:var(--mosiadz-jasny)}
.logowanie{max-width:420px;margin:0 auto}
.logowanie form{display:grid;gap:1rem;background:var(--tlo-2);border-top:1px solid var(--linia);padding:1.8rem}

footer{border-top:1px solid var(--linia);background:#101316;margin-top:2rem}
.stopka-wrap{max-width:1100px;margin:0 auto;padding:2rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem;color:var(--kosc-2);font-size:.88rem}
.stopka-wrap .logo{font-size:1.4rem}
.stopka-wrap p{margin-top:.5rem}
.stopka-wrap .prawa{text-align:right}
.stopka-wrap a{color:var(--mosiadz-jasny);text-decoration:none}
@media(max-width:600px){.stopka-wrap .prawa{text-align:left}}

/* wydruk — klepsydra */
@media print{
  @page{size:A4;margin:18mm}
  body{background:#fff;color:#000;display:block}
  header,footer,.akcje,.stopka-nekrologu,.nie-drukuj{display:none!important}
  .sekcja{padding:0;max-width:none}
  .nekrolog{background:#fff;border:2px solid #000;color:#000;padding:16mm 12mm}
  .nekrolog::before{color:#000;font-size:22pt}
  .nekrolog h1{font-size:30pt;color:#000}
  .nekrolog .daty,.nekrolog .wiek,.nekrolog .ceremonia,.nekrolog .ceremonia b,.nekrolog .tresc,.nekrolog .zawiadamia,.nekrolog .prosba{color:#000}
  .nekrolog .ceremonia{border-top:1px solid #000;font-size:13pt}
  .nekrolog .tresc{font-size:15pt}
  .nekrolog .zdjecie{filter:grayscale(1);border-color:#000}
}

/* znicze i kondolencje */
.pamiec{margin-top:3rem;border-top:1px solid var(--linia);padding-top:2.5rem}
.znicz-blok{text-align:center;margin-bottom:2.8rem}
.znicz-btn{display:inline-flex;flex-direction:column;align-items:center;gap:.6rem;background:none;border:none;color:var(--kosc-2);font-family:var(--sans);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;padding:.5rem 1rem}
.znicz-btn svg{width:44px;height:70px}
.znicz-btn .szklo{fill:#3a2a22;stroke:var(--mosiadz);stroke-width:1}
.znicz-btn .wieczko{fill:var(--mosiadz)}
.znicz-btn .plomien{fill:#5a4b32;transition:fill .4s}
.znicz-btn:hover .plomien{fill:#8a6d3a}
.znicz-btn.zapalony{cursor:default;color:var(--mosiadz-jasny)}
.znicz-btn.zapalony .plomien{fill:#f0b44c;filter:drop-shadow(0 0 6px rgba(240,180,76,.8));animation:migotanie 1.6s ease-in-out infinite}
.znicz-btn.zapalony .szklo{fill:#6b2b20}
@keyframes migotanie{0%,100%{transform:scaleY(1);opacity:1}50%{transform:scaleY(.93);opacity:.85}}
.znicz-btn .plomien{transform-origin:20px 26px}
@media(prefers-reduced-motion:reduce){.znicz-btn.zapalony .plomien{animation:none}}
.znicz-licznik{color:var(--kosc-2);font-family:var(--serif);font-style:italic;font-size:1.1rem;margin-top:.3rem}
.kondolencje h2{font-family:var(--serif);font-weight:500;font-size:1.7rem;margin-bottom:1.3rem;text-align:center}
.kondolencje h2 span{color:var(--kosc-2);font-size:1.1rem}
.wpis{background:var(--tlo-2);border-left:2px solid var(--mosiadz);padding:1.1rem 1.3rem;margin-bottom:.9rem}
.wpis p{font-family:var(--serif);font-size:1.12rem;line-height:1.55}
.wpis footer{margin-top:.5rem;color:var(--kosc-2);font-size:.82rem}
.kondolencja-form{display:grid;gap:1rem;margin-top:1.6rem;background:var(--tlo-2);border-top:1px solid var(--linia);padding:1.4rem;position:relative}
.kondolencja-stopka{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.komunikat-k{font-size:.9rem;color:var(--kosc-2)}
.komunikat-k.ok{color:var(--ok)}
.komunikat-k.blad{color:var(--blad)}
.uwaga-k{font-size:.8rem;color:var(--kosc-2)}
.panel-k{background:var(--tlo-2);border-left:2px solid var(--mosiadz);padding:1rem 1.2rem;margin-bottom:.9rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.panel-k p{font-family:var(--serif);font-size:1.08rem;flex:1;min-width:240px}
.panel-k .meta{color:var(--kosc-2);font-size:.82rem;display:block;margin-top:.4rem;font-family:var(--sans)}
.panel-k form{display:inline}
