/* Public editorial system. Kept separate from legacy rules and clinical data. */
body.cp-site-refresh {
  --site-ink: #17366a;
  --site-text: #25354b;
  --site-muted: #526177;
  --site-line: #dce4ee;
  --site-paper: #fff;
  --site-canvas: #f6f8fb;
  --site-action: #c2410c;
  --site-radius: 20px;
  --site-shadow: 0 6px 24px rgb(23 54 106 / 5%);
}

body.cp-site-refresh.cp-clinical-unified {
  --primary: #17366a;
  --primary-dark: #10294f;
  --primary-weak: #edf3fa;
  --primary-rgb: 23,54,106;
  --text: var(--site-text);
  --muted: var(--site-muted);
  --border: var(--site-line);
  --clinical-layout-max: 1160px;
  --clinical-reading-max: 72ch;
  --clinical-reading-wide: 78ch;
  --clinical-radius: 16px;
  --clinical-radius-large: var(--site-radius);
  --clinical-shadow: var(--site-shadow);
  --clinical-shadow-soft: none;
  --clinical-surface: #fff;
  --clinical-surface-alt: #f8fafc;
  --clinical-surface-border: var(--site-line);
  --clinical-surface-1: #fff;
  --clinical-surface-2: #f8fafc;
  --clinical-surface-3: #f3f7fb;
  --clinical-surface-4: #fffaf5;
  --clinical-surface-5: #f8fafc;
  --clinical-surface-6: #fff;
  background: var(--site-canvas) !important;
  color: var(--site-text) !important;
  font: 400 17px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif !important;
  margin: 0 !important;
}

