/* ═══════════════════════════════════════════════════════════════════════

   HTML template family: Photo Guestbook

   Layout:

     Portrait  — centred title, icon below title, QR, subtitle below QR

     Landscape — title + icon + instruction on the left; QR + names/date on the right



   Class name map (mirrors share-the-love.css and modern-stamp.css so the

   existing JS field-population code works without modification):

     .qr-html-card__title-script  → card title   (e.g. "Comparte") — serif spaced

     .qr-html-card__subtitle      → subtitle 1   (e.g. "Álbum de fotos") — script, one line

     .qr-html-card__instruction   → subtitle 2 / instruction text

     .qr-html-card__qr            → QR image

     .qr-html-card__names         → couple names (script)

     .qr-html-card__date          → date (very small, muted)



     - Cormorant Garamond  (weight 500 — card title)

     - Dancing Script      (weight 600 — subtitle 1, names)

     - Montserrat          (weight 300 — instruction, date)

   ═══════════════════════════════════════════════════════════════════════ *//* ── Card shell ── */.qr-html-card--photo-guest{position:relative;box-sizing:border-box;background:#ffffff;color:#1a1a1a;overflow:hidden}/* ── Portrait — 560×770 ── */.qr-html-card--photo-guest.qr-html-card--large{width:560px;height:770px;padding:48px 48px 52px;display:flex;flex-direction:column;align-items:center;--pg-qr-size:224px}.qr-html-card--photo-guest .qr-html-card__icon-img{width:100%;height:100%;object-fit:contain;display:block}.qr-html-card--photo-guest .qr-html-card__icon-img:not([src]),.qr-html-card--photo-guest .qr-html-card__icon-img[src=""]{visibility:hidden}.qr-html-card--photo-guest .qr-html-card__icon-wrap[hidden]{display:none !important}/* Icon: centred below the title */.qr-html-card--photo-guest.qr-html-card--large .qr-html-card__icon-wrap{display:flex;align-items:center;justify-content:center;width:148px;height:148px;margin-top:8px}/* ── Header (portrait) ── */.qr-html-card--photo-guest.qr-html-card--large .qr-html-card__header{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}/* Card title — spaced serif uppercase ("Comparte") */.qr-html-card--photo-guest .qr-html-card__title-script{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-style:normal;font-size:28px;letter-spacing:0.52em;text-transform:uppercase;line-height:1;margin:0;color:#1a1a1a;text-align:center}/* Subtitle 1 — script, slightly smaller, single line ("Álbum de fotos") */.qr-html-card--photo-guest .qr-html-card__subtitle{font-family:'Dancing Script',cursive;font-weight:600;font-size:64px;line-height:1.05;letter-spacing:0;margin:2px 0 0;color:#1a1a1a;text-align:center;white-space:nowrap;max-width:100%}.qr-html-card--photo-guest .qr-html-card__subtitle[hidden]{display:none}/* ── Instruction (subtitle below QR) ── */.qr-html-card--photo-guest.qr-html-card--large .qr-html-card__instruction{position:static;transform:none;left:auto;top:auto;width:82%;margin-top:8px}.qr-html-card--photo-guest .qr-html-card__instruction{font-family:'Montserrat',sans-serif;font-weight:300;font-size:11px;letter-spacing:0.11em;text-transform:uppercase;text-align:center;line-height:1.9;color:#1a1a1a}.qr-html-card--photo-guest .qr-html-card__instruction p{margin:0}/* ── QR (portrait) ── */.qr-html-card--photo-guest.qr-html-card--large .qr-html-card__qr-wrap{flex:1 1 auto;position:relative;width:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:8px}.qr-html-card--photo-guest.qr-html-card--large .qr-html-card__qr{width:var(--pg-qr-size);height:var(--pg-qr-size);object-fit:contain;display:block}/* ── Footer (portrait) ── */.qr-html-card--photo-guest.qr-html-card--large .qr-html-card__footer{text-align:center;width:100%;padding-bottom:4px;margin-top:8px}.qr-html-card--photo-guest .qr-html-card__names{font-family:'Dancing Script',cursive;font-weight:600;font-size:46px;line-height:1;margin:0;color:#1a1a1a;display:inline-block}.qr-html-card--photo-guest .qr-html-card__date{font-family:'Montserrat',sans-serif;font-weight:300;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;margin:10px 0 0;color:#6e6e68;display:block}.qr-html-card--photo-guest .qr-html-card__names[hidden],.qr-html-card--photo-guest .qr-html-card__date[hidden]{display:none}/* ── Landscape — 756×432 ── */.qr-html-card--photo-guest.qr-html-card--small{width:756px;height:432px;padding:28px 32px;column-gap:20px}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__icon-wrap{display:flex;align-items:center;justify-content:center;width:100%;margin-top:8px}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__icon-img{width:88px;height:88px}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__body{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:0;padding:0 8px}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__header{display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__title-script{font-size:20px;letter-spacing:0.45em;text-align:center}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__subtitle{font-size:42px;line-height:1;text-align:center}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__instruction{font-size:10px;letter-spacing:0.08em;line-height:1.7;text-align:center;width:100%;max-width:100%;margin:10px 0 0;flex-shrink:0}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__qr-wrap{min-height:0;gap:8px;padding-right:8px}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__qr{width:156px;height:156px;flex-shrink:0}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__qr-wrap .qr-html-card__footer{text-align:center;width:100%;max-width:100%;margin:0;flex-shrink:0}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__names{font-size:28px}.qr-html-card--photo-guest.qr-html-card--small .qr-html-card__date{font-size:9px;margin-top:4px}