/* SaveResume — Guided Builder template styles
 * Styles for the .page contents produced by sr-builder-render.js.
 * Kept separate from sr-core.css since these are simpler, form-driven
 * layouts rather than the freely-editable template catalog.
 */
:root{--sr-page-w:215.9mm;--sr-page-h:279.4mm}
.page{width:var(--sr-page-w);min-height:var(--sr-page-h);background:#fff;position:relative;overflow:hidden;font-family:Arial,Helvetica,sans-serif;color:#1f2937}
.page,.page *{overflow-wrap:break-word;word-break:break-word}

/* ---------------------------------------------------------------------- *
 * Multi-page pagination -- a resume with enough content flows across
 * 2 or 3 printed pages (see sr-builder-wizard.js, which just calls
 * window.print() and lets this CSS -- plus the natural, un-shrunk
 * page height -- do the pagination) rather than being forced onto
 * one page. These rules keep it looking intentional: a whole labeled
 * sidebar subsection (Hobbies, Languages, Certifications...) stays
 * together rather than splitting mid-list, a single experience or
 * education entry never splits mid-item, and a section heading is
 * never stranded alone at the bottom of a page with its content
 * pushed to the next one.
 * ---------------------------------------------------------------------- */
.bldc-side-block{break-inside:avoid;page-break-inside:avoid}
.bldc-item{break-inside:avoid;page-break-inside:avoid}
.bldc-h,.bldc-h-pill,.bldc-h-fullbar{break-after:avoid;page-break-after:avoid}
.bldc-side-block h3,.bldc-side-h-pill{break-after:avoid;page-break-after:avoid}

/* ---- shared section rhythm ---- */
.bld-section{padding:0 0 4px}
.bld-item{margin-bottom:20px;break-inside:avoid;page-break-inside:avoid}
.bld-item:last-child{margin-bottom:0}
.bld-item-row{display:flex;justify-content:space-between;gap:14px;font-size:14.5px}
.bld-item-sub{font-size:13px;color:#6b7280;margin-top:2px}
.bld-item-desc{font-size:13px;line-height:1.7;color:#374151;margin-top:6px;white-space:pre-line}
.bld-date{font-size:12px;color:#6b7280;white-space:nowrap}
.bld-objective{font-size:13.5px;line-height:1.75;color:#374151;margin:0 0 8px}
.bld-skills-row{display:flex;flex-wrap:wrap;gap:8px}
.bld-extra-item{margin-bottom:10px;break-inside:avoid;page-break-inside:avoid}
.bld-extra-title{font-size:12px;font-weight:700}
.bld-extra-sub{font-weight:400;color:#6b7280;font-size:11px}
.bld-extra-desc{font-size:13px;color:#374151;line-height:1.7}
.bld-h-classic,.bld-h-sidebar,.bld-h-sidebar-side,.bld-h-bold,.bld-h-minimal,.bld-h-exec{break-after:avoid;page-break-after:avoid}
.bld-side-block{break-inside:avoid;page-break-inside:avoid}

/* ---- Classic: centered header, single column ---- */
.bld-classic{padding:46px 54px}
.bld-header-classic{text-align:center;margin-bottom:22px;padding-bottom:16px;border-bottom:2px solid #1f2937}
.bld-header-classic h1{font-size:30px;letter-spacing:1px;margin:0 0 4px}
.bld-role{font-size:12.5px;color:#4b5563;letter-spacing:.5px;text-transform:uppercase}
.bld-contact{font-size:12.5px;color:#6b7280;margin-top:10px}
.bld-h-classic{font-size:15px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;border-bottom:1px solid #d1d5db;padding-bottom:5px;margin:26px 0 14px}
.bld-classic .bld-skill-chip{background:#f3f4f6;border-radius:5px;padding:4px 10px;font-size:11px}

/* ---- Modern Sidebar: two column, colored sidebar ---- */
.bld-sidebar-wrap{display:grid;grid-template-columns:200px 1fr;min-height:var(--sr-page-h,279.4mm)}
.bld-sidebar{background:#1f2b47;color:#fff;padding:42px 28px}
.bld-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:22px;display:block;border:3px solid rgba(255,255,255,.5)}
.bld-side-block{margin-bottom:24px}
.bld-side-block h3{font-size:13.5px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 10px;color:#93c5fd}
.bld-side-contact{font-size:10.5px;margin-bottom:6px;word-break:break-word;opacity:.9}
.bld-side-item{font-size:12.5px;margin-bottom:13px;line-height:1.6}
.bld-side-date{color:#93c5fd;font-size:10px}
.bld-side-skill{font-size:12.5px;margin-bottom:7px;opacity:.9}
.bld-h-sidebar-side{font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 10px;color:#93c5fd;font-weight:800}
.bld-main{padding:40px 40px 40px 34px}
.bld-main h1{font-size:30px;margin:0 0 2px;color:#1f2b47}
.bld-main .bld-role{color:#4b5563}
.bld-h-sidebar{font-size:15px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;color:#1f2b47;border-bottom:2px solid #1f2b47;padding-bottom:5px;margin:26px 0 14px}

/* ---- Bold Header: color band, left-aligned ---- */
.bld-bold{min-height:var(--sr-page-h,279.4mm)}
.bld-header-bold{background:#0f4c5c;color:#fff;padding:44px 54px}
.bld-header-bold h1{font-size:32px;margin:0 0 4px}
.bld-header-bold .bld-role{color:#a7d8e0;letter-spacing:.5px;text-transform:uppercase;font-size:12px}
.bld-header-bold .bld-contact{color:#d7edf1;margin-top:10px;font-size:11px}
.bld-bold-body{padding:38px 54px}
.bld-h-bold{font-size:15px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;color:#0f4c5c;margin:24px 0 14px}
.bld-skill-chip-bold{background:#e4f2f4;color:#0f4c5c;border-radius:5px;padding:4px 10px;font-size:11px}

@page{margin:0}
@media print{
  /* Mobile browsers' print/PDF pipeline generally has no user-facing
     toggle for "print background colors" the way desktop print dialogs
     do, and defaults to suppressing them to save ink -- without this,
     every colored sidebar/header/stat-panel in every template silently
     turns white on a phone export even though desktop looks correct. */
  html,body,.page,.page *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    color-adjust:exact!important;
  }
  .bld-top,.bld-form-col,.bld-toast{display:none!important}
  .bld-shell{display:block!important}
  .bld-preview-col{display:block!important;padding:0!important;overflow:visible!important}
  .bld-preview-scale{zoom:1!important}
  #bldPreviewPage{box-shadow:none!important;margin:0!important}
  /* The photo-size slider is editor UI, not resume content -- it must
     never appear in a printed/exported page no matter how printing
     was triggered (button, Ctrl+P, right-click). This is the one
     place that check is guaranteed to run regardless of trigger,
     same reasoning as the security block below. */
  #bldPhotoResize{display:none!important}

  /* Security: see the matching block in sr-core.css for why this check
     has to live here (in print CSS) rather than in JS -- this is the
     one thing that still applies no matter how printing was triggered,
     including completely outside this app's own Download button. */
  body:not(.resume-print-authorized) .page,
  body:not(.resume-print-authorized) .page *{
    color:transparent!important;background:#e9edf3!important;border-color:transparent!important;
    box-shadow:none!important;filter:blur(9px);
  }
  body:not(.resume-print-authorized)::after{
    content:"This resume hasn't been exported through SaveResume Pro. Sign in and subscribe at saveresume.com to download the finished PDF.";
    position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
    text-align:center;padding:60px;background:rgba(255,255,255,.94);
    font:700 22px/1.5 Arial,Helvetica,sans-serif;color:#0b1526;
  }
}

/* ---- Minimal ATS: plain, high-contrast, no color, built for scanners ---- */
.bld-minimal{padding:44px 56px}
.bld-header-minimal{margin-bottom:20px}
.bld-header-minimal h1{font-size:28px;letter-spacing:.5px;margin:0 0 3px;font-weight:800}
.bld-minimal .bld-role{font-size:13.5px;color:#374151;font-weight:700}
.bld-minimal .bld-contact{font-size:12.5px;color:#4b5563;margin-top:10px}
.bld-h-minimal{font-size:14.5px;letter-spacing:1px;text-transform:uppercase;font-weight:800;color:#111827;border-bottom:1.5px solid #111827;padding-bottom:4px;margin:24px 0 12px}
.bld-minimal-skills{font-size:11.5px;color:#374151;margin:0}

/* ---- Executive: serif, refined, senior-level ---- */
.bld-exec{padding:48px 58px;font-family:Georgia,'Times New Roman',serif}
.bld-header-exec{text-align:center;margin-bottom:20px}
.bld-header-exec h1{font-size:32px;letter-spacing:2px;margin:0;font-weight:400}
.bld-exec .bld-role{font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:#6b5b3f;margin-top:4px}
.bld-exec-rule{width:60px;height:2px;background:#6b5b3f;margin:14px auto}
.bld-exec .bld-contact{font-size:10.5px;color:#6b7280}
.bld-h-exec{font-size:15px;letter-spacing:2px;text-transform:uppercase;font-weight:400;color:#6b5b3f;text-align:center;margin:26px 0 14px;font-style:italic}
.bld-exec .bld-item-row{font-family:Arial,Helvetica,sans-serif}
.bld-item-sub-exec{font-style:italic}
.bld-exec .bld-item-desc{font-family:Arial,Helvetica,sans-serif}
.bld-skill-chip-exec{display:inline-block;border:1px solid #6b5b3f;color:#6b5b3f;border-radius:2px;padding:3px 10px;font-size:10.5px;margin:0 6px 6px 0;font-family:Arial,Helvetica,sans-serif}

/* ---- Catalog adaptations (classic editor's 20 templates) ---- */
.bldc-sidebar-wrap{display:grid;grid-template-columns:34% 66%;min-height:var(--sr-page-h,279.4mm)}
.bldc-sidebar{padding:44px 32px}
.bldc-photo-wrap{margin-bottom:28px;text-align:center}
.bldc-sidebar .sr-photo{width:120px;height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(255,255,255,.15);border:3px solid rgba(255,255,255,.5);margin:0 auto}
.bldc-photo-img{width:120px;height:120px;object-fit:cover;display:block;margin:0 auto;border:3px solid rgba(255,255,255,.5)}
.bldc-sidebar .sr-photo-placeholder{font-size:9px;text-align:center;color:inherit;opacity:.85}
.bldc-side-block{margin-bottom:27px}
.bldc-side-block h3{font-size:14.5px;letter-spacing:1.3px;text-transform:uppercase;margin:0 0 13px}
.bldc-side-contact{font-size:13px;margin-bottom:10px;line-height:1.5;word-break:break-word;opacity:.9}
.bldc-side-item{font-size:13.5px;margin-bottom:15px;line-height:1.7}
.bldc-side-date{font-size:11px;opacity:.75}
.bldc-side-skill{font-size:12.5px;margin-bottom:8px;line-height:1.5;opacity:.9}
.bldc-main{padding:44px 42px}
.bldc-main h1{font-size:28px;margin:0 0 2px}
.bldc-role{font-size:11.5px;color:#6b7280;margin-bottom:8px}
.bldc-h{font-size:14.5px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;border-bottom:1px solid;padding-bottom:5px;margin:24px 0 12px}
.bldc-section{margin-bottom:6px}
.bldc-item{margin-bottom:18px}
.bldc-item-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.bldc-item-sub{font-size:10.5px;color:#6b7280;margin-top:1px}
.bldc-item-desc{font-size:13px;line-height:1.7;color:#374151;margin-top:6px;white-space:pre-line}
.bldc-date{font-size:12px;color:#6b7280;white-space:nowrap}
.bldc-objective{font-size:13.5px;line-height:1.75;color:#374151;margin:0}

.bldc-single{padding:44px 54px;color:#1f2937;min-height:var(--sr-page-h,279.4mm);position:relative}
.bldc-header{margin-bottom:18px}
.bldc-header h1{font-size:29px;margin:0 0 4px}
.bldc-contact{font-size:10.5px;color:#6b7280;margin-top:8px}
.bldc-contact-bar{background:#f1f3f5;padding:8px;border-radius:4px;display:inline-block}
.bldc-top-rule{height:3px;margin-top:14px}
.bldc-h-rule{font-size:14.5px;letter-spacing:1.2px;font-weight:800;border-bottom:1.5px solid;padding-bottom:5px;margin:24px 0 12px}
.bldc-h-band{font-size:14px;letter-spacing:.8px;font-weight:700;padding:7px 12px;border-radius:5px;margin:22px 0 12px;display:inline-block}
.bldc-h-bar{font-size:14px;letter-spacing:1px;font-weight:800;padding:8px 14px;margin:22px 0 12px}
.bldc-h-centered{font-size:14.5px;letter-spacing:1.5px;font-weight:800;text-align:center;margin:24px 0 12px}
.bldc-skills-line{font-size:13px;color:#374151;margin:0}
.bldc-left-border{position:absolute;top:0;left:0;bottom:0;width:8px}
.bldc-side-decor{position:absolute;top:0;bottom:0;left:0;width:26px}

/* ---- Catalog v2: pill/bar headings, decorative shapes, skill bars/levels ---- */
.bldc-h-pill{display:inline-block;padding:7px 18px;border-radius:99px;font-size:14px;letter-spacing:1px;font-weight:800;margin:24px 0 14px}
.bldc-h-fullbar{padding:8px 16px;font-size:14px;letter-spacing:1px;font-weight:800;margin:24px 0 14px}
.bldc-side-h-pill{display:inline-block;border:1.5px solid;border-radius:14px;padding:6px 14px;font-size:10.5px;letter-spacing:.4px;font-weight:800;margin:0 0 12px;background:none;line-height:1.3;max-width:100%}
.bldc-diagonal{position:absolute;left:0;right:0;height:30px;top:118px;clip-path:polygon(0 100%,100% 0,100% 100%)}
.bldc-wave-bottom{height:26px;border-radius:50% 50% 0 0/100% 100% 0 0;margin-top:-2px}
.bldc-side-skill-bar{margin-bottom:12px}
.bldc-skill-label{font-size:11.5px;margin-bottom:4px;opacity:.9}
.bldc-bar-track{height:6px;background:rgba(255,255,255,.25);border-radius:3px;overflow:hidden}
.bldc-bar-fill{height:100%;border-radius:3px}
.bldc-skills-levels{display:flex;flex-direction:column;gap:8px}
.bldc-skill-level-item{display:flex;justify-content:space-between;font-size:12px;width:100%}
.bldc-skill-level-tag{color:#6b7280;font-size:10.5px}
.bldc-side-sub{opacity:.75;font-size:10.5px}
.bldc-side-decor-r{left:auto;right:0}
