/* Sólo estilos de contacto. Hereda container, section, soft, eyebrow, lead,
   button, text-link, section-copy, appointment-box, appointment-form y form-message. */
.g3-contact [id]{scroll-margin-top:220px}
.g3-contact-hero{padding-bottom:64px}
.g3-contact-intro{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:80px}
.g3-contact-intro h1{font-size:clamp(36px,4.6vw,64px);line-height:1.08;letter-spacing:-.045em;max-width:750px;margin-bottom:24px}
.g3-contact-intro h1 em{color:var(--red);font-style:normal}
.g3-contact-intro .lead{max-width:620px;font-size:17px;margin-bottom:28px}
.g3-contact-note{border-left:3px solid var(--red);padding:12px 0 12px 30px}
.g3-contact-mark{font-family:'titulos';font-size:54px;line-height:1;color:var(--line);display:block;margin-bottom:18px}
.g3-contact-note h2{font-size:21px;line-height:1.35}
.g3-contact-note p{color:var(--muted);font-size:14px}
.g3-contact-channels{padding-bottom:64px}
.g3-contact-small-title{font-size:18px;margin-bottom:22px}
/* Canales: icono, etiqueta y dato de contacto; sin modificar el PHP. */
.g3-contact-channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.g3-contact-channel{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:16px;row-gap:5px;align-content:center;min-height:118px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white);transition:border-color .2s,box-shadow .2s,transform .2s}
.g3-contact-channel::before{content:'';grid-column:1;grid-row:1/3;align-self:center;width:44px;height:44px;border-radius:12px;background:var(--soft)}
.g3-contact-channel::after{content:'';position:absolute;left:35px;top:calc(50% - 11px);width:22px;height:22px;background:var(--blue);-webkit-mask:var(--contact-icon) center/contain no-repeat;mask:var(--contact-icon) center/contain no-repeat}
.g3-contact-channel>strong{grid-column:2;grid-row:1;align-self:end;font-size:16px;font-weight:700;line-height:1.35}
.g3-contact-channel>span:last-child{grid-column:2;grid-row:2;align-self:start;font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.g3-contact-channel-index{grid-column:3;grid-row:1/3;align-self:center;color:var(--red);font-size:20px;line-height:1;transition:transform .2s}
.g3-contact-channel[href^="https://wa.me/"]{background:var(--blue);border-color:var(--blue);color:var(--white)}
.g3-contact-channel[href^="https://wa.me/"]::before{background:rgba(255,255,255,.12)}
.g3-contact-channel[href^="https://wa.me/"]::after{background:var(--white)}
.g3-contact-channel[href^="https://wa.me/"]>span:last-child{color:rgba(255,255,255,.85)}
.g3-contact-channel[href^="https://wa.me/"] .g3-contact-channel-index{color:var(--white)}
@media(hover:hover){.g3-contact-channel:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 10px 24px rgba(32,56,96,.09)}.g3-contact-channel:hover .g3-contact-channel-index{transform:translate(2px,-2px)}}
.g3-contact .button{min-height:48px;padding:14px 22px;border-radius:8px;font-size:14px;line-height:1.4}
.g3-contact .button:disabled:hover{background:var(--blue)}
.g3-contact-channel[href^="https://wa.me/"]{--contact-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2011.5a8.4%208.4%200%200%201-.9%203.8%208.5%208.5%200%200%201-7.6%204.7%208.4%208.4%200%200%201-3.8-.9L3%2021l1.9-5.7a8.4%208.4%200%200%201-.9-3.8%208.5%208.5%200%200%201%204.7-7.6%208.4%208.4%200%200%201%203.8-.9h.5a8.5%208.5%200%200%201%208%208v.5Z%22%2F%3E%3Cpath%20d%3D%22M9%208c0%204%203%207%207%207l1-2-3-1-1%201-2-2%201-1-1-3-2%201Z%22%2F%3E%3C%2Fsvg%3E")}
.g3-contact-channel[href^="tel:"]{--contact-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6%2019.8%2019.8%200%200%201-3.1-8.7A2%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1%201%20.4%201.9.7%202.8a2%202%200%200%201-.5%202.1L8%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.5c.9.3%201.8.6%202.8.7a2%202%200%200%201%201.8%202.1Z%22%2F%3E%3C%2Fsvg%3E")}
.g3-contact-channel[href^="mailto:"]{--contact-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m3%207%209%206%209-6%22%2F%3E%3C%2Fsvg%3E")}
@media(prefers-reduced-motion:reduce){.g3-contact-channel,.g3-contact-channel-index{transition:none}.g3-contact-channel:hover,.g3-contact-channel:hover .g3-contact-channel-index{transform:none}}
.g3-contact-steps{list-style:none;counter-reset:contact-step;padding:0;margin:30px 0}
.g3-contact-steps li{counter-increment:contact-step;position:relative;padding-left:42px;margin-bottom:22px}
.g3-contact-steps li::before{content:'0' counter(contact-step);position:absolute;left:0;color:var(--red);font-weight:700}
.g3-contact-steps strong,.g3-contact-steps span{display:block}
.g3-contact-steps span{color:var(--muted);font-size:13px;margin-top:3px}
.g3-contact .g3-contact-sensitive{font-size:13px;border-top:1px solid var(--line);padding-top:20px}
.g3-contact-full{grid-column:1/-1}
.g3-contact .appointment-form{align-content:start}
.g3-contact .appointment-form label{font-size:12px}
.g3-contact .appointment-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #e0e8f2;padding:16px;border-radius:2px;color:var(--ink);background:var(--white);font:inherit;font-size:14px;resize:vertical;min-height:130px}
.g3-contact .appointment-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}
.g3-contact .appointment-form input:focus-visible,.g3-contact .appointment-form select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.g3-contact .appointment-box .g3-contact-hint{font-size:12px;margin:-5px 0 0}
.g3-contact .appointment-form .g3-contact-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.g3-contact .appointment-form .g3-contact-consent input{width:18px;height:18px;flex:none;margin:2px 0 0;padding:0;accent-color:var(--blue)}
.g3-contact-consent a{text-decoration:underline;text-underline-offset:3px}
.g3-contact button:disabled{opacity:.55;cursor:not-allowed}
.g3-contact [hidden]{display:none!important}
.g3-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.g3-contact-visit{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.g3-contact-visit address{font-style:normal;margin:24px 0}
.g3-contact-hours{margin-top:24px}
.g3-contact-faq h3{font-size:20px}
.g3-contact-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.g3-contact-faq summary{cursor:pointer;font-weight:700;padding-right:12px}
.g3-contact-faq details p{font-size:14px;color:var(--muted);margin:14px 0 0}
.g3-contact a:focus-visible,.g3-contact summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:900px){.g3-contact-intro{gap:35px}.g3-contact-visit{gap:40px}}
@media(max-width:700px){.g3-contact [id]{scroll-margin-top:180px}.g3-contact-intro,.g3-contact-visit{grid-template-columns:1fr;gap:36px}.g3-contact-hero{padding-block:48px}.g3-contact-channels{padding-bottom:48px}.g3-contact-note{padding-left:22px}.g3-contact-mark{font-size:40px}.g3-contact-intro .lead{font-size:15px}}

#contact-channel-section{
    padding-top:100px;
    padding-bottom:60px;
}