/* Cardenal V2: estados y componentes compartidos, sin alterar el layout aprobado. */
:root{--cardenal-motion:.24s;--cardenal-hover-shadow:0 10px 23px rgba(27,31,51,.12)}
.site-navigation .cardenal-nav-list a:not(.nav-contact){font-weight:600!important;position:relative;display:inline-block;transition:color var(--cardenal-motion) ease,opacity var(--cardenal-motion) ease}
.site-navigation .cardenal-nav-list a:not(.nav-contact):before{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#BB1F2D;transform:scaleX(0);transform-origin:center;transition:transform .24s ease}
.site-navigation .cardenal-nav-list a:not(.nav-contact):hover,.site-navigation .cardenal-nav-list a:not(.nav-contact):focus-visible{color:#BB1F2D!important}
.site-navigation .cardenal-nav-list a:not(.nav-contact):hover:before,.site-navigation .cardenal-nav-list a:not(.nav-contact):focus-visible:before{transform:scaleX(1)}
.site-navigation .cardenal-nav-list a.is-active:not(.nav-contact),.site-navigation .cardenal-nav-list .current-menu-item>a:not(.nav-contact){color:#1B1F33!important}
:is(a.btn,.pill-outline,.cd-contact-submit,.cd-svc-btn,.cd-about-hero-cta,.cd-svc-personal-card,.cd-service-choice span,.cd-service-choice,.cardenal-nav-list .nav-contact,.site-navigation .cardenal-nav-list>li:last-child>a){transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease,border-color .25s ease,filter .25s ease}
:is(a.btn,.pill-outline,.cd-contact-submit,.cd-svc-btn,.cd-about-hero-cta,.cardenal-nav-list .nav-contact,.site-navigation .cardenal-nav-list>li:last-child>a):hover{transform:translateY(-3px);box-shadow:var(--cardenal-hover-shadow);filter:brightness(.96)}
:is(a.btn,.pill-outline,.cd-contact-submit,.cd-svc-btn,.cd-about-hero-cta,.cardenal-nav-list .nav-contact):active{transform:translateY(0);box-shadow:none}
:is(a.btn,.pill-outline,.cd-contact-submit,.cd-svc-btn,.cd-about-hero-cta,.cardenal-nav-list a,.menu-toggle,.mobile-nav-close,.carousel-arrow,.cd-service-choice input):focus-visible{outline:3px solid #BB1F2D;outline-offset:3px}
a.btn span[aria-hidden="true"],.cd-svc-btn span[aria-hidden="true"],.cd-contact-submit span[aria-hidden="true"]{display:inline-block;transition:transform .24s ease}
a.btn:hover span[aria-hidden="true"],.cd-svc-btn:hover span[aria-hidden="true"],.cd-contact-submit:hover span[aria-hidden="true"]{transform:translateX(4px)}
.cd-svc-personal-card:hover{transform:translateY(-5px)}
.cd-contact-form .cd-phone-input{display:flex;align-items:stretch;width:100%;min-width:0;border-radius:7px;overflow:hidden}
.cd-contact-form .cd-phone-country{display:flex;align-items:center;justify-content:center;padding:0 12px;background:#EDEFF2;border:1px solid #cad0d9;border-right:0;border-radius:7px 0 0 7px;color:#1B1F33;font-size:16px;font-weight:650;flex-shrink:0}
.cd-contact-form .cd-phone-input input{width:100%;min-width:0;border-radius:0 7px 7px 0!important;font-size:16px}
.cd-contact-form .cd-phone-input:focus-within .cd-phone-country{border-color:#BB1F2D}
.cd-contact-form .cd-has-error .cd-phone-country{border-color:#BB1F2D}
.cd-404{background:linear-gradient(135deg,#fff 35%,#EDEFF2);min-height:65vh;display:flex;align-items:center;padding:90px 0}
.cd-404-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.cd-404-number{font-size:clamp(90px,14vw,195px);line-height:.95;font-weight:850;letter-spacing:-.07em;color:#BB1F2D;display:block;margin-bottom:20px}
.cd-404 h1{font-size:clamp(30px,3.2vw,46px);line-height:1.14;max-width:650px}
.cd-404 p{max-width:560px;color:#515764;font-size:18px;line-height:1.55}
.cd-404-art{padding:36px;background:#fff;border-radius:25px;box-shadow:0 16px 36px #1B1F3312}
.cd-404-art img{max-width:100%;height:auto}
.cd-404 .hero-actions{margin-top:26px}
.cd-legal-hero{padding:75px 0 60px;background:linear-gradient(110deg,#fff,#EDEFF2)}
.cd-legal-hero h1{font-size:clamp(34px,4.1vw,56px);max-width:750px;color:#1B1F33}
.cd-legal-hero p{color:#525968;font-size:18px}
.cd-legal-content{padding-block:45px 90px;max-width:980px;font-size:17px;line-height:1.65}
.cd-legal-content h2{font-size:24px;margin:36px 0 10px;color:#1B1F33}
.cd-legal-content p{color:#47505f;max-width:780px}
.cardenal-home .hero{background-image:var(--cd-home-hero-image,url('../images/benner_inicio.webp'))}
.cd-custom-about-image,.cd-custom-contact-image,.cd-svc-custom-art{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1024px){.site-navigation .cardenal-nav-list a:not(.nav-contact){display:block}.site-navigation .cardenal-nav-list a:before{display:none}}
@media(max-width:760px){.cd-404{padding:60px 0;min-height:55vh}.cd-404-inner{grid-template-columns:1fr;gap:20px}.cd-404-art{display:none}.cd-legal-hero{padding:50px 0 45px}.cd-legal-content{font-size:16px;padding-bottom:55px}.cd-legal-content h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.site-navigation .cardenal-nav-list a, .cd-svc-personal-card,:is(a.btn,.pill-outline,.cd-contact-submit,.cd-svc-btn,.cd-about-hero-cta){transition:none!important;animation:none!important;transform:none!important}}