/* A quiet, readable hierarchy instead of oversized title badges. */
body.cp-site-refresh.cp-clinical-unified :is(h1,h2,h3,h4,h5,h6) {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif !important;
  color: var(--site-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
  text-transform: none !important;
  padding: 0 !important;
  font-weight: 750 !important;
  letter-spacing: -.025em !important;
}
/* Legacy template capsules must share the light background of their headings. */
body.cp-site-refresh.cp-clinical-unified .section-heading > .section-chip {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* Semantic H3 cards retain the compact presentation of their former H4 titles. */
body.cp-site-refresh.cp-clinical-unified :is(main,.hero) h3.cp-profile-subheading {
  font-size: 17px !important;
}
body.cp-site-refresh.cp-clinical-unified h1 {
  display: block !important;
  max-width: 27ch !important;
  font-size: clamp(30px, 2.6vw + 12px, 44px) !important;
  line-height: 1.13 !important;
  margin: 12px 0 18px !important;
  text-wrap: balance;
}
body.cp-site-refresh.cp-clinical-unified main :is(h2,.section-title) {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  font-size: clamp(23px, 1.7vw + 10px, 31px) !important;
  line-height: 1.24 !important;
  margin: 0 0 18px !important;
}
body.cp-site-refresh.cp-clinical-unified :is(main,.hero) h3 {
  font-size: 19px !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
}
body.cp-site-refresh.cp-clinical-unified :is(main,.hero) h4 { font-size: 17px !important; }
body.cp-site-refresh.cp-clinical-unified :is(p,li,.lead,.muted) {
  color: var(--site-muted);
  font-size: inherit;
  line-height: 1.65 !important;
  text-align: left;
}
body.cp-site-refresh.cp-clinical-unified :is(.lead,.hero-copy > p) {
  font-size: 18px !important;
  line-height: 1.6 !important;
  margin: 0 0 16px !important;
  max-width: 74ch !important;
}
body.cp-site-refresh.cp-clinical-unified :is(.hero-badge,.hero-kicker,.shared-clinical-block__eyebrow,.section-eyebrow) {
  display: inline-block !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: #42618a !important;
  box-shadow: none !important;
  font: 700 12px/1.5 system-ui,sans-serif !important;
  letter-spacing: .09em !important;
  text-align: left !important;
  text-transform: uppercase;
}
body.cp-site-refresh.cp-clinical-unified .identity-role {
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  color: var(--site-muted) !important;
}

/* Shared masthead has one identity and links that never cover the content. */
body.cp-site-refresh.cp-clinical-unified .page-logo {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  width: min(1160px, calc(100% - 40px)) !important;
  max-width: 1160px !important;
  min-height: 82px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 10px 0 !important;
  background: transparent !important;
  border: 0;
  box-shadow: none !important;
}
body.cp-site-refresh.cp-clinical-unified .page-logo .logo-wrap {
  flex: 0 0 56px;
  width: 56px !important;
  height: 56px !important;
  padding: 0 !important;
  border-radius: 12px;
  overflow: hidden;
}
body.cp-site-refresh.cp-clinical-unified .page-logo img { width: 56px !important; height: 56px !important; object-fit: contain; }
body.cp-site-refresh.cp-clinical-unified .site-title { min-width: 0; }
body.cp-site-refresh.cp-clinical-unified .site-name { font: 700 15px/1.4 system-ui,sans-serif !important; color: var(--site-ink); }
body.cp-site-refresh.cp-clinical-unified .site-title .tag { font: 400 12px/1.5 system-ui,sans-serif !important; color: var(--site-muted); }
.cp-site-nav { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.cp-site-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; font-size: 14px; font-weight: 650; border-radius: 12px; color: var(--site-ink); }
.cp-site-nav a:hover { background: #e9eff7; }
.cp-site-nav .cp-site-nav__booking { background: var(--site-ink); color: white; }
body.cp-site-refresh.cp-clinical-unified > header { padding: 0 !important; margin: 0 !important; background: none !important; }

/* Layout preserves individual illustrations and functional test layouts. */
body.cp-site-refresh.cp-clinical-unified .container.hero,
body.cp-site-refresh.cp-clinical-unified .page-shell > .hero {
  width: min(1120px, calc(100% - 40px)) !important;
  max-width: 1120px !important;
  margin: 12px auto 24px !important;
  padding: clamp(22px, 3vw, 36px) !important;
  background: white !important;
  border: 1px solid var(--site-line) !important;
  border-radius: var(--site-radius) !important;
  box-shadow: var(--site-shadow) !important;
}
body.cp-site-refresh.cp-clinical-unified .page-shell > .hero { width: 100% !important; }
body.cp-site-refresh.cp-clinical-unified :is(.hero-intro,.hero-copy,.hero-media) {
  text-align: left !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.cp-site-refresh.cp-clinical-unified .hero :is(.hero-carousel,.hero-media > img) {
  max-height: 250px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
body.cp-site-refresh.cp-clinical-unified .hero :is(.hero-carousel img,.hero-media > img) { object-fit: cover; }
body.cp-site-refresh.cp-clinical-unified .hero :is(img.slot-img,figure.media > img) {
  width: 100% !important;
  height: auto !important;
  max-height: 250px !important;
  object-fit: cover !important;
  border-radius: 14px;
}
body.cp-site-refresh.cp-clinical-unified .hero > figure.media { order: 2; margin: 0; overflow: hidden; border-radius: 14px; }
body.cp-site-refresh.cp-clinical-unified .hero > div.lead { order: 1; }
body.cp-site-refresh.cp-clinical-unified[data-clinical-slug="sexualidad-baja-libido"] .container.hero { display: grid !important; grid-template-columns: minmax(0,1.35fr) minmax(0,.65fr) !important; align-items: start; gap: 28px; }
body.cp-site-refresh.cp-clinical-unified .hero :is(.stats,.hero-stats,.recent-metric-grid) { gap: 10px; margin-top: 12px !important; }
body.cp-site-refresh.cp-clinical-unified .hero :is(.stat,.hero-stat) { min-width: 0 !important; padding: 12px !important; box-shadow: none !important; border-radius: 12px !important; }
body.cp-site-refresh.cp-clinical-unified .hero :is(.stat,.hero-stat) :is(.counter,.num,strong) { font-size: 20px !important; line-height: 1.3 !important; color: var(--site-ink) !important; }
body.cp-site-refresh.cp-clinical-unified .hero :is(.stat,.hero-stat) :is(.muted,span) { font-size: 13px !important; line-height: 1.5 !important; }

body.cp-site-refresh.cp-clinical-unified main > :is(section,article):not(.booking-section):not(.footer-seo-band),
body.cp-site-refresh.cp-clinical-unified .page-shell .main > :is(section,article):not(.booking-section):not(.footer-seo-band) {
  background: white !important;
  border: 1px solid var(--site-line) !important;
  box-shadow: var(--site-shadow) !important;
  border-radius: var(--site-radius) !important;
  padding: clamp(22px, 3vw, 36px) !important;
  margin: 24px 0 !important;
  overflow: visible;
}
body.cp-site-refresh.cp-clinical-unified :is(.card,.mini-card,.shared-meta-card,.shared-link-card,.question-card,.hero-stat,.stat,.test-shell,.section-block) {
  background: #f8fafc !important;
  border-color: var(--site-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
body.cp-site-refresh.cp-clinical-unified :is(.card,.stat,.mini-card):hover { transform: none !important; box-shadow: none !important; }
body.cp-site-refresh.cp-clinical-unified .with-media { gap: 28px !important; }
body.cp-site-refresh.cp-clinical-unified .media-slot { border-radius: 14px !important; box-shadow: none !important; }
body.cp-site-refresh.cp-clinical-unified main :is(p,li) a:not(.btn):not([role="button"]) { text-decoration: underline; text-underline-offset: 3px; }

/* Test first: compact instructions, obvious controls and an uninterrupted form. */
body.cp-site-refresh.cp-clinical-unified [data-cp-test-promoted] {
  border-top: 4px solid var(--site-ink) !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
/* Test photographs are decorative; questions and their instructions lead. */
body.cp-site-refresh.cp-clinical-unified [data-cp-test-promoted] > .media-slot { display: none !important; }
body.cp-site-refresh.cp-clinical-unified .sticky-nav { border-radius: 12px; box-shadow: none; position: relative; top: auto; padding: 4px; margin: 6px 0 14px; }
body.cp-site-refresh.cp-clinical-unified .sticky-nav .section-nav-links { display: flex !important; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
body.cp-site-refresh.cp-clinical-unified .sticky-nav .nav-link { display: inline-flex !important; align-items: center; min-height: 44px; flex: 0 0 auto; padding: 8px 12px; font-size: 13px; font-weight: 600; border-radius: 9px; }
body.cp-site-refresh.cp-clinical-unified .cp-promoted-test-intro {
  padding: 0 0 18px;
  margin: 0 0 24px;
  border: 0;
  border-bottom: 1px solid var(--site-line);
  background: none;
  box-shadow: none;
  border-radius: 0;
}
body.cp-site-refresh.cp-clinical-unified .cp-promoted-test-intro > span { color: var(--site-ink); font-size: 12px; font-weight: 750; }
body.cp-site-refresh.cp-clinical-unified .cp-promoted-test-intro > strong { display: block; margin: 5px 0; color: var(--site-ink); font-size: 20px; }
body.cp-site-refresh.cp-clinical-unified .cp-promoted-test-intro p { font-size: 15px; margin: 8px 0 0; }
body.cp-site-refresh.cp-clinical-unified :is(.btn,button,.cp-promoted-test-link) {
  min-height: 44px;
  border-radius: 12px !important;
  font-family: inherit !important;
  font-weight: 650 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  animation: none !important;
}
body.cp-site-refresh.cp-clinical-unified :is(.btn.primary,.btn-primary,.cp-promoted-test-link--primary) { background: var(--site-ink) !important; color: white !important; border: 1px solid var(--site-ink) !important; }
body.cp-site-refresh.cp-clinical-unified :is(.btn,button):hover { transform: none !important; filter: brightness(.96); }
body.cp-site-refresh.cp-clinical-unified :is(input,select,textarea) { font: inherit; accent-color: var(--site-ink); }
body.cp-site-refresh.cp-clinical-unified :is(select,input[type="number"]) { min-height: 44px; }
body.cp-site-refresh.cp-clinical-unified :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #1d4ed8 !important; outline-offset: 3px !important; }

/* Native disclosures preserve access without filling the first screen. */
body.cp-site-refresh .hero-context {
  width: 100%;
  margin: 12px 0 !important;
  padding: 0 !important;
  background: #f8fafc !important;
  border: 1px solid var(--site-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  text-align: left;
}
body.cp-site-refresh .hero-context > summary {
  cursor: pointer;
  min-height: 44px;
  padding: 11px 15px !important;
  margin: 0 !important;
  color: var(--site-ink) !important;
  background: none !important;
  border: 0 !important;
  border-radius: 12px;
  font: 650 15px/1.5 system-ui,sans-serif !important;
}
body.cp-site-refresh .hero-context[open] > summary { border-bottom: 1px solid var(--site-line) !important; margin-bottom: 14px !important; }
body.cp-site-refresh .hero-context > :not(summary) { margin: 14px !important; max-width: calc(100% - 28px) !important; }
body.cp-site-refresh.cp-clinical-unified details:not(.hero-context) > summary { min-height: 44px; padding-block: 12px; cursor: pointer; }
body.cp-site-refresh.cp-clinical-unified :is(.cp-pretest-safety,.clinical-hub-safety,.card.rose,.card.danger,.alert-danger) {
  background: #fff5f5 !important;
  border-color: #edb8bd !important;
  color: #7f1d1d !important;
  box-shadow: none !important;
}
body.cp-site-refresh.cp-clinical-unified .float-left {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center;
  width: auto !important;
  margin: 24px auto !important;
  padding: 0 20px;
  transform: none !important;
}
body.cp-site-refresh.cp-clinical-unified .footer { margin-top: 30px; background: transparent !important; border-top: 1px solid var(--site-line); color: var(--site-muted); }

@media (max-width: 767px) {
  body.cp-site-refresh.cp-clinical-unified { font-size: 16px !important; }
  body.cp-site-refresh.cp-clinical-unified .page-logo { width: calc(100% - 32px) !important; gap: 10px; padding-block: 10px !important; }
  body.cp-site-refresh.cp-clinical-unified .site-title { flex: 1; }
  body.cp-site-refresh.cp-clinical-unified .site-name { font-size: 13px !important; }
  body.cp-site-refresh.cp-clinical-unified .site-title .tag { font-size: 11px !important; }
  .cp-site-nav { flex: 1 0 100%; justify-content: flex-end; border-top: 1px solid var(--site-line); padding-top: 6px; }
  .cp-site-nav a { min-height: 40px; padding: 7px 14px; font-size: 13px; }
  body.cp-site-refresh.cp-clinical-unified :is(.container,.page-shell) { padding-inline: 14px !important; }
  body.cp-site-refresh.cp-clinical-unified .container.hero { width: calc(100% - 28px) !important; padding: 22px !important; margin-top: 8px !important; }
  body.cp-site-refresh.cp-clinical-unified .page-shell > .hero { padding: 22px !important; }
  body.cp-site-refresh.cp-clinical-unified h1 { font-size: 30px !important; max-width: 100% !important; margin: 10px 0 16px !important; }
  body.cp-site-refresh.cp-clinical-unified .lead { font-size: 16px !important; }
  body.cp-site-refresh.cp-clinical-unified main > :is(section,article):not(.booking-section):not(.footer-seo-band),
  body.cp-site-refresh.cp-clinical-unified .page-shell .main > :is(section,article):not(.booking-section):not(.footer-seo-band) { padding: 20px !important; margin-block: 18px !important; }
  body.cp-site-refresh.cp-clinical-unified .hero :is(.hero-carousel,.hero-media > img) { max-height: 170px !important; }
  body.cp-site-refresh.cp-clinical-unified .hero :is(.hero-carousel img,.hero-media > img) { width: 100%; max-height: 170px !important; }
  body.cp-site-refresh.cp-clinical-unified .hero :is(img.slot-img,figure.media > img) { max-height: 150px !important; }
  body.cp-site-refresh.cp-clinical-unified[data-clinical-slug="sexualidad-baja-libido"] .container.hero { grid-template-columns: minmax(0,1fr) !important; }
  body.cp-site-refresh.cp-clinical-unified .hero :is(.stats,.hero-stats,.recent-metric-grid) { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.cp-site-refresh.cp-clinical-unified .with-media { gap: 20px !important; }
  body.cp-site-refresh.cp-clinical-unified .cp-promoted-test-followup { gap: 16px; padding: 20px; }
  body.cp-site-refresh.cp-clinical-unified .cp-pretest-safety { padding: 18px; margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.cp-site-refresh *, body.cp-site-refresh *::before, body.cp-site-refresh *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}
