/* Shared blocks added 17 Oct 2026: proof strip, guided assistant, closing banner actions, newsletter band.
   Uses the page tokens (--teal-*, --slate-*); fallbacks cover the publicaciones template, which defines fewer. */

/* ---- Proof strip (under the hero) ---- */
.proof-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:34px; border-top:1px solid var(--teal-100,#C9E8DC); }
.proof-strip > div { padding:18px 18px 0 0; border-right:1px solid var(--teal-100,#C9E8DC); margin-right:18px; min-width:0; }
.proof-strip > div:last-child { border-right:0; margin-right:0; }
.proof-strip b { display:block; font-family:var(--font-display,'Fraunces',Georgia,serif); font-weight:500; font-size:17px; line-height:1.25; color:var(--teal-600,#0F6E56); }
.proof-strip span { display:block; font-size:12.5px; line-height:1.45; color:var(--slate-500,#5F5E5A); margin-top:4px; }
/* On the dark photo hero the strip reads in white, with a mint rule. */
.hero .proof-strip { border-top-color:rgba(93,202,165,.55); margin-top:38px; }
.hero .proof-strip > div { border-right-color:rgba(255,255,255,.22); }
.hero .proof-strip b { color:#fff; font-size:19px; }
.hero .proof-strip span { color:rgba(255,255,255,.82); font-size:13.5px; }
@media (max-width:900px) { .proof-strip { grid-template-columns:1fr 1fr; } .proof-strip > div { border-right:0; margin-right:0; padding-right:12px; } }

/* ---- Guided assistant: ¿Qué trámite necesita? ---- */
.guia { max-width:860px; margin:0 auto; text-align:left; }
.guia-q { font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-600,#0F6E56); margin:26px 0 10px; }
.guia-q:first-child { margin-top:0; }
.guia-opts { display:flex; flex-wrap:wrap; gap:10px; }
.guia-opts button { font:500 14px var(--font-body,'Inter',system-ui,sans-serif); padding:11px 18px; border-radius:999px; background:var(--white,#fff); border:1px solid var(--teal-200,#A9DCC8); color:var(--teal-800,#07463B); cursor:pointer; transition:all .18s; }
.guia-opts button:hover { border-color:var(--teal-600,#0F6E56); }
.guia-opts button[aria-pressed="true"] { background:var(--teal-600,#0F6E56); border-color:var(--teal-600,#0F6E56); color:#fff; }
.guia-opts button:focus-visible { outline:2px solid var(--teal-300,#5DCAA5); outline-offset:2px; }
.guia-res { margin-top:28px; background:var(--white,#fff); border:1px solid var(--teal-200,#A9DCC8); border-radius:14px; padding:28px 30px; box-shadow:0 18px 44px rgba(4,52,44,.06); }
.guia-res[hidden] { display:none; }
.guia-res .k { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--teal-400,#3E9A7B); margin-bottom:8px; }
.guia-res h3 { font-family:var(--font-display,'Fraunces',Georgia,serif); font-weight:400; font-size:25px; line-height:1.25; color:var(--teal-900,#04342C); margin:0 0 8px; }
.guia-res .norma { font-size:13.5px; color:var(--slate-500,#5F5E5A); margin:0 0 16px; }
.guia-res h4 { font-size:13px; font-weight:600; color:var(--teal-800,#07463B); margin:16px 0 8px; }
.guia-res ul { list-style:none; margin:0; padding:0; }
.guia-res li { position:relative; padding-left:18px; font-size:14.5px; line-height:1.55; color:var(--slate-700,#2C2C2A); margin-bottom:7px; }
.guia-res li::before { content:''; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background:var(--teal-300,#5DCAA5); }
.guia-res .nota { font-size:13px; color:var(--slate-500,#5F5E5A); margin-top:16px; line-height:1.55; }
.guia-res .acts { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; align-items:center; }
.guia-res .acts a.sec { font-size:14px; color:var(--teal-600,#0F6E56); text-decoration:underline; text-underline-offset:3px; }
.guia-alt { margin-top:30px; font-size:13.5px; color:var(--slate-500,#5F5E5A); text-align:center; }
.guia-alt .need-btns { margin-top:12px; }
@media (max-width:600px) { .guia-res { padding:22px 20px; } .guia-res h3 { font-size:22px; } }

/* ---- Closing banner: second action next to the main button ---- */
.reg-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; flex-shrink:0; }
.btn-ghost { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.45); font-size:14px; font-weight:500; padding:13px 24px; border-radius:6px; text-decoration:none; display:inline-block; transition:all .2s; white-space:nowrap; }
.btn-ghost:hover { background:rgba(255,255,255,.1); border-color:#fff; }
@media (max-width:768px) { .reg-inner { flex-direction:column; align-items:flex-start; } }

/* ---- Newsletter band ---- */
.novedades { background:var(--teal-900,#04342C); color:#fff; padding:72px 0; }
.novedades-inner { max-width:1180px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
.novedades .eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--teal-300,#5DCAA5); margin-bottom:14px; }
.novedades .eyebrow::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--teal-300,#5DCAA5); }
.novedades h2 { font-family:var(--font-display,'Fraunces',Georgia,serif); font-weight:400; font-size:32px; line-height:1.2; color:#fff; margin:0 0 12px; letter-spacing:-.2px; }
.novedades p { font-size:15px; line-height:1.65; color:#B9D9CC; margin:0; max-width:52ch; }
.novedades form { display:flex; gap:8px; align-items:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:6px 6px 6px 20px; }
.novedades input[type="email"] { flex:1; min-width:0; background:transparent; border:0; outline:0; color:#fff; font:400 15px var(--font-body,'Inter',system-ui,sans-serif); padding:8px 0; }
.novedades input[type="email"]::placeholder { color:#8FB8A8; }
.novedades button { font:600 14px var(--font-body,'Inter',system-ui,sans-serif); background:var(--teal-300,#5DCAA5); color:var(--teal-900,#04342C); border:0; border-radius:999px; padding:12px 22px; cursor:pointer; white-space:nowrap; transition:background .2s; }
.novedades button:hover { background:#7AD9B9; }
.novedades button:focus-visible, .novedades input:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.novedades small { display:block; font-size:12.5px; color:#8FB8A8; margin-top:12px; line-height:1.5; }
.novedades small a { color:#B9D9CC; }
@media (max-width:860px) { .novedades-inner { grid-template-columns:1fr; gap:28px; } .novedades h2 { font-size:27px; } }
@media (max-width:480px) { .novedades form { flex-direction:column; border-radius:18px; padding:12px; align-items:stretch; } .novedades input[type="email"] { padding:8px 6px; } }

/* ---- Footer legal line ---- */
.footer-legal { font-size:12.5px; color:var(--teal-200,#A9DCC8); opacity:.85; margin-top:10px; line-height:1.6; }
