/* ============================================================
   RESUME BUILDER — engine styles + 8 templates
   ============================================================ */

.rb-layout{
  display:grid;
  grid-template-columns: minmax(360px, 460px) 1fr;
  gap:24px;
  align-items:start;
  margin:26px 0;
}
@media (max-width: 900px){ .rb-layout{grid-template-columns:1fr;} }

.rb-form-panel{max-height:none;}
.rb-form-panel h2{font-family:var(--display); font-size:1.05rem; margin:26px 0 12px;}
.rb-form-panel h2:first-child{margin-top:0;}

.rb-template-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(96px,1fr)); gap:10px; margin-bottom:8px;
}
.rb-tpl-btn{
  border:2px solid var(--line); border-radius:var(--radius); background:var(--paper-raised);
  padding:10px 6px 8px; cursor:pointer; font-family:var(--mono); font-size:.68rem; color:var(--ink-soft);
  text-align:center; line-height:1.3;
}
.rb-tpl-btn .swatch{
  height:38px; border-radius:2px; margin-bottom:6px;
  background:linear-gradient(180deg, var(--ink) 0 22%, transparent 22%);
}
.rb-tpl-btn.active{border-color:var(--brass); color:var(--ink); background:var(--white);}
.rb-tpl-btn .badge{display:block; font-size:.6rem; margin-top:3px; color:var(--verdigris);}
.premium-star{color:var(--amber);}

.rb-personal-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width:520px){.rb-personal-grid{grid-template-columns:1fr;}}

.section-block{
  border:1px solid var(--line); border-radius:var(--radius); padding:16px; margin:14px 0;
  background:var(--paper-raised);
}
.section-block-head{display:flex; align-items:center; gap:8px; margin-bottom:10px;}
.section-block-head input.section-title-input{
  flex:1; font-family:var(--display); font-weight:700; font-size:1rem;
  border:none; background:transparent; padding:4px 2px; color:var(--ink);
}
.section-block-head input.section-title-input:focus{outline:1px dashed var(--brass);}
.rb-icon-btn{
  border:1px solid var(--line); background:var(--white); border-radius:var(--radius);
  width:28px; height:28px; font-family:var(--mono); font-size:.8rem; cursor:pointer; color:var(--ink-soft);
  display:inline-flex; align-items:center; justify-content:center; padding:0;
}
.rb-icon-btn:hover{border-color:var(--brass); color:var(--brass-dark);}

.entry-block{border-top:1px dashed var(--line); padding-top:12px; margin-top:12px;}
.entry-block:first-of-type{border-top:none; padding-top:0; margin-top:0;}
.entry-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
@media (max-width:520px){.entry-grid{grid-template-columns:1fr;}}
.entry-block textarea{min-height:70px;}
.entry-remove-row{display:flex; justify-content:flex-end; margin-top:6px;}

.sub-entries-wrap{margin:10px 0 0 18px; padding-left:14px; border-left:2px solid var(--brass);}
.entry-block.entry-sub{
  border-top:none; margin-top:10px; padding:12px; background:var(--white);
  border:1px solid var(--line); border-radius:8px;
}
.rb-add-subentry{margin-top:10px; font-size:.78rem; padding:9px 14px;}

.rb-add-entry{margin-top:10px;}
.rb-skills-input{width:100%;}

.rb-new-section-row{
  display:flex; gap:8px; margin-top:18px; padding-top:16px; border-top:2px solid var(--ink);
}
.rb-new-section-row input{flex:1;}

.rb-actions{display:flex; gap:12px; margin-top:24px; flex-wrap:wrap;}

