/* SlideCV sidebar template redesign: Tech, Corporate, Creative */
.resume-page.sidebar-layout {
  grid-template-columns: 196px minmax(0, 1fr) !important;
  position: relative;
  overflow: hidden;
  background: #fff;
}

.resume-page.sidebar-layout .resume-sidebar {
  position: relative;
  padding: 34px 24px 32px !important;
  overflow: visible;
}

.resume-page.sidebar-layout .resume-body {
  padding: 150px 38px 42px !important;
  min-width: 0;
}

.resume-page.sidebar-layout .side-head {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.resume-page.sidebar-layout .side-head > div:not(.profile-photo) {
  position: absolute;
  left: 224px;
  top: 42px;
  width: 510px;
  z-index: 2;
}

.resume-page.sidebar-layout .side-head h1 {
  font-size: 37px !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  margin: 0 !important;
}

.resume-page.sidebar-layout .side-head .headline {
  margin-top: 9px !important;
  font-size: 14px !important;
  letter-spacing: .01em;
}

.resume-page.sidebar-layout .contact-lines {
  margin-top: 0 !important;
  gap: 8px !important;
  font-size: 10.7px !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.resume-page.sidebar-layout .contact-lines span:nth-child(4) {
  display: none;
}

.resume-page.sidebar-layout .side-block {
  margin-top: 28px !important;
}

.resume-page.sidebar-layout .side-block h2 {
  font-size: 9.5px !important;
  letter-spacing: .16em !important;
  padding-bottom: 7px !important;
  margin-bottom: 10px !important;
}

.resume-page.sidebar-layout .resume-sidebar .skill-cloud {
  display: grid !important;
  gap: 6px !important;
}

.resume-page.sidebar-layout .resume-sidebar .skill-cloud span {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 0 0 10px !important;
  background: transparent !important;
  font-size: 10.5px !important;
  line-height: 1.35;
  position: relative;
}

.resume-page.sidebar-layout .resume-sidebar .skill-cloud span::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: .55;
}

.resume-page.sidebar-layout .resume-body::before {
  content: '';
  position: absolute;
  left: 224px;
  right: 38px;
  top: 112px;
  height: 1px;
  background: #dfe5ee;
}

/* Tech Sidebar — software and AI */
.resume-page.sidebar-layout.sidebar-tech {
  grid-template-columns: 192px minmax(0, 1fr) !important;
}

.resume-page.sidebar-layout.sidebar-tech .resume-sidebar {
  background: #132033 !important;
  color: #f8fafc !important;
  border-right: 0 !important;
}

.resume-page.sidebar-layout.sidebar-tech .profile-photo {
  display: none !important;
}

.resume-page.sidebar-layout.sidebar-tech .side-head > div:not(.profile-photo) {
  left: 220px;
}

.resume-page.sidebar-layout.sidebar-tech .side-head h1 {
  color: #101827 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-weight: 780 !important;
}

.resume-page.sidebar-layout.sidebar-tech .side-head .headline {
  color: var(--accent) !important;
  font-weight: 800 !important;
}

.resume-page.sidebar-layout.sidebar-tech .contact-lines,
.resume-page.sidebar-layout.sidebar-tech .side-block p,
.resume-page.sidebar-layout.sidebar-tech .resume-sidebar .skill-cloud span {
  color: #dbe7f5 !important;
}

.resume-page.sidebar-layout.sidebar-tech .side-block h2 {
  color: #8fb7ff !important;
  border-color: rgba(143,183,255,.28) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
}

.resume-page.sidebar-layout.sidebar-tech .resume-section h2 {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  letter-spacing: .12em !important;
}

/* Corporate Sidebar — legal, supply chain, procurement */
.resume-page.sidebar-layout.sidebar-corporate {
  grid-template-columns: 186px minmax(0, 1fr) !important;
  border-left: 6px solid var(--accent);
}

.resume-page.sidebar-layout.sidebar-corporate .resume-sidebar {
  background: #f3f1ed !important;
  color: #20242b !important;
  border-right: 1px solid #d8d3ca !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.resume-page.sidebar-layout.sidebar-corporate .profile-photo {
  display: none !important;
}

.resume-page.sidebar-layout.sidebar-corporate .side-head > div:not(.profile-photo) {
  left: 218px;
}

.resume-page.sidebar-layout.sidebar-corporate .side-head h1 {
  color: #20242b !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
}

.resume-page.sidebar-layout.sidebar-corporate .side-head .headline {
  color: #5b6470 !important;
  font-weight: 600 !important;
}

.resume-page.sidebar-layout.sidebar-corporate .contact-lines,
.resume-page.sidebar-layout.sidebar-corporate .side-block p,
.resume-page.sidebar-layout.sidebar-corporate .resume-sidebar .skill-cloud span {
  color: #454b54 !important;
}

.resume-page.sidebar-layout.sidebar-corporate .side-block h2 {
  color: #20242b !important;
  border-color: #cfc8bd !important;
}

.resume-page.sidebar-layout.sidebar-corporate .resume-section h2 {
  color: #20242b !important;
  border-color: #d8d3ca !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  letter-spacing: .1em !important;
}

/* Creative Profile Sidebar — design, communications, photography */
.resume-page.sidebar-layout.sidebar-creative {
  grid-template-columns: 210px minmax(0, 1fr) !important;
}

.resume-page.sidebar-layout.sidebar-creative .resume-sidebar {
  background: #fbf7f3 !important;
  color: #24212a !important;
  border-right: 1px solid #eadfd8 !important;
  padding-top: 28px !important;
}

.resume-page.sidebar-layout.sidebar-creative .resume-sidebar::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 9px;
  background: var(--accent);
}

.resume-page.sidebar-layout.sidebar-creative .profile-photo {
  width: 88px !important;
  height: 88px !important;
  margin: 4px 0 24px !important;
  border: 5px solid #fff !important;
  box-shadow: 0 8px 24px rgba(31,41,55,.13) !important;
}

.resume-page.sidebar-layout.sidebar-creative .side-head > div:not(.profile-photo) {
  left: 244px;
  top: 42px;
  width: 490px;
}

.resume-page.sidebar-layout.sidebar-creative .side-head h1 {
  color: #24212a !important;
  font-family: 'Trebuchet MS', Arial, sans-serif !important;
  font-weight: 800 !important;
}

.resume-page.sidebar-layout.sidebar-creative .side-head .headline {
  color: var(--accent) !important;
}

.resume-page.sidebar-layout.sidebar-creative .contact-lines,
.resume-page.sidebar-layout.sidebar-creative .side-block p,
.resume-page.sidebar-layout.sidebar-creative .resume-sidebar .skill-cloud span {
  color: #5e5662 !important;
}

.resume-page.sidebar-layout.sidebar-creative .side-block h2 {
  color: #24212a !important;
  border-color: #e4d8d1 !important;
}

.resume-page.sidebar-layout.sidebar-creative .resume-section h2 {
  color: var(--accent) !important;
  border-bottom-width: 2px !important;
}

/* Template picker markers */
.template-card[data-sidebar-variant]::after {
  content: attr(data-sidebar-label);
  position: absolute;
  left: 116px;
  top: 70px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef3ff;
  color: #334e88;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}

@media print {
  .resume-page.sidebar-layout { border-radius: 0 !important; }
}
