/*
  ResumeHub theme tokens
  Change these variables to update the site palette globally.
  The temporary color widget also writes to these same variables in the browser.
*/
:root {
  --rh-primary: #00ae94;
  --rh-primary-dark: #0d9488;
  --rh-accent: #14b8a6;
  --rh-bg: #dceeea;
  --rh-bg-soft: #c1e2da;
  --rh-surface: rgba(235, 248, 245, 0.9);
  --rh-surface-strong: #eef8f5;
  --rh-border: rgba(13, 148, 136, 0.24);
  --rh-heading: #0b302d;
  --rh-text: #1f4641;
  --rh-muted: #4e706a;
  --rh-soft-muted: #63837d;
  --rh-shadow: rgba(13, 148, 136, 0.24);
  --rh-body-font-size: 16px;
}

html {
  font-size: var(--rh-body-font-size);
}

body {
  font-size: max(16px, 1rem);
}

.public-page :where(p, a, button, input, label, span, div) {
  font-size: max(16px, 1em) !important;
}

.public-page {
  background-color: var(--rh-bg);
  background:
    radial-gradient(circle at 14% 12%, color-mix(in srgb, var(--rh-primary) 22%, transparent), transparent 34%),
    radial-gradient(circle at 86% 72%, color-mix(in srgb, var(--rh-accent) 18%, transparent), transparent 36%),
    linear-gradient(135deg, var(--rh-bg), color-mix(in srgb, var(--rh-bg) 58%, white) 54%, var(--rh-bg-soft));
  color: var(--rh-text);
}

.public-page::before {
  opacity: 0.035;
}

.public-page .bg-scene .blob {
  filter: blur(130px);
  opacity: 0.13;
}

.public-page .blob-1,
.public-page .blob-2,
.public-page .blob-3 {
  background: var(--rh-primary);
}

.public-page .glass,
.public-page .glass-bright {
  background: var(--rh-surface);
  border-color: var(--rh-border);
  box-shadow: 0 18px 55px color-mix(in srgb, var(--rh-shadow) 52%, transparent);
}

.public-page header.glass {
  background: color-mix(in srgb, var(--rh-surface-strong) 92%, transparent);
  border-bottom-color: var(--rh-border);
}

.public-page .theme-header,
.public-page .theme-footer {
  border-color: var(--rh-border);
}

.public-page .theme-icon-button {
  background: color-mix(in srgb, var(--rh-primary) 7%, var(--rh-surface-strong));
  border-color: var(--rh-border);
  color: var(--rh-heading);
}

.public-page h1,
.public-page h2,
.public-page h3,
.public-page .font-display {
  color: var(--rh-heading);
}

.public-page .btn-primary,
.public-page .btn-ghost,
.public-page .badge,
.public-page .nav-link,
.public-page input,
.public-page textarea,
.public-page select {
  font-size: 1rem !important;
}

.public-page .tpl-style-006,
.public-page .tpl-style-007,
.public-page .tpl-style-021,
.public-page .tpl-style-024,
.public-page .tpl-style-027,
.public-page .tpl-style-030,
.public-page .tpl-style-034,
.public-page .tpl-style-037,
.public-page .tpl-style-057,
.public-page .tpl-style-061,
.public-page .tpl-style-088,
.public-page .tpl-style-090,
.public-page .tpl-style-094,
.public-page .tpl-style-113,
.public-page .tpl-style-114,
.public-page .tpl-style-118,
.public-page .tpl-style-129,
.public-page .tpl-style-136,
.public-page .tpl-style-138,
.public-page .tpl-style-140,
.public-page .tpl-style-162,
.public-page .tpl-style-170,
.public-page .tpl-style-205,
.public-page .tpl-style-243,
.public-page .tpl-style-249 {
  font-size: 1rem !important;
}

