/* Welon – szablony papeterii. Wszystkie rozmiary w cqw (procent szerokości kartki),
   więc podgląd w aplikacji i wydruk A4/A1 wyglądają identycznie, tylko w innej skali. */
.pap{container-type:inline-size;position:relative;overflow:hidden;isolation:isolate;background:var(--t-bg);color:var(--t-ink);font-family:var(--t-text);box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pap *{box-sizing:border-box}
.pap .in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pap p{margin:0}
.pap .orn{display:block}
.pap .names{margin:0;font-weight:400;line-height:1}
.inv{aspect-ratio:148/210}
.card{aspect-ratio:90/50}
.tcard{aspect-ratio:148/210}

/* elementy wspólne (rozmiary bazowe; szablony je stroją) */
.inv .in{padding:12cqw 11cqw}
.inv .hello{font:600 2.5cqw/1.4 var(--t-text);letter-spacing:.22em;text-transform:uppercase;color:var(--t-accent);margin-bottom:3.5cqw}
.inv .pre{font:400 3.3cqw/1.5 var(--t-text);color:var(--t-soft);max-width:72cqw}
.inv .when{font:500 2.7cqw/1.5 var(--t-text);letter-spacing:.16em;text-transform:uppercase;margin-top:5cqw}
.inv .pl{font:400 3.4cqw/1.4 var(--t-display);margin-top:3cqw}
.inv .pl small{display:block;font:600 2.2cqw/1.6 var(--t-text);letter-spacing:.22em;text-transform:uppercase;color:var(--t-accent)}
.inv .extra{font:400 2.9cqw/1.5 var(--t-text);color:var(--t-soft);margin-top:4cqw;max-width:72cqw}
.inv .rsvp-by{font:400 2.7cqw/1.4 var(--t-text);color:var(--t-soft);margin-top:5cqw;letter-spacing:.04em}
.card .in{padding:6cqw 10cqw}
.card .nm{font-size:12cqw;line-height:1.05}
.card .tb{font:600 3.3cqw var(--t-text);letter-spacing:.26em;text-transform:uppercase;color:var(--t-accent);margin-top:3.5cqw}
.tcard .lbl{font:600 4.6cqw var(--t-text);letter-spacing:.45em;text-transform:uppercase;color:var(--t-accent);text-indent:.45em}
.tcard .num{font:400 44cqw/1 var(--t-display);margin:2cqw 0}
.tcard .num.word{font-size:13cqw;line-height:1.1;margin:5cqw 6cqw}

.board .in{justify-content:flex-start;padding:9cqw 7cqw 7cqw}
.board .pre{font:600 1.6cqw var(--t-text);letter-spacing:.34em;text-transform:uppercase;color:var(--t-accent)}
.board .names{font-size:7.5cqw;margin:2.2cqw 0 1cqw}
.board .names em{font-style:normal;margin:0 .22em;font-size:.5em}
.board .bdate{font:500 1.9cqw var(--t-text);letter-spacing:.32em;color:var(--t-soft)}
.board .tables{width:100%;margin-top:5cqw;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:4.5cqw 4cqw;align-items:start}
.board section h3{margin:0 0 1.4cqw;font:400 2.8cqw/1.15 var(--t-display);color:var(--t-ink);padding-bottom:1.1cqw;border-bottom:1px solid var(--t-line)}
.board ul{list-style:none;margin:0;padding:0}
.board li{font:400 1.6cqw/1.65 var(--t-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board ul.long{columns:2;column-gap:2cqw}
.board .alpha{list-style:none;margin:5cqw 0 0;padding:0;width:100%;columns:3;column-gap:5cqw;text-align:left}
.board .alpha li{display:flex;align-items:baseline;gap:1cqw;break-inside:avoid}
.board .alpha i{flex:1;border-bottom:1px dotted var(--t-line);transform:translateY(-.4em)}
.board .alpha b{font:600 1.4cqw var(--t-text);color:var(--t-accent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* ======================= 1. LINIA (wg „Isabel & James”) ======================= */
.th-linia{--t-bg:#fdfdfc;--t-ink:#151515;--t-soft:#4a4a4a;--t-accent:#151515;--t-line:#cfcfcf;--t-display:"Bodoni Moda",Georgia,serif;--t-script:"Pinyon Script",cursive;--t-text:"Montserrat",sans-serif}
.th-linia .swirl{position:absolute;inset:-4% -6%;width:112%;height:108%;color:#1a1a1a;opacity:.85;z-index:1}
.th-linia .in{align-items:flex-start;text-align:left}
.th-linia.inv .in{padding:16cqw 11cqw 12cqw;justify-content:flex-start}
.th-linia .pre{font:500 2.4cqw/1.6 var(--t-text);letter-spacing:.24em;text-transform:uppercase;color:var(--t-ink);max-width:56cqw}
.th-linia .names{font:700 15cqw/.86 var(--t-display);letter-spacing:-.02em;text-transform:uppercase;margin:6cqw 0 4cqw;display:grid}
.th-linia .names em{font:400 9cqw/1 var(--t-script);text-transform:none;letter-spacing:0;margin:-.25em 0 -.2em 22cqw;position:relative;z-index:1}
.th-linia .names span:last-child{padding-left:12cqw}
.th-linia .when{letter-spacing:.2em;font-weight:600;margin-top:4cqw}
.th-linia .pl{font:400 3cqw/1.45 var(--t-text);margin-top:2.6cqw}
.th-linia .pl small{color:#7a7a7a}
.th-linia .rsvp-by{text-transform:uppercase;letter-spacing:.18em;font-size:2.2cqw}
.th-linia.card .nm{font:700 9.6cqw/.9 var(--t-display);text-transform:uppercase;letter-spacing:-.01em}
.th-linia.card .in{padding-left:12cqw}
.th-linia.tcard .in{padding-left:14cqw;justify-content:center}
.th-linia.tcard .num{font-weight:700;font-size:58cqw;letter-spacing:-.04em;margin:0}
.th-linia.tcard .num.word{font:700 12cqw/1 var(--t-display);text-transform:uppercase;margin:4cqw 0}
.th-linia.board .in{align-items:center;text-align:center}
.th-linia.board .names{font-size:8cqw;display:block}
.th-linia.board .names em{margin:0 .2em;font-size:.6em}
.th-linia.board .names span:last-child{padding:0}
.th-linia.board section h3{font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom-color:#151515}

/* ======================= 2. CZEKOLADA (wg „The Wedding”) ======================= */
.th-czekolada{--t-bg:#4a2f25;--t-ink:#f5ecdf;--t-soft:#dccdb8;--t-accent:#c9b49a;--t-line:#7a5a4b;--t-display:"Cormorant Infant",Georgia,serif;--t-script:"Pinyon Script",cursive;--t-text:"Cormorant Infant",Georgia,serif}
.th-czekolada .frame{position:absolute;inset:3.5cqw;border:1px solid #c9b49a;z-index:1}
.th-czekolada .frame::after{content:"";position:absolute;inset:1cqw;border:1px solid rgba(201,180,154,.45)}
.th-czekolada .script-top{font:400 13cqw/1 var(--t-script);color:var(--t-ink);margin-bottom:3cqw}
.th-czekolada .names{font:600 6.4cqw/1.15 var(--t-display);text-transform:uppercase;letter-spacing:.14em}
.th-czekolada .names em{display:block;font:italic 400 5cqw var(--t-display);letter-spacing:0;text-transform:none;color:var(--t-accent);margin:.2em 0}
.th-czekolada .pre{font-style:italic;font-size:3.6cqw;margin-top:4cqw}
.th-czekolada .rule{width:12cqw;height:1px;background:#c9b49a;margin:4.5cqw auto 0}
.th-czekolada .when{font-family:var(--t-display);font-weight:600;letter-spacing:.2em}
.th-czekolada .pl small{color:#c9b49a}
.th-czekolada .rsvp-by{font-style:italic;font-size:3cqw}
.th-czekolada.card .nm{font:400 10.5cqw/1 var(--t-script)}
.th-czekolada.card .frame{inset:3cqw}
.th-czekolada.tcard .script-top{font-size:14cqw;margin-bottom:0}
.th-czekolada.tcard .num{font-weight:500}
.th-czekolada.board .names{font:400 9cqw/1 var(--t-script);text-transform:none;letter-spacing:0}
.th-czekolada.board .names em{display:inline;font:400 .55em var(--t-script);margin:0 .2em}
.th-czekolada.board section h3{text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:2.4cqw}
.th-czekolada.board li{font-size:1.9cqw}

/* ======================= 3. VINTAGE (wg kartusza z różami) ======================= */
.th-vintage{--t-bg:#f7f1e3;--t-ink:#4d5a45;--t-soft:#6b7461;--t-accent:#c46b82;--t-line:#d9c9a8;--t-display:"Cormorant Infant",Georgia,serif;--t-script:"Great Vibes",cursive;--t-text:"Cormorant Infant",Georgia,serif}
.th-vintage{background:#f7f1e3 repeating-linear-gradient(90deg,rgba(127,154,114,.08) 0 2.2cqw,rgba(196,107,130,.06) 2.2cqw 4.4cqw)}
.th-vintage .cartouche{position:absolute;inset:6cqw;width:auto;height:auto;color:#8ea582;z-index:1;background:#fbf8ef}
.th-vintage.inv .cartouche{inset:7cqw 7cqw}
.th-vintage .garland{width:30cqw}
.th-vintage .g-top,.th-vintage .g-bot{position:absolute;left:50%;transform:translateX(-50%);z-index:3}
.th-vintage .g-top{top:3cqw}
.th-vintage .g-bot{bottom:3cqw;transform:translateX(-50%) rotate(180deg)}
.th-vintage .names{font:400 13.5cqw/1 var(--t-script);color:var(--t-accent);margin:4cqw 0}
.th-vintage .names em{display:block;font:italic 400 5cqw var(--t-display);color:var(--t-soft);margin:.1em 0}
.th-vintage .pre{font-style:italic;font-size:3.7cqw}
.th-vintage .when{font-family:var(--t-display);font-weight:600;color:var(--t-ink)}
.th-vintage .pl small{color:var(--t-accent)}
.th-vintage .rsvp-by{font-style:italic;font-size:3.1cqw}
.th-vintage.inv .in{padding:16cqw 15cqw}
.th-vintage.card .cartouche{inset:4cqw}
.th-vintage.card .nm{font:400 11cqw/1 var(--t-script);color:var(--t-accent)}
.th-vintage.tcard .script-top{font:400 13cqw/1 var(--t-script);color:var(--t-accent)}
.th-vintage.tcard .num{color:var(--t-ink);font-weight:500}
.th-vintage.board .cartouche{inset:3cqw}
.th-vintage.board .garland{width:18cqw}
.th-vintage.board .g-top{top:1.2cqw}
.th-vintage.board .names{font-size:8cqw}
.th-vintage.board .names em{display:inline;margin:0 .2em;font-size:.45em}
.th-vintage.board .in{padding-top:12cqw}
.th-vintage.board section h3{font-family:var(--t-script);font-size:4cqw;color:var(--t-accent);border-bottom-color:#d9c9a8}
.th-vintage.board li{font-size:1.9cqw}

/* ======================= 4. TOSKANIA (wg „Olivia & Martin”) ======================= */
.th-toskania{--t-bg:#f2e2d9;--t-ink:#5b3b2e;--t-soft:#7d5a4a;--t-accent:#a8705c;--t-line:#d9b9a8;--t-display:"Gilda Display",Georgia,serif;--t-script:"Allura",cursive;--t-text:"Gilda Display",Georgia,serif}
.th-toskania .arch{position:absolute;z-index:1;left:8cqw;right:8cqw;top:6cqw;bottom:6cqw;border-radius:50cqw 50cqw 1.5cqw 1.5cqw;background:#f8eee8;box-shadow:inset 0 0 0 1px #e2c6b8}
.th-toskania .sprig{width:13cqw;color:#8c5e4c;margin:0 auto 2cqw}
.th-toskania.inv .in{padding:20cqw 15cqw 11cqw}
.th-toskania .names{font:400 9cqw/1.05 var(--t-display);text-transform:uppercase;letter-spacing:.1em;margin:4cqw 0}
.th-toskania .names em{display:block;font:400 7.5cqw/1 var(--t-script);text-transform:none;letter-spacing:0;color:var(--t-accent);margin:.15em 0 .05em}
.th-toskania .pre{font-size:3.4cqw}
.th-toskania .when{font-family:var(--t-display);letter-spacing:.3em;font-weight:400}
.th-toskania .pl small{color:var(--t-accent)}
.th-toskania .rsvp-by{font-style:italic}
.th-toskania.card .arch{left:5cqw;right:5cqw;top:5cqw;bottom:5cqw;border-radius:30cqw 30cqw 1.5cqw 1.5cqw}
.th-toskania.card .nm{font:400 7cqw/1.15 var(--t-display);text-transform:uppercase;letter-spacing:.1em}
.th-toskania.card .tb{font-family:var(--t-script);font-size:6cqw;letter-spacing:0;text-transform:none;font-weight:400;margin-top:1.5cqw}
.th-toskania.tcard .in{padding-top:22cqw}
.th-toskania.tcard .sprig{width:16cqw}
.th-toskania.board .arch{left:4cqw;right:4cqw;top:3cqw;bottom:3cqw;border-radius:45cqw 45cqw 1cqw 1cqw}
.th-toskania.board .sprig{width:7cqw}
.th-toskania.board .in{padding-top:12cqw}
.th-toskania.board .names{font-size:5.5cqw}
.th-toskania.board .names em{display:inline;font-size:1.2em;margin:0 .2em}
.th-toskania.board section h3{text-transform:uppercase;letter-spacing:.18em;font-size:2.3cqw}

/* ======================= 5. TŁOCZENIE (wg białego letterpressu) ======================= */
.th-tloczenie{--t-bg:#fbfaf6;--t-ink:#8f8a82;--t-soft:#9f9a92;--t-accent:#aaa49a;--t-line:#e2ddd3;--t-display:"Cormorant Infant",Georgia,serif;--t-script:"Pinyon Script",cursive;--t-text:"Cormorant Infant",Georgia,serif}
.th-tloczenie{background:radial-gradient(120% 90% at 30% 10%,#ffffff,#f4f2ec)}
/* efekt wytłoczenia: jasny refleks z góry, cień z dołu */
.th-tloczenie .in{text-shadow:0 1px 0 rgba(255,255,255,.95),0 -1px 0 rgba(120,110,95,.28)}
.th-tloczenie .frame{position:absolute;inset:4cqw;border-radius:.6cqw;box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),inset -1px -1px 0 rgba(150,140,125,.35),1px 1px 0 rgba(150,140,125,.3),-1px -1px 0 #fff;z-index:1}
.th-tloczenie .frame::after{content:"";position:absolute;inset:1.6cqw;border-radius:.4cqw;box-shadow:inset 1px 1px 0 rgba(150,140,125,.3),inset -1px -1px 0 rgba(255,255,255,.9)}
.th-tloczenie .wreath{width:30cqw;margin:0 auto 3cqw;filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 -.5px 0 rgba(120,110,95,.35))}
.th-tloczenie .wl{fill:none;stroke:#b3ada2;stroke-width:.9}
.th-tloczenie .wtx{font:400 13px "Pinyon Script",cursive;fill:#a29c91}
.th-tloczenie .wsep{font-family:"Cormorant Infant",serif;font-size:11px;fill:#c2bcb1}
.th-tloczenie .names{font:400 12cqw/1.05 var(--t-script);color:#8f8a82;margin:3cqw 0}
.th-tloczenie .names em{display:block;font:italic 400 5cqw var(--t-display);color:#aaa49a}
.th-tloczenie .pre{font-size:3.5cqw;font-style:italic}
.th-tloczenie .when{font-family:var(--t-display);font-weight:600;letter-spacing:.24em}
.th-tloczenie .pl{color:#8f8a82}
.th-tloczenie .pl small,.th-tloczenie .hello,.th-tloczenie .tb,.th-tloczenie .lbl{color:#aaa49a}
.th-tloczenie.inv .in{padding:12cqw 13cqw}
.th-tloczenie.card .nm{font:400 11cqw/1 var(--t-script)}
.th-tloczenie.card .frame{inset:3cqw}
.th-tloczenie.tcard .num{font-weight:500;color:#8f8a82}
.th-tloczenie.board .wreath{width:13cqw;margin-bottom:1cqw}
.th-tloczenie.board .names{font-size:8cqw}
.th-tloczenie.board .names em{display:inline;font-size:.45em;margin:0 .2em}
.th-tloczenie.board section h3{font-family:var(--t-script);font-size:4cqw;border-bottom-color:#e5e0d6}
.th-tloczenie.board li{font-size:1.9cqw;color:#8f8a82}

/* ======================= 6. PIECZĘĆ (wg bordowej koperty z lakiem) ======================= */
.th-pieczec{--t-bg:#ecebe7;--t-ink:#2f2d2b;--t-soft:#5e5b57;--t-accent:#7a1d2e;--t-line:#cfccc5;--t-display:"Bodoni Moda",Georgia,serif;--t-script:"Pinyon Script",cursive;--t-text:"Montserrat",sans-serif}
.th-pieczec .in{align-items:flex-start;text-align:left}
.th-pieczec.inv .in{padding:16cqw 12cqw 12cqw;justify-content:flex-start}
.th-pieczec .names{font:400 11cqw/.95 var(--t-display);text-transform:uppercase;letter-spacing:.06em;display:grid}
.th-pieczec .names em{font:400 8.5cqw/1 var(--t-script);text-transform:none;letter-spacing:0;color:var(--t-soft);margin:-.35em 0 -.25em 16cqw;position:relative}
.th-pieczec .pre{font:400 2.5cqw/1.6 var(--t-text);letter-spacing:.14em;text-transform:uppercase;margin-top:6cqw;max-width:62cqw}
.th-pieczec .when{font-size:2.4cqw;font-weight:600;letter-spacing:.18em;margin-top:4cqw}
.th-pieczec .pl{font:400 2.9cqw/1.45 var(--t-text)}
.th-pieczec .pl small{color:var(--t-accent)}
.th-pieczec .rsvp-by{text-transform:uppercase;letter-spacing:.14em;font-size:2.1cqw}
.th-pieczec .seal-wrap{position:absolute;z-index:3;right:7cqw;bottom:7cqw;width:22cqw;filter:drop-shadow(0 1.2cqw 1.2cqw rgba(60,10,20,.28))}
.th-pieczec .seal{width:100%}
.th-pieczec .stx{font:400 22px "Pinyon Script",cursive;fill:#e3a1ad;opacity:.85}
.th-pieczec.card .in{padding-left:11cqw}
.th-pieczec.card .nm{font:400 8.2cqw/1 var(--t-display);text-transform:uppercase;letter-spacing:.06em}
.th-pieczec.card .tb{color:var(--t-accent)}
.th-pieczec.card .seal-wrap{width:15cqw;right:5cqw;bottom:auto;top:50%;transform:translateY(-50%)}
.th-pieczec.tcard .in{padding-left:14cqw;justify-content:center}
.th-pieczec.tcard .num{font-size:56cqw;font-weight:400}
.th-pieczec.tcard .num.word{font:400 11cqw/1.05 var(--t-display);text-transform:uppercase}
.th-pieczec.tcard .seal-wrap{width:20cqw}
.th-pieczec.board .in{align-items:center;text-align:center}
.th-pieczec.board .names{display:block;font-size:7cqw}
.th-pieczec.board .names em{margin:0 .15em;font-size:.75em}
.th-pieczec.board .seal-wrap{width:10cqw;right:5cqw;bottom:auto;top:5cqw}
.th-pieczec.board section h3{text-transform:uppercase;letter-spacing:.1em;font-size:2.4cqw}

/* poprawki po podglądzie */
.th-linia .names em{font-size:12cqw;margin:-.32em 0 -.3em 24cqw;color:#151515}
.th-linia.card .swirl{inset:auto -12% -55% 38%;width:85%;height:150%;opacity:.7}
.th-linia.tcard .swirl{inset:45% -20% -20% 20%;width:100%;height:80%}
.th-linia.board .swirl{inset:62% -8% -6% 48%;width:62%;height:46%;opacity:.7}
.th-pieczec.inv .in{padding:13cqw 11cqw 10cqw}
.th-pieczec.inv .names{font-size:10cqw}
.th-pieczec.inv .pre{margin-top:4cqw}
.th-pieczec.inv .when{margin-top:3cqw}
.th-pieczec.inv .pl{margin-top:2.2cqw}
.th-pieczec.inv .rsvp-by{margin-top:3.5cqw;max-width:52cqw}
.th-pieczec.inv .seal-wrap{width:19cqw;right:6cqw;bottom:6cqw}
.th-toskania.inv .in{padding:18cqw 14cqw 10cqw}
.th-toskania.inv .names{font-size:8.4cqw;margin:3cqw 0}
.th-linia .names em{font-family:"Great Vibes",cursive;font-size:13cqw}
.th-linia.card .swirl{inset:auto -34% -95% 64%;width:70%;height:180%;opacity:.75}
.th-linia.card .in{padding-right:22cqw}
