:root{
  --brand:#1a3c6e;
  --brand-dark:#122a4e;
  --accent:#0d9488;
  --bg-soft:#f5f8fc;
}
body{font-family:'Hind Siliguri','Poppins',sans-serif;background:#fff;color:#1f2937;}
h1,h2,h3,h4,h5,.navbar-brand{font-family:'Poppins','Hind Siliguri',sans-serif;}
a{text-decoration:none;}
.footer-link{color:rgba(255,255,255,.65);} .footer-link:hover{color:#fff;}

.btn-primary-brand{background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-primary-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn-accent:hover{filter:brightness(0.92);color:#fff;}

.hero-section{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;padding:80px 0;}
.hero-section p{color:rgba(255,255,255,.85);}
.step-number{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;}
.category-card,.template-card,.pricing-card,.feature-card{border:1px solid #e5e7eb;border-radius:16px;transition:.2s;height:100%;}
.category-card:hover,.template-card:hover,.pricing-card:hover{box-shadow:0 10px 30px rgba(26,60,110,.12);transform:translateY(-4px);}
.pricing-card.featured{border:2px solid var(--accent);}
.price-tag{font-size:2rem;font-weight:700;color:var(--brand);}
.footer-brand{background:var(--brand-dark);}
.progress-steps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2rem;}
.progress-steps .pstep{flex:1;min-width:90px;text-align:center;padding:8px 4px;border-radius:8px;background:#eef2f7;font-size:.78rem;color:#6b7280;}
.progress-steps .pstep.active{background:var(--brand);color:#fff;font-weight:600;}
.progress-steps .pstep.done{background:var(--accent);color:#fff;}
.builder-card{border-radius:16px;border:1px solid #e5e7eb;}

/* ---------- Watermark ---------- */
.watermark-wrap{position:relative;overflow:hidden;}
.watermark-wrap::before{
  content: attr(data-watermark);
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap;
  font-size:2.2rem; font-weight:800; color:#e11d48;
  opacity: var(--wm-opacity,0.18);
  transform:rotate(-30deg) scale(1.4);
  pointer-events:none; z-index:5; text-align:center; line-height:5;
  user-select:none;
}

/* ---------- Resume rendering (shared by preview / print / pdf) ---------- */
.resume-doc{background:#fff;max-width:800px;margin:0 auto;padding:40px;font-size:14px;color:#111;box-shadow:0 0 20px rgba(0,0,0,.08);}
.resume-doc h1{font-size:1.6rem;margin-bottom:0;}
.resume-doc .role-line{color:var(--doc-accent,#1a3c6e);font-weight:600;}
.resume-doc .section-title{color:var(--doc-accent,#1a3c6e);border-bottom:2px solid var(--doc-accent,#1a3c6e);padding-bottom:4px;margin-top:22px;margin-bottom:10px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.5px;}
.resume-doc .photo-box{width:110px;height:130px;object-fit:cover;border-radius:6px;border:1px solid #ddd;}
.resume-doc.layout-modern .section-title{border-bottom:none;background:var(--doc-accent,#0d9488);color:#fff;padding:4px 10px;border-radius:4px;}
.resume-doc.layout-corporate{border-top:8px solid var(--doc-accent,#7c2d12);}
.resume-doc.layout-minimal .section-title{border-bottom:1px solid #ccc;color:#111;text-transform:none;letter-spacing:0;font-weight:700;}
.resume-doc .entry{margin-bottom:10px;}
.resume-doc .entry .meta{color:#6b7280;font-size:.85em;}

@media print{
  .no-print{display:none !important;}
  body{background:#fff;}
  .resume-doc{box-shadow:none;margin:0;max-width:100%;}
}