.public-page p,
.public-page .nav-link,
.public-page .tpl-style-007,
.public-page .tpl-style-009,
.public-page .tpl-style-013,
.public-page .tpl-style-021,
.public-page .tpl-style-024,
.public-page .tpl-style-027,
.public-page .tpl-style-030,
.public-page .tpl-style-034,
.public-page .tpl-style-037,
.public-page .tpl-style-049,
.public-page .tpl-style-059,
.public-page .tpl-style-063,
.public-page .tpl-style-072,
.public-page .tpl-style-075,
.public-page .tpl-style-090,
.public-page .tpl-style-094,
.public-page .tpl-style-099,
.public-page .tpl-style-115,
.public-page .tpl-style-118,
.public-page .tpl-style-122,
.public-page .tpl-style-132,
.public-page .tpl-style-133,
.public-page .tpl-style-136,
.public-page .tpl-style-138,
.public-page .tpl-style-140,
.public-page .tpl-style-145,
.public-page .tpl-style-149,
.public-page .tpl-style-153,
.public-page .tpl-style-157,
.public-page .tpl-style-164,
.public-page .tpl-style-170,
.public-page .tpl-style-178,
.public-page .tpl-style-185,
.public-page .tpl-style-192,
.public-page .tpl-style-198,
.public-page .tpl-style-205,
.public-page .tpl-style-213,
.public-page .tpl-style-220,
.public-page .tpl-style-227,
.public-page .tpl-style-233,
.public-page .tpl-style-245,
.public-page .tpl-style-249 {
  color: var(--rh-muted);
}

.public-page .tpl-style-023,
.public-page .tpl-style-026,
.public-page .tpl-style-029,
.public-page .tpl-style-048,
.public-page .tpl-style-057,
.public-page .tpl-style-061,
.public-page .tpl-style-071,
.public-page .tpl-style-088,
.public-page .tpl-style-093,
.public-page .tpl-style-097,
.public-page .tpl-style-111,
.public-page .tpl-style-130,
.public-page .tpl-style-144,
.public-page .tpl-style-148,
.public-page .tpl-style-152,
.public-page .tpl-style-156,
.public-page .tpl-style-169,
.public-page .tpl-style-177,
.public-page .tpl-style-184,
.public-page .tpl-style-191,
.public-page .tpl-style-197,
.public-page .tpl-style-204,
.public-page .tpl-style-212,
.public-page .tpl-style-219,
.public-page .tpl-style-226,
.public-page .tpl-style-232,
.public-page .tpl-style-244 {
  color: var(--rh-heading);
}

.public-page .tpl-style-071,
.public-page .tpl-style-111,
.public-page .tpl-style-169,
.public-page .tpl-style-204 {
  margin: 0;
}

.public-page .tpl-style-071 {
  margin-bottom: 0.4rem;
}

.public-page .tpl-style-111 {
  margin-bottom: 0.5rem;
}

.public-page .tpl-style-006 {
  color: var(--rh-soft-muted);
}

.public-page .tpl-style-033,
.public-page .tpl-style-036,
.public-page .tpl-style-058,
.public-page .tpl-style-089,
.public-page .tpl-style-119,
.public-page .tpl-style-135,
.public-page .tpl-style-137,
.public-page .tpl-style-139 {
  color: var(--rh-primary);
}

