.ca-contact-wrap{padding:14px 0 30px;background:transparent;color:#201638}
.ca-contact-shell{max-width:1060px;margin:0 auto}
.ca-contact-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.ca-contact-kicker{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#fff4d6;color:#9a5c00;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ca-contact-head p{margin:0;max-width:760px;font-size:14px;line-height:1.45;color:#625a6f}
.ca-contact-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:16px;align-items:stretch}
.ca-contact-info,.ca-contact-form-card{border:1px solid #ebe6ef;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(43,10,77,.055)}
.ca-contact-info{padding:18px;background:linear-gradient(180deg,#2b0a4d 0%,#3a0d64 100%);color:#fff}
.ca-contact-info h2,.ca-contact-form-card h2{margin:0 0 13px;font-size:19px;line-height:1.2}
.ca-contact-item{display:flex;align-items:center;gap:10px;padding:10px 0;color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.12)}
.ca-contact-item:last-of-type{border-bottom:0}
.ca-contact-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f5b318;color:#2b0a4d;font-size:16px;font-weight:900;flex:none}
.ca-contact-item span:last-child{min-width:0}
.ca-contact-item small,.ca-contact-item strong{display:block}
.ca-contact-item small{font-size:10.5px;opacity:.78;margin-bottom:1px;text-transform:uppercase;letter-spacing:.035em}
.ca-contact-item strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.ca-contact-note{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15)}
.ca-contact-note strong,.ca-contact-note span{display:block}
.ca-contact-note strong{font-size:14px}
.ca-contact-note span{margin-top:2px;font-size:12px;opacity:.8}
.ca-contact-form-card{padding:18px}
.ca-contact-form{display:flex;flex-direction:column;gap:11px}
.ca-contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ca-contact-form label{display:flex;flex-direction:column;gap:5px;margin:0;font-weight:700;color:#2b0a4d}
.ca-contact-form label span{font-size:12px;line-height:1.25}
.ca-contact-form label span small{font-size:10px;font-weight:600;color:#81788d}
.ca-contact-form input,.ca-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9d2df;border-radius:10px;background:#fff;padding:10px 11px;font:inherit;font-size:14px;color:#211a2b;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.ca-contact-form input{min-height:40px}
.ca-contact-form textarea{resize:vertical;min-height:108px}
.ca-contact-form input:focus,.ca-contact-form textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.ca-contact-submit{align-self:flex-start;border:0;border-radius:10px;padding:11px 17px;background:#2b0a4d;color:#fff;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 6px 14px rgba(43,10,77,.16)}
.ca-contact-submit:hover{filter:brightness(1.08)}
.ca-contact-privacy{margin:0;font-size:10.5px;line-height:1.4;color:#7a7284}
.ca-contact-alert{margin:0 0 14px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:700}
.ca-contact-success{background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
.ca-contact-error{background:#fff1f2;color:#991b1b;border:1px solid #fecdd3}
.ca-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Integración con la plantilla actual */
body.page .ca-contact-wrap p{max-width:none}
body.page .ca-contact-wrap h2{letter-spacing:0}
body.page .ca-contact-wrap a{text-decoration:none}

@media(max-width:900px){
  .ca-contact-wrap{padding:12px 0 24px}
  .ca-contact-grid{grid-template-columns:1fr}
  .ca-contact-info{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
  .ca-contact-info h2,.ca-contact-note{grid-column:1/-1}
}

@media(max-width:640px){
  .ca-contact-head{display:block;margin-bottom:12px}
  .ca-contact-head p{margin-top:8px;font-size:13px}
  .ca-contact-info{display:block}
  .ca-contact-row{grid-template-columns:1fr}
  .ca-contact-info,.ca-contact-form-card{border-radius:14px;padding:15px}
  .ca-contact-form{gap:10px}
  .ca-contact-submit{width:100%;min-height:42px}
}

@media(max-width:380px){
  .ca-contact-wrap{padding-top:8px}
  .ca-contact-info,.ca-contact-form-card{padding:13px}
  .ca-contact-item{gap:8px}
  .ca-contact-icon{width:32px;height:32px;border-radius:9px;font-size:15px}
  .ca-contact-item strong{font-size:13px}
}
