
/* Animal Gym: contenido administrable sin alterar la identidad visual */
.ag-arrow{display:inline-block;width:13px;height:13px;border-top:2px solid currentColor;border-right:2px solid currentColor;position:relative;flex:none;margin-left:8px;vertical-align:middle}.ag-arrow:after{content:'';position:absolute;left:-5px;top:5px;width:20px;height:2px;background:currentColor;transform:rotate(-45deg)}.quick-grid strong{display:flex;gap:7px;align-items:center;justify-content:space-between}.quick-grid{margin-top:35px}.section-links .section-head{margin-bottom:0}.section-links .section-title{line-height:.95}.ag-carousel{position:relative;min-width:0;background:#131313;overflow:hidden}.ag-slide{display:none;position:relative;height:100%;width:100%}.ag-slide.is-active{display:block}.ag-slide img{display:block;width:100%;height:100%;object-fit:contain}.ag-slide iframe{display:block;border:0;width:100%;height:100%;min-height:260px;background:#000}.ag-image-open,.ag-video-launch{display:block;width:100%;height:100%;padding:0;position:relative;border:0;background:#141414;color:#fff;cursor:zoom-in}.ag-video-launch{cursor:pointer}.ag-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;background:#fff;color:#000;border-radius:50%;display:grid;place-items:center;width:70px;height:70px;box-shadow:0 5px 40px #000a}.ag-carousel-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:#000d;color:#fff;border:1px solid #8888;border-radius:30px;padding:4px 8px;z-index:3}.ag-carousel-controls button{background:#fff;color:#000;border:0;border-radius:50%;width:32px;height:32px;font-size:25px;line-height:20px;cursor:pointer}.ag-counter{font-size:12px;white-space:nowrap}.ag-testimonials{align-items:stretch}.ag-testimonial{background:#171717;border:1px solid #333;min-width:0}.ag-testimonial .ag-carousel{height:200px}.ag-testimonial blockquote{padding:26px!important;margin:0!important;border:0!important;background:none!important}.ag-testimonial blockquote cite{display:block;margin-top:18px}.ag-tips .ag-carousel{height:250px}.ag-tips .tip-card img{height:100%;filter:none}.ag-trainers{margin-top:45px}.ag-trainers .trainer-photo img{object-fit:contain}.ag-branches{display:grid;gap:50px;margin-top:50px}.ag-branch{border:1px solid #404040;display:grid;grid-template-columns:1.1fr 1fr;background:#161616;overflow:hidden}.ag-branch-visual{min-height:480px}.ag-branch-visual .ag-carousel{height:100%;min-height:480px}.ag-branch-info{padding:42px}.ag-branch-info h3{font:900 clamp(44px,5vw,70px)/.93 var(--display);margin:25px 0}.ag-branch-info p{line-height:1.75;color:#ccc}.ag-branch-info strong{font-size:12px;letter-spacing:1px;display:block;margin-top:24px}.ag-branch-info .button{margin-top:24px}.ag-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:45px}.ag-product{background:#171717;border:1px solid #404040;display:flex;flex-direction:column;min-width:0}.ag-product .ag-carousel{height:330px}.ag-product-body{padding:28px;display:flex;flex-direction:column;flex:1}.ag-product h3{font:900 clamp(32px,3vw,50px)/.95 var(--display);margin:16px 0}.ag-product p{font-size:14px;line-height:1.6;color:#c4c4c4;flex:1}.ag-product-body>strong{font:900 35px/1 var(--display);margin:12px 0 26px}.ag-product .button{min-width:0;gap:14px;font-size:10px}.ag-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.ag-contact-grid h3{font:800 28px var(--display);margin-top:42px}.ag-contact-grid p{line-height:1.8;color:#c6c6c6}.ag-contact-grid a:not(.button){text-decoration:none}.ag-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.ag-socials a{border:1px solid #444;padding:13px 17px;display:flex;gap:10px;align-items:center;font-size:13px}.ag-social-icon{font-size:23px;font-weight:800}.ag-contact-branch{border-bottom:1px solid #444;padding-bottom:38px;margin-bottom:30px}.ag-lightbox{position:fixed;z-index:1000;inset:0;background:#000e;align-items:center;justify-content:center;padding:35px}.ag-lightbox:not([hidden]){display:flex}.ag-lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.ag-lightbox-close{position:absolute;right:20px;top:12px;border:0;background:#fff;color:#000;border-radius:50%;width:45px;height:45px;font-size:32px;cursor:pointer}
@media(max-width:1000px){.ag-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-contact-grid{gap:35px}.ag-branch{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ag-shop-grid,.ag-contact-grid,.ag-branch{grid-template-columns:1fr}.ag-branch-visual,.ag-branch-visual .ag-carousel{min-height:300px;height:340px}.ag-branch-info{padding:25px}.ag-product .ag-carousel{height:300px}.ag-shop-grid{gap:20px}.ag-trainers .trainer-photo img{object-fit:contain}.section-intro{padding-top:70px;padding-bottom:70px}.section-links .section-head{margin-bottom:0}.section-links .section-title{font-size:clamp(55px,11vw,82px)}.ag-testimonial .ag-carousel{height:220px}}

/* Menú accesible cuando hay nueve secciones */
@media(max-width:1350px){
 .site-header .nav-cta{display:none}
 .site-header nav{display:none;position:absolute;top:95px;left:0;right:0;background:#101010;flex-direction:column;align-items:stretch;margin:0;padding:20px 30px;gap:0;border-bottom:1px solid #444;max-height:calc(100vh - 95px);overflow-y:auto}
 .site-header nav.open{display:flex}
 .site-header nav a{font-size:13px;letter-spacing:1px;padding:14px 0}
 .menu-toggle{display:flex;flex-direction:column;gap:5px;margin-left:auto;background:none;border:0;padding:12px;align-items:center;justify-content:center}
 .menu-toggle span{display:block;width:25px;height:2px;background:#fff}
}
@media(max-width:760px){.site-header nav{top:76px;max-height:calc(100vh - 76px)}}
/* Íconos estables para los botones y enlaces de acción */
.button>span:last-child{font-size:0;display:inline-flex;flex:none;width:17px;height:17px;align-items:center;justify-content:center}
.button>span:last-child:before{content:'';display:block;width:15px;height:15px;background-color:currentColor;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M7 17 17 7M7 7h10v10"/%3E%3C/svg%3E') center/contain no-repeat;mask:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M7 17 17 7M7 7h10v10"/%3E%3C/svg%3E') center/contain no-repeat}
.button-hero .button-hero-icon{font-size:0!important;width:62px;height:59px}
.button-hero .button-hero-icon:before{width:18px;height:18px}

@media(min-width:1351px){.site-header nav{gap:13px}.site-header nav a{font-size:9px;letter-spacing:.6px}.nav-container{gap:20px}.nav-cta{min-width:155px;font-size:9px;padding:13px}.brand{flex-shrink:0}}

/* Sedes: direcciones y rutas destacadas, también en móvil */
.ag-branches-intro{max-width:660px;color:#bdbdbd;font-size:16px;line-height:1.75;margin:20px 0 0}
.ag-branch-label{display:inline-flex!important;align-items:center;background:#fff;color:#000!important;padding:10px 15px;font-size:14px!important;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin:0!important}
.ag-location-line{display:flex;align-items:flex-start;gap:15px;border-top:1px solid #484848;padding:20px 0 0;margin-top:20px}
.ag-location-symbol{font-size:29px;line-height:1;color:#fff;width:34px;flex-shrink:0;text-align:center}
.ag-location-line strong,.ag-contact-address strong,.ag-hours-heading{display:block;font-size:11px;letter-spacing:1.5px;font-weight:900;margin:0 0 8px}
.ag-location-line p{margin:0!important;font-size:16px;color:#fff!important;overflow-wrap:anywhere}
.ag-branch-info .ag-map-button{margin-top:25px;max-width:100%;min-width:0;gap:18px}
.ag-contact-branches-title{font:900 clamp(38px,4vw,58px)/.95 var(--display);margin:15px 0 25px}
.ag-contact-branch{border:1px solid #505050;background:#171717;padding:26px;margin:0 0 18px}
.ag-contact-branch h3{font:900 42px/.95 var(--display);margin:0 0 22px}
.ag-contact-branch .ag-contact-address p{font-size:17px;color:#fff;line-height:1.45;margin:0 0 22px;overflow-wrap:anywhere}
.ag-contact-branch .ag-map-button{margin-top:16px;min-width:0;max-width:100%;gap:20px}
.ag-contact-branch .ag-map-button span,.ag-branch-info .ag-map-button span{flex:none}
@media(max-width:760px){.ag-branch-info{padding:25px 20px}.ag-branch-info h3{margin:20px 0}.ag-contact-branch{padding:20px}.ag-contact-branches-title{font-size:46px}.ag-map-button{font-size:10px;letter-spacing:.6px}.ag-location-line p{font-size:15px}}

/* Portadas de vídeos cuando la red social no proporciona miniatura directa */
.ag-video-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;min-height:100%;background:radial-gradient(circle at 75% 15%,#454545,#111 55%,#030303);font-family:var(--body);letter-spacing:1.5px}
.ag-video-placeholder .ag-play{position:static;transform:none}
.ag-video-provider{font:900 clamp(25px,4vw,38px)/1 var(--display)}
.ag-video-cta{font-size:10px;font-weight:800}
.media-admin-item label{display:block;font-weight:700;margin:8px 0}
.media-admin-item input[type=number]{display:block;width:90px;margin:5px auto;padding:7px;background:#181818;color:white;border:1px solid #777}


/* Navegación de escritorio: tipografía legible y sin apretujamiento */
@media (min-width:1281px) {
  .site-header nav {
    display:flex;
    gap:clamp(10px,1.05vw,19px);
    margin-left:auto;
    flex-wrap:nowrap;
    white-space:nowrap;
  }
  .site-header nav a {
    font-size:clamp(12px,.93vw,15px);
    font-weight:800;
    letter-spacing:.6px;
    line-height:1.3;
  }
  .nav-container {gap:22px}
  .brand {flex-shrink:0}
  .site-header .nav-cta {display:none}
  .menu-toggle {display:none}
}
@media (min-width:1660px) {
  .site-header .nav-cta {display:inline-flex;min-width:175px;font-size:11px;padding:14px 15px;gap:12px}
}
/* En portátiles se usa el menú desplegable antes de comprimir los textos */
@media (min-width:761px) and (max-width:1280px) {
  .site-header .nav-cta{display:none}
  .site-header nav{display:none;position:absolute;top:95px;left:0;right:0;background:#101010;flex-direction:column;align-items:stretch;margin:0;padding:20px 30px;gap:0;border-bottom:1px solid #444;max-height:calc(100vh - 95px);overflow-y:auto}
  .site-header nav.open{display:flex}
  .site-header nav a{font-size:15px;letter-spacing:.8px;padding:14px 0}
  .menu-toggle{display:flex;flex-direction:column;gap:5px;margin-left:auto;background:none;border:0;padding:12px;align-items:center;justify-content:center}
  .menu-toggle span{display:block;width:25px;height:2px;background:#fff}
}
@media (max-width:760px) {
  .site-header nav a{font-size:15px;letter-spacing:.8px}
}
