/* Ültetőkártyák – az esküvői útlevél stílusában, A4-es nyomtatásra */
:root{--head-h:55px;--gap:22px;--panel-w:360px;--pp-ink:#1e2026;--pp-muted:#6c675b;--pp-gold:#a8822a;--pp-gold-2:#c8a656;--pp-gold-deep:#80621b;--pp-pearl:#fffefa;--pp-paper:#fbf9f3;--pp-sand:#e8e1cd;--pp-sand-line:#d5c9a8;--pp-title:"Cinzel","Trajan Pro",Georgia,serif;--pp-serif:"Cormorant Garamond",Georgia,serif;--pp-script:"Pinyon Script","Great Vibes",cursive}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#f4f2ec radial-gradient(120% 80% at 50% 0,#fbfaf6 0,#f1eee6 60%,#ebe7dc 100%);color:var(--pp-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
::selection{background:#e6d6a8}
::-webkit-scrollbar{width:13px;height:13px}
::-webkit-scrollbar-track{background:#f1ece0;border-left:1px solid var(--pp-sand-line)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c8a656,#a8822a);border:3px solid #f1ece0;border-radius:10px;box-shadow:inset 0 0 0 1px #fff3d455}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b8923a,#8f6d20)}
::-webkit-scrollbar-corner{background:#f1ece0}
textarea::-webkit-scrollbar-track,.panel::-webkit-scrollbar-track{border-left:0;border-radius:8px}
@supports (-moz-appearance:none){html,.panel,textarea{scrollbar-color:#b8923a #f1ece0;scrollbar-width:thin}}

/* Fejléc */
.tool-head{position:fixed;z-index:50;top:0;left:0;right:0;height:var(--head-h);display:flex;align-items:center;gap:11px;padding:0 20px;background:#fffefaf5;border-bottom:1px solid var(--pp-sand-line);box-shadow:0 4px 0 var(--pp-sand),0 5px 0 var(--pp-sand-line),0 14px 28px #4b3f2418}
.tool-mark{flex:0 0 auto;width:38px;height:38px;color:var(--pp-gold)}
.tool-kicker{font-family:var(--pp-title);font-weight:600;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--pp-gold-deep)}
.tool-head h1{margin:3px 0 0;font-family:var(--pp-title);font-weight:500;font-size:15px;line-height:1.2;letter-spacing:.08em;color:var(--pp-ink)}
.tool-back{margin-left:auto;font-family:var(--pp-serif);font-size:15px;font-style:italic;letter-spacing:.02em;color:var(--pp-muted);text-decoration:none;white-space:nowrap}
.tool-back:hover{color:var(--pp-gold-deep)}

/* Elrendezés */
.tool{padding:calc(var(--head-h) + 6px + var(--gap)) var(--gap) 40px calc(var(--panel-w) + 5px + var(--gap))}
.panel{position:fixed;z-index:40;top:calc(var(--head-h) + 5px);bottom:0;left:0;width:var(--panel-w);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding:24px 24px 28px;background:var(--pp-pearl);border-right:1px solid var(--pp-sand-line);box-shadow:4px 0 0 var(--pp-sand),5px 0 0 var(--pp-sand-line),14px 0 28px #4b3f2414}
.panel-block{flex:0 0 auto;display:grid;gap:10px;padding-bottom:18px;border-bottom:1.5px dashed var(--pp-sand-line)}
.panel-label{font-family:var(--pp-title);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-muted)}
textarea{width:100%;min-height:220px;resize:vertical;padding:12px 13px;border:1px solid #dcd2b6;border-radius:10px;background:#fffefb;color:var(--pp-ink);font:14px/1.6 ui-monospace,Consolas,monospace;outline:0}
textarea:focus{border-color:var(--pp-gold);box-shadow:0 0 0 3px #a8822a1f}
.panel-hint{margin:0;font-size:12px;line-height:1.55;color:var(--pp-muted)}
.panel-actions{display:flex;flex-wrap:wrap;gap:8px}
.btn-ghost{padding:9px 13px;border:1px solid var(--pp-gold-2);border-radius:8px;background:#fbf6e8;color:#6f5419;font:600 11px Inter,-apple-system,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.btn-ghost:hover{background:#f5ecd3}
.btn-ghost:disabled{opacity:.55;cursor:wait}
.panel-status{margin:0;min-height:1em;font-size:12px;color:var(--pp-gold-deep)}
.panel-status.is-error{color:#8a2e1c}
.group-report{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--pp-sand-line);border-radius:10px;background:#fbf8ef;font-size:12px;line-height:1.45}
.group-report .gr-ok{color:#4f5f2e}
.group-report .gr-warn{color:#8a2e1c}
.group-report .gr-warn b,.group-report .gr-ok b{font-weight:600}
.opt{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;cursor:pointer}
.opt input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:var(--pp-gold-deep)}
.btn-print{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;border:0;border-radius:12px;background:linear-gradient(120deg,#8a6a1f,#a8822a 50%,#8a6a1f);color:#fffdf5;font-family:var(--pp-title);font-weight:600;font-size:14px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 22px #a8822a33,inset 0 0 0 4px #8a6a1f,inset 0 0 0 5px #f2dfa966;transition:transform .2s}
.btn-print:hover{transform:translateY(-2px)}
.btn-print:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-print svg{width:20px;height:20px}
.panel-count{margin:-8px 0 0;text-align:center;font-family:var(--pp-serif);font-size:17px;font-style:italic;color:var(--pp-muted)}

/* Előnézet: valódi méretű A4 lapok, képernyőn a helyhez kicsinyítve */
.preview{min-width:0}
.sheets{display:grid;gap:24px;justify-content:center}
.empty{padding:60px 20px;text-align:center;font-family:var(--pp-serif);font-size:20px;font-style:italic;color:var(--pp-muted);border:1.5px dashed var(--pp-sand-line);border-radius:16px}

/* Lapkiosztás: 6 db (2×3, 105×99 mm) vagy 3 db (1×3, 210×99 mm). A --k szorzó a kártya belső elemeit nagyítja. */
.sheet{--k:1;display:grid;grid-template-columns:repeat(2,105mm);grid-template-rows:repeat(3,99mm);width:210mm;height:297mm;background:#fff;box-shadow:0 18px 40px #4b3f2426,0 2px 6px #4b3f2414;overflow:hidden}
.sheet.is-3{--k:1.45;grid-template-columns:210mm}

/* Egy sátorkártya: felső fél = hátoldal (fejjel lefelé), alsó fél = előoldal */
.pc{position:relative;display:grid;grid-template-rows:49.5mm 49.5mm;height:99mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.marks .pc{outline:.2mm solid #d9d3c3;outline-offset:-.1mm}
.marks .pc:after{content:"";position:absolute;left:0;right:0;top:49.5mm;border-top:.25mm dashed #cfc5aa}
.pc-half{position:relative;margin:3mm;border:.35mm solid var(--pp-sand-line);border-radius:calc(3mm * var(--k));background:var(--pp-pearl);overflow:hidden}
.pc-half:before{content:"";position:absolute;inset:1.2mm;border:.2mm solid #eadfc1;border-radius:calc(2mm * var(--k));pointer-events:none}
.pc-back{transform:rotate(180deg)}
.pc-guilloche{position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% -60%,transparent 0 2.6mm,#a8822a10 2.6mm 2.85mm),repeating-radial-gradient(circle at 50% 160%,transparent 0 2.6mm,#a8822a0b 2.6mm 2.85mm)}

.pc-face{position:relative;display:grid;grid-template-columns:calc(25mm * var(--k)) 1fr;height:100%}
.pc-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(.6mm * var(--k));background:#f1e9d4;border-right:.35mm dashed var(--pp-gold-2);color:var(--pp-gold-deep)}
.pc-stub span{font-family:var(--pp-title);font-weight:600;font-size:calc(6.5pt * var(--k));letter-spacing:.2em;text-transform:uppercase}
.pc-stub strong{font-family:var(--pp-title);font-weight:500;font-size:calc(24pt * var(--k));line-height:1;color:var(--pp-gold-deep)}
.pc-stub strong.is-long{font-size:calc(11pt * var(--k));letter-spacing:.06em;text-align:center;line-height:1.15;padding:0 1.5mm}
.pc-stub svg{width:calc(15mm * var(--k));height:calc(15mm * var(--k));color:var(--pp-gold)}
.pc-main{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:2mm calc(4mm * var(--k));text-align:center}
.pc-kicker{font-family:var(--pp-title);font-weight:600;font-size:calc(6.5pt * var(--k));letter-spacing:.24em;text-transform:uppercase;color:var(--pp-gold-deep)}
.pc-name{width:100%;margin:calc(1mm * var(--k)) 0 calc(.6mm * var(--k));font-family:var(--pp-script);font-size:calc(30pt * var(--k));line-height:1.25;white-space:nowrap;color:#97731f;padding:0 1mm;overflow-wrap:normal}
.pc-name.is-wrapped{white-space:normal;line-height:1.12}
.pc-foot{display:flex;align-items:center;gap:calc(2mm * var(--k));font-family:var(--pp-title);font-weight:600;font-size:calc(5.5pt * var(--k));letter-spacing:.26em;text-transform:uppercase;color:var(--pp-muted)}
.pc-foot:before,.pc-foot:after{content:"";width:calc(7mm * var(--k));height:.25mm;background:var(--pp-gold-2)}

/* Hátoldal név nélkül: monogram és a pár neve */
.pc-plain{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1mm;height:100%}
.pc-plain svg{width:calc(17mm * var(--k));height:calc(17mm * var(--k));color:var(--pp-gold)}
.pc-plain div{font-family:var(--pp-script);font-size:calc(17pt * var(--k));color:var(--pp-gold-deep)}

/* Lapkiosztás választó */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid #dcd2b6;border-radius:12px;background:#fbf8ef}
.seg label{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border-radius:9px;cursor:pointer;text-align:center;transition:background .2s,box-shadow .2s}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg b{font-family:var(--pp-title);font-weight:600;font-size:13px;letter-spacing:.1em;color:var(--pp-ink)}
.seg small{font-size:11px;color:var(--pp-muted)}
.seg label:has(input:checked){background:var(--pp-pearl);box-shadow:0 0 0 1px var(--pp-gold),0 4px 10px #a8822a1f}
.seg label:has(input:checked) b{color:var(--pp-gold-deep)}
.seg label:has(input:focus-visible){outline:2px solid var(--pp-gold);outline-offset:2px}

@media(max-width:980px){
  .tool{display:grid;gap:28px;padding:calc(var(--head-h) + 5px + var(--gap)) var(--gap) 40px}
  .panel{position:static;width:auto;overflow:visible;border:1px solid var(--pp-sand-line);border-radius:16px;box-shadow:0 0 0 5px var(--pp-sand),0 0 0 6px var(--pp-sand-line),0 16px 30px #4b3f2410}
}
@media(max-width:600px){
  :root{--head-h:48px;--gap:14px}
  .tool-head{padding:0 14px;gap:8px;box-shadow:0 3px 0 var(--pp-sand),0 4px 0 var(--pp-sand-line),0 10px 22px #4b3f2414}
  .tool-mark{width:32px;height:32px}
  .tool-back{display:none}
}

/* Nyomtatás: csak a lapok, pontos méretben */
@page{size:A4 portrait;margin:0}
@media print{
  body{background:none}
  .tool-head,.panel{display:none!important}
  .tool{display:block;margin:0;padding:0}
  .sheets{display:block;zoom:1!important}
  .sheet{box-shadow:none;break-after:page;page-break-after:always}
  .sheet:last-child{break-after:auto;page-break-after:auto}
}
