/* VIRCCA · Sistema compartido, 23/09/2026.
   Rosa y celeste mar solo en líneas, bordes y detalles pequeños.
   Aplicar al final de la cascada en la web, aulas y módulos. */
body.vircca-unified {
  --v-ink: #2e3230;
  --v-muted: #52605d;
  --v-green: #173d32;
  --v-ivory: #faf8f3;
  --v-rose: #f4e2e7;
  --v-rose-edge: #c78e9d;
  --v-rose-ink: #7d4155;
  --v-sea: #e1f0f4;
  --v-sea-edge: #85b7c5;
  --v-sea-ink: #285965;
  --v-line: #d7dcd8;
  --v-gold: #b8914f;
  --v-accent-soft: #ffffff;
  --v-accent-edge: var(--v-sea-edge);
  --v-accent-ink: var(--v-sea-ink);
  --ink: var(--v-ink); --graphite: var(--v-ink);
  --ink-soft: var(--v-muted); --muted: var(--v-muted);
  --forest: #356b5a; --forest-deep: var(--v-green);
  --green: var(--v-green); --green-deep: var(--v-green); --mid: #356b5a;
  --vircca-deep: var(--v-green); --vircca-mid: #356b5a;
  --paper: #ffffff; --cream: var(--v-ivory); --warm-ivory: var(--v-ivory);
  --sand: #ddd0b8; --sand-light: #eee6d7; --soft: var(--v-accent-soft);
  --line: var(--v-line); --gold: var(--v-gold); --vircca-gold: var(--v-gold);
  color: var(--v-ink); background: var(--v-ivory);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px; line-height: 1.65;
}
body.vircca-unified[data-v-accent="rose"] {
  --v-accent-soft: #ffffff;
  --v-accent-edge: var(--v-rose-edge);
  --v-accent-ink: var(--v-rose-ink);
}
.vircca-unified :is(.site-header,.module-header,.review-header,.n-header) {
  background: #fffdf9; border-bottom: 1px solid var(--v-accent-edge);
}
.vircca-unified :is(.eyebrow,.small-caps,.n-label,.lesson-label,.catalog-card-kicker) {
  color: var(--v-accent-ink); font-size: .8125rem; line-height: 1.5; letter-spacing: .1em;
}
.vircca-unified :is(.course-status,.course-number,.module-meta,.lesson-meta,.back-link,.brand-note,.n-muted) {
  font-size: .875rem; line-height: 1.5;
}
.vircca-unified :is(.hero,.module-hero,.agent-course-hero,.agent-module-hero,.lesson-hero,.review-intro,.secure-hero,.secure-hub-hero,.secure-lesson-hero,.literacy-hero,.n-overview-hero) {
  color: var(--v-ink); background: var(--v-ivory);
  border-bottom: 1px solid var(--v-accent-edge);
}
.vircca-unified :is(.module-hero,.agent-course-hero,.secure-hero,.secure-hub-hero,.secure-lesson-hero,.review-intro) {
  padding-block: clamp(2.25rem,5vw,4rem); gap: clamp(1.5rem,4vw,3rem);
}
.vircca-unified :is(h1,.module-hero h1,.secure-hub-hero h1,.secure-lesson-hero h1,.lesson-hero h1,.lesson-hero-copy h1,.review-intro h1,.n-overview-hero h1) {
  color: var(--v-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 400;
  font-size: clamp(2.125rem,4.4vw,3.75rem); line-height: 1.14;
  letter-spacing: -.025em; overflow-wrap: break-word;
}
.vircca-unified :is(.section-heading h2,.lesson-section h2,.secure-section h2,.secure-hub-heading h2,.review-heading h2,.course-completion h2,.course-close h2,.module-ending h2,.n-panel h2) {
  color: var(--v-ink); font-size: clamp(1.75rem,3.2vw,2.625rem); line-height: 1.2;
}
.vircca-unified :is(.module-intro,.hero-intro,.lead,.n-lead,.secure-hero .lead,.module-hero-integrator .module-intro) {
  color: var(--v-muted); font-size: clamp(1.0625rem,1.8vw,1.25rem); line-height: 1.65;
}
.vircca-unified :is(.module-meta span,.secure-hub-meta span,.private-label,.status-chip) {
  color: var(--v-accent-ink); background: var(--v-accent-soft); border-color: var(--v-accent-edge);
}
.vircca-unified :is(.button,.n-button) { font-size: 1rem; min-height: 46px; border-radius: 6px; }
.vircca-unified :is(.button-primary,.n-button:not(.n-outline)) {
  color: #fff; background: var(--v-green); border-color: var(--v-green);
}
.vircca-unified :is(.button-secondary,.button-outline,.n-outline) {
  color: var(--v-green); background: #fff; border: 1px solid var(--v-green);
}
.vircca-unified :is(.button-primary,.n-button:not(.n-outline)):hover { background: #245344; }
.vircca-unified :is(.button-secondary,.button-outline,.n-outline):hover {
  color: var(--v-green); background: var(--v-accent-soft);
}
.vircca-unified .agent-course-hero .button-aula { color: var(--v-green); background: #fff; border-color: var(--v-green); }
.vircca-unified .agent-thesis { background: #fff; border-color: var(--v-sea-edge); border-radius: 10px; }
.vircca-unified :is(.access-summary,.agent-thesis>p:last-child,.secure-meta span) { color: var(--v-muted); }
.vircca-unified .secure-meta span { background: #fff; border-color: var(--v-accent-edge); }
body.vircca-unified h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(1.75rem,3.2vw,2.625rem); line-height: 1.2; }
.vircca-unified :focus-visible { outline: 3px solid var(--v-accent-ink); outline-offset: 4px; }

/* Superficies de lectura: releva también los paneles verdes del curso público. */
.vircca-unified :is(.outcome-card,.two-column-notes .dark-note,.before-after .after-card,.task-spectrum .high-impact,.responsibility-rule,.agent-bridge,.course-completion,.course-close,.source-panel,.three-roles .active-role,.access-options .access-paid,.system-comparison .agent-system,.architecture-note,.five-risks,.concept-grid article:last-child,.secure-four article:nth-child(4),.secure-principle,.secure-preview) {
  color: var(--v-ink); background: var(--v-accent-soft) !important;
  border: 1px solid var(--v-accent-edge); border-left: 2px solid var(--v-accent-edge); border-radius: 10px;
}
.vircca-unified :is(.outcome-card,.dark-note,.after-card,.high-impact,.responsibility-rule,.agent-bridge,.course-completion,.course-close,.source-panel,.active-role,.access-paid,.agent-system,.architecture-note,.five-risks,.secure-principle,.secure-preview,.secure-four article:nth-child(4),.concept-grid article:last-child) :is(h2,h3,p,small,strong,blockquote,li,span) {
  color: var(--v-ink);
}
.vircca-unified :is(.prompt-output,.chain-output,.audit-output,.decision-output,.opportunity-output,.workflow-output article,.pilot-output article,.code-card,.operation-panel,.diagnostic-result,.check-panel) {
  color: var(--v-ink); background: #fff; border: 1px solid var(--v-accent-edge);
  border-left: 2px solid var(--v-accent-edge); border-radius: 8px;
}
.vircca-unified :is(.prompt-output,.chain-output,.audit-output,.decision-output,.opportunity-output,.workflow-output article,.pilot-output article,.code-card,.operation-panel,.diagnostic-result,.check-panel) :is(p,h2,h3,span,strong,small,pre,code) { color: var(--v-ink); }
.vircca-unified :is(.source-panel,.after-card,.operation-panel,.agent-bridge,.high-impact,.agent-system,.active-role,.access-paid,.risk-grid,.check-panel,.diagnostic-result) :is(p,li) { color: var(--v-ink) !important; }
.vircca-unified :is(.prompt-builder,.audit-builder,.decision-builder,.final-builder,.opportunity-builder,.exercise-panel,.secure-exercise,.practice-card,.rule-card,.reflection-box,.privacy-card,.criterion-box,.access-panel,.n-panel.soft) {
  color: var(--v-ink); background: var(--v-accent-soft); border-color: var(--v-accent-edge); border-radius: 10px;
}
.vircca-unified :is(.completion-check,.value-choices label,.warning-note,.approval-gate,.verify-sequence span) {
  color: var(--v-ink); background: var(--v-accent-soft); border-color: var(--v-accent-edge);
}
.vircca-unified :is(.course-study-guideline,.study-guideline,.vircca-breathing) {
  background: #fff; border-color: var(--v-sea-edge); color: var(--v-ink);
}
.vircca-unified :is(.vircca-audio-guide,.n-reader) {
  background: #fff; border: 1px solid var(--v-accent-edge); border-left: 2px solid var(--v-accent-edge);
}
.vircca-unified :is(.course-recognition,.n-recognition) {
  background: #fff !important; border: 1px solid var(--v-line) !important; border-top: 4px solid var(--v-gold) !important;
}
.vircca-unified :is(.course-recognition,.course-completion,.course-close,.n-recognition) p {
  font-size: 1.125rem; line-height: 1.65; color: var(--v-muted);
}
.vircca-unified :is(.review-modules h3,.secure-module-list h3,.tool-card h3,.catalog-card h3,.compact-module h3,.n-modules h3) {
  font-family: Georgia, "Times New Roman", serif; font-weight: 400;
  font-size: clamp(1.25rem,2vw,1.625rem); line-height: 1.25;
}
.vircca-unified :is(.review-modules li,.secure-module-list li,.compact-module,.n-modules a) {
  color: var(--v-ink); background: #fff; border-color: var(--v-line);
}
.vircca-unified :is(.review-modules .featured-review,.secure-module-list li:first-child,.roadmap-grid .available,.secure-roadmap li.open-module) {
  background: var(--v-accent-soft); border-left-color: var(--v-accent-edge);
}
.vircca-unified :is(.progress-card,.program-card,.plain-card,.secure-resources,.free-resources) { border-color: var(--v-accent-edge); }
.vircca-unified :is(.program-card,.n-panel) { border-top: 1px solid var(--v-accent-edge); }
.vircca-unified :is(.lesson-number,.module-number,.n-number) { color: var(--v-accent-ink); }
.vircca-unified :is(.lesson-nav,.lesson-index) a { font-size: 1rem; }
.vircca-unified .lesson-section { padding-block: clamp(2.5rem,5vw,4.25rem); }
.vircca-unified :is(.module-footer,.footer,.review-footer,.site-footer,.n-footer) {
  color: var(--v-ink); background: var(--v-ivory); border-top: 1px solid var(--v-sea-edge);
}
.vircca-unified :is(.module-footer,.footer,.review-footer,.site-footer,.n-footer) :is(p,a,.brand-name) { color: var(--v-ink); }

/* Web pública: superficies blancas y marfil; rosa y mar solo en líneas y detalles. */
.public-home.vircca-unified .hero { border-bottom: 1px solid var(--v-sea-edge); }
.public-home.vircca-unified .hero h1 { max-width: 24ch; }
.public-home.vircca-unified .hero-image-wrap { border-radius: 16px; box-shadow: none; border: 1px solid var(--v-rose-edge); }
.public-home.vircca-unified .focus-list li:nth-child(even) span { color: var(--v-rose-ink); }
.public-home.vircca-unified .catalog-tools { background: #fff; border: 1px solid var(--v-sea-edge); padding: 20px 24px; border-radius: 10px; }
.public-home.vircca-unified .catalog-tools>p { flex: 1; max-width: 52ch; }
.public-home.vircca-unified .course-selector-menu { max-height: min(70vh,620px); overflow-y: auto; }
.public-home.vircca-unified .course-selector-menu a { font-size: 1rem; }
.public-home.vircca-unified .course-selector-menu a:hover { background: var(--v-ivory); }
.public-home.vircca-unified .catalog-card-featured { background: #fff; border-top: 2px solid var(--v-sea-edge); }
.public-home.vircca-unified :is(.catalog-card,.tool-card,.n8n-preview) { border-color: var(--v-line); }
.public-home.vircca-unified :is(.course-grid .catalog-card:nth-child(even),.tool-card:nth-child(odd),.n8n-preview) { border-top: 2px solid var(--v-rose-edge); }
.public-home.vircca-unified :is(.course-grid .catalog-card:nth-child(odd),.tool-card:nth-child(even)) { border-top: 2px solid var(--v-sea-edge); }
.public-home.vircca-unified .tools-pack { background: #fff; border-color: var(--v-line); }
.public-home.vircca-unified .youth-course { background: #fff; border-color: var(--v-sea-edge); }
.public-home.vircca-unified .method { background: var(--v-ivory); border-top: 1px solid var(--v-rose-edge); }
.public-home.vircca-unified .observatory { background: #fff; color: var(--v-ink); border-color: var(--v-sea-edge); border-top: 1px solid var(--v-sea-edge); }
.public-home.vircca-unified .observatory :is(h2,h3,p,.eyebrow) { color: var(--v-ink); }
.public-home.vircca-unified :is(.observatory-hero,.observatory-intro) { background: var(--v-ivory); }
.public-home.vircca-unified :is(.resource-card,.listening-card) { border-top-color: var(--v-sea-edge); }
.public-home.vircca-unified .contact { background: #fff; border-top: 2px solid var(--v-rose-edge); }
.vircca-unified .service-languages { color: var(--v-rose-ink); font-size: 1rem; line-height: 1.5; margin: 1rem 0; font-weight: 650; }
.vircca-unified .free-label { font: inherit; color: var(--v-accent-ink); white-space: nowrap; }

/* Marque de VIRCCA: verde y corazón dorado en toda la interfaz. */
body.vircca-unified :is(.brand-name,.brand strong,.n-brand,.vircca-wordmark,.badge-brand,.site-footer strong,.footer strong,.course-signoff strong) {
  color: var(--v-green);
  white-space: nowrap;
}
body.vircca-unified :is(.brand-name,.brand strong,.n-brand,.vircca-wordmark) {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: .08em;
}
body.vircca-unified :is(.brand-name,.brand strong,.badge-brand,.site-footer strong,.footer strong,.course-signoff strong)::after {
  content: "♥";
  position: static;
  display: inline-block;
  margin-left: .22em;
  color: var(--v-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: .55em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: .1em;
  transform: none;
  pointer-events: none;
}
body.vircca-unified :is(.n-brand span,.vircca-wordmark .vircca-heart) {
  color: var(--v-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: .55em;
}
body.vircca-unified .n-footer .vircca-wordmark { font-size: inherit; }
body.vircca-unified .badge-brand {
  background: var(--v-ivory);
  padding: .28em .5em;
  border-radius: 5px;
  margin-bottom: .4em;
  line-height: 1.3;
}

@media(max-width:700px) {
  body.vircca-unified { font-size: 17px; }
  .vircca-unified :is(.module-hero,.agent-course-hero,.secure-hero,.secure-hub-hero,.secure-lesson-hero,.review-intro) { padding-block: 2rem; gap: 1.5rem; }
  .vircca-unified :is(.module-hero,.secure-hero,.secure-hub-hero) { grid-template-columns: minmax(0,1fr); }
  .vircca-unified :is(.outcome-card,.secure-principle) { padding: 1.25rem; }
  .vircca-unified .lesson-section { padding-block: 2.25rem; }
  .public-home.vircca-unified .catalog-tools { padding: 18px; }
  .public-home.vircca-unified .course-selector { width: 100%; }
  .vircca-unified .course-selector-menu a { min-height: 44px; }
}
@media(prefers-reduced-motion:reduce) { .vircca-unified { scroll-behavior: auto; } }

/* Las frases de cierre acompañan la lectura sin ocupar la pantalla como una portada. */
body.vircca-unified .module-closing {
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

body.vircca-unified .module-closing blockquote {
  max-width: 48rem;
  margin-bottom: 1.75rem;
  font-size: clamp(1.22rem, 1.55vw, 1.65rem);
  line-height: 1.45;
}

body.vircca-unified .course-close blockquote {
  max-width: 56ch;
  font-size: clamp(1.2rem, 1.5vw, 1.6rem);
  line-height: 1.45;
}

@media(max-width:700px) {
  body.vircca-unified .module-closing blockquote,
  body.vircca-unified .course-close blockquote {
    font-size: clamp(1.15rem, 5vw, 1.4rem);
  }
}
