/* Shared teacher card layout; compact footer profiles keep their own layout. */
.elementor .subject-profile:not(.elementor-556 .subject-profile){
 display:grid;grid-template-columns:108px minmax(0,1fr);gap:24px;
 align-items:start;min-height:360px;height:100%;padding:28px;
}
.elementor .subject-profile:not(.elementor-556 .subject-profile) .subject-copy{
 display:flex;flex-direction:column;gap:10px;min-width:0;width:100%;height:100%;
}
.elementor .subject-profile:not(.elementor-556 .subject-profile) .subject-name{min-height:60px}
.elementor .subject-profile:not(.elementor-556 .subject-profile) .subject-name .elementor-heading-title{font-size:25px;line-height:1.2}
.elementor .subject-profile:not(.elementor-556 .subject-profile) .subject-link{margin-top:auto;padding-top:12px}
.elementor .subject-profile:not(.elementor-556 .subject-profile) .subject-link .elementor-button{font-size:16px;line-height:1.4;min-height:46px;padding:12px 18px;white-space:normal}
@media(max-width:767px){
 .elementor .subject-profile:not(.elementor-556 .subject-profile){grid-template-columns:1fr;min-height:0;gap:20px;padding:24px}
 .elementor .subject-profile:not(.elementor-556 .subject-profile) .subject-name{min-height:0}
}
.elementor .caie-contact-whatsapp{display:flex;align-items:center;justify-content:flex-start;gap:14px;text-align:left;background:#FFFFFF;color:#211735;border-radius:12px;padding:15px 20px;font:700 16px/1.4 "Nunito Sans",sans-serif;min-height:60px;cursor:pointer;border:1.5px solid #E1D7F0;width:100%;text-decoration:none;box-shadow:0 3px 12px #3A247008}
.elementor .caie-contact-whatsapp:hover{background:#F6F2FB;color:#211735;border-color:#3A2470}
.elementor .caie-contact-whatsapp:focus-visible{outline:3px solid #D4A72C;outline-offset:3px}
.elementor .caie-contact-choice{width:100%;margin:0 0 12px;padding:0 7px}
.elementor .caie-contact-choice p{font-size:14px;color:#5E5378;margin:8px 0}

.caie-external-note{font:400 13px/1.65 "Nunito Sans",system-ui,sans-serif;color:#5E5378;max-width:1040px;margin:0}
.elementor-556 .caie-external-note{color:#FFFFFF;opacity:.85;max-width:1100px;margin:0 auto}
/* Scope dialog styles above the theme defaults. */
body dialog.caie-external-dialog{
 width:480px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);
 overflow:auto;padding:28px;border:1px solid #E1D7F0;border-top:4px solid #D4A72C;
 border-radius:18px;background:#FFFFFF;color:#211735;box-shadow:0 24px 80px #21173540;
 font:400 15px/1.6 "Nunito Sans",system-ui,sans-serif;
}
body dialog.caie-external-dialog::backdrop{background:#21173599}
body dialog.caie-external-dialog #caie-external-heading{
 font:700 24px/1.25 "Nunito Sans",system-ui,sans-serif;color:#3A2470;
 margin:0 0 14px;letter-spacing:normal;text-transform:none;
}
body dialog.caie-external-dialog p{font:400 15px/1.6 "Nunito Sans",system-ui,sans-serif;color:#5E5378;margin:12px 0}
body dialog.caie-external-dialog .caie-external-destination{overflow-wrap:anywhere;color:#211735}
body dialog.caie-external-dialog .caie-external-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
body dialog.caie-external-dialog .caie-external-actions :is(a,button){
 display:inline-flex;align-items:center;justify-content:center;min-height:48px;
 border:1.5px solid #D8CCE9;border-radius:12px;padding:12px 18px;
 font:700 16px/1.3 "Nunito Sans",system-ui,sans-serif;cursor:pointer;
 text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;
}
body dialog.caie-external-dialog .caie-external-actions [data-external-cancel]{background:#FFFFFF;color:#3A2470}
body dialog.caie-external-dialog .caie-external-actions [data-external-cancel]:hover{background:#F6F2FB;color:#3A2470;border-color:#3A2470}
body dialog.caie-external-dialog .caie-external-actions [data-external-proceed],
body dialog.caie-external-dialog .caie-external-actions [data-external-proceed]:visited{background:#3A2470;color:#FFFFFF;border-color:#3A2470;box-shadow:0 4px 10px #3A24701A}
body dialog.caie-external-dialog .caie-external-actions [data-external-proceed]:hover{background:#211735;color:#FFFFFF;border-color:#211735}
body dialog.caie-external-dialog .caie-external-actions :is(a,button):focus-visible{outline:3px solid #D4A72C;outline-offset:3px}
@media(max-width:380px){body dialog.caie-external-dialog{padding:22px}body dialog.caie-external-dialog .caie-external-actions{grid-template-columns:1fr}}

.elementor .elementor-element-5697c54 .elementor-button[type=submit]{display:flex;align-items:center;justify-content:flex-start;gap:14px;text-align:left;background:#FFFFFF;color:#211735;border:1.5px solid #E1D7F0;border-radius:12px;min-height:60px;padding:15px 20px;box-shadow:0 3px 12px #3A247008}
.elementor .elementor-element-5697c54 .elementor-button[type=submit]:hover{background:#F6F2FB;color:#211735;border-color:#3A2470}
.elementor .elementor-element-5697c54 .elementor-button-content-wrapper{justify-content:flex-start}
.elementor .elementor-element-5697c54 :is(.caie-contact-whatsapp,.elementor-button[type=submit])>img{display:block;width:36px;height:36px;flex:none;object-fit:contain;opacity:1;filter:none}
.elementor .elementor-element-5697c54 .caie-contact-help{font-size:13px;line-height:1.6;color:#5E5378;width:100%;margin:8px 0 0;padding:0 7px}
