/* Cardenal S.A. — Contacto V1.6.3 · panel estable + responsive / Elementor Free */
.cd-contacto{--cd-ink:#1B1F33;--cd-red:#BB1F2D;--cd-mist:#EDEFF2;--cd-cream:#F7F2F0;color:var(--cd-ink);overflow:clip}
.cd-contacto *, .cd-contacto *::before,.cd-contacto *::after{box-sizing:border-box}
.cd-contacto :is(h1,h2,h3,p){margin-block-start:0}
.cd-contacto .cd-contact-hero{position:relative;min-height:365px;isolation:isolate;background:#fff;display:flex;align-items:flex-start;padding-top:48px}
.cd-contacto .cd-contact-hero-copy{position:relative;z-index:2;width:min(1240px,calc(100% - 80px));margin-inline:auto;pointer-events:none}
.cd-contacto .cd-contact-hero-copy > *{max-width:570px}
.cd-contacto .cd-contact-eyebrow,.cd-contacto .cd-contact-eyebrow .elementor-heading-title{font-size:17px;letter-spacing:.13em;font-weight:450;line-height:1.3;color:#6a6e79;margin:0 0 16px}
.cd-contacto .cd-contact-hero h1,.cd-contacto .cd-contact-hero .elementor-widget-heading h1{font-size:clamp(34px,3.15vw,46px);font-weight:760;letter-spacing:-.028em;line-height:1.1;margin:0 0 12px;color:var(--cd-ink);max-width:570px;text-wrap:balance}
.cd-contacto .cd-contact-hero p,.cd-contacto .cd-contact-hero .elementor-widget-text-editor p{font-size:16px;line-height:1.48;color:#505462;margin:0;max-width:520px}
.cd-contacto .cd-contact-hero-art{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.cd-contacto .cd-contact-hero-art picture,.cd-contacto .cd-contact-hero-art img{display:block;width:100%;height:100%}
.cd-contacto .cd-contact-hero-art img{object-fit:cover;object-position:center center}
.cd-contacto .cd-contact-hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 23%,#ffffffed 35%,#ffffffa8 44%,transparent 60%)}
.cd-contacto .cd-contact-content{position:relative;z-index:4;margin:-40px auto 0;padding-bottom:56px;width:min(1240px,calc(100% - 80px))}
.cd-contacto .cd-contact-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,.96fr);align-items:stretch;gap:18px}
.cd-contacto .cd-form-card{background:#fff;border:1px solid #c9c9c9;border-radius:18px;padding:28px 30px;box-shadow:0 10px 24px rgba(27,31,51,.035);min-width:0}
.cd-contacto .cd-form-heading{font-weight:750;font-size:27px;line-height:1.15;margin:0 0 18px;color:#111}
.cd-contacto .cd-contact-form{display:block;min-width:0}
.cd-contacto .cd-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cd-contacto .cd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;margin-bottom:23px}
.cd-contacto .cd-field{min-width:0}
.cd-contacto .cd-form-grid .cd-field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cd-contacto .cd-field :is(input,textarea){background:#fff;border:1px solid #cbd0d6;border-radius:7px;font-family:inherit;font-size:16px;line-height:1.4;color:var(--cd-ink);width:100%;min-height:47px;padding:11px 14px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.cd-contacto .cd-field textarea{min-height:110px;resize:vertical}
.cd-contacto .cd-field :is(input,textarea)::placeholder{color:#838791;opacity:1}
.cd-contacto .cd-field :is(input,textarea):focus{outline:0;border-color:var(--cd-red);box-shadow:0 0 0 3px #BB1F2D22}
.cd-contacto .cd-field>label,.cd-contacto .cd-form-services legend{color:#30343f;font-size:18px;font-weight:480;margin:0 0 10px;line-height:1.4}
.cd-contacto .cd-field>label span,.cd-contacto .cd-form-services legend span{color:#BB1F2D}
.cd-contacto fieldset.cd-form-services{border:0;padding:0;margin:0 0 24px;min-width:0}
.cd-contacto .cd-service-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.cd-contacto .cd-service-choice{display:flex;position:relative;min-width:0;cursor:pointer}
.cd-contacto .cd-service-choice input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer;z-index:1}
.cd-contacto .cd-service-choice span{width:100%;border:1px solid #d6d6db;border-radius:6px;min-height:55px;padding:9px 6px;display:grid;place-items:center;text-align:center;line-height:1.12;font-size:14px;font-weight:500;background:#fff;color:#333b48;transition:background .2s,color .2s,box-shadow .2s,border-color .2s}
.cd-contacto .cd-service-choice input:checked+span{background:var(--cd-red);color:#fff;border-color:var(--cd-red);font-weight:650}
.cd-contacto .cd-service-choice input:focus-visible+span{outline:3px solid #1B1F3388;outline-offset:3px}
.cd-contacto .cd-service-choice:hover span{box-shadow:0 4px 12px #1B1F3317}
.cd-contacto .cd-message-field{margin-bottom:12px}
.cd-contacto .cd-contact-submit{width:100%;min-height:48px;background:var(--cd-red);border:1px solid var(--cd-red);border-radius:5px;display:flex;gap:12px;align-items:center;justify-content:center;padding:12px 18px;color:#fff;font-size:17px;line-height:1.2;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s}
.cd-contacto .cd-contact-submit span:last-child{font-size:24px;line-height:1;transition:transform .2s}
.cd-contacto .cd-contact-submit:hover:not(:disabled){background:#9e1926;box-shadow:0 7px 20px #BB1F2D35;transform:translateY(-2px)}
.cd-contacto .cd-contact-submit:hover span:last-child{transform:translateX(4px)}
.cd-contacto .cd-contact-submit:disabled{cursor:wait;opacity:.75}
.cd-contacto .cd-contact-submit:focus-visible{outline:3px solid #1B1F33;outline-offset:3px}
.cd-contacto .cd-form-message:not(:empty),.cd-contacto .cd-contact-notice{font-size:15px;line-height:1.4;border-radius:7px;padding:12px 14px;margin-bottom:14px}
.cd-contacto .is-success{background:#eaf6ee;color:#186236;border:1px solid #a4d6b6}
.cd-contacto .is-error{background:#fff0f0;color:#901c2a;border:1px solid #e7aaaa}
.cd-contacto .cd-contact-card{background:var(--cd-mist);border-radius:16px;overflow:hidden;box-shadow:0 7px 21px rgba(27,31,51,.14);align-self:stretch;color:var(--cd-ink)}
.cd-contacto .cd-contact-card>h2{font-weight:720;font-size:21px;text-align:center;margin:0;padding:25px 15px;background:linear-gradient(180deg,#FFFFFFC5,#FFFFFF34);line-height:1.28}
.cd-contacto .cd-contact-card-inner{padding:0 33px 16px}
.cd-contacto .cd-contact-info-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;padding:18px 0;align-items:flex-start;min-height:80px}
.cd-contacto .cd-contact-info-row+ .cd-contact-info-row{border-top:1px solid #c7c8cf}
.cd-contacto .cd-contact-info-icon{object-fit:contain;max-height:42px;width:35px;height:38px;margin:0 auto}
.cd-contacto .cd-contact-info-row h3{font-size:16px;line-height:1.28;font-weight:750;margin:0 0 2px;color:#222}
.cd-contacto .cd-contact-info-row :is(p,a){font-size:15px;line-height:1.35;color:#666b76;margin:0;overflow-wrap:anywhere}
.cd-contacto .cd-contact-info-row a:hover{color:var(--cd-red);text-decoration:underline}
.cd-contacto .cd-contact-unset{font-style:italic;font-size:13px!important}
.cd-contacto .cd-form-missing{padding:12px 0;font-size:16px;line-height:1.5}
/* Elementor Free: same brand system, with editable hero copy/image and shortcodes */
.cd-contacto--elementor .cd-contact-hero{width:100%!important;max-width:none!important;display:block!important}
.cd-contacto--elementor .cd-contact-hero-copy{display:flex!important;flex-direction:column;align-items:flex-start;gap:0;pointer-events:auto}
.cd-contacto--elementor .cd-contact-hero-copy>.elementor-element{width:100%;max-width:570px}
.cd-contacto--elementor .cd-contact-hero-art .elementor-widget-container,.cd-contacto--elementor .cd-contact-hero-art img{width:100%;height:100%;object-fit:cover}
.cd-contacto--elementor .cd-contact-hero-art .elementor-widget-container{height:100%}
.cd-contacto--elementor .cd-contact-grid{display:grid!important}
.cd-contacto--elementor .cd-contact-grid>.elementor-element{min-width:0;width:auto}
.cd-contacto--elementor .elementor-widget-shortcode{width:100%}
@media(max-width:1100px){
 .cd-contacto .cd-contact-hero-copy,.cd-contacto .cd-contact-content{width:calc(100% - 48px)}
 .cd-contacto .cd-contact-hero-copy>*{max-width:min(520px,55%)}
 .cd-contacto .cd-contact-hero h1,.cd-contacto .cd-contact-hero .elementor-widget-heading h1{font-size:clamp(32px,3.6vw,40px)}
 .cd-contacto .cd-contact-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.95fr);gap:14px}
 .cd-contacto .cd-form-card{padding:24px 22px}
 .cd-contacto .cd-contact-card-inner{padding-inline:20px}
 .cd-contacto .cd-service-options{gap:6px}
 .cd-contacto .cd-service-choice span{font-size:13px;min-height:60px}
}
@media(max-width:760px){
 .cd-contacto .cd-contact-hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:0;background:white}
 .cd-contacto .cd-contact-hero-copy{width:calc(100% - 36px);padding:35px 0 28px;flex:0 0 auto}
 .cd-contacto .cd-contact-hero-copy>*{max-width:none}
 .cd-contacto .cd-contact-eyebrow,.cd-contacto .cd-contact-eyebrow .elementor-heading-title{font-size:14px;margin-bottom:12px}
 .cd-contacto .cd-contact-hero h1,.cd-contacto .cd-contact-hero .elementor-widget-heading h1{font-size:clamp(31px,7.5vw,43px);line-height:1.12;max-width:100%}
 .cd-contacto .cd-contact-hero p,.cd-contacto .cd-contact-hero .elementor-widget-text-editor p{font-size:16px;max-width:520px}
 .cd-contacto .cd-contact-hero-art{position:relative;width:100%;height:clamp(170px,45vw,240px);inset:auto;order:2}
 .cd-contacto .cd-contact-hero-art::after{display:none}
 .cd-contacto .cd-contact-hero-art img{object-fit:cover;object-position:center 40%}
 .cd-contacto .cd-contact-content{margin:0 auto;padding:24px 0 40px;width:calc(100% - 36px)}
 .cd-contacto .cd-contact-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .cd-contacto .cd-form-card{padding:24px 19px;border-radius:16px}
 .cd-contacto .cd-contact-card-inner{padding:0 20px 12px}
 .cd-contacto .cd-contact-card>h2{padding:22px 12px}
 .cd-contacto .cd-service-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .cd-contacto .cd-service-choice span{font-size:14px;min-height:53px}
 .cd-contacto--elementor .cd-contact-hero{display:flex!important}
 .cd-contacto--elementor .cd-contact-hero-copy{padding-top:35px;padding-bottom:28px}
 .cd-contacto--elementor .cd-contact-hero-art{position:relative!important;inset:auto!important;order:2}
}
@media(max-width:480px){
 .cd-contacto .cd-contact-hero-copy{padding:26px 0 23px}
 .cd-contacto .cd-contact-hero h1,.cd-contacto .cd-contact-hero .elementor-widget-heading h1{font-size:clamp(29px,8.2vw,38px)}
 .cd-contacto .cd-contact-hero h1 br{display:none}
 .cd-contacto .cd-contact-hero-art{height:180px}
 .cd-contacto .cd-form-grid{grid-template-columns:minmax(0,1fr);gap:13px;margin-bottom:20px}
 .cd-contacto .cd-form-heading{font-size:24px;margin-bottom:17px}
 .cd-contacto .cd-form-card{padding:22px 15px}
 .cd-contacto .cd-service-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .cd-contacto .cd-service-choice span{min-height:52px}
 .cd-contacto .cd-contact-info-row{grid-template-columns:42px minmax(0,1fr);gap:12px}
 .cd-contacto .cd-contact-card-inner{padding:0 18px 10px}
}
@media(prefers-reduced-motion:reduce){.cd-contacto *, .cd-contacto *::before,.cd-contacto *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(prefers-reduced-motion:no-preference){.cd-contacto .cd-reveal-ready{opacity:0;transform:translateY(16px)}.cd-contacto .cd-reveal-ready.cd-revealed{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s ease}}
.cd-contacto--elementor .cd-info-holder .cd-contact-card{height:100%}
.cd-contacto--elementor .cd-form-card .elementor-widget-container{width:100%}

/* Cardenal 1.6.2 — Contacto móvil compacto y validaciones */
.cd-contacto .cd-contact-info-grid{min-width:0}

.cd-contacto .cd-field-error{font-size:13px!important;line-height:1.35;color:#a61b2b;margin:5px 0 0}
.cd-contacto .cd-field-error[hidden]{display:none}
.cd-contacto .cd-has-error :is(input,textarea){border-color:#ba2539!important;box-shadow:0 0 0 2px #ba25391f}
.cd-contacto .cd-has-error legend{color:#a61b2b}
.cd-contacto .cd-has-error .cd-service-choice span{border-color:#c94354}
.cd-contacto .cd-contact-info-row a:focus-visible{outline:2px solid var(--cd-red);outline-offset:3px;border-radius:4px}
@media(max-width:760px){
 .cd-contacto .cd-contact-card{background:#fff;box-shadow:0 6px 20px #1B1F3314;border:1px solid #E5E6EB}
 .cd-contacto .cd-contact-card>h2{background:#fff;padding:22px 16px 17px;font-size:21px}
 .cd-contacto .cd-contact-card-inner{padding:0 14px 16px}
 .cd-contacto .cd-contact-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cd-contacto .cd-contact-info-row{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;padding:16px 10px!important;border:1px solid #E5E6EB!important;border-radius:13px;background:var(--cd-mist);gap:10px;text-align:center}
 .cd-contacto .cd-contact-info-icon{width:38px;height:38px;max-height:38px;margin:0;flex:0 0 auto}
 .cd-contacto .cd-contact-info-content{min-width:0;width:100%}
 .cd-contacto .cd-contact-info-row h3{font-size:15px;margin:0 0 6px;color:var(--cd-ink)}
 .cd-contacto .cd-contact-info-row :is(p,a){font-size:14px;line-height:1.42;overflow-wrap:anywhere;color:#525966}
 .cd-contacto .cd-contact-info--address{grid-column:1/-1;display:grid;grid-template-columns:45px minmax(0,1fr);justify-items:start;text-align:left;min-height:0;padding:17px!important;gap:12px}
 .cd-contacto .cd-contact-info--address .cd-contact-info-icon{justify-self:center}
 .cd-contacto .cd-contact-info--address h3{text-align:left}
 .cd-contacto .cd-contact-info--address p{text-align:left}
 .cd-contacto .cd-contact-info-row :is(a,p){hyphens:auto}
 .cd-contacto .cd-contact-info-row a:hover{color:var(--cd-red)}
}
@media(max-width:360px){.cd-contacto .cd-contact-info-grid{gap:8px}.cd-contacto .cd-contact-info-row{padding:13px 7px!important}.cd-contacto .cd-contact-info-row :is(p,a){font-size:13px}}

.cd-contacto .cd-contact-value-mobile{display:none}
@media(max-width:760px){
 .cd-contacto .cd-contact-info--email .cd-contact-value-desktop{display:none}
 .cd-contacto .cd-contact-info--email .cd-contact-value-mobile{display:inline;font-weight:700;color:var(--cd-red)}
}

/* V1.6.3: los cinco canales se mantienen en el DOM y preservan el diseño original. */
.cd-contacto .cd-contact-info--unset .cd-contact-unset{
 color:#737887;font-size:13px;font-style:italic;line-height:1.35;
 text-decoration:none;display:inline-block;
}
.cd-contacto .cd-contact-info--unset .cd-contact-unset:hover{
 color:var(--cd-red);text-decoration:underline;
}
@media (max-width:760px){
 .cd-contacto .cd-contact-info-row{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
 }
 .cd-contacto .cd-contact-info-row:focus-within{
  border-color:var(--cd-red)!important;
  box-shadow:0 0 0 2px #BB1F2D1c;
 }
 .cd-contacto .cd-contact-info--address .cd-contact-info-content{min-width:0;}
 .cd-contacto .cd-contact-info--unset .cd-contact-unset{font-size:12px;}
}
@media(hover:hover) and (max-width:760px) and (prefers-reduced-motion:no-preference){
 .cd-contacto .cd-contact-info-row:hover{transform:translateY(-3px);box-shadow:0 8px 17px #1B1F3314;}
}
@media(prefers-reduced-motion:reduce){
 .cd-contacto .cd-contact-info-row{transition:none!important;}
}
