
/* V14 · Localizador oficial: fotografías verificadas y contacto completo */
.campus-gallery{margin-top:74px}
.campus-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.campus-gallery-grid .campus-card{display:flex;flex-direction:column;min-width:0;background:#fffefa;border:1px solid #e2f0f0;border-radius:23px;overflow:hidden;box-shadow:0 8px 26px rgba(0,43,67,.09);height:100%}
.campus-gallery-grid .campus-card .campus-photo{display:block;overflow:hidden;aspect-ratio:1.45;background:#dff3fa}
 .campus-photo-frame{position:relative;overflow:hidden}
 .campus-photo-switch{position:absolute;bottom:11px;right:11px;z-index:2;display:flex;gap:8px;align-items:center;background:#fffef3ed;padding:5px 6px;border-radius:40px;box-shadow:0 3px 18px #0002;color:#154960;font-size:10px;font-weight:900}
 .campus-photo-switch button{border:0;background:#159fce;color:#fff;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:22px;line-height:1}
 .campus-photo-switch button:hover{background:#144e6b}
 .campus-gallery-grid .campus-card .campus-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.campus-gallery-grid .campus-card:hover .campus-photo img{transform:scale(1.055)}
.campus-gallery-grid .campus-card .campus-info{display:flex;flex-direction:column;align-items:stretch;flex:1;padding:20px 21px 22px}
.campus-gallery-grid .campus-card .campus-info > span{font-size:10px;color:#1280a7;letter-spacing:.11em;font-weight:900}
.campus-gallery-grid .campus-card .campus-info > strong{font:700 24px/1.13 var(--display);color:#193743;margin:8px 0 12px;min-height:50px}
.campus-gallery-grid .campus-card .campus-address{font:500 12px/1.56 var(--body);color:#5c6c74;margin:0 0 14px;min-height:48px}
.campus-gallery-grid .campus-contact{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-top:auto}
.campus-gallery-grid .campus-contact a{font-size:11px;font-weight:800;color:#124c6a;white-space:nowrap}
.campus-gallery-grid .campus-directions{display:flex;margin-top:16px;align-items:center;justify-content:space-between;background:#e6f6fb;padding:12px 14px;border-radius:12px;font-size:12px;font-weight:900;color:#17668b}
.campus-gallery-grid .campus-directions:hover{background:#ffe477;color:#273640}
.map-geographic > img.map-legacy{display:none}
.map-geographic::before{background:radial-gradient(circle at 18% 27%,#fff7b4 0,transparent 36%),linear-gradient(142deg,#c8eaf7,#e9f6fb 65%,#fbf4dc)}
.map-geographic .geo-tiles{background:transparent}
.map-geographic .map-top-tools{flex-wrap:wrap;gap:6px}
.center-entry-main{min-width:0}
.center-entry-main small{max-width:230px;white-space:normal;line-height:1.2}
.school-spotlight{grid-template-columns:112px minmax(0,1fr);min-height:186px}
.spotlight-media{width:112px;height:155px}
.spotlight-address{font-size:11px;line-height:1.5;color:#536875;margin:0 0 8px}
.spotlight-email{display:block;font-size:11px;color:#1677aa;overflow-wrap:anywhere;margin-top:9px;text-decoration:underline;text-underline-offset:2px}
.spotlight-content h3{font-size:clamp(18px,2vw,25px);margin:4px 0 6px}
.center-panel{scroll-margin-top:140px}
@media(max-width:1060px){.campus-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .campus-gallery-grid{grid-template-columns:1fr;gap:15px}
 .campus-gallery-grid .campus-card{display:flex;min-height:0}
 .campus-gallery-grid .campus-card .campus-photo{height:auto;aspect-ratio:1.8}
  .campus-photo-frame{position:relative;overflow:hidden}
 .campus-photo-switch{position:absolute;bottom:11px;right:11px;z-index:2;display:flex;gap:8px;align-items:center;background:#fffef3ed;padding:5px 6px;border-radius:40px;box-shadow:0 3px 18px #0002;color:#154960;font-size:10px;font-weight:900}
 .campus-photo-switch button{border:0;background:#159fce;color:#fff;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:22px;line-height:1}
 .campus-photo-switch button:hover{background:#144e6b}
 .campus-gallery-grid .campus-card .campus-photo img{height:100%;max-height:none}
 .campus-gallery-grid .campus-card .campus-info{padding:18px}
 .campus-gallery-grid .campus-card .campus-info>strong{font-size:24px;min-height:0}
 .campus-gallery-grid .campus-card .campus-address{min-height:0;margin-bottom:12px}
 .school-spotlight{grid-template-columns:96px minmax(0,1fr);padding:10px;gap:10px}
 .spotlight-media{width:96px;height:140px}
 .spotlight-content h3{font-size:19px}
 .spotlight-address{font-size:10px}
 .spotlight-email{font-size:10px}
 .map-geographic .map-top-tools{max-width:92%}
}
@media(max-width:380px){.school-spotlight{grid-template-columns:77px minmax(0,1fr)}.spotlight-media{width:77px;height:130px}}
@media(prefers-reduced-motion:reduce){ .campus-photo-frame{position:relative;overflow:hidden}
 .campus-photo-switch{position:absolute;bottom:11px;right:11px;z-index:2;display:flex;gap:8px;align-items:center;background:#fffef3ed;padding:5px 6px;border-radius:40px;box-shadow:0 3px 18px #0002;color:#154960;font-size:10px;font-weight:900}
 .campus-photo-switch button{border:0;background:#159fce;color:#fff;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:22px;line-height:1}
 .campus-photo-switch button:hover{background:#144e6b}
 .campus-gallery-grid .campus-card .campus-photo img{transition:none}}
