/* ── PDF Report Styles ────────────────────────────────────────────────────── */

#pdf-render-zone {
  position: fixed;
  top: 0; left: -9999px;
  width: 794px;
  z-index: -1;
  pointer-events: none;
}

.pdf-page {
  width: 794px;
  min-height: 1123px;
  height: 1123px;
  overflow: hidden;
  box-sizing: border-box;
  background: #0D0D0D;
  font-family: 'Inter', sans-serif;
  color: #FAFAF8;
  position: relative;
}

/* Cover */
.pdf-cover { background:#0D0D0D; color:#FAFAF8; padding:72px; display:flex; flex-direction:column; justify-content:space-between; }
.pdf-cover-top { display:flex; align-items:center; justify-content:space-between; }
.pdf-cover-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.6rem; font-weight:600; color:#C8A96E; }
.pdf-cover-tag { font-size:0.68rem; letter-spacing:0.25em; text-transform:uppercase; color:rgba(200,169,110,0.6); }
.pdf-cover-center { text-align:center; }
.pdf-cover-emoji { font-size:4.5rem; display:block; margin-bottom:1.5rem; line-height:1; }
.pdf-cover-type { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:4.5rem; font-weight:600; color:#C8A96E; line-height:1; margin-bottom:1rem; letter-spacing:-0.02em; }
.pdf-cover-subtitle { font-size:0.8rem; letter-spacing:0.3em; text-transform:uppercase; color:rgba(250,250,248,0.55); margin-bottom:2rem; }
.pdf-cover-rule { width:60px; height:1px; background:#C8A96E; margin:0 auto; }
.pdf-cover-bottom { text-align:center; }
.pdf-cover-report-title { font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(250,250,248,0.45); }

/* Inner pages */
.pdf-inner { padding:56px 64px; display:flex; flex-direction:column; justify-content:flex-start; }
.pdf-page-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; padding-bottom:14px; border-bottom:1px solid rgba(200,169,110,0.25); }
.pdf-page-eyebrow { font-size:0.65rem; letter-spacing:0.28em; text-transform:uppercase; color:#C8A96E; font-weight:600; }
.pdf-page-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:#C8A96E; opacity:0.8; }

/* Typography */
.pdf-h1 { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:3rem; font-weight:600; color:#C8A96E; line-height:1.05; letter-spacing:-0.02em; margin:0 0 0.4rem; }
.pdf-h2 { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:2.2rem; font-weight:600; color:#FAFAF8; margin:0 0 0.75rem; }
.pdf-h3 { font-size:0.68rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:#C8A96E; margin:0 0 0.5rem; }
.pdf-body { font-size:0.88rem; line-height:1.85; color:#D5D0C5; margin:0 0 0.85rem; }
.pdf-gold-rule { width:50px; height:1px; background:#C8A96E; margin:1.25rem 0; }

/* Dark Card Box */
.pdf-card-box { background:#141414; border:1px solid rgba(200,169,110,0.2); border-radius:12px; padding:1.4rem 1.6rem; margin-top:1.25rem; }

/* Traits */
.pdf-traits { display:flex; flex-wrap:wrap; gap:0.5rem; margin-top:1rem; }
.pdf-trait-chip { font-size:0.72rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:#C8A96E; border:1px solid rgba(200,169,110,0.4); background:rgba(200,169,110,0.06); padding:0.35rem 0.85rem; border-radius:100px; }

/* DNA */
.pdf-dna-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.75rem; margin-top:1.25rem; }
.pdf-dna-col-title { font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase; color:#C8A96E; font-weight:600; margin-bottom:0.85rem; }
.pdf-note-list { list-style:none; padding:0; margin:0; }
.pdf-note-item { font-size:0.85rem; color:#E5E0D8; padding:0.4rem 0; border-bottom:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; gap:0.5rem; }
.pdf-note-item::before { content:'✦'; color:#C8A96E; font-size:0.55rem; flex-shrink:0; }

/* Fragrance cards */
.pdf-frag-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; flex:1; }
.pdf-frag-card { background:#141414; border:1px solid rgba(200,169,110,0.2); border-radius:12px; padding:1.4rem; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.pdf-frag-accent { position:absolute; top:0; left:0; right:0; height:3px; }
.pdf-frag-house { font-size:0.62rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:#C8A96E; margin-bottom:0.2rem; margin-top:0.35rem; }
.pdf-frag-name { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.5rem; font-weight:600; color:#FFFFFF; line-height:1.1; margin-bottom:0.4rem; }
.pdf-frag-family { font-size:0.65rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:rgba(250,250,248,0.6); margin-bottom:0.6rem; }
.pdf-frag-desc { font-size:0.76rem; line-height:1.7; color:#C2BBB0; margin-bottom:0.75rem; flex:1; }
.pdf-frag-notes-label { font-size:0.58rem; letter-spacing:0.15em; text-transform:uppercase; color:#C8A96E; margin-bottom:0.2rem; }
.pdf-frag-notes { font-size:0.72rem; color:#E2DDD5; margin-bottom:0.75rem; }
.pdf-frag-footer { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:0.75rem; border-top:1px solid rgba(255,255,255,0.08); }
.pdf-frag-price { font-size:0.8rem; font-weight:700; color:#C8A96E; }
.pdf-frag-season { font-size:0.65rem; color:#999; }

/* Wardrobe */
.pdf-wardrobe-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.25rem; margin-top:1.5rem; }
.pdf-wardrobe-col { background:#141414; border:1px solid rgba(200,169,110,0.2); border-radius:12px; padding:1.4rem; }
.pdf-wardrobe-role { font-size:0.62rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:#C8A96E; margin-bottom:0.6rem; }
.pdf-wardrobe-name { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.3rem; font-weight:600; color:#FFFFFF; margin-bottom:0.2rem; }
.pdf-wardrobe-house { font-size:0.68rem; color:#999; margin-bottom:0.5rem; }
.pdf-wardrobe-why { font-size:0.74rem; color:#C2BBB0; line-height:1.65; }

/* Calendar */
.pdf-calendar-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:1.5rem; }
.pdf-cal-season { background:#141414; border:1px solid rgba(200,169,110,0.2); border-radius:12px; padding:1.4rem; }
.pdf-cal-season-name { font-size:0.68rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:#C8A96E; margin-bottom:0.75rem; }
.pdf-cal-item { font-size:0.76rem; color:#D5D0C5; padding:0.3rem 0; display:flex; align-items:flex-start; gap:0.4rem; line-height:1.6; }
.pdf-cal-item::before { content:'—'; color:#C8A96E; flex-shrink:0; }

/* Insider houses */
.pdf-house-list { display:flex; flex-direction:column; gap:1.25rem; margin-top:1rem; }
.pdf-house-row { display:flex; gap:1.25rem; padding-bottom:1.1rem; border-bottom:1px solid rgba(255,255,255,0.08); }
.pdf-house-num { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:2rem; font-weight:600; color:#C8A96E; line-height:1; min-width:32px; }
.pdf-house-name { font-size:0.88rem; font-weight:700; color:#FFFFFF; margin-bottom:0.25rem; }
.pdf-house-desc { font-size:0.76rem; color:#C2BBB0; line-height:1.7; }

/* Application guide */
.pdf-guide-section { margin-bottom:1.25rem; background:#141414; border:1px solid rgba(200,169,110,0.2); border-radius:12px; padding:1.25rem 1.5rem; }
.pdf-guide-title { font-size:0.68rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:#C8A96E; margin-bottom:0.5rem; }
.pdf-guide-items { list-style:none; padding:0; margin:0; }
.pdf-guide-item { font-size:0.78rem; color:#D5D0C5; line-height:1.7; padding:0.2rem 0 0.2rem 1.2rem; position:relative; }
.pdf-guide-item::before { content:'✦'; color:#C8A96E; font-size:0.52rem; position:absolute; left:0; top:0.5rem; }

/* Glossary */
.pdf-glossary-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 2.5rem; margin-top:1rem; }
.pdf-gloss-term { font-size:0.78rem; font-weight:700; color:#C8A96E; margin-bottom:0.18rem; }
.pdf-gloss-def { font-size:0.74rem; color:#C2BBB0; line-height:1.65; }

/* Thank you page */
.pdf-thankyou { background:#0D0D0D; color:#FAFAF8; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:72px; }
.pdf-thankyou-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:2.8rem; font-weight:600; color:#C8A96E; margin-bottom:1.5rem; }
.pdf-thankyou-msg { font-size:0.92rem; color:rgba(250,250,248,0.75); max-width:480px; line-height:1.9; margin-bottom:2rem; }
.pdf-thankyou-affiliate { font-size:0.65rem; color:rgba(250,250,248,0.35); max-width:520px; line-height:1.75; border-top:1px solid rgba(200,169,110,0.2); padding-top:1.5rem; margin-top:auto; }

/* ── Lock section (on results page) ── */
.pdf-lock-section { margin-top:3rem; background:linear-gradient(135deg,rgba(200,169,110,0.06) 0%,rgba(0,0,0,0.3) 100%); border:1px solid var(--gold-border); border-radius:16px; padding:2.5rem; text-align:center; }
.pdf-lock-icon { font-size:2.5rem; margin-bottom:0.75rem; }
.pdf-lock-title { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.8rem; font-weight:600; color:white; margin-bottom:0.5rem; }
.pdf-lock-desc { font-size:0.88rem; color:var(--text-secondary); max-width:500px; margin:0 auto 1.5rem; line-height:1.65; }
.pdf-lock-features { display:flex; justify-content:center; flex-wrap:wrap; gap:0.5rem; margin-bottom:2rem; }
.pdf-lock-feature { font-size:0.72rem; color:var(--gold); border:1px solid var(--gold-border); padding:0.28rem 0.75rem; border-radius:100px; }
.pdf-key-form { display:flex; gap:0.75rem; max-width:480px; margin:0 auto; flex-wrap:wrap; }
.pdf-key-input { flex:2; min-width:220px; background:rgba(255,255,255,0.04); border:1px solid var(--border); border-radius:8px; padding:0.75rem 1rem; color:white; font-size:0.88rem; outline:none; font-family:'Inter',sans-serif; letter-spacing:0.05em; transition:border-color 0.2s; }
.pdf-key-input:focus { border-color:var(--gold-border); }
.pdf-key-input::placeholder { color:var(--text-muted); }
.pdf-key-msg { font-size:0.82rem; margin-top:0.75rem; font-weight:600; min-height:1.2em; }
.pdf-key-msg.success { color:#2a7a4a; }
.pdf-key-msg.error { color:#c0392b; }

/* ── Progress overlay ── */
.pdf-progress-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.9); z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem; }
.pdf-progress-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.8rem; color:#C8A96E; }
.pdf-progress-msg { font-size:0.88rem; color:rgba(255,255,255,0.65); letter-spacing:0.04em; }
.pdf-progress-bar-track { width:260px; height:2px; background:rgba(255,255,255,0.1); border-radius:2px; overflow:hidden; }
.pdf-progress-bar-fill { height:100%; background:#C8A96E; border-radius:2px; transition:width 0.4s ease; }