.public-page .text-gradient,
.public-page .tpl-style-098,
.public-page .tpl-style-131 {
  background: linear-gradient(135deg, var(--rh-primary-dark), var(--rh-primary), var(--rh-accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.public-page .btn-primary {
  background: linear-gradient(135deg, var(--rh-primary-dark), var(--rh-primary));
  color: #ffffff;
  box-shadow: 0 12px 28px var(--rh-shadow);
}

.public-page .btn-primary::after {
  background: linear-gradient(135deg, var(--rh-primary), var(--rh-accent));
}

.public-page .btn-ghost {
  background: rgba(255, 255, 255, 0.72);
  border-color: var(--rh-border);
  color: var(--rh-heading);
}

.public-page .btn-ghost:hover {
  background: var(--rh-surface-strong);
  border-color: var(--rh-primary);
}

.public-page .badge {
  border-color: color-mix(in srgb, var(--rh-primary) 45%, transparent);
  background: color-mix(in srgb, var(--rh-primary) 12%, white);
  color: var(--rh-primary-dark);
}

.public-page .tpl-style-041,
.public-page .tpl-style-079,
.public-page .tpl-style-128,
.public-page .tpl-style-161,
.public-page .tpl-style-242 {
  background: var(--rh-primary);
}

.public-page .tpl-style-042,
.public-page .tpl-style-080,
.public-page .tpl-style-129,
.public-page .tpl-style-162,
.public-page .tpl-style-243 {
  color: var(--rh-primary-dark);
}

.public-page .nav-link:hover,
.public-page .theme-accent-link,
.public-page footer a:hover {
  color: var(--rh-primary-dark);
}

.public-page .theme-muted-link {
  color: var(--rh-muted);
}

.public-page .theme-muted-link:hover {
  color: var(--rh-primary-dark);
}

.home-hero-full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: max(1.5rem, 5vw);
  padding-right: max(1.5rem, 5vw);
}

.public-page .nav-link::after,
.public-page .section-divider,
.public-page .tpl-style-121 {
  background: linear-gradient(90deg, transparent, var(--rh-primary), transparent);
}

.public-page .theme-footer-glow,
.public-page footer .bg-gradient-to-r {
  background: linear-gradient(90deg, transparent, var(--rh-primary), transparent);
}

.public-page .tpl-style-002 {
  background-image:
    linear-gradient(color-mix(in srgb, var(--rh-primary) 9%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--rh-primary) 9%, transparent) 1px, transparent 1px);
}

.public-page .tpl-style-015,
.public-page .tpl-style-044,
.public-page .tpl-style-065,
.public-page .tpl-style-082,
.public-page .tpl-style-104,
.public-page .tpl-style-142,
.public-page .tpl-style-146,
.public-page .tpl-style-150,
.public-page .tpl-style-154,
.public-page .tpl-style-166,
.public-page .tpl-style-201 {
  background: var(--rh-surface);
  border-color: var(--rh-border);
}

.public-page .tpl-style-022,
.public-page .tpl-style-025,
.public-page .tpl-style-028,
.public-page .tpl-style-032,
.public-page .tpl-style-035,
.public-page .tpl-style-056,
.public-page .tpl-style-060,
.public-page .tpl-style-113,
.public-page .tpl-style-114 {
  background: color-mix(in srgb, var(--rh-surface-strong) 76%, transparent);
  border-color: var(--rh-border);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, white 65%, transparent),
    0 12px 28px color-mix(in srgb, var(--rh-shadow) 35%, transparent);
}

.public-page .tpl-style-020 {
  background: var(--rh-primary);
  box-shadow: 0 0 10px var(--rh-primary);
}

.public-page .tpl-style-052,
.public-page .tpl-style-067,
.public-page .tpl-style-084,
.public-page .tpl-style-106,
.public-page .tpl-style-168,
.public-page .tpl-style-203 {
  background: linear-gradient(135deg, color-mix(in srgb, var(--rh-primary) 22%, white), color-mix(in srgb, var(--rh-accent) 10%, white));
}

.public-page .tpl-style-053,
.public-page .tpl-style-085 {
  background: radial-gradient(circle, color-mix(in srgb, var(--rh-primary) 24%, transparent), transparent 65%);
}

.public-page .tpl-style-054 {
  background: radial-gradient(circle, color-mix(in srgb, var(--rh-accent) 18%, transparent), transparent 65%);
}

.public-page .tpl-style-168,
.public-page .tpl-style-203 {
  background: linear-gradient(135deg, var(--rh-primary-dark), var(--rh-primary));
  color: #ffffff;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--rh-shadow) 45%, transparent);
}

