:root {
  --navy: #1d2d3a;
  --navy-2: #2b3f4d;
  --navy-soft: #2b3f4d;
  --slate: #2b3f4d;
  --teal: #a9785a;
  --teal-dim: #76513f;
  --teal-soft: #f5f0e8;
  --coffee: #a9785a;
  --coffee-dark: #76513f;
  --orange: #c05621;
  --orange-dark: #9c3f14;
  --orange-soft: #fff1e8;
  --gold: #d7b36a;
  --cta-light: #e3c58e;
  --cta-light-hover: #d7b36a;
  --beige: #e5d3b6;
  --cream: #f5f0e8;
  --paper: #fffdf9;
  --white: #fffdf9;
  --bg: #fffdf9;
  --text: #1d2d3a;
  --muted: #6d6b67;
  --soft: #988c82;
  --border: #ded4c8;
  --serif: "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --sans: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}

body {
  background-color: var(--paper);
  font-family: var(--sans) !important;
}

button,
input,
select,
textarea {
  font-family: var(--sans) !important;
}

h1,
h2,
.section-title,
.card-title,
.doctor-name,
.legal-hero h1 {
  font-family: var(--serif) !important;
}

body > nav,
.site-nav,
body > header,
.page > header {
  border-color: rgba(255, 255, 255, 0.09) !important;
  background: rgba(29, 45, 58, 0.98) !important;
  box-shadow: 0 8px 28px rgba(29, 45, 58, 0.12) !important;
  color: #fff;
}

body > nav,
.site-nav {
  width: 100%;
  min-height: 92px;
  height: 92px;
  padding-inline: max(24px, calc((100% - 1440px) / 2));
  backdrop-filter: blur(14px);
}

.page > header {
  margin: -22px -18px 24px;
  padding: 16px 18px;
}

.nav-logo,
.page > header .brand,
body > header a {
  display: block;
  width: clamp(210px, 19vw, 280px);
  height: 72px;
  margin-left: -18px;
  flex: 0 0 auto;
  overflow: hidden;
  color: #fff;
}

.nav-logo img[src*="logo-dr-julio-salas-metalico"],
.page > header .brand img[src*="logo-dr-julio-salas-metalico"],
body > header img[src*="logo-dr-julio-salas-metalico"] {
  width: 100% !important;
  height: auto !important;
  max-width: none;
  object-fit: initial;
  filter: brightness(0.58) contrast(9);
  mix-blend-mode: screen;
  transform: translateY(-27%);
}

.nav-logo-fallback,
.nav-logo > span,
.nav-note,
.page > header .brand {
  color: #fff !important;
}

.nav-cta,
.btn-primary,
.btn-next,
.btn-checkout,
.consult-choice,
.drawer-cta,
.call-button,
.privacy-close,
.kiri-referral-link {
  border-color: var(--cta-light) !important;
  background: var(--cta-light) !important;
  color: var(--navy) !important;
  box-shadow: 0 12px 28px rgba(215, 179, 106, 0.2);
}

.nav-cta:hover,
.btn-primary:hover,
.btn-next:hover,
.btn-checkout:hover,
.consult-choice:hover,
.drawer-cta:hover,
.call-button:hover,
.privacy-close:hover,
.kiri-referral-link:hover {
  border-color: var(--cta-light-hover) !important;
  background: var(--cta-light-hover) !important;
  color: var(--navy) !important;
}

body > nav > .nav-cta,
.site-nav > .nav-cta {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--navy) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
}

body > nav > .nav-cta:hover,
.site-nav > .nav-cta:hover {
  border-color: var(--cream) !important;
  background: var(--cream) !important;
  color: var(--navy) !important;
}

.mobile-menu-toggle span,
.menu-toggle span {
  background: #fff !important;
}