.rb-preview-panel{position:sticky; top:20px;}
.resume-preview-shell{
  background:#dfe2e7; border-radius:var(--radius); padding:20px; overflow:auto; max-height:85vh;
}
.resume-preview{
  background:#ffffff; color:#1a1a1a; width:100%; max-width:680px; margin:0 auto;
  padding:44px 46px; box-shadow:0 6px 24px rgba(0,0,0,.18); font-size:13.5px; line-height:1.45;
  min-height:880px;
}
.resume-preview *{box-sizing:border-box;}
.resume-preview .r-header{margin-bottom:16px;}
.resume-preview .r-name{font-size:1.9rem; font-weight:700; margin:0 0 2px; letter-spacing:.01em;}
.resume-preview .r-title{font-size:1.02rem; margin:0 0 8px; opacity:.85;}
.resume-preview .r-contact{font-size:.8rem; opacity:.8;}
.resume-preview .r-contact span:not(:last-child)::after{content:" · "; opacity:.6;}
.resume-preview .r-sec-title{
  font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700;
  margin:18px 0 8px; padding-bottom:4px; border-bottom:1.5px solid currentColor;
}
.resume-preview .r-section:first-of-type .r-sec-title{margin-top:0;}
.resume-preview .r-entry{margin-bottom:12px;}
.resume-preview .r-entry-top{display:flex; justify-content:space-between; gap:10px; font-weight:700;}
.resume-preview .r-subentries{margin:6px 0 2px 14px; padding-left:12px; border-left:2px solid currentColor; opacity:.95;}
.resume-preview .r-subentry{margin-bottom:8px; font-size:.94em;}
.resume-preview .r-subentry .r-entry-top{font-weight:600;}
.resume-preview .r-dates{font-weight:500; white-space:nowrap; opacity:.75; font-size:.85em;}
.resume-preview .r-entry-sub{font-style:italic; opacity:.85; margin:1px 0 4px; font-size:.92em;}
.resume-preview .r-entry-desc ul{margin:4px 0 0; padding-left:18px;}
.resume-preview .r-entry-desc li{margin-bottom:3px;}
.resume-preview .r-entry-desc p{margin:4px 0 0;}
.resume-preview .r-skills-pills{display:flex; flex-wrap:wrap; gap:6px;}
.resume-preview .r-skill-pill{
  border:1px solid currentColor; border-radius:3px; padding:2px 8px; font-size:.82em;
}
.resume-preview .r-summary-block p{margin:0;}

