/* ═══════════════════════════════════════════════════════════════════════
   HTML template family: Modern Stamp
   Single card layout; seal icon and double border are optional add-ons
   applied at runtime via tool.js.

   Fonts required (load via <link> in the page head, same way Great
   Vibes / Playfair Display are currently loaded):
     - Fraunces        (italic, weight 500 and 600)
     - Space Grotesk    (weight 400 and 500)

   Field classes are intentionally identical to share-the-love.css
   (__title-script, __instruction, __names, __date, __qr, __qr-wrap)
   so the existing JS that fills those fields keeps working unchanged.
   ═══════════════════════════════════════════════════════════════════════ *//* ── Card shell (portrait — 560×770 export) ── */.qr-html-card--modern{box-sizing:border-box;background:#ffffff;color:#141414;position:relative;overflow:hidden}.qr-html-card--modern.qr-html-card--large{width:560px;height:770px;padding:56px 48px;display:flex;flex-direction:column;align-items:center;gap:18px}/* ── Seal (the icon stamp) ── */.qr-html-card--modern .qr-html-card__seal{width:92px;height:92px;border-radius:50%;border:1px solid #141414;display:flex;align-items:center;justify-content:center;background:#ffffff;z-index:1}.qr-html-card--modern .qr-html-card__seal svg{width:44px;height:44px;color:#141414}/* ── Header / title ── */.qr-html-card--modern .qr-html-card__header{display:flex;flex-direction:column;align-items:center;gap:16px;z-index:1;width:100%}.qr-html-card--modern .qr-html-card__title-script{font-family:'Fraunces',serif;font-style:italic;font-weight:500;font-size:60px;line-height:1.1;margin:0;color:#141414;text-align:center}/* ── Instruction (ticket-style label) ── */.qr-html-card--modern .qr-html-card__instruction{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:14px;letter-spacing:0.28em;text-transform:uppercase;text-align:center;color:#141414;margin:0;padding:10px 0;border-top:1px solid #141414;border-bottom:1px solid #141414;width:84%;z-index:1}.qr-html-card--modern .qr-html-card__instruction p{margin:0}/* ── QR ── */.qr-html-card--modern.qr-html-card--large .qr-html-card__qr-wrap{flex:1 1 auto}.qr-html-card--modern .qr-html-card__qr-wrap{display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;z-index:1}.qr-html-card--modern .qr-html-card__qr{width:200px;height:200px;object-fit:contain;display:block}/* ── Footer (names + date) ── */.qr-html-card--modern .qr-html-card__footer{text-align:center;width:100%;z-index:1}.qr-html-card--modern .qr-html-card__names{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:32px;line-height:1.2;margin:0;color:#141414;transform:rotate(1deg);display:inline-block}.qr-html-card--modern .qr-html-card__date{font-family:'Space Grotesk',sans-serif;font-weight:400;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;margin:10px 0 0;color:#6e6e68;display:block}.qr-html-card--modern .qr-html-card__date[hidden],.qr-html-card--modern .qr-html-card__names[hidden]{display:none}/* ── Card shell (landscape — 756×432 export) ── */.qr-html-card--modern.qr-html-card--small{width:756px;height:432px;padding:28px 32px;column-gap:20px}.qr-html-card--modern.qr-html-card--small .qr-html-card__body{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;padding:0 8px;z-index:1}.qr-html-card--modern.qr-html-card--small .qr-html-card__header{gap:10px}.qr-html-card--modern.qr-html-card--small .qr-html-card__seal{width:64px;height:64px}.qr-html-card--modern.qr-html-card--small .qr-html-card__seal svg{width:30px;height:30px}.qr-html-card--modern.qr-html-card--small .qr-html-card__title-script{font-size:46px;max-width:100%}.qr-html-card--modern.qr-html-card--small .qr-html-card__instruction{font-size:12px;letter-spacing:0.1em;line-height:1.45;width:100%;max-width:100%;padding:8px 0}.qr-html-card--modern.qr-html-card--small .qr-html-card__qr-wrap{min-height:0;gap:8px;padding-right:10px}.qr-html-card--modern.qr-html-card--small .qr-html-card__qr{width:160px;height:160px;flex-shrink:0}.qr-html-card--modern.qr-html-card--small .qr-html-card__header{width:100%;max-width:100%}.qr-html-card--modern.qr-html-card--small .qr-html-card__footer{width:100%;max-width:100%;text-align:center;margin:0;flex-shrink:0}.qr-html-card--modern.qr-html-card--small .qr-html-card__names{font-size:24px;transform:none}.qr-html-card--modern.qr-html-card--small .qr-html-card__date{font-size:10px;margin-top:4px}