.mobile-drawer .drawer-cta {
  border-color: #14100e !important;
  background: #14100e !important;
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.mobile-drawer .drawer-cta:hover {
  border-color: #000 !important;
  background: #000 !important;
  color: #fff !important;
}

.lang-toggle {
  background: rgba(255, 255, 255, 0.1) !important;
}

.lang-btn {
  color: rgba(255, 255, 255, 0.72) !important;
}

.lang-btn.active {
  background: var(--coffee) !important;
  color: #fff !important;
}

.badge {
  border-color: rgba(169, 120, 90, 0.28) !important;
  background: var(--cream) !important;
  color: var(--coffee-dark) !important;
}

.hero-btn:not(.hero-btn-secondary) {
  background: var(--cta-light) !important;
  color: var(--navy) !important;
  box-shadow: 0 12px 30px rgba(215, 179, 106, 0.26) !important;
}

.hero-btn:not(.hero-btn-secondary):hover {
  background: var(--cta-light-hover) !important;
  color: var(--navy) !important;
  box-shadow: 0 16px 36px rgba(215, 179, 106, 0.32) !important;
}

.cta-btn {
  background: var(--cta-light) !important;
  color: var(--navy) !important;
  box-shadow: 0 12px 30px rgba(215, 179, 106, 0.26) !important;
}

.cta-btn:hover {
  background: var(--cta-light-hover) !important;
  color: var(--navy) !important;
  box-shadow: 0 16px 36px rgba(215, 179, 106, 0.32) !important;
}

.stat-pill {
  border: 1px solid var(--border) !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(29, 45, 58, 0.08);
}

.stat-pill-num {
  color: #111 !important;
}

.stat-pill-label {
  color: var(--navy) !important;
}

.hero h1 em {
  color: var(--gold) !important;
}

.hero-stat,
.step-card,
.kiri-referral,
.cred-item,
.stat-pill,
.cond-card,
.medical-trust-card,
.faq-list > details,
.notice-box,
.doctor-photo-wrap,
.calendar-card,
.card,
.consent-box,
.emergency-box,
.female-card,
.file-item,
.pill,
.success-card,
.summary-box,
.legal-toc,
.legal-highlight,
.legal-contact-box,
.hero-panel,
.info-card,
.warning-card,
.credential-card,
.faq-item,
.trust-item,
.upload-zone,
.followup-block {
  border-color: var(--gold) !important;
}

.legal-hero,
.legal-contact-box,
.final-cta,
.summary-box,
footer {
  background: var(--navy) !important;
}

footer {
  border-top-color: var(--coffee) !important;
}

.footer-logo {
  width: 240px;
  height: 72px;
  flex: 0 0 auto;
  overflow: hidden;
}

.footer-logo img[src*="logo-dr-julio-salas-metalico"] {
  width: 100% !important;
  height: auto !important;
  max-width: none;
  object-fit: initial;
  filter: brightness(0.58) contrast(9);
  mix-blend-mode: screen;
  transform: translateY(-27%);
}

.footer-links a,
.legal-breadcrumb a,
.legal-contact-box a {
  color: #d7bda9 !important;
}

::selection {
  background: rgba(169, 120, 90, 0.26);
}

:focus-visible {
  outline-color: var(--coffee) !important;
}

@media (max-width: 768px) {
  body > nav,
  .site-nav {
    min-height: 78px;
    height: 78px;
    padding-inline: 16px;
  }

  .nav-logo,
  .page > header .brand,
  body > header a {
    width: 205px;
    height: 62px;
    margin-left: -8px;
  }

  .footer-logo {
    width: 210px;
    height: 64px;
  }
}

/* Subtle notification surfaces, shared by public pages and cookie preferences. */
@keyframes notification-drift {
  0%,100% { background-position:0% 50%,50% 50%; }
  50% { background-position:100% 50%,50% 50%; }
}
.condition-orbit .condition-orbit__copy {
 background:linear-gradient(115deg,#faf5fc,#fff 35%,#edf9f5 65%,#faf0f6);
 background-size:200% 180%; animation:notification-drift 8s ease-in-out infinite;
}
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) {
 --cookie-angle:0deg;
 padding:22px !important; border:1.5px solid transparent !important; border-radius:24px !important;
 background:linear-gradient(115deg,#faf5fc,#fff 35%,#eef9f7 65%,#fcf2f7) padding-box,conic-gradient(from var(--cookie-angle),#91cbdc,#b6aceb,#e6b4ce,#a3d7c8,#91cbdc) border-box !important;
 background-size:190% 180%,100% 100% !important;
 box-shadow:0 6px 28px #263b3612 !important;
 color:#233e32 !important; font-family:var(--sans) !important;
 animation:notification-drift 9s ease-in-out infinite,cookie-edge 12s linear infinite;
 max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box;
 bottom:max(16px,env(safe-area-inset-bottom)) !important;
}
/* Desktop: dock to the right so the card never overlaps the hero CTA on short viewports. */
@media(min-width:601px) {
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) { left:auto !important; right:16px !important; margin:0 !important; }
}
@property --cookie-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes cookie-edge { to { --cookie-angle:360deg; } }
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) > strong { color:#233e32 !important; font-weight:600; }
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) > p { color:#52645d !important; }
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) button {
 border:1px solid #b9cec4 !important; border-radius:12px !important; min-height:44px;
 background:#ffffffc9 !important; color:#233e32 !important; font-weight:600 !important;
}
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) button:hover { background:#edf5f0 !important; }
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) a { color:#3c6253 !important; text-underline-offset:3px; }
body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) :focus-visible { outline:2px solid #426a63 !important; outline-offset:3px; }
@media(max-width:600px) {
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) { padding:18px !important; font-size:13px !important; }
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) button { flex:1; padding:10px 8px !important; }
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) a { margin:4px auto 0 !important; }
}
@media(prefers-reduced-motion:reduce) {
 .condition-orbit .condition-orbit__copy,
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) { animation:none !important; }
}
@media(max-width:600px) {
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) > div { display:grid !important; grid-template-columns:1fr 1fr; }
 body aside:is([aria-label="Preferencias de cookies"],[aria-label="Cookie preferences"]) a { grid-column:1 / -1; justify-self:center; }
}
