/* adc_apostoles — «Quiero ser apóstol» (formulario público, gracias y bloque de portada).
   Móvil primero. Usa los tokens de marca (--adc-*) con respaldo propio. Prefijo .adcq- */
.adcq {
  --q-wine: var(--adc-color-primary, #6B1D2A);
  --q-wine-h: var(--adc-color-primary-hover, #561722);
  --q-wine-strong: var(--adc-color-primary-strong, #4A1220);
  --q-wine-deep: var(--adc-wine-deep, #330C16);
  --q-wine-soft: var(--adc-wine-soft, #F4E9EA);
  --q-gold: var(--adc-gold, #B8924A);
  --q-gold-t: var(--adc-gold-text, #7A5C22);
  --q-gold-b: var(--adc-gold-bright, #D9B979);
  --q-gold-soft: var(--adc-gold-soft, #F6EEDC);
  --q-ivory: var(--adc-color-bg, #FAF6EF);
  --q-ivory-2: var(--adc-color-bg-alt, #F3ECE0);
  --q-paper: var(--adc-color-surface, #FFFFFF);
  --q-text: var(--adc-color-text, #2A2724);
  --q-muted: var(--adc-color-text-muted, #5C5650);
  --q-line: var(--adc-color-line, #E4DACB);
  --q-line-s: var(--adc-color-line-strong, #CDBFAB);
  --q-danger: var(--adc-color-danger, #B42318);
  --q-danger-soft: var(--adc-color-danger-soft, #FCEBE8);
  --q-ok: var(--adc-olive, #556B2F);
  --q-serif: var(--adc-font-serif, "EB Garamond", Garamond, Georgia, "Times New Roman", serif);
  --q-sans: var(--adc-font-sans, "Source Sans 3", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif);
  --q-r: var(--adc-radius, 10px);
  --q-r-lg: var(--adc-radius-lg, 16px);
  --q-ctl: var(--adc-control-h, 52px);
  --q-ring: var(--adc-ring, 0 0 0 3px rgba(184, 146, 74, .55));
  font-family: var(--q-sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--q-text);
  -webkit-text-size-adjust: 100%;
}
.adcq *, .adcq *::before, .adcq *::after { box-sizing: border-box; }
.adcq a { color: var(--q-wine); text-underline-offset: 3px; }
.adcq a:hover { color: var(--q-wine-h); }
.adcq :focus-visible { outline: none; box-shadow: var(--q-ring); border-radius: 6px; }
.adcq-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.adcq-hp, .adcs-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

.adcq-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.adcq-wrap--narrow { max-width: 780px; }
.adcq-center { text-align: center; }
.adcq-center > p, p.adcq-center { margin-left: auto !important; margin-right: auto !important; }
.adcq-mt { margin-top: 56px !important; }

/* Tipografía */
.adcq-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--q-gold-t); }
.adcq-h1 { font-family: var(--q-serif); font-weight: 600; font-size: clamp(2.1rem, 1.5rem + 2.6vw, 3.4rem); line-height: 1.12; letter-spacing: -.01em; margin: 0 0 14px; text-wrap: balance; }
.adcq-h2 { font-family: var(--q-serif); font-weight: 600; font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); line-height: 1.2; margin: 0 0 14px; color: var(--q-text); text-wrap: balance; }
.adcq-h3 { font-family: var(--q-serif); font-weight: 600; font-size: 1.45rem; line-height: 1.25; margin: 36px 0 16px; color: var(--q-text); }
.adcq-lead { font-size: 1.2rem; line-height: 1.55; margin: 0; max-width: 40ch; }
.adcq p { margin: 0 0 14px; }
.adcq-note { color: var(--q-muted); font-size: 1rem; }
.adcq-motto { font-family: var(--q-serif); font-style: italic; font-size: 1.3rem; color: var(--q-wine); margin: 28px 0 0 !important; padding-left: 18px; border-left: 3px solid var(--q-gold); }
.adcq-center.adcq-motto { border-left: 0; padding-left: 0; }

/* Héroe */
.adcq-hero { background: radial-gradient(circle at 88% 12%, rgba(217, 185, 121, .22), transparent 42%), linear-gradient(160deg, var(--q-wine-strong) 0%, var(--q-wine-deep) 85%); color: #fff; padding: 56px 0 64px; }
.adcq-hero .adcq-eyebrow { color: var(--q-gold-b); }
.adcq-hero .adcq-h1 { color: #fff; }
.adcq-hero .adcq-lead { color: #F1E8DA; }
.adcq-hero .adcq-btn { margin-top: 24px; }
.adcq-hero--thanks { padding: 64px 0 72px; }
.adcq-hero--thanks .adcq-lead { margin: 0 auto; }
.adcq-seal { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 1.5px solid var(--q-gold-b); color: var(--q-gold-b); margin-bottom: 18px; }
.adcq-seal svg { width: 30px; height: 30px; }

/* Botones */
.adcq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: var(--q-ctl); padding: 12px 26px; border-radius: var(--q-r); border: 1.5px solid transparent; font: 600 1.0625rem/1.2 var(--q-sans); text-decoration: none !important; cursor: pointer; transition: background .18s, border-color .18s, color .18s, transform .18s; }
.adcq-btn svg { width: 20px; height: 20px; flex: 0 0 20px; }
.adcq-btn--primary { background: var(--q-wine); color: #fff !important; }
.adcq-btn--primary:hover { background: var(--q-wine-h); color: #fff !important; }
.adcq-btn--primary:active { transform: translateY(1px); }
.adcq-btn--light { background: #fff; color: var(--q-wine) !important; }
.adcq-btn--gold { background: var(--q-gold-b); color: var(--q-wine-deep) !important; }
.adcq-btn--gold:hover { background: #e6c98e; }
.adcq-btn--outline-light { border-color: rgba(255, 255, 255, .55); color: #fff !important; background: transparent; }
.adcq-btn--outline-light:hover { background: rgba(255, 255, 255, .08); border-color: #fff; }
.adcq-btn--ghost { border-color: var(--q-line-s); color: var(--q-text) !important; background: transparent; }
.adcq-btn--ghost:hover { background: var(--q-paper); }
.adcq-btn--block { width: 100%; min-height: 58px; font-size: 1.125rem; }
.adcq-btn[disabled], .adcq-btn.is-busy { opacity: .7; cursor: progress; }

/* Cuerpo y columnas */
.adcq-body { background: var(--q-ivory); padding: 48px 0 64px; }
.adcq-layout { display: grid; gap: 40px; }
.adcq-intro { max-width: 62ch; }
.adcq-intro > p { font-size: 1.0625rem; }

/* Pasos */
.adcq-steps { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 4px; }
.adcq-steps li { display: flex; gap: 16px; align-items: flex-start; padding: 12px 0; position: relative; }
.adcq-steps li + li::before { content: ""; position: absolute; left: 19px; top: -10px; height: 18px; width: 2px; background: var(--q-line); }
.adcq-steps__n { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--q-paper); border: 1.5px solid var(--q-gold); color: var(--q-wine); font: 700 1.05rem/1 var(--q-serif); }
.adcq-steps__n svg { width: 20px; height: 20px; }
.adcq-steps b { display: block; font-size: 1.0625rem; color: var(--q-text); }
.adcq-steps span:not(.adcq-steps__n) { display: block; color: var(--q-muted); font-size: 1rem; }
.adcq-steps li.is-done .adcq-steps__n { background: var(--q-ok); border-color: var(--q-ok); color: #fff; }

/* Tarjeta / formulario */
.adcq-card { background: var(--q-paper); border: 1px solid var(--q-line); border-radius: var(--q-r-lg); padding: 24px 20px; box-shadow: 0 2px 6px rgba(42, 39, 36, .05), 0 12px 32px rgba(42, 39, 36, .06); }
.adcq-form__title { margin-bottom: 6px; }
.adcq-form__sub { color: var(--q-muted); margin-bottom: 22px !important; }
.adcq-req { color: var(--q-wine); font-weight: 700; }
.adcq-opt { font-family: var(--q-sans); font-size: .95rem; font-weight: 400; color: var(--q-muted); }
.adcq-fs { border: 0; margin: 0 0 8px; padding: 0 0 18px; min-width: 0; }
.adcq-fs + .adcq-fs { border-top: 1px solid var(--q-line); padding-top: 22px; }
.adcq-fs legend { font: 600 1.3rem/1.3 var(--q-serif); color: var(--q-text); padding: 0; margin: 0 0 14px; float: left; width: 100%; }
.adcq-fs legend + * { clear: both; }
.adcq-hint { color: var(--q-muted); font-size: .98rem; margin: 0 0 12px !important; }
.adcq-row { display: grid; gap: 0 18px; }
.adcq-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; min-width: 0; }
.adcq-field label, .adcq-label { font-weight: 600; font-size: 1rem; color: var(--q-text); margin: 0; }
.adcq-field input[type=text], .adcq-field input[type=tel], .adcq-field input[type=email], .adcq-field select, .adcq-field textarea {
  width: 100%; min-height: var(--q-ctl); padding: 12px 14px; font: 400 1.0625rem/1.4 var(--q-sans); color: var(--q-text);
  background: #fff; border: 1.5px solid var(--q-line-s); border-radius: var(--q-r); appearance: none; -webkit-appearance: none; transition: border-color .15s, box-shadow .15s;
}
.adcq-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5l5 5 5-5' fill='none' stroke='%235C5650' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; padding-right: 44px; }
.adcq-field textarea { min-height: 120px; resize: vertical; line-height: 1.55; }
.adcq-field input::placeholder, .adcq-field textarea::placeholder { color: #8A8178; }
.adcq-field input:focus, .adcq-field select:focus, .adcq-field textarea:focus { border-color: var(--q-wine); box-shadow: 0 0 0 3px rgba(107, 29, 42, .14); outline: none; }
.adcq-field.is-invalid input, .adcq-field.is-invalid select, .adcq-field.is-invalid textarea { border-color: var(--q-danger); background: #fffafa; }
.adcq-err { display: flex; gap: 6px; align-items: flex-start; color: var(--q-danger); font-size: .97rem; font-weight: 600; margin: 2px 0 0 !important; }
.adcq-err svg { width: 18px; height: 18px; flex: 0 0 18px; fill: currentColor; margin-top: 2px; }
.adcq-fs--consent .adcq-err { margin: -4px 0 14px !important; }

/* Edad: pastillas grandes */
.adcq-pills { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.adcq-pill { position: relative; margin: 0; cursor: pointer; }
.adcq-pill input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.adcq-pill span { display: flex; align-items: center; justify-content: center; text-align: center; min-height: var(--q-ctl); padding: 10px 12px; border: 1.5px solid var(--q-line-s); border-radius: var(--q-r); background: #fff; font-weight: 600; font-size: 1rem; color: var(--q-text); transition: background .15s, border-color .15s, color .15s; }
.adcq-pill input:checked + span { background: var(--q-wine-soft); border-color: var(--q-wine); color: var(--q-wine); box-shadow: inset 0 0 0 1px var(--q-wine); }
.adcq-pill input:focus-visible + span { box-shadow: var(--q-ring); }

/* Consentimientos */
.adcq-privacy { background: var(--q-ivory); border-radius: var(--q-r); padding: 14px 16px; font-size: .98rem; color: var(--q-muted); }
.adcq-check { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; border: 1.5px solid var(--q-line); border-radius: var(--q-r); margin: 0 0 12px; background: #fff; transition: border-color .15s, background .15s; }
.adcq-check:has(input:checked) { border-color: var(--q-ok); background: #fbfcf7; }
.adcq-check.is-invalid { border-color: var(--q-danger); background: #fffafa; }
.adcq-check input { flex: 0 0 24px; width: 24px; height: 24px; margin: 2px 0 0; accent-color: var(--q-wine); cursor: pointer; }
.adcq-check label { font-weight: 400; font-size: 1rem; line-height: 1.5; margin: 0; cursor: pointer; color: var(--q-text); }
.adcq-legal { text-align: center; color: var(--q-muted); font-size: .95rem; margin: 14px 0 0 !important; }

/* Alerta */
.adcq-alert { border: 1.5px solid #F0C6C0; background: var(--q-danger-soft); color: #7A1A12; border-radius: var(--q-r); padding: 14px 16px; margin: 0 0 22px; }
.adcq-alert p { margin: 0 0 6px !important; }
.adcq-alert ul { margin: 0; padding-left: 20px; }
.adcq-alert li { margin: 2px 0; }
.adcq-alert a { color: #7A1A12; }
.adcq-alert:focus { outline: none; box-shadow: var(--q-ring); }

/* Preguntas frecuentes */
.adcq-faq { background: var(--q-ivory-2); padding: 56px 0 64px; }
.adcq-faq .adcq-h2 { margin-bottom: 22px; }
.adcq-faq details { background: var(--q-paper); border: 1px solid var(--q-line); border-radius: var(--q-r); margin: 0 0 10px; }
.adcq-faq summary { cursor: pointer; list-style: none; padding: 16px 52px 16px 20px; font-weight: 600; font-size: 1.0625rem; position: relative; min-height: 56px; display: flex; align-items: center; }
.adcq-faq summary::-webkit-details-marker { display: none; }
.adcq-faq summary::after { content: ""; position: absolute; right: 20px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--q-wine); border-bottom: 2px solid var(--q-wine); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.adcq-faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.adcq-faq details p { padding: 0 20px 18px; margin: 0 !important; color: var(--q-muted); }

/* Gracias */
.adcq-next .adcq-h2 { margin-bottom: 10px; }
.adcq-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.adcq-links li { display: flex; }
.adcq-links .adcq-link { width: 100%; }
.adcq-link { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; text-decoration: none !important; color: var(--q-text) !important; padding: 18px 20px; transition: border-color .15s, transform .15s; }
.adcq-link:hover { border-color: var(--q-gold); transform: translateY(-1px); }
.adcq-link svg { grid-row: 1 / span 2; width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--q-wine-soft); color: var(--q-wine); }
.adcq-link b { font-size: 1.0625rem; }
.adcq-link span { color: var(--q-muted); font-size: .97rem; }
.adcq-body .adcq-btn--ghost { margin-top: 18px; }

/* Bloque de portada */
.adcq-block { border-radius: 20px; overflow: hidden; background: radial-gradient(circle at 92% 8%, rgba(217, 185, 121, .22), transparent 40%), linear-gradient(155deg, var(--q-wine-strong), var(--q-wine-deep)); color: #fff; }
.adcq-block__inner { display: grid; gap: 32px; padding: 36px 24px; }
.adcq-block .adcq-eyebrow--gold { color: var(--q-gold-b); }
.adcq-block__title { color: #fff !important; }
.adcq-block__lead { color: #F1E8DA; font-size: 1.125rem; max-width: 52ch; }
.adcq-block__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.adcq-block__actions .adcq-btn { flex: 1 1 220px; }
.adcq-block__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.adcq-block__steps li { display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; align-items: center; background: rgba(255, 255, 255, .06); border: 1px solid rgba(217, 185, 121, .28); border-radius: 12px; padding: 14px 16px; }
.adcq-block__steps span { grid-row: 1 / span 2; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--q-gold-b); color: var(--q-gold-b); display: grid; place-items: center; font: 700 1.05rem/1 var(--q-serif); }
.adcq-block__steps b { font-size: 1.0625rem; color: #fff; }
.adcq-block__steps small { color: #E9DFD0; font-size: .97rem; }

/* Respaldo sin el layout de sitio_cjs */
.adcq-fallback { margin: 0; background: #FAF6EF; }
.adcq-fbar { padding: 16px 20px; background: #fff; border-bottom: 1px solid #E4DACB; font: 600 1.2rem/1.2 Georgia, serif; }
.adcq-fbar a { color: #6B1D2A; text-decoration: none; }
.adcq-ffoot { padding: 32px 20px; text-align: center; color: #5C5650; font: 15px/1.6 system-ui, sans-serif; }
.adcq-ffoot a { color: #6B1D2A; }

.adcq-only-sm { display: inline-flex; }

@media (min-width: 640px) {
  .adcq-wrap { padding: 0 32px; }
  .adcq-row { grid-template-columns: 1fr 1fr; }
  .adcq-pills { grid-template-columns: repeat(4, 1fr); }
  .adcq-card { padding: 32px; }
  .adcq-links { grid-template-columns: repeat(3, 1fr); }
  .adcq-link { grid-template-columns: 1fr; grid-template-rows: auto; row-gap: 6px; text-align: left; }
  .adcq-link svg { grid-row: auto; margin-bottom: 6px; }
}
@media (min-width: 1024px) {
  .adcq-hero { padding: 88px 0 96px; }
  .adcq-body { padding: 80px 0 104px; }
  .adcq-layout { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: start; }
  .adcq-intro { position: sticky; top: 104px; padding-top: 8px; }
  .adcq-card { padding: 40px; }
  .adcq-only-sm { display: none; }
  .adcq-faq { padding: 96px 0 104px; }
  .adcq-block__inner { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 56px; padding: 64px 56px; align-items: center; }
  .adcq-block__actions .adcq-btn { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .adcq * { transition: none !important; }
}