/* ---------- Template 1: ATS Classic ---------- */
.tpl-1{font-family: Georgia, 'Times New Roman', serif; color:#1a1a1a;}
.tpl-1 .r-name{font-family:Georgia, serif;}
.tpl-1 .r-sec-title{border-bottom-color:#1a1a1a;}

/* ---------- Template 2: ATS Sans ---------- */
.tpl-2{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c;}
.tpl-2 .r-sec-title{border-bottom-color:#1c1c1c; letter-spacing:.1em;}

/* ---------- Template 3: ATS Compact ---------- */
.tpl-3{font-family: 'Trebuchet MS', Arial, sans-serif; color:#1a1a1a; font-size:12.6px; line-height:1.35;}
.tpl-3 .r-name{font-size:1.6rem;}
.tpl-3 .r-sec-title{margin:12px 0 6px; font-size:.78rem;}
.tpl-3 .r-entry{margin-bottom:8px;}

/* ---------- Template 4: Executive Serif ---------- */
.tpl-4{font-family: Georgia, serif; color:#22201d;}
.tpl-4 .r-header{text-align:center; border-bottom:2px solid #22201d; padding-bottom:12px;}
.tpl-4 .r-name{letter-spacing:.03em;}
.tpl-4 .r-contact{justify-content:center;}
.tpl-4 .r-sec-title{text-align:left; border-bottom:none; border-top:1px solid #22201d; padding-top:6px; margin-top:20px;}

/* ---------- Template 5: Modern Accent ---------- */
.tpl-5{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c;}
.tpl-5 .r-name{color:#9C5E1E;}
.tpl-5 .r-sec-title{color:#9C5E1E; border-bottom-color:#9C5E1E;}
.tpl-5 .r-skill-pill{background:#9C5E1E; color:#fff; border-color:#9C5E1E;}

/* ---------- Template 6: Minimal Mono ---------- */
.tpl-6{font-family:'Courier New', Courier, monospace; color:#1a1a1a; font-size:12.5px;}
.tpl-6 .r-name{font-size:1.5rem;}
.tpl-6 .r-sec-title{border-bottom-style:dashed;}

/* ---------- Template 7: Sidebar Slate (visual, not ATS) ---------- */
.tpl-7{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c; padding:0;}
.tpl-7 .r-header{padding:34px 40px 18px; margin-bottom:0;}
.tpl-7 .resume-body{display:grid; grid-template-columns:34% 1fr; gap:0;}
.tpl-7 .r-sidebar{
  grid-column:1; grid-row:1; background:#2A3140; color:#EDEFF2; padding:22px 22px 30px; min-height:100%;
}
.tpl-7 .r-main{grid-column:2; grid-row:1; padding:22px 34px 30px;}
.tpl-7 .r-sidebar .r-sec-title{color:#EDEFF2; border-bottom-color:#5b6579;}
.tpl-7 .r-sidebar .r-skill-pill{border-color:#8b93a3; color:#EDEFF2;}

/* ---------- Template 8: Bold Banner ---------- */
.tpl-8{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c; padding:0;}
.tpl-8 .r-header{background:#1B2430; color:#fff; padding:30px 40px; margin-bottom:0;}
.tpl-8 .r-header .r-title{opacity:.85;}
.tpl-8 .r-header .r-contact{opacity:.85;}
.tpl-8 .resume-body{padding:24px 40px 30px;}

@media print{
  body *{visibility:hidden;}
  .resume-preview, .resume-preview *{visibility:visible;}
  .resume-preview{position:absolute; top:0; left:0; box-shadow:none; margin:0; max-width:100%;}
}

/* ---------- Template 14: Executive Navy (premium) ---------- */
.tpl-14{font-family: Georgia, serif; color:#1a1a1a; padding:0;}
.tpl-14 .r-header{background:#0F1E3C; color:#fff; padding:34px 42px; margin-bottom:0;}
.tpl-14 .r-header .r-name{letter-spacing:.02em;}
.tpl-14 .r-header .r-title, .tpl-14 .r-header .r-contact{color:#D4AF6A; opacity:1;}
.tpl-14 .resume-body{padding:26px 42px 30px;}
.tpl-14 .r-sec-title{color:#0F1E3C; border-bottom:2px solid #D4AF6A;}

/* ---------- Template 15: Sidebar Premium (light, visual) ---------- */
.tpl-15{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c; padding:0;}
.tpl-15 .r-header{padding:34px 40px 18px; margin-bottom:0;}
.tpl-15 .resume-body{display:grid; grid-template-columns:34% 1fr; gap:0;}
.tpl-15 .r-sidebar{grid-column:1; grid-row:1; background:#EFEAE0; color:#20304A; padding:22px; min-height:100%; border-right:3px solid #20304A;}
.tpl-15 .r-main{grid-column:2; grid-row:1; padding:22px 34px 30px;}
.tpl-15 .r-sidebar .r-sec-title{color:#20304A; border-bottom-color:#20304A;}
.tpl-15 .r-sidebar .r-skill-pill{border-color:#20304A; color:#20304A;}

/* ---------- Template 16: Minimalist Gold Line (premium) ---------- */
.tpl-16{font-family: 'IBM Plex Sans', Arial, sans-serif; color:#22252b;}
.tpl-16 .r-header{text-align:center; padding-bottom:14px;}
.tpl-16 .r-name{text-transform:uppercase; letter-spacing:.12em; font-size:1.5rem;}
.tpl-16 .r-title{letter-spacing:.04em; color:#a3833c;}
.tpl-16 .r-contact{justify-content:center;}
.tpl-16 .r-sec-title{text-align:center; border-bottom:1px solid #cbb37a; color:#a3833c; letter-spacing:.14em;}

/* ---------- font overrides (apply regardless of template) ---------- */
.resume-preview.font-override-sans, .resume-preview.font-override-sans *{
  font-family: 'IBM Plex Sans', Arial, Helvetica, sans-serif !important;
}
.resume-preview.font-override-serif, .resume-preview.font-override-serif *{
  font-family: Georgia, 'Times New Roman', Times, serif !important;
}
.resume-preview.font-override-mono, .resume-preview.font-override-mono *{
  font-family: 'IBM Plex Mono', 'Courier New', Courier, monospace !important;
}
.resume-preview.font-override-poppins, .resume-preview.font-override-poppins *{ font-family:'Poppins', sans-serif !important; }
.resume-preview.font-override-lato, .resume-preview.font-override-lato *{ font-family:'Lato', sans-serif !important; }
.resume-preview.font-override-firasans, .resume-preview.font-override-firasans *{ font-family:'Fira Sans', sans-serif !important; }
.resume-preview.font-override-hind, .resume-preview.font-override-hind *{ font-family:'Hind', sans-serif !important; }
.resume-preview.font-override-ptserif, .resume-preview.font-override-ptserif *{ font-family:'PT Serif', serif !important; }
.resume-preview.font-override-crimsontext, .resume-preview.font-override-crimsontext *{ font-family:'Crimson Text', serif !important; }
.resume-preview.font-override-spectral, .resume-preview.font-override-spectral *{ font-family:'Spectral', serif !important; }
.resume-preview.font-override-arvo, .resume-preview.font-override-arvo *{ font-family:'Arvo', serif !important; }
.tpl-17{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c; padding:0;}
.tpl-17 .r-header{background:#0F1E3C; color:#fff; padding:28px 40px; margin-bottom:0; border-bottom:8px solid #D4AF6A;}
.tpl-17 .r-header .r-title, .tpl-17 .r-header .r-contact{color:#D4AF6A;}
.tpl-17 .resume-body{padding:24px 40px 30px;}
.tpl-17 .r-sec-title{color:#0F1E3C; border-bottom-color:#D4AF6A;}

/* ---------- Template 9: Split Header (ATS-safe) ---------- */
.tpl-9{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c;}
.tpl-9 .r-header{
  display:flex; justify-content:space-between; align-items:flex-end; gap:16px;
  border-bottom:2px solid #1c1c1c; padding-bottom:12px; flex-wrap:wrap;
}
.tpl-9 .r-contact{display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right;}
.tpl-9 .r-contact span::after{content:none;}
.tpl-9 .r-sec-title{border-bottom-color:#1c1c1c;}

/* ---------- Template 10: Timeline (ATS-safe) ---------- */
.tpl-10{font-family: 'IBM Plex Sans', Arial, sans-serif; color:#1a1a1a;}
.tpl-10 .r-sec-title{border-bottom:none; color:#2A5C8A;}
.tpl-10 .r-entry{position:relative; padding-left:16px; border-left:2px solid #2A5C8A; margin-bottom:14px;}
.tpl-10 .r-entry::before{
  content:""; position:absolute; left:-5px; top:4px; width:8px; height:8px; border-radius:50%;
  background:#2A5C8A;
}

/* ---------- Template 11: Elegant Grey (ATS-safe) ---------- */
.tpl-11{font-family: Georgia, serif; color:#33363b;}
.tpl-11 .r-name{color:#33363b; text-transform:uppercase; letter-spacing:.06em; font-size:1.6rem;}
.tpl-11 .r-title{color:#787d85; font-style:italic;}
.tpl-11 .r-sec-title{color:#787d85; border-bottom-color:#c9ccd1; font-weight:600;}

/* ---------- Template 12: Tech Accent (ATS-safe) ---------- */
.tpl-12{font-family:'Courier New', Courier, monospace; color:#1a1a1a; font-size:12.5px;}
.tpl-12 .r-name{color:#0E7C86;}
.tpl-12 .r-sec-title{border-bottom-color:#0E7C86; color:#0E7C86;}
.tpl-12 .r-skill-pill{background:#0E7C86; color:#fff; border-color:#0E7C86;}

/* ---------- Template 13: Teal Banner (visual, not ATS) ---------- */
.tpl-13{font-family: Arial, Helvetica, sans-serif; color:#1c1c1c; padding:0;}
.tpl-13 .r-header{background:#0E7C86; color:#fff; padding:30px 40px; margin-bottom:0;}
.tpl-13 .r-header .r-title, .tpl-13 .r-header .r-contact{opacity:.9;}
.tpl-13 .resume-body{padding:24px 40px 30px;}
.tpl-13 .r-sec-title{color:#0E7C86; border-bottom-color:#0E7C86;}