.public-page .tpl-style-174,
.public-page .tpl-style-181,
.public-page .tpl-style-188,
.public-page .tpl-style-195,
.public-page .tpl-style-209,
.public-page .tpl-style-216,
.public-page .tpl-style-223,
.public-page .tpl-style-230 {
  background: linear-gradient(135deg, var(--rh-primary-dark), var(--rh-primary));
  border: 2px solid color-mix(in srgb, var(--rh-primary) 45%, white);
  color: #ffffff;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--rh-shadow) 48%, transparent);
}

.public-page .tpl-style-175,
.public-page .tpl-style-182,
.public-page .tpl-style-189,
.public-page .tpl-style-210,
.public-page .tpl-style-217,
.public-page .tpl-style-224 {
  background: color-mix(in srgb, var(--rh-primary) 42%, transparent);
}

.theme-count-avatar {
  background: linear-gradient(135deg, var(--rh-primary-dark), var(--rh-primary));
  border: 2px solid color-mix(in srgb, var(--rh-primary) 50%, white);
  color: #ffffff;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--rh-shadow) 55%, transparent);
}

.public-page #newsletter {
  background:
    radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--rh-primary) 12%, transparent), transparent 42%);
}

.public-page .tpl-style-239 {
  background: linear-gradient(135deg, color-mix(in srgb, var(--rh-primary) 18%, transparent), color-mix(in srgb, var(--rh-accent) 16%, transparent));
  border-color: color-mix(in srgb, var(--rh-primary) 32%, transparent);
}

.public-page .tpl-style-240 {
  background: linear-gradient(135deg, var(--rh-primary-dark), var(--rh-primary));
  box-shadow: 0 0 10px var(--rh-shadow);
}

.public-page .tpl-style-247 {
  background: var(--rh-surface-strong);
  border-color: var(--rh-border);
  color: var(--rh-heading);
}

.public-page .tpl-style-247:focus {
  border-color: var(--rh-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rh-primary) 18%, transparent);
}

.theme-widget {
  position: fixed;
  top: 92px;
  right: 18px;
  z-index: 80;
  width: 280px;
  max-width: calc(100vw - 32px);
  color: var(--rh-heading);
  font-size: 16px;
}

.theme-widget.is-collapsed .theme-widget__panel {
  display: none;
}

.theme-widget__toggle {
  width: 42px;
  height: 42px;
  margin-left: auto;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--rh-border);
  background: var(--rh-surface-strong);
  color: var(--rh-primary-dark);
  box-shadow: 0 14px 30px color-mix(in srgb, var(--rh-shadow) 62%, transparent);
}

.theme-widget__panel {
  margin-top: 10px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid var(--rh-border);
  background: color-mix(in srgb, var(--rh-surface-strong) 96%, transparent);
  box-shadow: 0 20px 50px color-mix(in srgb, var(--rh-shadow) 64%, transparent);
}

.theme-widget__title {
  font-weight: 800;
  font-size: 15px;
  color: var(--rh-heading);
}

.theme-widget__hint {
  margin-top: 2px;
  font-size: 14px;
  color: var(--rh-muted);
}

.theme-widget__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.theme-widget label {
  display: grid;
  gap: 5px;
  font-size: 14px;
  color: var(--rh-muted);
}

.theme-widget input[type="color"] {
  width: 100%;
  height: 36px;
  padding: 3px;
  border-radius: 8px;
  border: 1px solid var(--rh-border);
  background: #ffffff;
}

.theme-widget__actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}

.theme-widget__actions button {
  flex: 1;
  min-height: 36px;
  border-radius: 8px;
  border: 1px solid var(--rh-border);
  font-weight: 700;
}

.theme-widget__apply {
  background: var(--rh-primary);
  color: #ffffff;
}

.theme-widget__reset {
  background: #ffffff;
  color: var(--rh-heading);
}

@media (max-width: 768px) {
  .theme-widget {
    top: auto;
    right: 12px;
    bottom: 12px;
  }

  .home-hero-full {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
