/* FürediPrint Naptár – oldal stílusok (minden a .fpn alá zárva, hogy a téma ne zavarja) */
.fpn .grid,.fpn .grid tr,.fpn .grid th,.fpn .grid td{border:0;margin:0;padding:0;background:none;box-shadow:none;text-align:left;vertical-align:top;line-height:normal}
.fpn .grid td b,.fpn .grid td i,.fpn .grid td em{font-weight:inherit;font-style:normal;text-decoration:none}
.fpn .page *{box-sizing:border-box}
:where(.fpn .page) div,:where(.fpn .page) span{margin:0;padding:0}
.fpn .page{width:210mm;height:297mm;position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);--ink:#1b1b1f;--red:#D92D1F;--bg:#fff}
.fpn .photo{position:relative;flex:0 0 auto}
.fpn .ph{position:absolute;inset:0;background:#dce7ef;overflow:hidden}
.fpn .ph svg{position:absolute;left:0;bottom:0;width:100%;height:55%}
.fpn .ph span{position:absolute;left:0;right:0;top:40%;text-align:center;color:#fff;opacity:1;font-size:4.2mm;letter-spacing:.15em;text-transform:uppercase}
.fpn .badge{display:none}
.fpn .body{flex:1;display:flex;flex-direction:column;min-height:0}
.fpn .head{display:flex;align-items:baseline;gap:4mm}
.fpn .mn{line-height:1}
.fpn .hl{font-size:2.9mm;color:var(--red);line-height:1.35}
.fpn .gw{flex:1;min-height:0;margin-top:3mm}
.fpn table.grid{width:100%;height:100%;border-collapse:collapse;table-layout:fixed}
.fpn .grid th{font-weight:600;font-size:2.8mm;height:6mm}
.fpn .grid th.wk,.fpn .grid td.wk{width:8mm}
.fpn .grid td{vertical-align:top;position:relative;padding:1.2mm 1.5mm}
.fpn .grid td b{display:block;font-weight:500;line-height:1}
.fpn .grid td i{display:block;font-style:normal;font-size:2.6mm;line-height:1.15;margin-top:.7mm;color:#666}
.fpn .grid td.wk{font-size:2.4mm;color:#999;text-align:center;vertical-align:middle;padding:0}
.fpn .grid td.out{opacity:1}
.fpn .grid td.sun b{color:var(--red)}
.fpn .grid td.hol b{color:var(--red)}
.fpn .grid td.hol i{color:var(--red)}
.fpn .grid td i em{display:block;font-style:normal;font-weight:700}
.fpn .foot{display:flex;justify-content:space-between;align-items:center;font-size:2.8mm;color:#777;margin-top:3mm}
.fpn .foot .q{font-style:italic}
.fpn .nonames .grid td .day-names{display:none}
.fpn .nowk .wk{display:none}
.fpn .noq .foot .q{visibility:hidden}
.fpn .t1 .photo{height:150mm}
.fpn .t1 .body{padding:9mm 13mm 8mm}
.fpn .t1 .head{justify-content:space-between;align-items:flex-end}
.fpn .t1 .mn{font-size:17mm;font-weight:200;letter-spacing:.05em;text-transform:uppercase}
.fpn .t1 .yr{font-size:17mm;font-weight:200;color:var(--acc);margin-left:auto}
.fpn .t1 .hl{flex-basis:100%;order:3}
.fpn .t1 .head{flex-wrap:wrap}
.fpn .t1 .grid th{text-transform:uppercase;color:#777;border-bottom:.35mm solid var(--ink);letter-spacing:.08em}
.fpn .t1 .grid td{border-top:.2mm solid #d3d3d3}
.fpn .t1 .grid td b{font-size:6.2mm;font-weight:400}
.fpn .t1 .grid td.sat:not(.out){background:#f4f4f5}
.fpn .t1 .grid td.hol{background:none}
.fpn .t2 .photo{height:146mm;margin:9mm 9mm 0}
.fpn .t2 .badge{display:block;position:absolute;left:0;bottom:-11mm;background:var(--acc);color:#fff;padding:3.5mm 9mm 3.5mm 7mm;z-index:2}
.fpn .t2 .badge b{font-size:15mm;font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:.01em;display:block}
.fpn .t2 .badge u{text-decoration:none;font-size:4mm;letter-spacing:.35em;display:block;margin-top:1mm;opacity:1}
.fpn .t2 .body{padding:15mm 9mm 8mm}
.fpn .t2 .head .mn,.fpn .t2 .head .yr{display:none}
.fpn .t2 .head{justify-content:flex-end}
.fpn .t2 .hl{text-align:right;min-height:4mm}
.fpn .t2 .gw{margin-top:2mm}
.fpn .t2 table.grid{border-collapse:separate;border-spacing:1.2mm}
.fpn .t2 .grid th{color:var(--acc);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.fpn .t2 .grid td{background:#f2f3f6;border-radius:1mm}
.fpn .t2 .grid td.wk{background:none;color:var(--acc)}
.fpn .t2 .grid td b{font-size:6mm;font-weight:600}
.fpn .t2 .grid td.hol{background:var(--red)}
.fpn .t2 .grid td.hol b,.fpn .t2 .grid td.hol i{color:#fff}
.fpn .t2 .grid td.out{background:none}
.fpn .t3{--bg:#faf5ea;font-family:Georgia,"Times New Roman",serif;--gold:#b08d57}
.fpn .t3 .photo{height:140mm;margin:12mm 12mm 0;padding:4mm;background:#fff;border:.3mm solid var(--gold)}
.fpn .t3 .ph{inset:4mm}
.fpn .t3 .body{padding:8mm 14mm 9mm}
.fpn .t3 .head{flex-direction:column;align-items:center;gap:1.5mm}
.fpn .t3 .mn{font-size:15mm;font-style:italic;font-weight:400;display:flex;align-items:center;gap:6mm;width:100%;justify-content:center}
.fpn .t3 .mn::before,.fpn .t3 .mn::after{content:"";flex:1;height:.3mm;background:var(--gold)}
.fpn .t3 .yr{font-size:3.6mm;letter-spacing:.7em;color:var(--gold);padding-left:.7em}
.fpn .t3 .hl{text-align:center;font-style:italic}
.fpn .t3 .grid th{font-weight:400;font-variant:small-caps;letter-spacing:.15em;font-size:3.1mm;color:var(--gold);border-bottom:.3mm solid var(--gold)}
.fpn .t3 .grid td{border-bottom:.2mm solid #e3d7bd}
.fpn .t3 .grid td b{font-size:6mm;font-weight:400}
.fpn .t3 .grid td i{font-style:italic}
.fpn .t3 .foot{color:#8a7b5e}
.fpn .t4{--bg:#fff6d2;font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif}
.fpn .t4 .photo{height:136mm;margin:13mm 14mm 0;border-radius:7mm;border:2.2mm solid #fff;transform:rotate(-1.1deg);overflow:hidden;box-shadow:0 0 0 .4mm var(--ink)}
.fpn .t4 .body{padding:8mm 11mm 8mm}
.fpn .t4 .head{justify-content:space-between;align-items:center}
.fpn .t4 .mn{font-size:16mm;font-weight:900;color:var(--acc);text-transform:uppercase;letter-spacing:.02em}
.fpn .t4 .yr{font-size:7mm;font-weight:800;background:var(--ink);color:#fff;border-radius:99mm;padding:1.5mm 5mm;margin-left:auto}
.fpn .t4 .head{flex-wrap:wrap}
.fpn .t4 .hl{flex-basis:100%;order:3;font-weight:600}
.fpn .t4 table.grid{border-collapse:separate;border-spacing:1mm}
.fpn .t4 .grid th.wk{background:none}
.fpn .t4 .grid th{background:var(--acc);color:#fff;border-radius:99mm;font-weight:700}
.fpn .t4 .grid td{background:#fff;border:.35mm solid var(--ink);border-radius:2.5mm}
.fpn .t4 .grid td b{font-size:6mm;font-weight:800}
.fpn .t4 .grid td.wk{background:none;border:none}
.fpn .t4 .grid td.out{background:none;border-color:transparent}
.fpn .t4 .grid td.hol{background:var(--red)}
.fpn .t4 .grid td.hol b,.fpn .t4 .grid td.hol i{color:#fff}
.fpn .t4 .grid td.sat:not(.out):not(.hol){background:#fff0a8}




/* felület */
.fpn{font-family:system-ui,"Segoe UI",Arial,sans-serif;color:#222;max-width:100%}
.fpn *{box-sizing:border-box}
.fpn .fpn-ui h3{font-size:15px;margin:0 0 8px;font-weight:700}
.fpn .fpn-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:12px}
.fpn .fpn-styles button{padding:10px 8px;border:2px solid #cfd2d8;border-radius:10px;background:#fff;cursor:pointer;font:inherit;font-weight:600}
.fpn .fpn-styles button.on{border-color:#1b1b1f;background:#1b1b1f;color:#fff}
.fpn .fpn-opts{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;font-size:14px}
.fpn .fpn-opts label{display:flex;align-items:center;gap:6px;cursor:pointer}
.fpn .fpn-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.fpn .fpn-btn{display:inline-block;padding:9px 14px;border:1px solid #1b1b1f;border-radius:8px;background:#fff;cursor:pointer;font:inherit;font-size:14px}
.fpn .fpn-btn:hover{background:#f1f1f3}
.fpn .fpn-hint{font-size:12px;color:#666}
.fpn .fpn-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.fpn .fpn-nav button{width:54px;height:54px;border:2px solid #cfd2d8;border-radius:8px;background:#e9eaee center/cover no-repeat;cursor:pointer;font:inherit;font-size:12px;font-weight:700;color:#333;display:flex;align-items:flex-end;justify-content:center;padding:2px}
.fpn .fpn-nav button span{background:#fff;border-radius:4px;padding:0 4px}
.fpn .fpn-nav button.on{border-color:#1b1b1f}
.fpn .fpn-stage{background:#e4e5e9;padding:10px;display:flex;justify-content:center;overflow:hidden}
.fpn .pw{box-shadow:0 2px 12px #cdd6d0;background:#fff;flex:0 0 auto}
.fpn .ph.has{background-size:cover;background-position:center}
.fpn .ph.has svg,.fpn .ph.has span{display:none}
.fpn .page.cover .photo{height:222mm}
.fpn .page.cover .body{justify-content:flex-start;align-items:center;text-align:center;padding-top:10mm}
.fpn .page.cover .head{flex-direction:column;align-items:center;gap:2mm}
.fpn .page.cover .mn{font-size:30mm;display:block}
.fpn .page.cover .yr{display:none}
.fpn .page.cover .hl{font-size:5mm;color:var(--ink);letter-spacing:.3em;text-transform:uppercase;text-align:center;flex-basis:auto;order:0}
.fpn .t2.cover .badge,.fpn .t5.cover .badge{display:none}
.fpn .t2.cover .head .mn,.fpn .t2.cover .head .yr{display:block}
.fpn .t3.cover .mn::before,.fpn .t3.cover .mn::after{display:none}
.fpn .t2 .grid td.sat:not(.out):not(.hol){background:#e6e9ee}
.fpn .t3 .grid td.sat:not(.out):not(.hol){background:#f0e8d7}
.fpn .fpn-file-status{font-size:13px;line-height:1.5;margin:8px 0;min-height:20px}
.fpn .fpn-btn:focus-visible,.fpn button:focus-visible{outline:3px solid #16734d;outline-offset:3px}

/* White non-printing perimeter inside the original A4 page dimensions. */
.fpn .page::after{content:"";position:absolute;inset:0;border:6mm solid #fff;pointer-events:none;z-index:5;box-sizing:border-box}
.fpn .page.t1 .photo{height:141mm;margin:9mm 9mm 0}
.fpn .page.t1.cover .photo{height:213mm}

/* Static OFL fonts; local files, no Google Fonts request at print time. */
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:200;src:url('fonts/lato/Lato-ExtraLight.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:400;src:url('fonts/lato/Lato-Regular.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:500;src:url('fonts/lato/Lato-Medium.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:600;src:url('fonts/lato/Lato-SemiBold.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:700;src:url('fonts/lato/Lato-Bold.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:800;src:url('fonts/lato/Lato-ExtraBold.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:normal;font-weight:900;src:url('fonts/lato/Lato-Black.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN Lato';font-style:italic;font-weight:400;src:url('fonts/lato/Lato-Italic.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN PT Serif';font-style:normal;font-weight:400;src:url('fonts/ptserif/PT_Serif-Web-Regular.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN PT Serif';font-style:italic;font-weight:400;src:url('fonts/ptserif/PT_Serif-Web-Italic.ttf') format('truetype');font-display:block}
@font-face{font-family:'FPN PT Serif';font-style:normal;font-weight:700;src:url('fonts/ptserif/PT_Serif-Web-Bold.ttf') format('truetype');font-display:block}
.fpn .page,.fpn .page *{font-family:'FPN Lato',Arial,sans-serif!important;font-synthesis:none;letter-spacing:0}
.fpn .page.t3,.fpn .page.t3 *{font-family:'FPN PT Serif',Georgia,serif!important}
.fpn .grid td.out{opacity:1}
.fpn .grid td.out b{color:#c3c3c3!important}
.fpn .ph span,.fpn .badge u,.fpn .t2 .badge u{opacity:1}
.fpn-print{page:fpn-calendar;width:210mm;max-width:none!important;background:#fff}
.fpn-print-pages{page:fpn-calendar;margin:0;padding:0}
.fpn-print .page{page:fpn-calendar;break-after:page;break-inside:avoid;margin:0 auto 12px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.fpn-print .page:last-child{break-after:auto}
.fpn-print .ph{background-color:#fff}
.fpn-print .ph svg,.fpn-print .ph span{display:none!important}
.fpn-print .t4 .grid td.out{border-color:#fff6d2;background:#fff6d2}
.fpn-print[data-print-ready="false"]::before{content:'A nyomtatási nézet még nem kész. Várd meg a fotók és betűk betöltését.';display:block;padding:12px;background:#fff6d2;color:#202124;font:14px/1.5 Arial,sans-serif}
@page fpn-calendar{size:A4 portrait;margin:0}
@media print{
  .fpn-print{width:210mm!important;margin:0!important;padding:0!important;max-width:none!important}
  .fpn-print .page{margin:0!important;box-shadow:none!important}
  .fpn-print[data-print-ready="false"] .fpn-print-pages{display:none!important}
}
