/*
Theme Name: Zuasti
Author: YOU MEDIA
Author URI: https://www.zuasti.com
Description: Theme creado por YOUMEDIA para la web de Zuasti.
Version: 1.0
License: Copyright
Text Domain: zuasti
*/

@import url(css/reset.css);
@import url(css/fonts.css);

/* Structure
//////////////////////////////////////////////////// */
/*html {overflow: visible}*/
body {font: normal .9em/110% 'Martel Sans', sans-serif; color: #000; height: auto; background: #f6f6f6; letter-spacing: -.01em;
  text-rendering: optimizeLegibility; overflow-x: hidden;
 -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: 'liga', 'kern';
}

.wrapper {position: relative; margin: 0; outline:none; overflow-x: hidden; overflow-y: hidden; background-color: #f5f5f5; color: #000}
.dark-theme,
.dark-theme .wrapper {color: #FFF;}
.dark-theme .wrapper {background-color: #000;}

.light-theme,
.light-theme .wrapper {color: #000;}
.light-theme .wrapper {background-color: #f6f6f6;}

.noscroll {overflow: hidden;}
.nofull {height: auto;}
.fullheight,  
.fullheight canvas { height: 100%; min-height: 820px;}

section {position: relative; overflow: hidden;}
.menu-hidden section {padding-left: 0;}

a {outline:none !important; color: #FFF; position: relative; }

a,
a svg * {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
} 

a:hover {color: #7c7c7c} 

.text-left {text-align: left;}
.text-center {text-align: center;}
.text-justify {text-align: justify;}
.text-right {text-align: right}

small {font-size: 78%;}
.text-tiny {font-size: 50%; line-height: 114%}
.text-xxsmall {font-size: 70%; line-height: 114%}
.text-xsmall {font-size: 80%; line-height: 114%}
.text-small {font-size: 87%; line-height: 114%}
.text-med {font-size: 110%; line-height: 114%}
.text-big {font-size: 135%; line-height: 120%}
.text-xbig {font-size: 150%; line-height: 120%}
.text-xxbig {font-size: 185%; line-height: 110%}
.text-xxxbig {font-size: 205%; line-height: 110%}
.text-huge {font-size: 9em; line-height: 0.8em}

.has-outline {color: transparent; -webkit-text-stroke-width: .0125em; -webkit-text-stroke-color: rgba(255,255,255,.33);}
.has-outline.white {color: transparent !important; -webkit-text-stroke-color: rgba(255,255,255,1); }
.has-outline.grey {color: transparent !important; -webkit-text-stroke-color: #A0A0A0;}
.has-outline.black {color: transparent !important; -webkit-text-stroke-color: #000000;}



b, 
strong,
.bold {font-family: 'Martel Sans'; font-weight:700;}
.xbold {font-family: 'Martel Sans'; font-weight: 800;}

/* For Decorations */
.ct {position: relative;}
.ct::before,
.ct::after {content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 0; z-index: 0}

.inline {display: inline !important;}

mark {color: #FFF; background: #b2b2b2}
::-moz-selection {color: #FFF; background: #b2b2b2; opacity: 1}
::selection {color: #FFF; background: #b2b2b2}

abbr {text-decoration: none;}

.animado {visibility: hidden;}
.upper {text-transform: uppercase;}
.lower {text-transform: lowercase;}

.ocult-item {opacity: 0; visibility: hidden;
  -webkit-transition: all 0.8s ease-out;
  -moz-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}

/* Colores */
.xgreylight {color: #e3e3e3 !important}
.greylight {color: #b2b2b2 !important}
.grey {color: #888888 !important}
.greydark {color: #626262 !important}
.black {color: #000 !important}
a.black.not(.btn):hover {color: #f70303 !important}
.white {color: #FFF !important}
.red {color: #f70303 !important}
.green {color: #284e36 !important}
.greendark {color: #0c2d32 !important}
.purple {color: #7800ff !important;}
.pink {color: #f500fd !important;}
a.white:hover {color: #999 !important}

.white strong,
.white b {color: #f70303;}

.bg-green,
.btn.green::after {background-color: #284e36 !important;position: relative;padding: .2em .8em;font-family: 'Frank Ruhl Libre';margin-top: .5em;float: left;margin-top: .5em;}
.bg-grey {background-color: #aeaeae !important;}
.bg-black {background-color: #000 !important;}
.bg-white {background-color: #FFF !important; color: #000}
.bg-red {background-color: #f70303 !important;}
.bg-greydark {background-color: #232323 !important; color: #FFF}
.bg-purple {background-color: #7800ff !important;}
.bg-pink {background-color: #f500fd !important;}
.grayscale {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.fullwidth,
.fullwidth svg,
.fullwidth img,
.wp-block-image.size-full img {display: block; width: 100%; height: auto; max-width: 1000%;}

.fullscreen {overflow: hidden;}

/* Iconos */
.red svg *,
.imago.red * {fill: #f70303}
.grey svg *,
.imago.grey * {fill: #7c7c7c}
.greylight svg *,
.imago.greylight * {fill: #b2b2b2}
.white svg *,
.imago.white * {fill: #FFF}
.black svg *,
.imago.black * {fill: #000;}

i:not(.no-tran) {
    display: inline-block;  
    -ms-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease; 
    position: relative;
}

/* Separadores */
/*hr {height: 0; left: 50%; clear: both; position: relative; margin:0 0 0 -125px; border-top: 1px solid #CCC; background: none; }*/

/* Máscaras de imagen */
figure.img-mask {position: relative; overflow: hidden;}
figure.img-mask .mask {position: relative; margin: -1px 0;}
figure.img-mask .bg {position: absolute; top: -5%; left: -10%; width: 110%;
    -webkit-transition: 1s ease;
    transition: 1s ease; 
    /*-webkit-animation-delay: 0.2s;*/
    /*animation-delay: 0.2s;*/
}

/* Header
//////////////////////////////////////////////////// */
.header {width: 100%; overflow:hidden;}
.entry-header {padding-bottom: 2em;}

/* Videos de fondo */
.video-bg {width: 100%;position: relative; z-index: 0;}


/************************************************************************
    MENU
************************************************************************/

.main-nav-ct {
    --submenu-alto: 0px;

    position: fixed;
    top: 0;
    right: 0;
    z-index: 400;

    width: 100%;
    padding: 2.5em 0 calc(1.5em + var(--submenu-alto));

    background: #fff;
    color: #000;
    font-size: 90%;

    opacity: 1;
    visibility: visible;

    transition: padding-bottom .35s ease;
}

.main-nav-ct a {
    position: relative;
    color: #000;
    cursor: pointer;
    text-decoration: none;
}

.main-nav-ct a:hover {
    color: #284e36;
}

.main-nav-ct a:focus-visible {
    outline: 2px solid #284e36;
    outline-offset: 4px;
}

.main-nav-ct ul li.current-menu-item > a {
    color: #284e36;
    font-family: 'Martel Sans', sans-serif;
    font-weight: 700;
}

/* Contenedor */

.menu-wp {
    display: table;
    float: right;
    padding-right: 2em;
    overflow: visible;
}

.menu-ct {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}

/* Navegación */

.nav-site {
    position: relative;
    z-index: 20;
    padding-top: 1.2em;

    font-family: 'Martel Sans', sans-serif;
    font-weight: 400;
    font-size: 90%;
    text-transform: uppercase;
}

.nav-site > ul.menu {
    position: relative;
    z-index: 20;

    display: flex;
    align-items: flex-start;
    justify-content: flex-start;

    margin: 0;
    padding: 0;
    list-style: none;
}

/* Opciones principales */

/* BASE COMPARTIDA POR LOS MENÚS */

ul.menu {
    position: relative;
    z-index: 20;
}

ul.menu > li {
    display: inline-block;
    position: relative;
}

ul.menu > li a {
    display: inline-block;
    position: relative;
    margin: .25em .1em;
    text-decoration: none;
    cursor: pointer;
}

.nav-site > ul.menu > li {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;

    margin: 0;
    padding: .3em 0;
    color: #000;
    list-style: none;
}

.nav-site > ul.menu > li > a {
    position: relative;
    display: inline-block;
    margin: 0 .5em;
    font-size: 135%;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em;
    white-space: nowrap;
    text-decoration: none;
}

.nav-site > ul.menu > li:first-child > a {
    margin-left: 0;
}

.nav-site > ul.menu > li.current-menu-item > a {
    font-weight: 700;
}

/* Separadores solo en el menú principal */

.nav-site > ul.menu > li::after {
    content: "|";
    display: inline-block;
    color: #000;
    font-size: 135%;
    line-height: 1;
}

.nav-site > ul.menu > li:last-child::after {
    content: none;
}

.nav-site > ul.menu > li.item-home {
    display: none;
}

/* Submenús */

.nav-subsite {
    width: auto;
    float: right;
}

.main-nav-ct .nav-site > ul.menu > li > ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;

    display: block;
    width: max-content;
    min-width: 100%;
    max-width: min(24rem, 90vw);

    margin: 0;
    padding: .6em 0 .5em;

    background: #fff;
    font-size: 85%;
    list-style: none;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);

    transition:
        opacity .25s ease,
        transform .35s ease,
        visibility 0s linear .35s;
}

/* Evita que el último desplegable salga por la derecha */

.main-nav-ct .nav-site > ul.menu > li:last-child > ul.sub-menu {
    right: 0;
    left: auto;
}

/* Estado abierto */

.main-nav-ct .nav-site > ul.menu > li.submenu-abierto > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);

    transition:
        opacity .25s ease,
        transform .35s ease,
        visibility 0s;
}

.main-nav-ct .nav-site > ul.menu > li.submenu-abierto > a {
    color: #284e36;
}

/* Elementos del submenú */

.main-nav-ct .nav-site ul.sub-menu li {
    display: block;
    margin: 0;
    padding: .3em 0;
    list-style: none;
}

.main-nav-ct .nav-site ul.sub-menu li::before,
.main-nav-ct .nav-site ul.sub-menu li::after {
    content: none;
}

.main-nav-ct .nav-site ul.sub-menu li a {
    display: block;
    margin: .25em .6em 0;
    color: #000;
    font-size: 135%;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.main-nav-ct .nav-site > ul.menu > li:first-child ul.sub-menu li a {
    margin-left: 0;
}

.main-nav-ct .nav-site ul.sub-menu li a:hover,
.main-nav-ct .nav-site ul.sub-menu li.current-menu-item > a {
    color: #284e36;
}

/* Accesibilidad: reducir movimiento */

@media (prefers-reduced-motion: reduce) {
    .main-nav-ct,
    .main-nav-ct .nav-site > ul.menu > li > ul.sub-menu {
        transition: none;
    }
}


/* Menú secundario */
.nav-secondary{position: relative;}
.nav-secondary .nav-social{position: absolute;left: 0;top: 1em;}
.nav-secondary.columns {flex-wrap: nowrap; text-transform: uppercase;/* border-bottom: 1px solid #000;*/}
.nav-subsite > ul > li a {margin:.3em .1em .2em .1em;}
.nav-subsite > ul > li a::before {display: none;font-family: 'Frank Ruhl Libre';text-transform: initial;}
.nav-subsite > ul > li a{font-size: 1.3em;font-weight: 500;}
.nav-subsite > ul > li:first-of-type > a {margin-left: 0;border: 1px solid #284e36;padding:.6em 1.8em .5em 1.8em;font-family: 'Frank Ruhl Libre';text-transform: initial;color: #284e36;}
.nav-subsite > ul > li.green a{background:#284e36;padding:.6em 1.8em .5em 1.8em;color: #fff;font-family: 'Frank Ruhl Libre';text-transform: initial;}

/* MENÚ SECUNDARIO: ÁREA SOCIO Y HAZTE SOCIO */

.main-nav-ct .nav-subsite {
    float: none;
    align-self: flex-end;
    width: auto;
}

.main-nav-ct .nav-subsite ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-nav-ct .nav-subsite ul > li {
    position: relative;
    display: block;
    flex: 0 0 auto;
    float: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-nav-ct .nav-subsite ul > li > a {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    white-space: nowrap;
}

.main-nav-ct .nav-subsite ul > li::after {
    content: none;
}

/* Menu trigger */
.nav-trigger {display: block; position: fixed; cursor: pointer; z-index: 600; font-size: 18px; width: 27px; height: 27px; top: 30px; right: 30px; 
  opacity: 0; visibility: hidden;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}
.btn-nav-text {display: none !important;}
.nav-trigger.noback {background: none; background-position: bottom right}
.nav-trigger div.btn-nav {display: block; position: relative;}
.nav-trigger * {display: inline-block;}
.nav-trigger .none {display: none;}

.nav-trigger .btn-nav-icon, 
.nav-trigger .btn-nav-icon:after, 

.nav-trigger .btn-nav-icon:before {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    width: 27px;
    cursor: pointer;
    background-color: #dedede;
    display: block;
    content: '';
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
}
.nav-trigger .btn-nav-icon {transform: translate3d(0, 10px, 0); -webkit-transform: translate3d(0, 10px, 0); }
.nav-trigger .btn-nav-icon:before {transform: translate3d(0, -10px, 0); -webkit-transform: translate3d(0, -10px, 0); }
.nav-trigger .btn-nav-icon:after {transform: translate3d(0, 10px, 0); -webkit-transform: translate3d(0, 10px, 0); }

/* Ocultar los submenús por defecto */
#main-nav .sub-menu {
    display: none;
}

/* Mostrar el submenú del elemento abierto */
#main-nav .menu-item-has-children.is-open > .sub-menu {
    display: block;
}

#main-nav .menu-item-has-children.is-open ul.sub-menu li ul.sub-menu {font-size: .9em;padding-left: 1em;}


/* Hover & active state */
body.menu-open .main-nav-ct {top: 0; visibility: visible;opacity: 1; background-color: #01031e}
body.menu-open .main-nav-ct.bluedark {background-color: #FFF}

.menu-open .nav-trigger {z-index: 1001; background: none; top: 1em; right: 1em;}

/*.nav-trigger:hover .btn-nav-icon, 
.nav-trigger:hover .btn-nav-icon:after, 
.nav-trigger:hover .btn-nav-icon:before,
.nav-trigger.hover .btn-nav-icon, 
.nav-trigger.hover .btn-nav-icon:after, 
.nav-trigger.hover .btn-nav-icon:before {background-color: #c22622 !important;}*/

.menu-open .nav-trigger .btn-nav-icon {background-color: transparent !important; box-shadow: none !important}
.menu-open .nav-trigger .btn-nav-icon:before,
.menu-open .nav-trigger .btn-nav-icon:after {top: 11px; background-color: #dedede; box-shadow: none !important}
.menu-open .nav-trigger .btn-nav-icon:before {
    -ms-transform: translate3d(0, -10px, 0) rotate(45deg);
    transform: translate3d(0, -10px, 0) rotate(45deg);
    -webkit-transform: translate3d(0, -10px, 0) rotate(45deg);
}
.menu-open .nav-trigger .btn-nav-icon:after {
    -ms-transform: translate3d(0, -10px, 0) rotate(-45deg);
    transform: translate3d(0, -10px, 0) rotate(-45deg);
    -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
}

.touch .nav-trigger.nav-white:hover .btn-nav-icon,
.touch .nav-trigger.nav-white.hover .btn-nav-icon,
.touch.menu-open .nav-trigger:hover .btn-nav-icon,
.touch.menu-open .nav-trigger.hover .btn-nav-icon,
.touch .nav-trigger.nav-white.active:hover .btn-nav-icon,
.touch .nav-trigger.nav-white.active.hover .btn-nav-icon,
.nav-trigger.nav-white.active:hover .btn-nav-icon,
.nav-trigger.nav-white.active.hover .btn-nav-icon {background-color: #FFF}
/* Color */
body.dark-theme .nav-trigger .btn-nav-icon, 
body.dark-theme .btn-nav-icon:after, 
body.dark-theme .btn-nav-icon:before {background-color: #FFF; }

/* Hover & active state */
.nav-trigger:hover,
.nav-trigger.hover {right: 1.6em;}
.nav-trigger:hover .btn-nav-icon, 
.nav-trigger:hover .btn-nav-icon:after, 
.nav-trigger:hover .btn-nav-icon:before,
.nav-trigger.hover .btn-nav-icon, 
.nav-trigger.hover .btn-nav-icon:after, 
.nav-trigger.hover .btn-nav-icon:before {background-color: #333; width: 34px; height: 11px;}

.nav-trigger:hover .btn-nav-icon::before,
.nav-trigger.hover .btn-nav-icon::before {transform: translate3d(5px, -13px, 0) rotate(-23deg); -webkit-transform: translate3d(5px, -13px, 0) rotate(-23deg);}
.nav-trigger:hover .btn-nav-icon::after,
.nav-trigger.hover .btn-nav-icon::after {transform: translate3d(-4px, 11px, 0) rotate(-13deg); -webkit-transform: translate3d(-4px, 11px, 0) rotate(-13deg);}

body.dark-theme .nav-trigger:hover .btn-nav-icon, 
body.dark-theme .nav-trigger:hover .btn-nav-icon:after, 
body.dark-theme .nav-trigger:hover .btn-nav-icon:before,
body.dark-theme .nav-trigger.hover .btn-nav-icon, 
body.dark-theme .nav-trigger.hover .btn-nav-icon:after, 
body.dark-theme .nav-trigger.hover .btn-nav-icon:before {background-color: #7c7c7c; }

/* Open menu state */
body.menu-open .main-nav-ct {left: 0%;}
body.menu-open .nav-trigger {z-index: 1001; background: none; padding: 10px;top: 17px; right: 20px;}
body.menu-open .nav-trigger .btn-nav-icon,
body.menu-open .nav-trigger .btn-nav-icon:before,
body.menu-open .nav-trigger .btn-nav-icon:after {height: 7px; width: 40px;}

body.menu-open .nav-trigger .btn-nav-icon {background-color: transparent !important; box-shadow: none !important}
body.menu-open .nav-trigger .btn-nav-icon:before,
body.menu-open .nav-trigger .btn-nav-icon:after {top: 11px; background-color: #FFF; box-shadow: none !important;}
body.menu-open .nav-trigger .btn-nav-icon:before {
    -ms-transform: translate3d(0, -10px, 0) rotate(45deg);
    transform: translate3d(0, -10px, 0) rotate(45deg);
    -webkit-transform: translate3d(0, -10px, 0) rotate(45deg);
}
body.menu-open .nav-trigger .btn-nav-icon:after {
    -ms-transform: translate3d(0, -10px, 0) rotate(-45deg);
    transform: translate3d(0, -10px, 0) rotate(-45deg);
    -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
}

.touch .nav-trigger.nav-white:hover .btn-nav-icon,
.touch .nav-trigger.nav-white.hover .btn-nav-icon,
.touch.menu-open .nav-trigger:hover .btn-nav-icon,
.touch.menu-open .nav-trigger.hover .btn-nav-icon,
.touch .nav-trigger.nav-white.active:hover .btn-nav-icon,
.touch .nav-trigger.nav-white.active.hover .btn-nav-icon,
.nav-trigger.nav-white.active:hover .btn-nav-icon,
.nav-trigger.nav-white.active.hover .btn-nav-icon {background-color: #FFF}

/* Negro */
.nav-trigger.nav-black .btn-nav-icon, 
.nav-trigger.nav-black .btn-nav-icon:after, 
.nav-trigger.nav-black .btn-nav-icon:before {background-color: #000}

/* Fixed */
.menu-fixed .nav-trigger {background: url('images/menu-trigger-grey.svg') no-repeat bottom right; background-size: cover; }
.menu-fixed .nav-trigger .btn-nav-icon,
.menu-fixed .nav-trigger .btn-nav-icon::before,
.menu-fixed .nav-trigger .btn-nav-icon::after {background-color: #000}
.menu-open.menu-fixed .nav-trigger {background: none}

/* Menú social */
.main-nav-ct .nav-social {position: absolute;top: .5em; left:22em;text-align: center}
.main-nav-ct .nav-social ul.menu > li {padding:0;}
.main-nav-ct .nav-social ul.menu > li > a {opacity:1;margin: .25em .15em;}
.main-nav-ct .nav-social ul.menu > li.social-item a {color: #284e36;}

.dark-theme .nav-lang {color: #FFF}
.dark-theme .nav-lang a,
.dark-theme .nav-lang a::before {color: rgba(255,255,255,.6);}
.dark-theme .nav-lang li a:hover,
.dark-theme .nav-lang li a:hover::before,
.dark-theme .nav-lang li.wpml-ls-current-language a,
.dark-theme .nav-lang li.wpml-ls-current-language a::before {color: #FFF;}


/* Scroll Down
//////////////////////////////////////////////////// */ 
.dummy {position: absolute; top: 0; z-index: 0; width: 100%;}
#dummytop {max-height: 240px; height: 37%;}
#dummytray {height: 100px;}
#dummytray2 {height: 100px;top: 100px;}
#dummyhome {height: 100px; background: red}
#dummyhome2 {height: 100px;top: 100px; background: green}


/* Content
//////////////////////////////////////////////////// */

h1, h2, h3, h4, h5, h6, .entry-title, .entry-subtile  {font-family: 'Frank Ruhl Libre'; line-height: 1;}

h1, .entry-title {font-size: 6em;font-weight: 800;}

h2, .entry-subtitle {font-size: 1.5em; line-height: 1;}
h3 {font-size: 1.45em; padding-top: 0.8em; padding-bottom: 0.3em;}
h4 {font-size: 1.4em;padding: .35em 0 0; }
h5 {font-size: 85%;}
h6 {font-size: 76%;}

.logo {width: 27em; height: 4em; display: inline-block;}

.title-logo {padding-bottom: 2em;}
.title-logo a {display: block;}
.title-logo .logo {width: 10em; height: 12em; margin: .4em 0; display: inline-block;}
.title-logo .logo svg path {fill: #F80606;}

.dark-theme .has-logo::after {background-image: url('images/logos/texto-blanco.svg') !important}

p {margin: .5em 0;line-height: 1.2em;}

/*ul + h3:first-of-type ,
ol + h3:first-of-type ,
p + h3:first-of-type  {padding-top: 1em}*/
/*h3 + h4 { margin-top: 0 }  */
h2 + p,
h3 + p,
h4 + p { margin-top: 0 !important }  

.floatLeft {float: left !important;}
.floatRight {float: right !important;}

/* Reset de márgenes y espacios */
.no_m_t {margin-top: 0 !important}
.no_m_r {margin-right: 0 !important}
.no_m_b {margin-bottom: 0 !important}
.no_m_l {margin-left: 0 !important}
.no_p_t {padding-top: 0 !important}
.no_p_r {padding-right: 0 !important}
.no_p_b {padding-bottom: 0 !important}
.no_p_l {padding-left: 0 !important}

/* Imagenes */
img.aligncenter {display: block; margin: 0 auto; clear: both; overflow: hidden;}
img.alignleft {float: left; margin: 0 3.7% 8px 0;}
img.alignright {float: right; margin: 0 0 8px 3.7%;}
.container {margin: 0 auto; padding: 4em 0; width: 80%; max-width: 1480px; position: relative; display: block;}
.container.nomax {max-width: 100%;}
.container.xxsmall-width {width: 22%}
.container.xsmall-width {width: 33%}
.container.small-width {width: 40%}
.container.half-width {width: 50%}
.container.inter-width {width: 60%}
.container.medium-width {width: 70%}
.container.big-width {width: 90%}
.container.xbig-width {width: 92%}
.container.full-width {width: 100%;}

.entry-content,
.hidden-content {position: relative; z-index: 99;}
.hidden-content {display: none; clear: both;}
.entry-content img {max-width: 100%; height: auto}
.entry-content ul,
.entry-content ol {margin: 1em;}
.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ul
.entry-content ol ol {margin: .5em 1em;}
.entry-content ul,
.entry-content ol {margin-left: 2.5em}
.entry-content ul li {position: relative; padding: 0 0 .3em 0}
.entry-content ol li {list-style-type: decimal;}
.entry-content ul li:last-of-type,
.entry-content ol li:last-of-type {padding-bottom: 0}
.entry-content ul:not(.no-bullets) li::before {content: ''; color: #7c7c7c; position: absolute; top: 0.45em; left: -1em; width: .4em; height: .4em; background-color: #7c7c7c;
  border-radius: 100%;
} 
.text-center .entry-content ul li::before,
.entry-content.text-center ul li::before {position: static;}

/*.entry-content strong,
.entry-content b {color: #FFF}*/

.entry-content ul ol li::before {display: none;}

.entry-content p {margin: 1em 0; }
/*.entry-content p:last-of-type {margin-bottom: 0}*/
.container.entry-text {margin-top: 1em; margin-bottom: 1em;}
.entry-content .entry-text { margin-top: .8em;}
.entry-content .entry-container {max-width: 48%; margin-left: auto; margin-right: auto}
.entry-content h2 {padding-bottom: 1em; margin-top: 2em;}
.entry-content h3 {}
.entry-content h2 + p {margin-top: 0}

.entry-feat {position: absolute; max-width: 360px;}
blockquote {padding: 1em 2em; clear: both; font-size: 110%; font-family: 'Courier'; line-height: 100%; text-transform: uppercase;
  /*background-color: #F80606;*/
}
blockquote a {text-decoration: underline;}
blockquote h2,
blockquote h3 {padding-top: 0; font-size: 240%; padding-bottom: .15em;}
.entry-content blockquote {max-width: 35%;}
/*blockquote p {margin: 0}*/

/* FILAS Y COLUMNAS */
.row {clear: both; overflow: hidden; position: relative; display: block;}
.columns {display: flex; justify-content: space-between; flex-wrap: wrap}
.columns.nowrap {flex-wrap: nowrap;}
.columns.valign-top {align-items: flex-start;}
.columns.valign-middle {align-items: center;}
.columns.valign-bottom {align-items: flex-end;}
.columns.align-center {justify-content: center;}
.columns.align-left {justify-content: flex-start;}
.columns.align-right {justify-content: flex-end;}

.col2-ct {
  -moz-column-count: 2;
  -moz-column-gap: 4em;
  -moz-column-rule: none;
  -webkit-column-count: 2;
  -webkit-column-gap: 4em;
  -webkit-column-rule: none;
}
.col2-ct p:first-of-type {margin-top: 0;}

[class^="col-"], 
[class*=" col-"] {float: left; margin: 0; padding: 0 !important}

/*.columns [class^="col-"], 
.columns [class*=" col-"] {float: none}*/

.col-1-6 {width: 16.66666%;}
.col-5-6 {width: 83.33333%;}

.col-1-5 {width: 20%;}
.col-2-5 {width: 40%;}
.col-3-5 {width: 60%;}
.col-4-5 {width: 80%;}

.col-1-3,
.col-2-6 {width: 33.33333%;}
.col-2-3,
.col-4-6 {width: 66.66666%;}

.col-2,
.col-2-4,
.col-3-6 {width: 50%;}

.col-1-4 {width: 25%;}
.col-3-4 {width: 75%;}

.col-55 {width: 55%;}
.col-45 {width: 45%;}

.col-35{width: 32%;float: left;}
.col-65{width: 68%;float: left;}
.col-65.members-feat .container{width: 100%;}


/* ALINEACION VERTICAL */
.vertical-align-container {height: 100%; width: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 99}
.vertical-align-ct {height: 100%; display: table !important; width: 100%}
.vertical-align-inner {display: table-cell !important; vertical-align: middle;}

/* PESTAÑAS / TABS 
//////////////////////////////////////////////////// */
.tabs {height: 100%; position: relative; clear: both;}
.tab-nav {position: relative; padding-top: 1em; padding-bottom: 1em; clear: both; overflow: hidden; }
.tab-nav li {display: inline-block; color: #b2b2b2; line-height: 1}
.tab-nav li a {}
/*.tab-nav li.active a,
.tab-nav li a:hover {color: #F80606}*/
.tab-container .tab-title {border-bottom: 2px solid #b2b2b2; display: inline-block; text-transform: lowercase; padding: 0 4em 0.2em 2em}


/* ACORDEONES
//////////////////////////////////////////////////// */
.tabs {height: 100%; position: relative; clear: both;}
.acc:not(.first) .acc-ct {display:none; }
.acc {border-bottom: 1px solid rgba(255,255,255,.3)}
.acc .acc-toggle {cursor: pointer; 
  padding: .25em .5em;
  border-top: 1px solid rgba(255,255,255,.3);
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

.acc .acc-toggle:hover,
.acc .acc-toggle.expanded,
.acc .acc-ct {background-color: #F80606; color: #000}
.acc .acc-ct {padding: .5em 2em; }
.acc .acc-ct p:first-of-type {margin-top: -.5em;}
.acc .acc-ct a {color: rgba(0,0,0,.5); text-decoration: underline;}
.acc .acc-ct a:hover {color: #FFF}

/* TABLAS 
//////////////////////////////////////////////////// */
.tabs {height: 100%; position: relative; clear: both;}
.wp-block-table.aligncenter, .wp-block-table.alignleft, .wp-block-table.alignright {width: 90%}
.wp-block-table.aligncenter {margin-left: auto; margin-right: auto;}
table {width: 100%;border-top: 1px solid #dedede;}
table th,
table td {padding: .5em .8em; border-bottom: 1px solid #dedede; }
table th {font-weight: bold}
table tr:nth-child(odd) th,
table tr:nth-child(odd) td {/*background: rgba(255,255, 255, .6)*/}
/*table tr th:last-of-type,
table tr td:last-of-type {border-right: 1px solid #dedede;}*/


/* EFECTOS DE IMAGEN
//////////////////////////////////////////////////// */
figure.zoomin img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
}
a:hover figure.zoomin img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

/* MÁSCARAS DE IMAGEN 
//////////////////////////////////////////////////// */
.imgmask-ct {display: block; overflow: hidden;}
.imgmask-ct::before,
.imgmask-ct::after {opacity: 0;
  -ms-transition: all .4s ease;
  -webkit-transition: all .4s ease;
  transition: all .4s ease; 
}
.imgmask-ct::before {z-index: 5; height: 100%; background: rgba(0,0,0,.3);
  /*mix-blend-mode: multiply*/
}
.imgmask-ct .imgmask-text {display: block; position: absolute; z-index: 10; color: #FFF; bottom: 0; left: 0; width: 86%; 
  padding: 0 7% 2em 7%;
}
.imgmask-ct .imgmask-text * {z-index: 50}
.imgmask-ct .imgmask-text .img-title {display: block; text-transform: uppercase; 
    font-size: 135%; padding-bottom: .2em; padding-top: 1em; max-width: 78%}

.imgmask-ct.mask-overlay::before {opacity: 1;}
/*.imgmask-ct::after {width: 60px; height: 60px; top: 1.4em; left: auto; right: -10px; margin: 0; z-index: 60; border-radius: 50em 130px 130px 50em;
  background: #F80606 url('images/iconos/zoom-blanco.svg') no-repeat center; background-size: 30px;
}*/

.hover .imgmask-ct img,
a:hover .imgmask-ct:hover img,
.imgmask-ct a:hover img {transition: all .8s ease;}

.hover .imgmask-ct img,
a:hover .imgmask-ct:hover img,
.imgmask-ct a:hover img {transform: scale(1.05); -webkit-transform: scale(1.05);}
.hover .imgmask-ct::before,
a:hover .imgmask-ct::before,
a.imgmask-ct:hover::before,
.hover .imgmask-ct::after,
a:hover .imgmask-ct::after,
a.imgmask-ct:hover::after {opacity: 1}
.hover .imgmask-ct.mask-overlay::before,
a:hover .imgmask-ct.mask-overlay::before,
a.imgmask-ct.mask-overlay:hover::before {opacity: 0}
.hover .imgmask-ct .img-title,
a:hover .imgmask-ct .img-title,
a.imgmask-ct:hover .img-title {color: #FFF}

.hover .imgmask-ct::after,
a:hover .imgmask-ct::after,
a.imgmask-ct:hover::after {right: -3px;}


/* CARRUSEL 
//////////////////////////////////////////////////// */
.owl-nav{width: 100%;top: 50%;position: absolute; margin-top: -1.5em;}

.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {padding:0;border-radius:0;display: block;text-shadow:none;color:transparent; width: 3em; height: 3.5em;position: absolute; margin: 0;}
.owl-carousel .owl-nav .owl-next {right: 1em;}
.owl-carousel .owl-nav .owl-prev {left: 1em;}
.owl-carousel .owl-nav .owl-next:before,
.owl-carousel .owl-nav .owl-prev:before{font-family: "icons"; font-size: 3.5em; line-height: 1; color:rgba(255,255,255,.6); text-shadow:none;padding:0;}
.owl-carousel .owl-nav .owl-next:before{content:'\e804'; }
.owl-carousel .owl-nav .owl-prev:before{content:'\e802';}
.owl-carousel .owl-nav .owl-next:hover:before,
.owl-carousel .owl-nav .owl-prev:hover:before {color: rgba(255,255,255,1);}

.owl-carousel .owl-nav .owl-next.disabled,
.owl-carousel .owl-nav .owl-prev.disabled {opacity: 0}

.owl-carousel .owl-dots {text-align: center; padding-top: 2em; }
.owl-carousel .owl-dots button.owl-dot.active span, 
.owl-carousel .owl-dots button.owl-dot:hover span {background-color: #000; border-radius: 50%; height: 14px; width: 14px; position: absolute; top: 0; left:0; }
.owl-carousel .owl-dots button.owl-dot{border: 1px solid #000; border-radius: 50%; height: 16px; width: 16px; position: relative; margin: 1em .25em }

.sec-sala .owl-carousel .owl-nav .owl-next,
.light-theme .owl-carousel .owl-nav .owl-next {right: -4.5em;}
.sec-sala .owl-carousel .owl-nav .owl-prev,
.light-theme .owl-carousel .owl-nav .owl-prev {left: -5em;}
.light-theme .owl-carousel .owl-nav .owl-next:before,
.light-theme .owl-carousel .owl-nav .owl-prev:before,
.sec-sala .owl-carousel .owl-nav .owl-next:before,
.sec-sala .owl-carousel .owl-nav .owl-next:before,
.sec-sala .owl-carousel .owl-nav .owl-prev:before {color: rgba(0,0,0,.6);}
.light-theme .owl-carousel .owl-nav .owl-next:hover:before,
.light-theme .owl-carousel .owl-nav .owl-prev:hover:before,
.sec-sala .owl-carousel .owl-nav .owl-next:hover:before,
.sec-sala .owl-carousel .owl-nav .owl-prev:hover:before {color: rgba(0,0,0,1);}



/* POPUP WINDOW */
.popup-window {height: 100%; width: 100%; background: #000;
  position: absolute; z-index: 600; right: -105%; top: 0;
  -ms-transition: right .8s ease-in-out;
  -webkit-transition: right .8s ease-in-out;
  transition: right .8s ease-in-out; 
}
.popup-window.active {position: fixed; right: 0}
.popup-window .container {float: none !important; margin-top: 4em !important; height: 100%; padding-bottom: 4em; width: 54%}
.popup-window .container h2 {font-size: 180%; padding: 1em 0 0}



/* Page default / TEXT
//////////////////////////////////////////////////// */
.sec-default {padding: 4em 0}
.sec-default .entry-header .imago {width: 5em; height: 7em;}


/* ERROR404 page
//////////////////////////////////////////////////// */
/*section.error404-ct {min-height: 768px}*/

/* FONDO FIJO */
.bg-fixed { background-attachment: fixed !important;  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;}

/* Footer
//////////////////////////////////////////////////// */

.footer {width: 100%;position: relative; padding:1em 0 1em 0;background: #000; font-size: 88%; z-index: 99; color: #FFF;text-align: center;text-transform: uppercase;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;background:#fff;
}
.footer a{color: #13301d;}



/* BOTONES
//////////////////////////////////////////////////// */
.btn,
button, 
input[type="button"], 
input[type="reset"], 
input[type="submit"],
.wp-block-button__link,
.is-style-outline>.wp-block-button__link:not(.has-text-color), 
.wp-block-button__link.is-style-outline:not(.has-text-color),
.btn.more-link,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
	-webkit-appearance:none !important;
	cursor: pointer;
	display: inline-block;	
	background: none;
  border: 2px solid #000;
  text-transform: uppercase;
  font-family: 'Frank Ruhl Libre';
  font-weight: 400;
  letter-spacing: 0.05em; 
  color: #000;
	width: auto;
	margin: 1em 0;
	text-align: center;
  font-size: 85%;
	padding: .25em .8em;
  border-radius: 0;
  letter-spacing: 0;
  line-height: 110%;
  font-weight: normal;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

/* Por defecto / Default */
.btn:hover,
button:hover, 
button:focus, 
input[type="button"]:hover, 
input[type="button"]:focus, 
input[type="reset"]:hover, 
input[type="reset"]:focus,  
input[type="submit"]:hover,
input[type="submit"]:focus,
.wp-block-button__link:hover,
.is-style-outline>.wp-block-button__link:not(.has-text-color):hover, 
.wp-block-button__link.is-style-outline:not(.has-text-color):hover {background-color: #b2b2b2; border-color: #b2b2b2;}



.btn.more-link,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {background-color: #c0c7d3; border-color: transparent;color: #000}



.btn.more-link:hover,
.btn.more-link:focus,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:focus, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:focus, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:focus, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:focus, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:focus, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:focus, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:focus, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:focus  {border-color: #c0c7d3; background: none; color: #9299a6;}

/* Botón + horarios */
button.ci-tab{background: none;border: none;border-bottom: 3px solid #acacac;font-family: 'Martel Sans';font-weight: 800;color: #acacac;padding: .5em 9.25em;font-size:1.2em;}
button.ci-tab.activo{border: none;border-bottom: 3px solid #284e36;font-family: 'Martel Sans';font-weight: 800;color: #284e36;}

/* Botón +info */
.boton-info {
display: inline-flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
box-sizing: border-box;
border: 1px solid #999;
border-radius: 50%;
background-color: #fff;
font-family: 'Frank Ruhl Libre', serif;
font-weight: 700;
line-height: 1;
color: #000;
text-decoration: none;
margin-top: 2em;
transition: background-color 0.2s ease, color 0.2s ease;
}

.boton-info:hover,
.boton-info:focus-visible {
background-color: #000;
color: #fff;
}

/* Mas / Plus */
.btn-plus {width: 20px; height: 20px; padding: 0;
	-webkit-border-radius: 50em;
	-moz-border-radius: 50em;
	border-radius: 50em;
}

.btn-plus::before {
	font-family: 'icons'; content: '\e80b';
    display: block;
	color: #FFF;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.btn-plus:hover::before {color: #970b0b}

.btn-plus.red::before {color: #970b0b} 
.btn-plus.blue::before {color: #0000ff} 
.btn-plus.red:hover::before,
.btn-plus.blue:hover::before {color: #FFF} 


/* Cerrar / Close */
.btn-close {position: absolute;top:0; right:0;z-index:1250;}
.btn-close:hover::before {}

/* Para acceder al contenido */
.btn-access-ct {position: absolute; top: 1em; left: 0; text-align: center; width: 100%; z-index: 300}
.btn-access-ct a:hover {opacity: .65; color: #970b0b}
.btn-access-ct.access-down a {display: inline-block;
	animation: 1.4s ease-out normal none infinite floating;
	-webkit-animation: 1.4s ease-out normal none infinite floating
}
.blog-index .btn-access-ct.access-down a {color: #000}


@-webkit-keyframes floating{0%{-webkit-transform:translateY(-8px)}50%{-webkit-transform:translateY(0)}100%{-webkit-transform:translateY(-8px)}}
@-moz-keyframes floating{0%{-moz-transform:translateY(-8px)}50%{-moz-transform:translateY(8px)}100%{-moz-transform:translateY(-8px)}}


/* Toggle */
.toggle-content {display: none;}
.btn-toggle.active::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.btn-toggle {display: block;text-transform: uppercase;}
/*.btn-toggle span {display: none;}*/
/*.btn-toggle span.active {display: inline;}*/
.btn-toggle.active {}

.btn-toggle.active i {
    -webkit-transform: rotate(-45deg); 
    transform: rotate(-45deg); 
}

.btn-toggle span{display:none;}
.btn-toggle span.active{display:inline;}

/* Videos */
.title-img {position: relative;}


/* Varios
//////////////////////////////////////////////////// */

.overlay {position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,.6); z-index: 1; 
	visibility: hidden; opacity: 0;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	transition: all 1s ease;
}
.overlayscr {position: fixed}
.overlay.active {position: fixed}

.clear {clear: both;}
.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}
* html .clearfix,*:first-child+html .clearfix{zoom:1}
.imagen {width: 100%;}
.mobile, .none {display: none;}
.hidden {visibility: hidden !important; opacity: 0 !important;}
.active {visibility: visible !important; opacity: 1 !important;}
.fixed {position: fixed;}
footer.fixed {bottom: 0}


/* ==========================================================================
   Corección plugin de cookies
   ========================================================================== */

#cookie-law-info-bar {position: absolute; opacity: .7; font-size: .8em; z-index: 1500;}
/*#cookie-law-info-bar span {color: #000 !important;}*/
#cookie-law-info-bar .cli-plugin-button, 
#cookie-law-info-bar .cli-plugin-button:visited, 
#cookie-law-info-bar .medium.cli-plugin-button,
#cookie-law-info-bar .medium.cli-plugin-button:visited {
	-webkit-border-radius: 0;
		-moz-border-radius: 0;
		 -ms-border-radius: 0;
		  -o-border-radius: 0;
			  border-radius: 0;
	text-shadow: none; 
	border-bottom: 0
}


/* ==========================================================================
   COLORBOXES 
   ========================================================================== */

#cboxOverlay {background-color: rgba(0,0,0,.8) !important;}
#cboxLoadedContent {border: none !important; background: none !important}
#cboxLoadingGraphic{background:url('images/loading.svg') no-repeat center center;}
#cboxClose {
    background: none !important; background-size: 100%;
    height: 3em !important;
    right: 1em !important;
    top: 1em !important;
    width: 3em !important;
    text-indent: 0 !important;
    /*padding: 8px 10px 0 !important;*/
    overflow: hidden !important;
    color: #FFF !important;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 0;
}

#cboxClose:before { font-family: "icons"; content: '\e808'; font-size: 3em; line-height: 1em; margin-bottom: 1.5em; display: inline-block; text-shadow: none }
/*#cboxContent {margin-top: 40px !important;  background: #000 !important;}*/
#cboxContent {margin-top: 40px !important;  background: none !important;}

/* GALERÍAS */
#cboxNext,
#cboxPrevious {background: none; width: 5em; height: 5em; margin-top: -1.5em; color: #FFF}
#cboxNext:hover,
#cboxPrevious:hover {color: rgba(255,255,255,.6);}
#cboxNext:before,
#cboxPrevious:before {font-family: 'icons'; font-size: 5em; line-height: 1em; text-indent: 0; display: block; position: absolute; left: 0; top: 0}
#cboxPrevious:before {content: '\e802'}
#cboxNext:before {content: '\e804'}

/* Template page-lightbox */
#colorbox .wrapper {background: #000; height: auto; }
.page-colorbox#colorbox .entry-content {padding: 1.5em 0 3em; margin: 2em auto; width: 80%; float: none;}
.page-colorbox#colorbox .entry-content hr {background-color: #FFF; margin: 0em 0 0;}
.page-colorbox#colorbox .entry-header {padding: 1em 0 0 0; margin: 0}
.page-colorbox#colorbox .entry-header h2 {font-size: 2em; line-height: 100%; color: #970b0b; text-transform: uppercase;}
.page-colorbox#colorbox .entry-content h3 {font-size: 125%; padding-bottom: 0.6em;font-family: 'zuastiBold';text-transform: uppercase;}
.page-colorbox#colorbox .entry-content p + h3:first-of-type {padding-top: 1em;}
.page-colorbox#colorbox .entry-content h4 {text-transform: uppercase; font-size: 110%; line-height: 100%; padding-bottom: 0.4em}

.page-colorbox#colorbox .main-nav-ct,
.page-colorbox#colorbox footer {display: none}
.page-colorbox#colorbox .lightbox-ct h1{display: block; padding-bottom: .3em; text-align: left}
.lightbox-ct h1 {font-size:500%;}
.lightbox-ct h2 {font-size:150%; text-align: left}
.lightbox-ct b,
.lightbox-ct strong {color: #888}

.lightbox-ct{width: 40%;margin:0 auto; padding:3%; }
#cboxLoadedContent .lightbox-ct{width: 100%; margin: 0; padding:0; background:#fff; color: #000;}


/* Para acceder al contenido */
.btn-access-ct { 
	position: absolute; 
	bottom: 7em; 
	left: 1.5em; 
	padding-bottom: 0;
	text-align: center; 
	width:auto;
	z-index:70;
}

.btn-access-ct a:hover {opacity: .65; color: #ff851c}
.btn-access-ct.access-down a {display: inline-block;}
.btn-access-ct.access-down img {max-height: 4em; width: auto}

.btn-access-ct.access-down a {color: #888}

/*scroll*/
.icon-scroll,
.icon-scroll:before {
  position: absolute;
  left: 49%;
}
.icon-scroll {
  width: 18px;
  height: 30px;
  bottom: 1em;
  border-radius: 25px;
  background: none;
  border:1px solid #fff;
}
.icon-scroll:before {
  content: '';
  width: 2px;
  height: 6px;
  background: #fff;
  margin-left: -1px;
  top: 4px;
  border-radius:0;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: scroll;
          animation-name: scroll;
}
@-webkit-keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(23px);
            transform: translateY(23px);
  }
}
@keyframes scroll {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(23px);
            transform: translateY(23px);
  }
}


/* VIDEO DE FONDO  */
.bg-video video {width: 100%}

/* VIDEO PLAYER */
.videoContainer {width: 800px; height: 450px; margin: 0 auto; }

.videoContainer .video-js {background: #FFF !important }
.videoContainer .video-js,
.videoContainer video {width: 100% !important; height: 450px !important;}

.video-title {text-transform: uppercase; color: #FFF; padding-bottom: .5em; font-size: 150%}
#colorbox .video-title {display: none;}

.home-video .video-js {color: #FFF !important}
.vjs-you-skin {}
/* Change all text and icon colors in the player. */
.vjs-you-skin.video-js {color: #57584F; }

/* Change the color of various "bars". */
.vjs-default-skin.vjs-you-skin .vjs-control-bar {
    background: rgba(0,0,0,0);
    opacity: 1 !important; visibility: visible !important;
}

.vjs-default-skin .vjs-control:before {text-shadow: none !important; }
.vjs-default-skin .vjs-slider {background-color: rgba(87,88,79,.6)}


.vjs-you-skin .vjs-volume-level,
.vjs-you-skin .vjs-play-progress,
.vjs-you-skin .vjs-slider-bar {
  background: #FFF !important;
}


.vjs-default-skin .vjs-big-play-button {background: none !important; width: 2.6em !important; margin-left: -1.4000000000000001em !important;
    border: .3em solid #FFF !important;
    margin-top: 0 !important;
    -webkit-border-radius: 100% !important;
    -moz-border-radius: 100% !important;
    border-radius: 100% !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
    -ms-transition: background .4s ease !important;
    -webkit-transition: background .4s ease !important;
    transition: background .4s ease !important;
    font-size:2.5em!important;
}

.vjs-default-skin .vjs-big-play-button:before {left: 0.08em !important; color: #FFF !important; text-shadow: none !important; }
.vjs-default-skin .vjs-big-play-button:focus, .vjs-default-skin .vjs-big-play-button:hover {border-color: #57584F !important;}
.vjs-default-skin .vjs-big-play-button:focus:before, .vjs-default-skin .vjs-big-play-button:hover:before {color: #57584F !important}

/* Button play */

.vjs-default-skin .vjs-big-play-button:before {font-family: "icons" !important; content: "\e814" !important; font-size: 1.5em; line-height: 1.75em !important}
.vjs-default-skin .vjs-big-play-button:after {
  content: 'Capital';
  text-transform: uppercase;
  font-weight: 900;
  font-size:8em;
  position: absolute;
  top:0;
  left:-2em;
  color:#fff;
  opacity: .2;

}

.vjs-default-skin.vjs-has-started .vjs-control-bar{display:none!important;}
.vjs-default-skin.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{display:none!important;}


/* SLICK SLIDER & CAROUSEL
//////////////////////////////////////////////////// */
.slider .slick-prev:before, 
.slider .slick-next:before {display: none; }
.slider .slick-prev, 
.slider .slick-next {width: 0; height: 0; border-style: solid; display: inline-block; width: auto !important; top: 50%; margin-top: -2em;
    z-index: 10; cursor: pointer; position: absolute; background: none !important; border: 0 !important;}
.slider .slick-prev:hover, 
.slider .slick-next:hover,
.slider .slick-prev:focus, 
.slider .slick-next:focus {color: #FFF; background: none !important;}
.slider .slick-prev {left: 2em}
.slider .slick-next {right: 2em}
.slider .slick-prev.slick-disabled, 
.slider .slick-next.slick-disabled {opacity: 0.4; cursor: default; color: #7c7c7c;}


.slider.slider-gallery .slick-prev,
.slider.slider-gallery .slick-next {top: 35%}

.slider.slider-vertical {padding: 3em 0;}
.slider.slider-vertical .slick-prev, 
.slider.slider-vertical .slick-next {right: -12px; left: auto;}
.slider.slider-vertical .slick-prev {top: 1.8em; }
.slider.slider-vertical .slick-next {bottom: 2em; top: auto; } 
.slider.slider-vertical li {height: 1.6em; text-align: right; }


/* HEADER */
.logo-header{width: auto;float: left;padding-left: 5em;}
.logo-header .logo{width: 100%;height: 6em;}

/* Por páginas
//////////////////////////////////////////////////// */

/* HOME
//////////////////////////////////////////////////// */
.sec-home h2{font-size: 2.8em;font-weight: 700;line-height: .9em;margin-bottom: .6em;}
.home-top{width: 100%;position: relative;overflow: hidden;background: url('images/home/bg-top.jpg') 100% 0 no-repeat;background-size:100%;z-index: 2;margin-top: 9em;}
.home-top h1{font-size: 6.2em;font-weight: 800;line-height:.7em;}
.home-top h1 span{font-size:.5em;}
.home-top h2{font-size: 1em;text-transform: uppercase;font-family: 'Martel Sans';padding-bottom: .5em;position: relative;display: block;line-height: 1em;}
.home-header {position:relative;width: 54%;overflow: hidden;padding: 15em 0 0 16em;}
.home-header .header-ct {width:100%}
.home-header .entry-content{position: relative;margin-top: 2em;float: left;}
.home-center{width: 100%;position: relative;overflow: hidden;margin-top:0m;z-index: 0;}
.home-center .img-featured{width: 100%;position: relative;overflow: hidden;}
.home-center .img-featured .col-left{width: 65%;position: relative;overflow: hidden;}
.home-center .img-featured .col-right{width: 33.26%;position: relative;overflow: hidden;float: right;}
.home-center .zuasti-svg{width: 100%;position: absolute;bottom:-1em;left: 0;opacity:.3;z-index: 2;}



/* =========================================
   ZUASTI - FOTOGRAFÍAS CON ONDA SUPERIOR
========================================= */

#inicio .home-center {
    position: relative;
}

/* Onda superior */
#inicio .onda-zuasti {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 10vw;
    z-index: 5;
    pointer-events: none;
}

/* Contenedor de fotografías */
#inicio .img-featured {
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
    gap: 10px;
}

/* Fotografía izquierda */
#inicio .img-featured .col-left {
    flex: 0 0 calc(66% - 5px);
    width: calc(66% - 5px);
    min-width: 0;
    overflow: hidden;
}

/* Fotografía derecha */
#inicio .img-featured .col-right {
    flex: 0 0 calc(34% - 5px);
    width: calc(34% - 5px);
    min-width: 0;
    overflow: hidden;
    border: 0;
}

/* Imágenes */
#inicio .img-featured img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Móvil */
@media (max-width: 767px) {
    #inicio .onda-zuasti {
        height: 14vw;
    }

    #inicio .img-featured {
        gap: 5px;
    }

    #inicio .img-featured .col-left {
        flex-basis: calc(66% - 2.5px);
        width: calc(66% - 2.5px);
    }

    #inicio .img-featured .col-right {
        flex-basis: calc(34% - 2.5px);
        width: calc(34% - 2.5px);
    }
}



.home-promociones{width: 100%;position: relative;overflow: hidden;padding: 3em 0;background:#ececec url('svgs/medio-imago.svg') 0 0 no-repeat;}
.home-promociones .col-left{width: 42%;position: relative;}
.home-promociones .col-left .ct-content{padding: 9em 0 0 5em;}
.home-promociones .col-left .ct-content h2{}
.home-promociones .col-right{width: 58%;position: relative;padding: 1em 2em 2em 0;}
.home-promociones .col-right ul.carrusel-promociones{}
.home-promociones .col-right ul.carrusel-promociones li{width: 44%;float: left;margin-right: 2em;position: relative;}

.home-noticias{width: 100%;position: relative;overflow: hidden;background: url('images/home/bg-noticias.jpg') 0 0 no-repeat;background-size: cover;MIN-HEIGHT: 300PX;}
/* HOME: NOTICIAS Y AGENDA */

.sec-home .home-noticias {
    --actualidad-verde: #294f38;
    --actualidad-naranja: #ffbd66;

    display: block;
    position: relative;
    padding: clamp(60px, 7vw, 120px) 0;
    background-color: #f7f8f6;
}

.sec-home .home-noticias-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(35px, 6vw, 100px);
    width: min(88%, 1440px);
    margin-inline: auto;
}

.sec-home .home-noticias-columna,
.sec-home .home-agenda-columna {
    min-width: 0;
}

.sec-home .home-actualidad-titulo {
    margin: 0 0 30px;
    color: #111;
    font-size: clamp(34px, 3.3vw, 58px);
    font-weight: 700;
    line-height: .98;
}

/* PANEL DE NOTICIAS */

.sec-home .home-noticias-panel {
    padding: clamp(24px, 3.4vw, 60px);
    background: #fff;
}

.sec-home .home-noticias-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 65px clamp(25px, 4vw, 70px);
}

.sec-home .home-noticia {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sec-home .home-noticia-imagen {
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    margin-bottom: 22px;
    background: #eceeeb;
}

.sec-home .home-noticia-foto {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.sec-home .home-noticia-imagen:hover .home-noticia-foto {
    transform: scale(1.035);
}

.sec-home .home-noticia-titulo {
    margin: 0;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.sec-home .home-noticia-titulo a {
    color: #111;
    text-decoration: none;
}

.sec-home .home-noticia-titulo a:hover {
    color: var(--actualidad-verde);
}

.sec-home .home-noticia-resumen {
    margin: 4px 0 0;
    color: #333;
    font-size: 15px;
    line-height: 1.3;
}

.sec-home .home-noticia-contenido {
    margin-bottom: 28px;
}

.sec-home .home-noticia-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    box-sizing: border-box;
    width: 52px;
    height: 52px;
    margin-top: auto;
    border: 1px solid #8bab96;
    border-radius: 50%;
    color: var(--actualidad-verde);
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family:'Frank Ruhl Libre';
}

.sec-home .home-noticia-info:hover {
    background: var(--actualidad-verde);
    color: #fff;
}

/* BOTONES VER TODAS */

.sec-home .home-actualidad-pie {
    margin-top: 40px;
    text-align: center;
}

.sec-home .home-actualidad-boton {
    display: inline-block;
    padding: 6px 24px;
    background: var(--actualidad-verde);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .2s;
    font-family: 'Frank Ruhl Libre';
}

.sec-home .home-actualidad-boton:hover {
    background: #173824;
}

/* AGENDA */

.sec-home .home-agenda-lista {
    display: grid;
    gap: 12px;
}

.sec-home .home-evento {
    --evento-color: var(--actualidad-verde);

    display: grid;
    grid-template-columns: minmax(0, 1fr) 125px;
    align-items: center;
    gap: 20px;
    box-sizing: border-box;
    min-height: 100px;
    padding: 20px 24px;
    background: #ededed;
    color: #111;
    text-decoration: none;
    transition: background-color .2s, color .2s;
}

.sec-home .home-evento-contenido {
    min-width: 0;
}

.sec-home .home-evento-categoria {
    display: block;
    margin-bottom: 2px;
    color: var(--evento-color);
    font-size: clamp(20px, 1.8vw, 29px);
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
    overflow-wrap: anywhere;
    font-family:'Martel Sans';
}

.sec-home .home-evento-titulo {
    margin: 0;
    color: inherit;
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    font-family:'Martel Sans';
}

.sec-home .home-evento-fecha {
    padding-left: 18px;
    border-left: 1px solid #777;
    color: var(--actualidad-verde);
    text-align: center;
}

.sec-home .home-evento-dia {
    display: block;
    font-size: 29px;
    line-height: 1;
}

.sec-home .home-evento-mes {
    display: block;
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.15;
    text-transform: uppercase;
}

.sec-home .home-evento-hora {
    display: block;
    margin-top: 5px;
    font-size: 21px;
    line-height: 1;
}

.sec-home .home-evento-pendiente {
    display: block;
    font-size: 14px;
    line-height: 1.2;
}

/* Colores según el slug de la categoría de MEC */

.sec-home .home-evento-cat-campamentos {
    --evento-color: #294f38;
}

.sec-home .home-evento-cat-fiestas {
    --evento-color: #bd6a00;
}

.sec-home .home-evento-cat-deportes {
    --evento-color: #9741c4;
}

/* Tarjeta resaltada al interactuar */

.sec-home .home-evento:hover,
.sec-home .home-evento:focus-visible {
    background: var(--actualidad-naranja);
    color: #1c3224;
}

.sec-home .home-evento:hover .home-evento-categoria,
.sec-home .home-evento:focus-visible .home-evento-categoria {
    color: #1c3224;
}

.sec-home .home-agenda-columna .home-actualidad-pie {
    margin-top: 25px;
}

/* Fecha completa para lectores de pantalla */

.sec-home .home-evento-fecha-accesible {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Foco visible */

.sec-home .home-noticias a:focus-visible {
    outline: 2px solid var(--actualidad-verde);
    outline-offset: 4px;
}

/* TABLET */

@media (max-width: 1100px) {

    .sec-home .home-noticias-layout {
        grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
        gap: 30px;
        width: 92%;
    }

    .sec-home .home-noticias-panel {
        padding: 25px;
    }

    .sec-home .home-noticias-grid {
        gap: 45px 25px;
    }

    .sec-home .home-evento {
        grid-template-columns: minmax(0, 1fr) 100px;
        gap: 12px;
        padding: 18px;
    }

    .sec-home .home-evento-fecha {
        padding-left: 12px;
    }

    .sec-home .home-evento-titulo {
        font-size: 16px;
    }
}

/* MÓVIL */

@media (max-width: 850px) {

    .sec-home .home-noticias-layout {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .sec-home .home-agenda-columna {
        width: 100%;
    }

    .sec-home .home-evento {
        grid-template-columns: minmax(0, 1fr) 125px;
        padding: 22px;
    }
}

@media (max-width: 480px) {

    .sec-home .home-noticias-panel {
        padding: 22px;
    }

    .sec-home .home-noticias-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .sec-home .home-evento {
        grid-template-columns: minmax(0, 1fr) 95px;
        padding: 18px 15px;
    }

    .sec-home .home-evento-dia {
        font-size: 25px;
    }

    .sec-home .home-evento-mes {
        font-size: 12px;
    }
}

.home-banner{width: 100%;position: relative;overflow: hidden;z-index: 1;}
.home-banner .claim{width: 50%;left: 50%;float: left;position: absolute;top: 4em;z-index: 2;}
.home-banner .claim h2{font-size: 4.5em;color: #fff;}
.home-tienda{width: 100%;position: relative;overflow: hidden;background:#ececec;}
.home-tienda .col-left{width: 54.3%;position: relative;overflow: hidden;}
.home-tienda .col-left h2{font-size:4.2em;color:#284e36;margin-bottom: 0;}
.home-tienda .col-left h3{font-size: 2.1em;font-weight: 600;padding-top: .5em;}
.home-tienda .col-left .ct-content{padding: 4em 0 0 5em;}
.home-tienda .col-right{width: 45.7%;position: relative;overflow:visible;}
.home-tienda .col-right h2{left:-.5em;bottom:-.15em;font-size: 15em;z-index: 2;position: absolute;color: #fff;margin-bottom: 0;}

.home-partners{width: 100%;position: relative;overflow: hidden;background:#fff url('images/home/bg-partners.jpg') 0 0 no-repeat;background-size:100%;text-align: center;padding: 2em 0;}

.home-partners .empresas-amigas,
.home-partners .entidades-federaciones{width: 100%;position: relative;overflow: hidden;}
.home-partners .empresas-amigas ul{width: 80%;position: relative;text-align: center;margin: 0 auto;}
.home-partners .entidades ul{width: 70%;position: relative;text-align: center;margin: 0 auto;}
.home-partners .empresas-amigas ul li,
.home-partners .entidades-federaciones ul li{width: auto;float: left;padding: 0 2em;}
.home-partners > div.empresas-amigas,
.home-partners > div.entidades-federaciones {
    padding: 40px 0;
}

.home-partners h3 {
    text-align: center;
    margin: 0 0 30px;
    font-size: 2.1em;
    color:#ada5a5;
}

/* Listado de logotipos */
.home-partners ul.empresas-amigas,
.home-partners ul.entidades-federaciones {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 35px;

    list-style: none;
    margin: 0 auto;
    padding: 0;
}

/* Cada logotipo */
.home-partners ul.empresas-amigas > li,
.home-partners ul.entidades-federaciones > li {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
}

.home-partners ul.empresas-amigas > li img{
    display: block;
    height: 100px;
    width: auto;
    max-width: none;
}

.home-partners ul.entidades-federaciones > li img {
    display: block;
    height: 80px;
    width: auto;
    max-width: none;
}

/* En pantallas pequeñas permite desplazamiento horizontal */
@media (max-width: 1100px) {
    .home-partners ul.empresas-amigas,
    .home-partners ul.entidades-federaciones {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 15px;
    }
}
.home-partners .entidades{width: 100%;position: relative;overflow: hidden;}
.home-agenda {background-position: bottom left; background-size: 140%; background-repeat: no-repeat; background-image: url('images/agenda.jpg');
  min-height: 50em; }
.home-agenda > .columns {padding-right: 25%;}
.home-agenda::before {width: 54%; background-color: #000; height: 100%}
.home-agenda::after {background: url('images/logos/imago-blanco.svg') no-repeat 0 0 ; background-size: 100%; width: 29%; left: 57%; height: 100%; mix-blend-mode: soft-light; }
.home-agenda-events {margin-top: 20em; background-color: rgba(0,0,0,.9); position: relative; z-index: 20; padding-bottom: 2em !important}
.page-id-9 .video-en{display: none;}
.page-id-960 .video-es{display: none;}
.page-id-960 .video-en{display: block;}

.redes{width: 45%;position: relative;overflow: hidden;background: #13301d;padding: 2em 30%;padding-top: 1.5em;}
.redes .logo-zuasti{width: 25%;position: relative;float: left;margin-right: 7%;padding-top: 1.5em;}
.redes .direccion{width: 22%;position: relative;float: left;color: #fff;margin-right: 4%;}
.redes .rrss{width: 40%;position: relative;float: left;padding-top: 1.5em;}

.subvenciones{width: 100%;position: relative;overflow: hidden;text-align: center;background: #e4e4e4;padding: 1em 0;}
.subvenciones p{color: #505050;}
.logos-subvenciones{width: 100%;position: relative;border-top: 5px solid #13301d;margin-top: 1.5em;}
.logos-subvenciones ul{width: 60%;position: relative;display: flex;align-items: center;justify-content: space-between;flex-wrap: nowrap;gap: 35px;list-style: none;margin: 0 auto;padding:2em 0 1em 0;}

/* Cada logotipo */
.logos-subvenciones ul > li {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
}

.logos-subvenciones ul > li img{
    display: block;
    height: 60px;
    width: auto;
    max-width: none;
}

/* HISTORIA
//////////////////////////////////////////////////// */
.sec-historia{width: 100%;position: relative;overflow: hidden;background: #e0e0e0;margin-top: 9em;}
.sec-historia .historia-cabecera{width: 100%;position: relative;overflow: hidden;}
.sec-historia .historia-cabecera .col-left{width: 60%;position: relative;float: left;background: url('images/historia/bg-top-historia.jpg') 0 0 no-repeat;background-size: 100%;}
.sec-historia .historia-cabecera .col-left .ct-content{width: 60%;position: relative;padding: 12em 0 6em 9em;}
.sec-historia .historia-cabecera .col-right{width: 40%;position: relative;float: left;}
.sec-historia .historia-cabecera .txt-destacado{width: 100%;position: absolute;left: 0;bottom: 0;z-index: 2;opacity: .3;}

.sec-historia .historia-datos{width: 100%;position: relative;overflow: hidden;background: #2f3732;padding: 4em 0}
.historia-datos-lista {display: flex;max-width: 1150px;margin: 0 auto;padding: 0;list-style: none;}
.historia-dato {flex: 1;padding: 0 25px;text-align: center;}
.historia-dato + .historia-dato {border-left: 1px solid rgba(255, 255, 255, 0.65);}
.historia-dato-valor {display: block;margin-bottom: 8px;font-size: clamp(32px, 4vw, 52px);line-height: 1;}
.historia-dato-descripcion {display: block;font-size: 18px;line-height: 1.1;}


.zuasti-historia {
    --historia-verde: #28543b;
    --historia-oscuro: #2d3731;
    --historia-gris: #ececec;
    --historia-linea: #c7ccc8;
    --historia-circulo: 110px;

    color: #171717;
}

.zuasti-historia,
.zuasti-historia * {
    box-sizing: border-box;
}

/* FRANJA DE DATOS */

.historia-datos-lista {
    display: flex;
    max-width: 1150px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.historia-dato {
    flex: 1;
    padding: 0 25px;
    text-align: center;
    color: #fff;
    font-size: 1.4em;
}
.historia-dato h2{font-size: 3em;font-family: 'Martel Sans';font-weight: 900;}

.historia-dato + .historia-dato {
    border-left: 1px solid rgba(255, 255, 255, 0.65);
}

.historia-dato-valor {
    display: block;
    margin-bottom: 8px;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1;
}

.historia-dato-descripcion {
    display: block;
    font-size: 18px;
    line-height: 1.1;
}

/* CRONOLOGÍA */

.sec-historia .historia-cronologia {
    padding: 40px 4% 100px;
    background: #ececec;
}

.sec-historia .historia-migas {
    margin-bottom: 35px;
    text-align: right;
    font-size: 14px;
}

.sec-historia .historia-migas a {
    color: inherit;
    text-decoration: none;
}

.sec-historia .historia-cronologia-titulo {
    margin: 0 0 30px;
    text-align: center;
    color: #28543b;
    font-family: 'Frank Ruhl Libre';
    font-size: 34px;
    font-weight: 400;
}

/* Listado y línea central */

.sec-historia .historia-linea {
    position: relative;
    display: block;
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.sec-historia .historia-linea::before {
    content: "";
    position: absolute;
    top: 55px;
    bottom: 55px;
    left: 50%;
    width: 1px;
    background: #c7ccc8;
    transform: translateX(-50%);
}

/* Cada fila: izquierda / círculo / derecha */

.sec-historia .historia-linea > li.historia-hito {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px minmax(0, 1fr);
    column-gap: 65px;
    align-items: start;

    width: 100%;
    min-height: 240px;
    margin: 0;
    padding: 0 0 65px;
    float: none;
    box-sizing: border-box;
}

.sec-historia .historia-linea > li.historia-hito:last-child {
    min-height: 110px;
    padding-bottom: 0;
}

/* Todos los círculos en la columna central */

.sec-historia .historia-hito > .historia-siglo {
    position: relative;
    z-index: 1;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 110px;
    height: 110px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid #808c83;
    border-radius: 50%;
    background: #ececec;
    color: #28543b;
    font-family: 'Frank Ruhl Libre';
    font-size: 36px;
    line-height: 1;
}

.sec-historia .historia-siglo h2 {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
}

/* Impares: texto a la derecha */

.sec-historia .historia-hito > .historia-hito-contenido {
    grid-column: 3;
    grid-row: 1;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    float: none;
    text-align: left;
}

/* Pares: texto a la izquierda */

.sec-historia .historia-hito:nth-child(even) > .historia-hito-contenido {
    grid-column: 1;
    text-align: right;
}

.sec-historia .historia-hito-fecha {
    margin: 0;
    color: #28543b;
    font-family: 'Frank Ruhl Libre';
    font-size: 17px;
    font-weight: bold;
}

.sec-historia .historia-hito-titulo {
    font-family: 'Frank Ruhl Libre';
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
}

.sec-historia .historia-hito-texto {
    font-family: 'Frank Ruhl Libre';
    font-size: 14px;
    line-height: 1.4;
}

.sec-historia .historia-hito-texto p {
    margin: 0 0 15px;
    font-size: inherit;
    line-height: inherit;
}

/* TABLET */

@media (max-width: 1000px) {
    .sec-historia .historia-linea > li.historia-hito {
        column-gap: 30px;
    }
}

/* MÓVIL: círculos a la izquierda y textos a la derecha */

@media (max-width: 700px) {
    .sec-historia .historia-linea::before {
        top: 37.5px;
        bottom: 37.5px;
        left: 37.5px;
    }

    .sec-historia .historia-linea > li.historia-hito {
        grid-template-columns: 75px minmax(0, 1fr);
        column-gap: 22px;
        min-height: 180px;
        padding-bottom: 45px;
    }

    .sec-historia .historia-hito > .historia-siglo {
        grid-column: 1;
        width: 75px;
        height: 75px;
        font-size: 26px;
    }

    .sec-historia .historia-hito > .historia-hito-contenido,
    .sec-historia .historia-hito:nth-child(even) > .historia-hito-contenido {
        grid-column: 2;
        text-align: left;
    }

    .sec-historia .historia-linea > li.historia-hito:last-child {
        min-height: 75px;
    }
}

/* INSTALACIONES
//////////////////////////////////////////////////// */
/************************************************************************
    EL PALACIO
************************************************************************/

.palacio,
.palacio * {
    box-sizing: border-box;
}

.palacio {
    --palacio-gris: #d9d9d9;
    width: 100%;
    margin-top: 9em;
}

/* CABECERA */

.palacio .palacio-hero {
    position: relative;
    min-height: 460px;
    height: 45vw;
    max-height: 850px;
    overflow: hidden;
    background: #264d38;
}

.palacio .palacio-hero-imagen {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

.palacio .palacio-hero-contenido {
    position: relative;
    z-index: 1;
    width: 83%;
    margin: 0 auto;
    padding-top: clamp(50px, 5vw, 100px);
}

.palacio .palacio-hero-titulo {
    margin: 0;
    color: #fff;
    font-family: 'Frank Ruhl Libre', serif;
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .12);
}

.palacio .palacio-hero-texto {
    display: block;
    font-size: clamp(28px, 4vw, 64px);
}

.palacio .palacio-hero-destacado {
    display: block;
    font-size: clamp(48px, 8.5vw, 130px);
}

/* INTRODUCCIÓN CON BORDE CURVO */

.palacio .palacio-intro {
    position: relative;
    z-index: 2;
    margin-top:-7em;
    padding: 45px 0 40px;
    /*background-image:url('images/instalaciones/el-palacio/bg-gris.svg') 0 0 no-repat;background-size: cover;*/
    background:url('images/instalaciones/el-palacio/bg-gris.svg') 0 0 no-repeat;background-size: 100%;
}

.palacio .palacio-intro-contenido {
    position: relative;
    width: 52%;
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 2em;
}

.palacio .palacio-intro-logo {
    display: block;
    width: 170px;
    height: auto;
    max-width: 100%;
    margin: 0 auto 15px;
}

.palacio .palacio-intro-descripcion {
    color: #111;
    line-height: 1.4;
}

/* TEXTOS */

.palacio .palacio-intro-descripcion p,
.palacio .palacio-espacio-descripcion p {
    margin: 0 0 22px;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.palacio .palacio-intro-descripcion > :last-child,
.palacio .palacio-espacio-descripcion > :last-child {
    margin-bottom: 0;
}

.palacio .palacio-intro-descripcion a,
.palacio .palacio-espacio-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* ESPACIOS */

.palacio .palacio-espacio {
    display: grid;
    grid-template-columns: 54% 46%;
    grid-template-areas: "imagen contenido";
    margin: 0;
    padding: 0;
    background: var(--espacio-color);
}

.palacio .palacio-espacio:nth-child(even) {
    grid-template-columns: 48% 52%;
    grid-template-areas: "contenido imagen";
}

.palacio .palacio-espacio-imagen {
    grid-area: imagen;
    position: relative;
    min-width: 0;
    min-height: 30vw;
    overflow: hidden;
}

.palacio .palacio-espacio-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

.palacio .palacio-espacio-contenido {
    grid-area: contenido;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(35px, 5vw, 90px);
    color: #fff;
}

.palacio .palacio-espacio-titulo {
    margin: 0 0 28px;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(30px, 3vw, 56px);
    font-weight: 700;
    line-height: 1.1;
}

.palacio .palacio-espacio-descripcion {
    color: #fff;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

/* GALERÍA */

.palacio .palacio-galeria {
    padding: 95px 0 110px;
    background: var(--palacio-gris);
}

.palacio .palacio-galeria-contenedor {
    width: 88%;
    max-width: 1800px;
    margin: 0 auto;
}

.palacio .palacio-galeria-titulo {
    margin: 0 0 65px;
    color: #000;
    font-family: 'Frank Ruhl Libre', serif;
    font-weight: 700;
    line-height: 1;
}

.palacio .palacio-galeria-texto {
    display: block;
    font-size: clamp(25px, 3.2vw, 50px);
}

.palacio .palacio-galeria-destacado {
    display: block;
    padding-left: 6%;
    font-size: clamp(42px, 6.5vw, 100px);
}

/* Sin JavaScript, los mosaicos se pueden desplazar manualmente */

.palacio .palacio-slider {
    position: relative;
}

.palacio .palacio-slider-ventana {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

.palacio .palacio-slider.is-ready .palacio-slider-ventana {
    overflow: hidden;
}

.palacio .palacio-slider-pista {
    display: flex;
    transition: transform .45s ease;
}

.palacio .palacio-mosaico {
    display: grid;
    flex: 0 0 100%;
    min-width: 0;
    height: clamp(300px, 30vw, 580px);

    grid-template-columns: 1.8fr 1.6fr 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-template-areas:
        "izquierda centro-arriba derecha"
        "izquierda centro-abajo derecha";

    gap: 8px;
    scroll-snap-align: start;
}

.palacio .palacio-mosaico > div {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.palacio .palacio-mosaico-izquierda {
    grid-area: izquierda;
}

.palacio .palacio-mosaico-centro-arriba {
    grid-area: centro-arriba;
}

.palacio .palacio-mosaico-centro-abajo {
    grid-area: centro-abajo;
}

.palacio .palacio-mosaico-derecha {
    grid-area: derecha;
}

.palacio .palacio-mosaico-foto {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
}

/* Flechas */

.palacio .palacio-slider-flecha {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #555;
    box-shadow: none;
    font-size: 38px;
    line-height: 1;
    cursor: pointer;

    transform: translateY(-50%);
}

.palacio .palacio-slider-flecha[hidden] {
    display: none;
}

.palacio .palacio-slider-anterior {
    right: 100%;
}

.palacio .palacio-slider-siguiente {
    left: 100%;
}

.palacio .palacio-slider-flecha:hover {
    color: #264d38;
}

.palacio .palacio-slider-flecha:focus-visible {
    outline: 2px solid #264d38;
    outline-offset: 2px;
}

.palacio .palacio-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* TABLET */

@media (max-width: 1000px) {
    .palacio .palacio-intro-contenido {
        width: 75%;
    }

    .palacio .palacio-espacio-contenido {
        padding: 35px;
    }

    .palacio .palacio-slider-flecha {
        width: 28px;
    }
}

/* MÓVIL */

@media (max-width: 767px) {
    .palacio .palacio-hero {
        height: 65vh;
        min-height: 420px;
        max-height: 600px;
    }

    .palacio .palacio-hero-contenido {
        width: 88%;
    }

    .palacio .palacio-intro {
        padding: 30px 0 55px;
    }

    .palacio .palacio-intro::before {
        top: -30px;
        height: 31px;
    }

    .palacio .palacio-intro-contenido {
        width: 88%;
    }

    .palacio .palacio-intro-logo {
        width: 105px;
        margin-bottom: 30px;
    }

    .palacio .palacio-espacio,
    .palacio .palacio-espacio:nth-child(even) {
        grid-template-columns: 1fr;
        grid-template-areas:
            "imagen"
            "contenido";
    }

    .palacio .palacio-espacio-imagen {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    .palacio .palacio-espacio-contenido {
        padding: 40px 6%;
    }

    .palacio .palacio-galeria {
        padding: 55px 0 65px;
    }

    .palacio .palacio-galeria-titulo {
        margin-bottom: 35px;
    }

    .palacio .palacio-slider-flecha {
        width: 22px;
        font-size: 30px;
    }
}

@media (max-width: 600px) {
    .palacio .palacio-mosaico {
        height: 420px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "izquierda centro-arriba"
            "centro-abajo derecha";
        gap: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .palacio .palacio-slider-pista {
        transition: none;
    }
}

/* Hidrorerapia y biocentro */

.sec-hidroterapia{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-hidroterapia .header{width: 100%;position: relative;overflow: hidden;}
.sec-hidroterapia .header h1{width: 100%;color: #fff;position: absolute;bottom:-.05em;left: .4em;z-index: 2;font-size: 8em;line-height: .7em;}
.sec-hidroterapia .header h1 br{margin: 0 0 0 0;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-hidroterapia h2{font-size: 3.5em;font-weight: 700;text-align:left;padding-bottom:.5em;}
.sec-hidroterapia .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-hidroterapia .destacado-top .container{max-width:680px;}

/* HIDROTERAPIA */

.hidroterapia {
    width: 100%;
}

.hidroterapia-tarjetas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hidroterapia-tarjeta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #267ba4;
}

.hidroterapia-tarjeta:nth-child(3n + 2) {
    background: #e3b17e;
}

.hidroterapia-tarjeta:nth-child(3n + 3) {
    background: #72bfbd;
}

/* Fotografías */

.hidroterapia-imagen {
    aspect-ratio: 1.22 / 1;
    overflow: hidden;
}

.hidroterapia-foto {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Contenido */

.hidroterapia-contenido {
    flex: 1;
    padding: clamp(30px, 3.5vw, 70px);
}

.hidroterapia-titulo {
    display: flex;
    align-items: flex-end;
    min-height: 3em;
    margin: 0 0 38px;
    color: #fff;
    font-size: clamp(30px, 3.1vw, 62px);
    font-weight: 700;
    line-height:.9em;
}
h2.hidroterapia-titulo {padding-bottom: 0;}

.hidroterapia-descripcion {
    color: #102b35;
    line-height: 1.35;
}

.hidroterapia-descripcion p {
    margin: 0 0 1.2em;
}

.hidroterapia-descripcion > :last-child {
    margin-bottom: 0;
}

/* Franja de horarios y avisos */

.hidroterapia-avisos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 30px 0;
    background: #264d37;
    color: #fff;
}

.hidroterapia-aviso {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 12px 25px;
    text-align: center;
}

.hidroterapia-aviso + .hidroterapia-aviso {
    border-left: 2px solid rgba(255, 255, 255, 0.65);
}

.hidroterapia-aviso-titulo {
    margin: 0 0 5px;
    color: inherit;
    font-family: inherit;
    font-size: clamp(23px, 1.95vw, 39px);
    font-weight: 800;
    line-height:.5;
}

.hidroterapia-aviso-texto {
    margin: 0;
    color: inherit;
    font-size: clamp(17px, 1.2vw, 24px);
    line-height: 1.35;
}

/* Tablet y móvil */

@media (max-width: 900px) {
    .hidroterapia-tarjetas {
        grid-template-columns: 1fr;
    }

    .hidroterapia-imagen {
        aspect-ratio: 16 / 10;
    }

    .hidroterapia-contenido {
        padding: 35px 25px 45px;
    }

    .hidroterapia-titulo {
        display: block;
        min-height: 0;
        margin-bottom: 25px;
        font-size: clamp(34px, 6vw, 52px);
    }

    .hidroterapia-avisos {
        grid-template-columns: 1fr;
        padding: 15px 25px;
    }

    .hidroterapia-aviso {
        padding: 25px 0;
    }

    .hidroterapia-aviso + .hidroterapia-aviso {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.65);
    }
}

/* BIOCENTRO */

.biocentro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    background: #eaeaea;
}

/* Imagen */

.biocentro-imagen {
    position: relative;
    min-width: 0;
    min-height: clamp(420px, 34vw, 700px);
    overflow: hidden;
}

.biocentro-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Contenido */

.biocentro-contenido {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: clamp(40px, 6vw, 120px) clamp(30px, 4vw, 80px);
}

.biocentro-interior {
    width: 100%;
    max-width: 780px;
}

.biocentro-titulo {
    margin: 0 0;
    color: #000;
    font-size: clamp(38px, 3.2vw, 66px);
    font-weight: 700;
    line-height: 1.1;
}

.biocentro-descripcion {
    color: #222;
    line-height: 1.4;
}

.biocentro-descripcion p {
    margin: 0 0 1.2em;
}

.biocentro-descripcion > :last-child {
    margin-bottom: 0;
}

/* Botón */

.biocentro-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 55px;
    padding: 15px 24px;
    background: #264d37;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(20px, 1.4vw, 28px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.biocentro-boton:hover,
.biocentro-boton:focus-visible {
    background: #193a28;
    color: #fff;
    text-decoration: none;
}

.biocentro-boton:focus-visible {
    outline: 2px solid #264d37;
    outline-offset: 4px;
}

/* Si no se añade imagen */

.biocentro-sin-imagen {
    grid-template-columns: 1fr;
}

.biocentro-sin-imagen .biocentro-interior {
    margin-inline: auto;
}

/* Tablet y móvil */

@media (max-width: 900px) {
    .biocentro {
        grid-template-columns: 1fr;
    }

    .biocentro-imagen {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    .biocentro-contenido {
        padding: 45px 25px 55px;
    }

    .biocentro-interior {
        max-width: none;
    }

    .biocentro-titulo {
        margin-bottom: 25px;
    }

    .biocentro-boton {
        margin-top: 35px;
    }
}


/* EL ROBLEDAL */

.sec-robledal {
    --robledal-claro: #f7f7f7;
    --robledal-verde: #294f39;
    background: var(--robledal-claro);
    color: #222;
    width: 100%;
    margin-top: 9em;
    position: relative;
}
.sec-robledal .header{position: relative;}

.sec-robledal .destacado-top {
    width: 100%;
    position: relative;
    overflow: hidden;
    background: url(images/deportes/tenis/bg-content.jpg) 0 100% no-repeat;
    background-size: cover;
    padding: 0 0 6em 0;
}

.sec-robledal .destacado-top .container {
    max-width: 680px;
}

.sec-robledal h2 {
    font-size: 3.5em;
    font-weight: 700;
    text-align: left;
    padding-bottom: .5em;
}

.sec-robledal *,
.sec-robledal *::before,
.sec-robledal *::after {
    box-sizing: border-box;
}

.sec-robledal .header h1 {
    width: 100%;
    color: #fff;
    position: absolute;
    bottom: -.05em;
    left: .4em;
    z-index: 2;
    font-size: 8em;
    line-height: .7em;
}

.robledal-titulo {
    margin: 0 0 45px;
    color: #000;
    font-size: clamp(32px, 3.1vw, 60px);
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

/* Introducción */

.robledal-intro {
    position: relative;
    overflow: hidden;
    padding: 25px 0 90px;
}

.robledal-intro > .container {
    position: relative;
    z-index: 1;
}

.robledal-intro-ramas {
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(130px, 19vw, 360px);
    height: 100%;
    object-fit: contain;
    object-position: left top;
    pointer-events: none;
}

.robledal-migas {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 45px;
    font-size: 14px;
}

.robledal-migas a {
    color: inherit;
    text-decoration: none;
}

.robledal-migas a:hover {
    text-decoration: underline;
}

.robledal-intro-texto {
    max-width: 850px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.45;
}

.robledal-intro-texto p,
.robledal-texto p {
    margin: 0 0 1.2em;
}

.robledal-intro-texto > :last-child,
.robledal-texto > :last-child {
    margin-bottom: 0;
}

/* Datos destacados */

.robledal-datos {
    padding: 65px 0;
    background: var(--robledal-verde);
    color: #fff;
}

.robledal-datos-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.robledal-dato {
    padding: 0 25px;
    text-align: center;
}

.robledal-dato + .robledal-dato {
    border-left: 2px solid rgba(255, 255, 255, 0.55);
}

.robledal-dato-valor {
    margin: 0 0 5px;
    font-size: clamp(34px, 3.3vw, 64px);
    font-weight: 700;
    line-height: 1.1;
}

.robledal-dato-descripcion {
    margin: 0;
    font-size: clamp(16px, 1.35vw, 24px);
    line-height: 1.35;
}

/* Vegetación */

.robledal-vegetacion {
    padding: 50px 0 50px;
}

.robledal-vegetacion h2{text-align: center;}

.robledal-vegetacion-columnas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(35px, 7vw, 130px);
    max-width: 1320px;
    margin: 0 auto;
}

.robledal-texto {
    line-height: 1.45;
}

/* Mosaico */

.robledal-mosaico {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2.1fr;
    gap: 20px;
    background: var(--robledal-claro);
}

.robledal-mosaico-item {
    min-width: 0;
    height: clamp(340px, 37vw, 720px);
    overflow: hidden;
}

.robledal-mosaico-item:only-of-type {
    grid-column: 1 / -1;
}

.robledal-mosaico-foto {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.robledal-mosaico-onda {
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: clamp(45px, 8vw, 150px);
    fill: var(--robledal-claro);
    pointer-events: none;
}

/* Frase */

.robledal-frase {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 300px;
    padding: 75px 0;
    background:#aa7f45;
}

.robledal-frase > .container {
    position: relative;
    z-index: 1;
}

.robledal-frase-ramas {
    position: absolute;
    top: 0;
    left: 0;
    width: 35%;
    height: 100%;
    object-fit: contain;
    object-position: left top;
    pointer-events: none;
    
}

.robledal-frase-texto {
    margin: 0 0 0 30%;
    color: #fff;
    font-family: inherit;
    font-size: clamp(34px, 4vw, 76px);
    font-weight: 700;
    line-height: 1;
    font-family: 'Frank Ruhl Libre';
}

/* Circuitos */

.robledal-circuitos {
    position: relative;
    overflow: hidden;
    padding: 70px 0;
    border-top: 55px solid #303030;
    background: #e5e6e5;
}

.robledal-circuitos-fondo {
    position: absolute;
    top: 0;
    right: -70px;
    width: 340px;
    height: auto;
    opacity: 0.06;
    pointer-events: none;
}

.robledal-circuitos-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    align-items: center;
    gap: 55px;
}

.robledal-circuitos .robledal-titulo {
    margin-bottom: 35px;
    text-align: left;
}

.robledal-circuitos-lista {
    display: grid;
    gap: 35px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.robledal-circuito {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    align-items: start;
    gap: 25px;
}

.robledal-circuito-numero {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--robledal-verde);
    color: #fff;
    font-size: 28px;
    line-height: 1;
}

.robledal-circuito-titulo {
    margin: 0 0 4px;
    color: var(--robledal-verde);
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.robledal-circuito-descripcion {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
}

.robledal-mapa {
    display: block;
    width: 100%;
    height: auto;
}

/* Fotografía final */

.robledal-foto-final {
    display: block;
    width: 100%;
    height: clamp(280px, 30vw, 580px);
    object-fit: cover;
    object-position: center;
}

/* Tablet y móvil */

@media (max-width: 900px) {
    .robledal-intro {
        padding-bottom: 55px;
    }

    .robledal-intro-ramas {
        opacity: 0.2;
    }

    .robledal-intro-texto {
        font-size: 16px;
    }

    .robledal-vegetacion {
        padding: 65px 0;
    }

    .robledal-vegetacion-columnas {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .robledal-circuitos-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .robledal-circuitos-mapa {
        width: 100%;
        max-width: 650px;
        margin: 0 auto;
    }

    .robledal-frase {
        min-height: 220px;
        padding: 55px 0;
    }

    .robledal-frase-texto {
        margin-left: 22%;
    }
}

@media (max-width: 600px) {
    .robledal-titulo {
        margin-bottom: 30px;
    }

    .robledal-migas {
        margin-bottom: 35px;
        font-size: 12px;
    }

    .robledal-datos {
        padding: 15px 0;
    }

    .robledal-datos-grid {
        grid-template-columns: 1fr;
    }

    .robledal-dato {
        padding: 25px 10px;
    }

    .robledal-dato + .robledal-dato {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.55);
    }

    .robledal-mosaico {
        grid-template-columns: 1fr 1.4fr;
        gap: 8px;
    }

    .robledal-mosaico-item {
        height: 300px;
    }

    .robledal-frase-texto {
        margin-left: 0;
        font-size: 36px;
    }

    .robledal-frase-ramas {
        width: 65%;
        opacity: 0.25;
    }

    .robledal-circuitos {
        padding: 50px 0;
        border-top-width: 25px;
    }

    .robledal-circuito {
        gap: 15px;
    }
}

/************************************************************************
    CAMPO DE GOLF
************************************************************************/

.campo-golf,
.campo-golf * {
    box-sizing: border-box;
}

.campo-golf {
    --campo-verde: #3c604b;
    --campo-azul-tenis: #187491;
    --campo-azul-padel: #4f7695;
    --campo-gimnasio: #555a6d;

    width: 100%;
    margin: 0;
    padding: 0;
}

/* PRESENTACIÓN */

.campo-golf .campo-golf-presentacion {
    background: var(--campo-verde) url('images/instalaciones/campo-de-golf/bg-top.jpg') 0 0 no-repeat;background-size: 100%;
    color: #fff;
    margin-top: 9em;
}

.page-template-instalaciones-pistas-de-tenis .campo-golf .campo-golf-presentacion{
    background: var(--campo-azul-tenis) url('images/instalaciones/pistas-de-tenis/bg-top.jpg') 0 0 no-repeat;background-size: 100%;
    color: #fff;
    margin-top: 9em;
}

.page-template-instalaciones-pistas-padel .campo-golf .campo-golf-presentacion{
    background: var(--campo-azul-padel) url('images/instalaciones/pistas-de-padel/bg-top.jpg') 0 0 no-repeat;background-size: 100%;
    color: #fff;
    margin-top: 9em;
}

.page-template-instalaciones-gimnasio .campo-golf .campo-golf-presentacion{
    background: var(--campo-gimnasio) url('images/instalaciones/gimnasio/bg-top.jpg') 0 0 no-repeat;background-size: 100%;
    color: #fff;
    margin-top: 9em;
}

.campo-golf .campo-golf-intro {
    position: relative;
    padding: clamp(60px, 6vw, 110px) 0 35px;
}

/* Texto desplazado hacia la derecha */

.campo-golf .campo-golf-intro-contenido {
    position: relative;
    z-index: 1;
    width: 50%;
    margin-left: 41%;
    margin-right: 9%;
}

.campo-golf .campo-golf-titulo {
    margin: 0 0 55px;
    padding: 0;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(58px, 7vw, 120px);
    font-weight: 700;
    line-height: .85;
    text-transform: none;
}

.campo-golf .campo-golf-descripcion {
    color: #fff;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.campo-golf .campo-golf-descripcion p {
    margin: 0 0 25px;
    padding: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.campo-golf .campo-golf-descripcion > :last-child {
    margin-bottom: 0;
}

.campo-golf .campo-golf-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* FOTOGRAFÍAS */

.campo-golf .campo-golf-fotografias {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.08fr);
    gap: 18px;
    height: clamp(350px, 37vw, 720px);
    /*background: var(--campo-verde);*/
    overflow: hidden;
}

.campo-golf .campo-golf-foto-izquierda,
.campo-golf .campo-golf-foto-derecha {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.campo-golf .campo-golf-foto {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

/* Onda superpuesta en la parte superior de las imágenes */

.campo-golf .campo-golf-onda {
    position: absolute;
    top: -1px;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: clamp(55px, 7vw, 125px);
    pointer-events: none;
    fill: var(--campo-verde);
}

.page-template-instalaciones-pistas-de-tenis .campo-golf .campo-golf-onda {
    position: absolute;
    top: -1px;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: clamp(55px, 7vw, 125px);
    pointer-events: none;
    fill: var(--campo-azul-tenis);
}

.page-template-instalaciones-pistas-padel .campo-golf .campo-golf-onda {
        position: absolute;
    top: -1px;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: clamp(55px, 7vw, 125px);
    pointer-events: none;
    fill: var(--campo-azul-padel);

}

.page-template-instalaciones-gimnasio .campo-golf .campo-golf-onda {
        position: absolute;
    top: -1px;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: clamp(55px, 7vw, 125px);
    pointer-events: none;
    fill: var(--campo-gimnasio);

}

/* BLOQUE DESTACADO */

.campo-golf .campo-golf-destacado {
    position: relative;
    padding: clamp(50px, 5.5vw, 100px) 0;
    background: #f5f5f5 url('images/instalaciones/campo-de-golf/bg-hoyos.jpg') 0 0 no-repeat;background-size: 100%;
}



.campo-golf .campo-golf-destacado-contenido {
    position: relative;
    z-index: 1;
    width: 76%;
    margin-left: 19%;
    margin-right: 5%;
}

.campo-golf .campo-golf-destacado-titulo {
    margin: 0;
    padding: 0;
    color: #000;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1;
}

.campo-golf .campo-golf-destacado-superior {
    display: block;
    margin-bottom: 5px;
    font-size: clamp(28px, 3.6vw, 60px);
}

.campo-golf .campo-golf-destacado-principal {
    display: block;
    font-size: clamp(40px, 5.5vw, 90px);
}

/* PANORÁMICA INFERIOR */

.campo-golf .campo-golf-panoramica {
    width: 100%;
    aspect-ratio: 3.1 / 1;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.campo-golf .campo-golf-panoramica-imagen {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

/* TABLET */

@media (max-width: 1000px) {
    .campo-golf .campo-golf-intro-contenido {
        width: 62%;
        margin-left: 30%;
        margin-right: 8%;
    }

    .campo-golf .campo-golf-destacado-contenido {
        width: 88%;
        margin: 0 auto;
    }
}

/* MÓVIL */

@media (max-width: 600px) {
    .campo-golf .campo-golf-intro {
        padding: 50px 0 30px;
    }

    .campo-golf .campo-golf-intro-contenido {
        width: 88%;
        margin: 0 auto;
    }

    .campo-golf .campo-golf-titulo {
        margin-bottom: 35px;
        font-size: 64px;
        line-height: .9;
    }

    .campo-golf .campo-golf-descripcion {
        font-size: 16px;
        line-height: 1.5;
    }

    .campo-golf .campo-golf-fotografias {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
        gap: 8px;
        height: 330px;
    }

    .campo-golf .campo-golf-onda {
        height: 45px;
    }

    .campo-golf .campo-golf-destacado {
        padding: 45px 0;
    }

    .campo-golf .campo-golf-destacado-superior {
        margin-bottom: 12px;
        font-size: 28px;
    }

    .campo-golf .campo-golf-destacado-principal {
        font-size: 42px;
    }

    .campo-golf .campo-golf-panoramica {
        aspect-ratio: 16 / 9;
    }
}

/* PISCINAS Y CAFETERÍA DE VERANO
//////////////////////////////////////////////////// */

.sec-piscinas-verano {
    width: 100%;
    margin-top: 9em;
    position: relative;
}
.sec-piscinas-verano .header{position: relative;}

.sec-piscinas-verano .destacado-top {
    width: 100%;
    position: relative;
    overflow: hidden;
    background:#fafafa;
    background-size: cover;
    padding: 0 0 6em 0;
}

.sec-piscinas-verano .header h1 {
    width: 100%;
    color: #fff;
    position: absolute;
    bottom: -.05em;
    left: .4em;
    z-index: 2;
    font-size: 8em;
    line-height: .7em;
}



.sec-piscinas-verano {
    background: #fafafa;
}

.sec-piscinas-verano table tr:nth-child(odd) th, table tr:nth-child(odd) td{background: none;}

.sec-piscinas-verano *,
.sec-piscinas-verano *::before,
.sec-piscinas-verano *::after {
    box-sizing: border-box;
}

/* Cabecera */

.sec-piscinas-verano .header {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: clamp(380px, 36.4vw, 720px);
    padding: 65px 5% 0;
    overflow: hidden;
    isolation: isolate;
}

.sec-piscinas-verano .header .imagen-destacada-fondo {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.sec-piscinas-verano .header .title-header {
    position: relative;
    inset: auto;
    transform: none;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: clamp(58px, 8.6vw, 165px);
    font-weight: 700;
    line-height: 0.83;
    text-align: left;
}

/* Fechas de temporada */

.sec-piscinas-verano .destacado-top {
    padding: 55px 0;
    background: #fafafa;
    color: #222;
    text-align: left;
}

.sec-piscinas-verano .destacado-top .container {
    padding-left: 35px;
}

.sec-piscinas-verano .destacado-top p {
    margin: 0 0 15px;
    font-size: clamp(22px, 2vw, 36px);
    line-height: 1.4;
}

.sec-piscinas-verano .destacado-top p:last-child {
    margin-bottom: 0;
}

/* Bloques alternos */

.verano-bloque {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: #749eaf;
    color: #fff;
}

.verano-bloque:nth-child(even) {
    background: #fafafa;
    color: #111;
}

/* Imagen */

.verano-bloque-imagen {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    min-height: clamp(530px, 43vw, 850px);
    overflow: hidden;
}

.verano-bloque-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Contenido */

.verano-bloque-contenido {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    gap: clamp(60px, 4vw, 150px);
    padding: clamp(45px, 7vw, 135px) clamp(30px, 3.1vw, 65px);
}

.verano-bloque:nth-child(even) .verano-bloque-imagen {
    grid-column: 2;
}

.verano-bloque:nth-child(even) .verano-bloque-contenido {
    grid-column: 1;
    padding-inline: clamp(30px, 6.7vw, 130px);
}

.verano-bloque-titulo {
    margin: 0 0 35px;
    color: inherit;
    font-size: clamp(34px, 3.1vw, 60px);
    font-weight: 700;
    line-height: 1.1;
}

.verano-bloque-descripcion {
    color: inherit;
    font-size: 16px;
    line-height: 1.4;
}

.verano-bloque-descripcion p {
    margin: 0 0 1em;
}

.verano-bloque-descripcion > :last-child {
    margin-bottom: 0;
}

/* Tablas de horarios */

.verano-horarios {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    color: inherit;
    background: transparent;
    font-size: 16px;
    line-height: 1.35;
}

.verano-horarios caption {
    caption-side: top;
    padding: 0 0 12px;
    border-bottom: 3px solid currentColor;
    color: inherit;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
}

.verano-horarios tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.verano-bloque:nth-child(even) .verano-horarios tr {
    border-bottom-color: #bcbcbc;
}

.verano-horarios th,
.verano-horarios td {
    padding: 14px 0;
    border: 0;
    background: transparent;
    color: inherit;
    vertical-align: top;
}

.verano-horarios th {
    padding-right: 20px;
    font-weight: 700;
    text-align: left;
}

.verano-horarios td {
    width: 30%;
    font-weight: 400;
    text-align: center;
}

/* Tablet y móvil */

@media (max-width: 900px) {
    .verano-bloque {
        grid-template-columns: 1fr;
    }

    .verano-bloque .verano-bloque-imagen,
    .verano-bloque:nth-child(even) .verano-bloque-imagen {
        grid-column: 1;
        grid-row: 1;
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    .verano-bloque .verano-bloque-contenido,
    .verano-bloque:nth-child(even) .verano-bloque-contenido {
        grid-column: 1;
        grid-row: 2;
        gap: 45px;
        padding: 45px 25px 55px;
    }

    .verano-bloque-titulo {
        margin-bottom: 25px;
    }
}

@media (max-width: 600px) {
    .sec-piscinas-verano .header {
        min-height: 380px;
        padding: 50px 20px 0;
    }

    .sec-piscinas-verano .header .title-header {
        font-size: clamp(44px, 10vw, 60px);
        line-height: 0.95;
    }

    .sec-piscinas-verano .destacado-top {
        padding: 35px 0;
    }

    .sec-piscinas-verano .destacado-top .container {
        padding-left: 20px;
    }

    .verano-horarios {
        font-size: 14px;
    }

    .verano-horarios th {
        padding-right: 12px;
    }

    .verano-horarios td {
        width: 34%;
    }
}



/* CLUB INFANTIL
//////////////////////////////////////////////////// */
.title-header{font-size: 12em;}

.sec-club-infantil {
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-club-infantil .header{width: 100%;position: relative;overflow: hidden;}
.sec-club-infantil .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sec-club-infantil{
    box-sizing: border-box;
}
.sec-club-infantil .container{width: 100%;position: relative;overflow: hidden;background:#f4f4f4 url('images/club-infantil/bg-disfruta-de-familia.jpg') 100% 100% no-repeat;background-size: 100%;padding: 9em 0;}
.sec-club-infantil .ci-contenedor {
    width: 74%;
    max-width: 1150px;
    margin: 0 auto;
}

.sec-club-infantil h2 {
    margin: 0 0 22px;
    font-family: 'Frank Ruhl Libre', serif;
    font-size: clamp(30px, 3.3vw, 46px);
    font-weight: 800;
    line-height: 1.15;
}

.sec-club-infantil .ci-texto {
    font-size: 15px;
    line-height: 1.4;
}

.sec-club-infantil .ci-texto p {
    margin: 0 0 18px;
    font-size: inherit;
    line-height: inherit;
}

/* CABECERA */

.sec-club-infantil .ci-cabecera {
    position: relative;
    height: clamp(330px, 36vw, 600px);
    overflow: hidden;
    background: #72766f;
}

.sec-club-infantil .ci-banner {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.sec-club-infantil .ci-cabecera h1 {
    position: absolute;
    left: 5%;
    bottom: -0.08em;
    z-index: 1;

    margin: 0;
    padding: 0;
    color: #f5f5f5;
    font-family: 'Frank Ruhl Libre', serif;
    font-size: clamp(56px, 11.5vw, 180px);
    font-weight: 700;
    line-height: 1;
}

/* PRESENTACIÓN */

.sec-club-infantil .ci-presentacion {
    position: relative;
    padding: 35px 0 90px;
}

.sec-club-infantil .ci-migas {
    margin: 0 3% 65px;
    text-align: right;
    font-size: 13px;
}

.sec-club-infantil .ci-migas a {
    color: inherit;
    text-decoration: none;
}

.sec-club-infantil .ci-migas a:hover {
    text-decoration: underline;
}

.sec-club-infantil .ci-intro-texto {
    max-width: 590px;
}

/* GALERÍA: dos fotos a la izquierda y una alta a la derecha */

.sec-club-infantil .ci-galeria {
    display: grid;
    grid-template-columns: minmax(0, 59fr) minmax(0, 41fr);
    grid-template-rows: 43fr 57fr;
    gap: 8px;
    height: clamp(350px, 46vw, 720px);
}

.sec-club-infantil .ci-galeria-item {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.sec-club-infantil .ci-galeria-item-1 {
    grid-column: 1;
    grid-row: 1;
}

.sec-club-infantil .ci-galeria-item-2 {
    grid-column: 1;
    grid-row: 2;
}

.sec-club-infantil .ci-galeria-item-3 {
    grid-column: 2;
    grid-row: 1 / 3;
}

.sec-club-infantil .ci-galeria-foto {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* HORARIOS */

.sec-club-infantil .ci-horarios {
    padding: 80px 0;
    background: #fafafa;
}

.sec-club-infantil .ci-horarios h2 {
    margin-bottom: 40px;
}

.sec-club-infantil .ci-tabla-scroll {
    overflow-x: auto;
}

.sec-club-infantil .ci-tabla {
    width: 100%;
    min-width: 580px;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    font-size: 14px;
}

.sec-club-infantil .ci-tabla th,
.sec-club-infantil .ci-tabla td {
    padding: 17px 15px;
    border: 0;
    text-align: center;
    vertical-align: middle;
}

.sec-club-infantil .ci-tabla thead th {
    font-weight: 700;
}

.sec-club-infantil .ci-tabla thead tr:first-child th {
    padding-top: 0;
    padding-bottom: 8px;
}

.sec-club-infantil .ci-tabla .ci-temporada-invierno {
    border-bottom: 3px solid #28543b;
    color: #28543b;
    text-transform: uppercase;
}

.sec-club-infantil .ci-tabla .ci-temporada-verano {
    border-bottom: 3px solid #aaa;
    color: #999;
    text-transform: uppercase;
}

.sec-club-infantil .ci-tabla thead tr:nth-child(2) {
    background: #fff;
}

.sec-club-infantil .ci-tabla tbody th {
    width: 28%;
    text-align: left;
    font-weight: 700;
}

.sec-club-infantil .ci-tabla tbody tr:nth-child(even) {
    background: #f0f0f0;
}

.sec-club-infantil .ci-horarios-notas {
    width: fit-content;
    max-width: 100%;
    margin-top: 25px;
    padding: 18px 25px;
    border-left: 5px solid #d5a400;
    background: #fbedd0;
    font-size: 13px;
    line-height: 1.5;
}

.sec-club-infantil .ci-horarios-notas p {
    margin: 0 0 8px;
}

.sec-club-infantil .ci-horarios-notas p:last-child {
    margin-bottom: 0;
}

.sec-club-infantil .ci-horarios-notas ul {
    margin: 0;
    padding-left: 18px;
}

/* PARQUE DE BOLAS */

.sec-club-infantil .ci-parque {
    padding-top: 75px;
    background: #ececec;
}

.sec-club-infantil .ci-parque-texto {
    max-width: 780px;
    padding-bottom: 65px;
}

.sec-club-infantil .ci-parque-imagen {
    height: clamp(280px, 30vw, 520px);
    overflow: hidden;
}

.sec-club-infantil .ci-parque-imagen img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Texto accesible oculto visualmente */

.sec-club-infantil .ci-solo-lectores {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* MÓVIL */

@media (max-width: 700px) {
    .sec-club-infantil .ci-contenedor {
        width: calc(100% - 40px);
    }

    .sec-club-infantil .ci-cabecera {
        height: 320px;
    }

    .sec-club-infantil .ci-cabecera h1 {
        left: 20px;
        bottom: 12px;
        max-width: calc(100% - 40px);
        font-size: clamp(45px, 11vw, 76px);
    }

    .sec-club-infantil .ci-presentacion {
        padding: 25px 0 40px;
    }

    .sec-club-infantil .ci-migas {
        margin: 0 20px 35px;
        font-size: 11px;
    }

    .sec-club-infantil .ci-galeria {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 180px 280px;
        height: auto;
        gap: 5px;
    }

    .sec-club-infantil .ci-galeria-item-1 {
        grid-column: 1;
        grid-row: 1;
    }

    .sec-club-infantil .ci-galeria-item-2 {
        grid-column: 2;
        grid-row: 1;
    }

    .sec-club-infantil .ci-galeria-item-3 {
        grid-column: 1 / 3;
        grid-row: 2;
    }

    .sec-club-infantil .ci-horarios {
        padding: 45px 0;
    }

    .sec-club-infantil .ci-parque {
        padding-top: 45px;
    }

    .sec-club-infantil .ci-parque-texto {
        padding-bottom: 35px;
    }
}


/* AUTOBÚS
//////////////////////////////////////////////////// */
.title-header{font-size: 12em;}

.sec-autobus {
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
    --bus-verde: #28543b;
    --bus-amarillo: #d3aa00;
}
.sec-autobus .header{width: 100%;position: relative;overflow: hidden;}
.sec-autobus .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sec-autobus .container{width: 100%;position: relative;overflow: hidden;background:#f4f4f4 url('images/club-infantil/bg-disfruta-de-familia.jpg') 100% 100% no-repeat;background-size: 100%;padding: 9em 0;}
.sec-autobus .ci-contenedor {
    width: 74%;
    max-width: 1150px;
    margin: 0 auto;
}

.sec-autobus .ci-intro-texto{max-width: 590px;}

.sec-autobus h2 {
    margin: 0 0 22px;
    font-family: 'Frank Ruhl Libre', serif;
    font-size: clamp(30px, 3.3vw, 46px);
    font-weight: 800;
    line-height: 1.15;
}

.sec-autobus .ci-texto {
    font-size: 15px;
    line-height: 1.4;
}

.sec-autobus .ci-texto p {
    margin: 0 0 18px;
    font-size: inherit;
    line-height: inherit;
}

.sec-autobus .bus-contenido {
    padding: 55px 0 35px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}

.sec-autobus .bus-contenedor {
    width: 88%;
    max-width: 1350px;
    margin: 0 auto;
    padding-top: 4em;
    padding-bottom: 4em;
}

.sec-autobus .bus-titulo {
    margin: 0 0 30px;
    font-family: 'Frank Ruhl Libre', serif;
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 700;
    line-height: 1.15;
}

/* PESTAÑAS */

.sec-autobus .bus-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 38px;
    border-bottom: 2px solid #b5b5b5;
}

.sec-autobus .bus-tab {
    appearance: none;
    margin: 0 0 -2px;
    padding: 12px 10px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;

    color: #aaa;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
}

.sec-autobus .bus-tab.activo {
    border-bottom-color: var(--bus-verde);
    color: var(--bus-verde);
}

.sec-autobus .bus-tab:focus-visible {
    outline: 2px solid var(--bus-verde);
    outline-offset: -4px;
}

.sec-autobus .bus-panel[hidden] {
    display: none;
}

/* DOS TABLAS */

.sec-autobus .bus-tablas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    align-items: start;
}

.sec-autobus .bus-tabla table tr:nth-child(odd) th{background: none!important;}
.bus-tabla table tr:nth-child(odd) th, 
.bus-tabla table tr:nth-child(odd) td{background: none!important;}

.sec-autobus .bus-trayecto {
    min-width: 0;
}

.sec-autobus .bus-trayecto-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    min-height: 85px;
    padding: 0 22px;
    background: var(--bus-verde);
    color: #fff;
}

.sec-autobus .bus-trayecto-cabecera h3 {
    display: flex;
    align-items: center;
    gap: 16px;

    margin: 0;
    color: inherit;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.sec-autobus .bus-trayecto-cabecera h3 > span[aria-hidden] {
    font-size: 30px;
    line-height: 1;
}

.sec-autobus .bus-trayecto-cabecera p {
    margin: 0;
    color: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-align: right;
}

.sec-autobus .bus-tabla-scroll {
    overflow-x: auto;
}

.sec-autobus .bus-tabla {
    width: 100%;
    min-width: 420px;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: #fff;
}

.sec-autobus .bus-tabla th,
.sec-autobus .bus-tabla td {
    padding: 22px;
    border: 0;
    vertical-align: middle;
    line-height: 1.5;
}

.sec-autobus .bus-tabla thead th {
    background: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

.sec-autobus .bus-tabla tbody th {
    width: 43%;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

.sec-autobus .bus-tabla tbody td {
    font-size: 12px;
    text-align: center;
}

.sec-autobus .bus-tabla tbody tr:nth-child(odd) {
    background: #f0f0f0;
}

.sec-autobus .bus-tabla tbody tr:nth-child(even) {
    background: #fff;
}

.sec-autobus .bus-sin-horarios {
    margin: 0;
    padding: 25px;
    background: #fff;
    font-size: 14px;
}

/* PARADAS */

.sec-autobus .bus-paradas {
    padding-top: 80px;
}

.sec-autobus .bus-recorridos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}

.sec-autobus .bus-recorrido-titulo {
    margin: 0 0 25px;
    color: var(--bus-verde);
    font-family: 'Frank Ruhl Libre', serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
}

.sec-autobus .bus-paradas-lista {
    position: relative;
    margin: 0 0 0 45px;
    padding: 0;
    list-style: none;
}

.sec-autobus .bus-paradas-lista::before {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 11px;
    width: 2px;
    background: var(--bus-verde);
}

.sec-autobus .bus-parada {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 30px;

    min-height: 65px;
    margin: 0;
    padding: 0 0 25px;
    list-style: none;
}

.sec-autobus .bus-parada:last-child {
    min-height: 24px;
    padding-bottom: 0;
}

.sec-autobus .bus-parada-punto {
    position: relative;
    z-index: 1;
    display: block;

    width: 24px;
    height: 24px;
    border: 2px solid var(--bus-verde);
    border-radius: 50%;
    background: #fff;
}

.sec-autobus .bus-parada:first-child .bus-parada-punto,
.sec-autobus .bus-parada:last-child .bus-parada-punto {
    background: var(--bus-verde);
}

.sec-autobus .bus-parada-texto h4 {
    margin: 0;
    color: #111;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.sec-autobus .bus-parada-texto p {
    margin: 2px 0 0;
    font-size: 12px;
    line-height: 1.35;
}

/* AVISOS DE NAVIDAD */

.sec-autobus .bus-navidad {
    width: 48%;
    margin-top: 65px;
    padding: 45px;
    border-top: 5px solid #d3aa00;
    background: rgba(255, 255, 255, 0.85);
    color: #111;
    font-size: 14px;
    line-height: 1.4;
}

.sec-autobus .bus-navidad h2 {
    margin: 0 0 35px;
    font-family: 'Frank Ruhl Libre', serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
}

.sec-autobus .bus-navidad-columnas {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 50px;
    padding: 0 25px;
}

.sec-autobus .bus-navidad-lista {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sec-autobus .bus-navidad-lista li {
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    font-size: inherit;
    line-height: inherit;
}

.sec-autobus .bus-navidad-lista li:last-child {
    margin-bottom: 0;
}

.sec-autobus .bus-navidad-fecha {
    color: #28543b;
    font-weight: 700;
}

.sec-autobus .bus-navidad-hora.sin-servicio {
    color: #c71919;
}

.sec-autobus .bus-navidad-marca {
    color: #c71919;
    font-weight: 700;
}

.sec-autobus .bus-navidad-aclaraciones {
    margin-top: 50px;
    padding: 5px 0 5px 22px;
    border-left: 5px solid #d3aa00;
}

.sec-autobus .bus-navidad-aclaraciones p {
    margin: 0 0 30px;
    font-size: inherit;
    line-height: 1.3;
}

.sec-autobus .bus-navidad-aclaraciones p:last-child {
    margin-bottom: 0;
}

.sec-autobus .bus-navidad-aclaraciones .bus-navidad-marca {
    margin-right: 8px;
    font-size: 22px;
}

@media (max-width: 700px) {
    .sec-autobus .bus-navidad {
        margin-top: 45px;
        padding: 25px 20px;
        font-size: 15px;
    }

    .sec-autobus .bus-navidad h2 {
        margin-bottom: 25px;
        font-size: 23px;
    }

    .sec-autobus .bus-navidad-columnas {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 0;
    }

    .sec-autobus .bus-navidad-aclaraciones {
        margin-top: 30px;
        padding-left: 15px;
    }
}

/* LOGOTIPOS */

.sec-autobus .bus-logos {
    padding: 70px 0;
    background: #f5f5f5;
}

.sec-autobus .bus-logos-interior {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 50px;
}

.sec-autobus .bus-logo {
    display: flex;
    justify-content: center;
    width: 40%;
}

.sec-autobus .bus-logo-imagen {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 115px;
    object-fit: contain;
}

/* ACCESIBILIDAD */

.sec-autobus .bus-solo-lectores {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* TABLET */

@media (max-width: 1100px) {
    .sec-autobus .bus-tablas,
    .sec-autobus .bus-recorridos {
        gap: 25px;
    }

    .sec-autobus .bus-trayecto-cabecera {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .sec-autobus .bus-trayecto-cabecera p {
        text-align: left;
    }

    .sec-autobus .bus-navidad {
        width: 70%;
    }
}

/* MÓVIL */

@media (max-width: 700px) {
    .sec-autobus .bus-contenedor {
        width: calc(100% - 40px);
    }

    .sec-autobus .bus-contenido {
        padding-top: 35px;
    }

    .sec-autobus .bus-tab {
        padding: 12px 8px;
        font-size: 12px;
    }

    .sec-autobus .bus-tablas,
    .sec-autobus .bus-recorridos {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .sec-autobus .bus-tabla {
        min-width: 360px;
    }

    .sec-autobus .bus-tabla th,
    .sec-autobus .bus-tabla td {
        padding: 18px 12px;
    }

    .sec-autobus .bus-paradas {
        padding-top: 50px;
    }

    .sec-autobus .bus-paradas-lista {
        margin-left: 15px;
    }

    .sec-autobus .bus-parada {
        gap: 20px;
    }

    .sec-autobus .bus-navidad {
        width: 100%;
        margin-top: 45px;
    }

    .sec-autobus .bus-aviso {
        padding: 22px 20px;
    }

    .sec-autobus .bus-logos {
        padding: 40px 0;
    }

    .sec-autobus .bus-logos-interior {
        gap: 25px;
    }

    .sec-autobus .bus-logo {
        width: 45%;
    }
}


/* NORMATIVA
//////////////////////////////////////////////////// */
.title-header{font-size: 12em;}

.sec-normativa {
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-normativa .header{width: 100%;position: relative;overflow: hidden;}
.sec-normativa .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sec-normativa{
    box-sizing: border-box;
}
.sec-normativa .container{width: 100%;position: relative;overflow: hidden;background:#f4f4f4background-size: 100%;padding: 9em 0;}
.sec-normativa .ci-contenedor {
    width: 74%;
    max-width: 1150px;
    margin: 0 auto;
}
.sec-normativa .ci-contenedor h2{font-size: 3em;font-weight: 900;}

/* ACORDEÓN DE ACTIVIDADES */

.actividades-acordeon,
.actividades-acordeon * {
    box-sizing: border-box;
}

.actividades-acordeon {
    width: 100%;
    position: relative;
    color: #111;
    background: #fff;
    margin-top: 3em;
}

.actividades-acordeon .actividad-item {
    margin: 0;
    padding: 0;
    border: 0;
}

.actividades-acordeon .actividad-cabecera {
    margin: 0;
    padding: 0;
}

.actividades-acordeon .actividad-boton {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    width: 100%;
    margin: 0;
    padding: 20px 4% 18px 2%;
    border: 0;
    border-radius: 0;
    background: #fafafa;
    box-shadow: none;
    color: #111;
    font-family: 'Martel Sans', serif;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    text-transform: none;
    cursor: pointer;
}

.actividades-acordeon .actividad-boton:hover {
    background: #f2f2f2;
    color: #111;
}

.actividades-acordeon .actividad-boton:focus-visible {
    outline: 2px solid #28543b;
    outline-offset: -5px;
}

.actividades-acordeon .actividad-titulo {
    min-width: 0;
    text-transform: uppercase;
    font-size: .85em;
    font-weight: 800;
}

/* + dibujado con CSS */

.actividades-acordeon .actividad-icono {
    position: relative;
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    transition: transform 0.2s ease;
}

.actividades-acordeon .actividad-icono::before,
.actividades-acordeon .actividad-icono::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
}

.actividades-acordeon .actividad-icono::before {
    width: 18px;
    height: 3px;
}

.actividades-acordeon .actividad-icono::after {
    width: 3px;
    height: 18px;
}

/* Abierto: + gira y se convierte en × */

.actividades-acordeon
.actividad-boton[aria-expanded="true"]
.actividad-icono {
    transform: rotate(45deg);
}

/* CONTENIDO */

.actividades-acordeon .actividad-panel[hidden] {
    display: none;
}

.actividades-acordeon .actividad-panel {
    background: #fff;
}

.actividades-acordeon .actividad-interior {
    padding: 20px 5% 40px;
}

.actividades-acordeon .actividad-texto {
    max-width: 1150px;
    color: #222;
    font-family: inherit;
    line-height: 1.4;
}

.actividades-acordeon .actividad-texto p {
    margin: 0 0 22px;
    font-size: inherit;
    line-height: inherit;
}

.actividades-acordeon .actividad-texto p:last-child {
    margin-bottom: 0;
}

.actividades-acordeon .actividad-texto ul,
.actividades-acordeon .actividad-texto ol {
    padding-left: 25px;list-style: none;
}
.actividades-acordeon .actividad-texto ul li{position: relative;margin-bottom: .5em;}
.actividades-acordeon .actividad-texto ul li:before{content: '';width: 5px;height: 5px;border-radius: 50%;background-color: #000;position: absolute;left: -15px;top: 8px;z-index: 2;}
.actividades-acordeon .actividad-texto a {
    color: #28543b;
    text-decoration: underline;
}

.actividades-acordeon .actividad-item:nth-child(odd) {
    background: #fff;
}

.actividades-acordeon .actividad-item:nth-child(even) {
    background: #eaeaea;
}

.actividades-acordeon .actividad-item .actividad-boton,
.actividades-acordeon .actividad-item .actividad-boton:hover,
.actividades-acordeon .actividad-item .actividad-panel {
    background: transparent;
}

@media (max-width: 700px) {
    .actividades-acordeon .actividad-boton {
        min-height: 85px;
        gap: 20px;
        padding: 24px 20px;
        font-size: 25px;
    }

    .actividades-acordeon .actividad-interior {
        padding: 35px 25px 45px;
    }

    .actividades-acordeon .actividad-texto {
        font-size: 16px;
    }

    .actividades-acordeon .actividad-icono {
        flex-basis: 24px;
        width: 24px;
        height: 24px;
    }

    .actividades-acordeon .actividad-icono::before {
        width: 24px;
        height: 4px;
    }

    .actividades-acordeon .actividad-icono::after {
        width: 4px;
        height: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .actividades-acordeon .actividad-icono {
        transition: none;
    }
}

/* //// NOTICIAS / BLOG */
.sec-blog {background: #fff url('images/blog/header.jpg') no-repeat top right; background-size: 100%;margin-top: 9em;}
.sec-blog .buddies {position: absolute; top: 0; right: 0; width: 61%}
.header-blog {padding-top: 9em;}
.header-blog .header {padding-bottom: 2em;}
.header-blog .header h1,
.header-blog .header p.entry-title {position: relative;}
.header-blog .header p.entry-title a {color: #FFF}
.header-blog .header p.entry-title a:hover {color: #bababa}
.header-blog .header .entry-content {margin-left:0; margin-top:0;font-family: 'Frank Ruhl Libre';font-size: 1.7em;font-weight: 800;}

.noticia-meta {padding: 1em 0 .5em 0;}
.noticia-title {font-weight: 800; font-family: 'Martel Sans', serif; padding: 0 0 0 0; color: #000; margin: 0; font-size: 130%; line-height: 110%;text-transform: uppercase;}
.noticia-title a{color: #000;text-transform: uppercase;font-weight: 800;}
.noticia-content {padding: 1em 1.5em; /*text-align: center;*/ overflow: hidden;}
.noticia-item .noticia-img {position: relative; }
.noticia-item .noticia-img::before {content: ''; width: 84%; height: 100%; position: absolute; background: #CCC; z-index: 0; left: 8%; top: 0%;
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    transition: all 0.2s; }
.noticia-item .noticia-img img {max-width: 1000%; width: 84%; display: block; margin: 0 auto; position: relative;z-index: 10}

.noticia-share {margin-top: 1.4em}
.noticia-meta .date {text-transform: uppercase;}
.noticia-meta span.categories {display: inline;}
.noticia-meta span.categories .category::after {content: ', '}
.noticia-meta span.categories .category:last-of-type::after {content: ''}

.noticia-image {}
.noticia-date,.noticia-meta span.categories{font-size: 85%;}

.noticia-excerpt {color: #757577; margin-top:0;/* font-size: 90%;*/}

/* Loop index */
.noti-featured {border-bottom: 4px solid #bababa}
.noticia-item:not(.noticia-featured) {width: 33%}
.noticia-item.noticia-featured .noticia-title {margin-top: 0; min-height: 0; padding-bottom: 0}
.noticia-item span {display: block;}
.noticia-item.noticia-featured .noticia-body span {display: initial} 
.noticia-item span.none {display: none;}
.noticia-item .more-link {margin-top: 1em; text-align: center; display: inline-block;}

a.noticia-item:hover {color: #000}

.noti-ct .entry-header {padding-bottom: 4em; }

/* Paginacion */
.pagination {margin-top: 2em; display: flex; justify-content: center; width: 100%;}
.pagination .wp-paginate {text-align: center}
.pagination .wp-paginate a {border: 0 !important; color: #000}
.pagination .wp-paginate .current {background: #a79462; border: 0 !important}
.pagination .wp-paginate li a:hover {background: #000; color: #FFF;}
.pagination .wp-paginate li a:hover, .pagination .wp-paginate li a span{cursor:pointer;}


/* Show */
.noti-show.noti-ct {padding: 0; width: 70%;}

.noti-show a {}
.noti-show a:hover {}

.noti-show .noticia-content { color: #757577; font-size: 90%; padding-left: 0; padding-right: 0}

.sec-blog .noti-show .container::before {display: none}
.noti-show .noticia-img {overflow: visible;}
.noti-show .noticia-img img {display: block; margin-top: 0; /*margin-top: -16%;*/ max-width: 1000%; width: 100%}
.noti-show .noticia-img::after {height: 53%; background: #FFF; top: auto; bottom: -16%;
    -webkit-transform: skew(0deg, -8deg);
    transform: skew(0deg, -10deg);
}

.noti-show .noticia-container {position: relative; float: left; width: 59%; padding: 0 23% 4em 17%; margin-top: -20%;/*margin-top: -30%;*/}
.noti-show .noticia-meta {margin-top: 4em;}

h1.noticia-title {font-size: 200%;}
h1.blog-title span {display: inline; float: none; padding: .1em .15em 0.2em; line-height: 115%;font-size: 70%}
.noticia-content h2 {font-size: 160%;margin-top: 1em}
.noticia-content .wp-caption {width: auto !important}

.boton-info {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 !important;
    text-align: center;
}

.boton-info > span.inline {
    position: static !important;
    display: block;
    float: none;
    transform: none !important;
    width: auto;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* BLOG: BUSCADOR Y CATEGORÍAS */

#sidebar-blog {
    width: 50%;
}

#sidebar-blog #widget-area {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 60px;
    width: 100%;
    margin: 0;
    padding: 0;
}

#sidebar-blog #widget-area > .widget {
    float: none;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    background: #fff;
}

#sidebar-blog .wp-block-group,
#sidebar-blog .wp-block-group__inner-container,
#sidebar-blog .wp-block-categories-dropdown,
#sidebar-blog .wp-block-search {
    margin: 0;
    padding: 0;
}

/* Ocultar las etiquetas visualmente, conservando accesibilidad */

#sidebar-blog .wp-block-search__label,
#sidebar-blog .wp-block-categories__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* BUSCADOR */

#sidebar-blog .wp-block-search__inside-wrapper {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #777;
    border-radius: 0;
    background: transparent;
}

#sidebar-blog .wp-block-search__input {
    flex: 1;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 20px 0 32px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #333;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: normal;
    font-family: 'Frank Ruhl Libre';
}

#sidebar-blog .wp-block-search__input::placeholder {
    color: #999;
    opacity: 1;
}

#sidebar-blog .wp-block-search__button {
    position: relative;
    display: block;
    flex: 0 0 64px;
    box-sizing: border-box;
    width: 64px;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: transparent;
    font-size: 0;
    cursor: pointer;
}

/* Lupa dibujada con CSS */

#sidebar-blog .wp-block-search__button::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 10px;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #111;
    border-radius: 50%;
    background: transparent;
}

#sidebar-blog .wp-block-search__button::after {
    content: "";
    position: absolute;
    top: 28px;
    left: 28px;
    width: 14px;
    height: 1px;
    background: #111;
    transform: rotate(48deg);
    transform-origin: left center;
}

/* CATEGORÍAS */

#sidebar-blog .wp-block-categories-dropdown {
    position: relative;
}

#sidebar-blog .wp-block-categories-dropdown select {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 50px;
    min-height: 0;
    margin: 0;
    padding: 0 65px 0 28px;
    border: 0;
    border-bottom: 1px solid #777;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #999;
    font-family: inherit;
    font-size:15px;
    font-weight: 400;
    line-height: normal;
    cursor: pointer;
    font-family: 'Frank Ruhl Libre';
}

/* Flecha del desplegable */

#sidebar-blog .wp-block-categories-dropdown::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 28px;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: rotate(45deg);
    pointer-events: none;
}

#sidebar-blog .wp-block-categories-dropdown select option {
    background: #fff;
    color: #333;
}

/* Foco para navegación con teclado */

#sidebar-blog .wp-block-search__input:focus-visible,
#sidebar-blog .wp-block-search__button:focus-visible,
#sidebar-blog .wp-block-categories-dropdown select:focus-visible {
    outline: 2px solid #294f38;
    outline-offset: 3px;
}

/* MÓVIL */

@media (max-width: 650px) {

    #sidebar-blog #widget-area {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    #sidebar-blog .wp-block-search__input,
    #sidebar-blog .wp-block-categories-dropdown select {
        padding-left: 18px;
        font-size: 20px;
    }
}


/**************
    SIDEBARS
***************/

/* General */
.wp-block-categories .wp-block-categories__label:not(.screen-reader-text){display: none;}

.sidebar .widget h4,
.sidebar .widget.widget_categories label.screen-reader-text + form,
.sidebar label {display: none}

.widget-area .widget {margin-right: 2em;}
/*.sidebar .widget h3.active {cursor: text}*/

/* Widget */
.widget {position: relative;}
.widget input,
.widget select,
.widget textarea,
.widget .search-block .wp-block-search .wp-block-search__input {border: 1px solid #979797; font-size: 90%; background: none; color: #7b7b7b; padding-left: 1.4em}
.widget .search-block .wp-block-search .wp-block-search__input,
.widget.widget_search .search-field {min-width: 16em; width: auto}

.widget select {background: url('images/icons/arrow-down-grey.svg') no-repeat 96% 52%; background-size: 25px; padding-right: 4em; color: #7b7b7b}
.widget select:focus {background-color: #FFF}


/* CALENDARIO
//////////////////////////////////////////////////// */
.title-header{font-size: 12em;}

.sec-calendario {
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-calendario .header{width: 100%;position: relative;overflow: hidden;}
.sec-calendario .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sec-calendario{
    box-sizing: border-box;
}
.sec-calendario .container{width: 100%;position: relative;overflow: hidden;background:#f4f4f4background-size: 100%;padding: 9em 0;}

/* CALENDIARIO EVENTOS */
.mec-wrap .mec-single-title, 
.single-mec-events .mec-wrap.mec-no-access-error h1{color: #284e35;text-transform: uppercase;font-family: 'Frank Ruhl Libre';font-weight: 700;}
p.nocomments{display: none;}
.sec-calendario :root, 
.sec-calendario ::before, 
.sec-calendario ::after{
    --mec-heading-font-family: inherit;
    --mec-paragraph-font-family: inherit;
    --mec-color-skin: #284e36;
    --mec-color-skin-rgba-1: rgba(40, 78, 54, .25);
    --mec-color-skin-rgba-2: rgba(40, 78, 54, .5);
    --mec-color-skin-rgba-3: rgba(40, 78, 54, .75);
    --mec-color-skin-rgba-4: rgba(40, 78, 54, .11);
    --mec-primary-border-radius: 12px;
    --mec-secondary-border-radius: 3px;
    --mec-container-normal-width: 1196px;
    --mec-container-large-width: 1690px;
    --mec-fes-main-color: #284e36;
    --mec-fes-main-color-rgba-1: rgba(40, 78, 54, 0.12);
    --mec-fes-main-color-rgba-2: rgba(40, 78, 54, 0.23);
    --mec-fes-main-color-rgba-3: rgba(40, 78, 54, 0.03);
    --mec-fes-main-color-rgba-4: rgba(40, 78, 54, 0.3);
    --mec-fes-main-color-rgba-5: rgb(40 78 54 / 7%);
    --mec-fes-main-color-rgba-6: rgba(40, 78, 54, 0.2);
    --mec-fes-main-color-rgba-7: rgba(40, 78, 54, 0.5);
}
.mec-calendar{border: none;width: 85%;margin: 0 auto;box-shadow: none;border-radius: 0}
.mec-calendar .mec-calendar-topsec{border-radius: 0;}
.mec-calendar .mec-event-footer{display: none;}
.mec-box-calendar.mec-calendar .mec-calendar-side .mec-next-month, 
.mec-box-calendar.mec-calendar .mec-calendar-side .mec-previous-month{border-radius: 0;}
.mec-container{margin-top: 12em;}
.mec-wrap .col-md-8{width: 56.66666%;margin-right: 10%;}
.lity-content .mec-events-meta-group-booking, 
.mec-events-meta-group-booking .mec-booking-shortcode, 
.mec-single-event .mec-events-meta-group-booking, 
.mec-single-event .mec-events-meta-group-countdown, 
.mec-single-event .mec-events-meta-group-gmap, 
.mec-single-event .mec-frontbox, 
.mec-single-modern .mec-single-event-bar{border-radius: 0;}

/* FOndo del día en el que nos encontramos */
.mec-calendar .mec-selected-day, .mec-calendar .mec-selected-day:hover{background:#284e36;}
.mec-calendar .mec-event-article .mec-event-time{display: inline-block;margin-left: 1em;}
.mec-calendar .mec-event-article .mec-event-date{display: inline-block;}
.mec-color, .mec-color-before :before, .mec-color-hover:hover, .mec-wrap .mec-color, .mec-wrap .mec-color-before :before, .mec-wrap .mec-color-hover:hover{color: #6f6f6f;}
/* Fondo de los días con actividades */


.mec-calendar-day.mec-has-event.mec-dia-coloreado {
    background: var(--mec-dia-fondo) !important;
}

.mec-calendar-day.mec-has-event.mec-dia-coloreado > a {
    color: #fff !important;
}

/* Mantener visible el día seleccionado */
.mec-calendar-day.mec-dia-coloreado.mec-selected-day {
    box-shadow: inset 0 0 0 3px #333;
}

/* DEPORTES
//////////////////////////////////////////////////// */

/* GOLF */

.sec-deporte-golf{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-deporte-golf .header{width: 100%;position: relative;overflow: hidden;}
.sec-deporte-golf .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sec-deporte-golf .golf-datos{width: 100%;position: relative;overflow: hidden;background: #fff;padding: 4em 0}
.sec-deporte-golf .hoyos{width: 100%;position: relative;overflow: hidden;background:#d7d7d7 url('images/deportes/golf/bg-hoyos.jpg') 100% 100% no-repeat;background-size: contain;}
.sec-deporte-golf .hoyos .container{width: 88%;}
.golf-dato h2 {font-size: 3em;font-family: 'Martel Sans';font-weight: 900;color: #3b5d47;}
.golf-dato {flex: 1;padding: 0 25px;text-align: center;color: #3b5d47;font-size: 1.4em;}
.golf-datos-lista {display: flex;max-width: 1150px;margin: 0 auto;padding: 0;list-style: none;}
.golf-dato {flex: 1;padding: 0 25px;text-align: center;}
.golf-dato + .golf-dato {border-left: 1px solid rgba(59, 93, 71, 1);}
.golf-dato-valor {display: block;margin-bottom: 8px;font-size: clamp(32px, 4vw, 52px);line-height: 1;}
.golf-dato-descripcion {display: block;font-size: 18px;line-height: 1.1;}

    /* Hoyos */
    /* BLOQUE RECORRIDO GOLF */

.golf-recorrido {
    --golf-verde: #395e48;
    --golf-fondo-mapa: #bdc6c0;
    --golf-separacion: clamp(24px, 4vw, 70px);

    padding: 60px 0;
}

.golf-recorrido,
.golf-recorrido * {
    box-sizing: border-box;
}

.golf-recorrido-cabecera {
    margin-bottom: 55px;
}

.golf-recorrido-titulo {
    margin: 0 0 20px;
    font-size: clamp(32px, 3.2vw, 54px);
    line-height: 1.05;
    font-weight: 700;
}

.golf-recorrido-intro {
    max-width: 680px;
    font-size: 1.3em;
    font-weight: 500;
    line-height: 1.3;
    font-family: 'Frank Ruhl Libre';
}

.golf-recorrido-intro p {
    margin: 0;
}

/* MAPA + FICHA */

.golf-hoyo-panel {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--golf-separacion);
    align-items: stretch;
}

.golf-hoyo-panel[hidden] {
    display: none !important;
}

.golf-mapa {
    min-width: 0;
    background: var(--golf-fondo-mapa);
    align-self: start;
}

.golf-mapa-imagen {
    display: block;
    width: 100%;
    height: auto;
}

/* FICHA */

.golf-ficha {
    display: grid;
    grid-template-columns: 26% minmax(0, 1fr);
    min-width: 0;
    background: #fff;
}

.golf-ficha-imagen {
    position: relative;
    min-height: 580px;
    background: var(--golf-fondo-mapa);
}

.golf-ficha-imagen img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.golf-ficha-contenido {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    padding: 25px;
}

.golf-ficha-cabecera {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    width: 100%;
}

.golf-ficha-titulo {
    margin: 0;
    color: var(--golf-verde);
    font-size: 25px;
    line-height: 1;
    font-weight: 400;
    padding-top: .3em;
}

.golf-ficha-titulo span {
    display: block;
    margin-top: 10px;
    font-size:2.5em;
    font-weight: 500;
}

.golf-ficha-logo {
    width: 65px;
    height: auto;
    max-height: 100px;
    object-fit: contain;
}

.golf-ficha-datos {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 35px;
}

.golf-ficha-datos span {
    padding: 5px 15px;
    border: 1px solid #8ca194;
    font-size: 14px;
    line-height: 1.2;
}

.golf-ficha-descripcion {
    width: 100%;
    font-size:.9em;
    line-height: 1.4;
}

.golf-ficha-descripcion p {
    margin: 0 0 14px;
}

/* DISTANCIAS */

.golf-distancias {
    display: grid;
    gap: 10px;
    width: 100%;
    margin: 25px 0 30px;
    padding: 0;
    list-style: none;
}

.golf-distancia {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 64px;
    gap: 15px;
    align-items: center;
    margin: 0;
    padding: 0;
}

.golf-distancia-color {
    width: 20px;
    height: 20px;
    border: 1px solid #777;
    border-radius: 50%;
}

.golf-distancia-color--blancas {
    background: #fff;
}

.golf-distancia-color--amarillas {
    background: #e5ff4c;
}

.golf-distancia-color--azules {
    background: #428ef5;
}

.golf-distancia-color--rojas {
    background: #cb1027;
}

.golf-distancia-barra {
    display: block;
    height: 8px;
    border: 1px solid #777;
}

.golf-distancia-barra > span {
    display: block;
    height: 100%;
    background: var(--golf-verde);
}

.golf-distancia-metros {
    color: var(--golf-verde);
    font-size: 17px;
    text-align: right;
    white-space: nowrap;
}

/* VÍDEO Y FLECHAS */

.golf-video {
    display: inline-block;
    padding: 10px 28px;
    background: var(--golf-verde);
    color: #fff;
    font-size: 14px;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    text-decoration: none;
}

.golf-video:hover {
    background: #284533;
    color: #fff;
}

.golf-ficha-navegacion {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    margin-top: auto;
    padding-top: 55px;
}

.golf-ficha-navegacion button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--golf-verde);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.golf-ficha-navegacion button span {
    font-size: 26px;
}

/* SELECTOR: DOS FILAS DE NUEVE */

.golf-selector {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    justify-items: center;
    gap: 24px 8px;
    width: calc((100% - var(--golf-separacion)) * 11 / 21);
    margin-top: 20px;
}

.golf-selector-boton {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    max-width: 100%;
    aspect-ratio: 1;
    margin: 0;
    padding: 0;
    border: 1px solid var(--golf-verde);
    border-radius: 50%;
    background: var(--golf-verde);
    color: #fff;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

.golf-selector-boton[aria-pressed="true"],
.golf-selector-boton:hover {
    background: transparent;
    color: var(--golf-verde);
}

.golf-recorrido button:focus-visible,
.golf-recorrido a:focus-visible {
    outline: 3px solid var(--golf-verde);
    outline-offset: 4px;
}

.golf-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* TABLET Y MÓVIL */

@media (max-width: 1050px) {
    .golf-hoyo-panel {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .golf-selector {
        width: 100%;
    }

    .golf-ficha-imagen {
        min-height: 520px;
    }
}

@media (max-width: 600px) {
    .golf-recorrido {
        padding: 35px 0;
    }

    .golf-recorrido-cabecera {
        margin-bottom: 30px;
    }

    .golf-recorrido-intro {
        font-size: 18px;
    }

    .golf-ficha {
        grid-template-columns: 23% minmax(0, 1fr);
    }

    .golf-ficha-contenido {
        padding: 16px;
    }

    .golf-ficha-logo {
        width: 45px;
    }

    .golf-ficha-datos {
        gap: 8px;
        margin-bottom: 25px;
    }

    .golf-ficha-datos span {
        padding: 5px 8px;
        font-size: 13px;
    }

    .golf-distancia {
        grid-template-columns: 18px minmax(0, 1fr) 52px;
        gap: 8px;
    }

    .golf-distancia-color {
        width: 17px;
        height: 17px;
    }

    .golf-distancia-metros {
        font-size: 14px;
    }

    .golf-selector {
        gap: 16px 5px;
    }

    .golf-selector-boton {
        width: 34px;
        font-size: 14px;
    }

    .golf-ficha-navegacion {
        gap: 8px;
    }

    .golf-ficha-navegacion button {
        font-size: 12px;
    }
}

    /* RESERVAS */
    /* RESERVAS GOLF */

.golf-reservas {
    width: 88%;
    margin: 0 auto;
    --reservas-verde: #395e48;
    --reservas-gris: #eaeaea;
    --reservas-amarillo: #dba500;

    padding: 70px 0 90px;
}

.golf-reservas,
.golf-reservas * {
    box-sizing: border-box;
}

.golf-reservas-cabecera {
    margin-bottom: 70px;
}

.golf-reservas-titulo {
    margin: 0 0 12px;
    font-size: clamp(32px, 3.2vw, 54px);
    font-weight: 700;
    line-height: 1.05;
    font-family: 'Frank Ruhl Libre';
}

.golf-reservas-intro {
    max-width: 720px;
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.15;
    font-family: 'Frank Ruhl Libre';

}

.golf-reservas-intro p {
    margin: 0;
}

/* TARJETAS */

.golf-reservas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.6vw, 50px);
}

.golf-reserva {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: var(--reservas-gris);
    color: #111;
}

.golf-reserva--destacada {
    background: var(--reservas-verde);
    color: #fff;
}

.golf-reserva-decoracion {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.golf-reserva-interior {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 425px;
    padding: 54px 28px;
}

.golf-reserva-cabecera {
    margin-bottom: 25px;
}

.golf-reserva-titulo {
    margin: 0 0 0 0;
    color: inherit;
    font-size:1.5em;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1;
}

.golf-reserva-subtitulo {
    margin: 0;
    color: var(--reservas-amarillo);
    font-size: 1.2em;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
    line-height: 1.2;
}

/* CONTENIDO Y SEPARADORES */

.golf-reserva-contenido {
    padding-top: 18px;
    border-top: 1px solid currentColor;
    font-size: .9em;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.golf-reserva-contenido p {
    margin: 0 0 16px;
}

.golf-reserva-contenido > :last-child {
    margin-bottom: 0;
}

.golf-reserva-contenido hr {
    height: 0;
    margin: 16px 0;
    border: 0;
    border-top: 1px solid currentColor;
    background: none;
    opacity: .65;
}

.golf-reserva-contenido a {
    color: inherit;
    text-underline-offset: 3px;
}

.golf-reserva-contenido ul {
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

.golf-reserva-contenido ul li {
    position: relative;
    margin: 0 0 4px;
    padding-left: 17px;
}

.golf-reserva-contenido ul li::before {
    content: "–";
    position: absolute;
    left: 0;
    top: 0;
}

/* BOTONES */

.golf-reserva-pie {
    margin-top: auto;
    padding-top: 45px;
}

.golf-reserva-boton {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid var(--reservas-verde);
    background: var(--reservas-verde);
    color: #fff;
    font-size:1em;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
}

.golf-reserva-boton:hover {
    background: #284533;
    color: #fff;
}

.golf-reserva--destacada .golf-reserva-boton {
    border-color: rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
}

.golf-reserva--destacada .golf-reserva-boton:hover {
    background: #fff;
    color: var(--reservas-verde);
}

.golf-reserva-boton:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .golf-reservas-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px;
    }

    .golf-reserva-interior {
        min-height: 420px;
        padding: 45px 28px;
    }
}

@media (max-width: 600px) {
    .golf-reservas {
        padding: 45px 0;
    }

    .golf-reservas-cabecera {
        margin-bottom: 35px;
    }

    .golf-reservas-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .golf-reserva-interior {
        min-height: 0;
        padding: 35px 25px;
    }

    .golf-reserva-cabecera {
        margin-bottom: 25px;
    }

    .golf-reserva-pie {
        padding-top: 30px;
    }
}

/* ESCUELA DEPORTIVA DE GOLF */

.golf-escuela {
    display: grid;
    grid-template-columns: 53% 47%;
    width: 100%;
    background: #395e48;
    color: #fff;
}

.golf-escuela,
.golf-escuela * {
    box-sizing: border-box;
}

.golf-escuela-contenido {
    min-width: 0;
    padding: clamp(45px, 4.5vw, 90px) 6% clamp(45px, 4.5vw, 90px) 12%;
}

.golf-escuela-titulo {
    margin: 0 0 45px;
    color: inherit;
    font-size: clamp(34px, 3.3vw, 64px);
    font-weight: 700;
    line-height: .98;
}

.golf-escuela-descripcion {
    /*font-size: 18px;*/
    line-height: 1.3;
}

.golf-escuela-descripcion p {
    margin: 0 0 22px;
}

.golf-escuela-descripcion > :last-child {
    margin-bottom: 0;
}

.golf-escuela-descripcion a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* BOTÓN */

.golf-escuela-boton {
    display: inline-block;
    margin-top: 42px;
    padding: 15px 32px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
}

.golf-escuela-boton:hover {
    background: #fff;
    color: #395e48;
}

.golf-escuela-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

/* IMAGEN: OCUPA TODA LA ALTURA DE LA COLUMNA */

.golf-escuela-imagen {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.golf-escuela-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* SI NO SE HA AÑADIDO IMAGEN */

.golf-escuela--sin-imagen {
    grid-template-columns: 1fr;
}

.golf-escuela--sin-imagen .golf-escuela-contenido {
    padding: 60px 6%;
}

/* TABLET Y MÓVIL */

@media (max-width: 900px) {
    .golf-escuela {
        grid-template-columns: 1fr;
    }

    .golf-escuela-contenido {
        padding: 45px 6%;
    }

    .golf-escuela-titulo {
        margin-bottom: 30px;
    }

    .golf-escuela-imagen {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 600px) {
    .golf-escuela-contenido {
        padding: 35px 25px;
    }

    .golf-escuela-descripcion {
        font-size: 16px;
        line-height: 1.4;
    }

    .golf-escuela-boton {
        margin-top: 30px;
        padding: 13px 26px;
        font-size: 19px;
    }

    .golf-escuela-imagen {
        aspect-ratio: 4 / 3;
    }
}

/* GOLF.CORRESPONDENCIAS
//////////////////////////////////////////////////// */


.golf-correspondencias {
    --cor-verde: #395e48;
    padding: 80px 0;
    background: #efefef;
    color: #111;
}
.golf-correspondencias .container{width: 88%;}

.golf-correspondencias,
.golf-correspondencias * {
    box-sizing: border-box;
}

.golf-cor-cabecera {
    margin-bottom: 60px;
}

.golf-cor-titulo {
    margin: 0 0 12px;
    color: inherit;
    font-size: clamp(34px, 3.3vw, 64px);
    font-weight: 700;
    line-height: .98;
}

.golf-cor-intro {
    max-width: 720px;
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.15;
    font-family: 'Frank Ruhl Libre';
}


.golf-cor-intro p {
    margin: 0;
}

/* DISTRIBUCIÓN */

.golf-cor-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(0, 2.1fr);
    gap: 28px;
    align-items: stretch;
}

/* FILTROS */

.golf-cor-filtros {
    min-width: 0;
    padding: 28px;
    background: #fff;
}

.golf-cor-etiqueta {
    display: block;
    margin: 0 0 16px;
    color: #777;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
    font-family: 'Martel Sans';
}

.golf-cor-buscador {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0 0 32px;
    padding: 10px 0 6px 13px;
    border: 1px solid var(--cor-verde);
    border-radius: 0;
    background: #fff;
    color: #222;
    font: inherit;
    font-size: 15px;
}

.golf-cor-buscador::placeholder {
    color: #888;
}

.golf-cor-comunidades {
    display: grid;
    gap: 8px;
}

.golf-cor-filtro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin: 0;
    padding: 13px 18px;
    border: 0;
    border-left: 5px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #333;
    font: inherit;
    font-size: 12px;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    text-transform: capitalize;
}

.golf-cor-filtro [data-cor-contador] {
    flex-shrink: 0;
    color: #777;
    font-weight: 700;
}

.golf-cor-filtro:hover {
    background: #f3f8f3;
}

.golf-cor-filtro[aria-pressed="true"] {
    border-left-color: #419638;
    background: #edfbee;
}

/* RESULTADOS */

.golf-cor-resultados {
    min-width: 0;
    background: #fff;
}

.golf-cor-resultados-titulo {
    margin: 0;
    padding: 25px 30px 20px 22px;
    border-bottom: 1px solid #b5b5b5;
    font-size: 15px;
    line-height: 1.25;
    font-family: 'Martel Sans';
    font-weight: 800;
}

/* TABLA CON CABECERA FIJA Y SCROLL */

.golf-cor-tabla-scroll {
    max-height: 610px;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--cor-verde) #fff;
}

.golf-cor-tabla {
    width: 100%;
    min-width: 1100px;
    margin: 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    font-size: 12px;
    line-height: 1.35;
}

.golf-cor-tabla th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding:20px 22px 14px 22px;
    border: 0;
    border-bottom: 2px solid var(--cor-verde);
    background: #fff;
    color: var(--cor-verde);
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.golf-cor-tabla td {
    padding: 20px 22px 0 22px;
    border: 0;
    background: #fff;
    color: #333;
    text-align: left;
    vertical-align: top;
}

.golf-cor-tabla td:nth-child(4) {
    min-width: 140px;
}

.golf-cor-tabla td:nth-child(5) {
    min-width: 230px;
    max-width: 350px;
    overflow-wrap: anywhere;
}

.golf-cor-tabla td:nth-child(6) {
    white-space: nowrap;
}

.golf-cor-tabla td:last-child {
    overflow-wrap: anywhere;
}

.golf-cor-tabla a {
    color: inherit;
    text-decoration: none;
}

.golf-cor-tabla a:hover {
    text-decoration: underline;
}

.golf-cor-vacio {
    margin: 0;
    padding: 30px;
    color: #555;
}

.golf-correspondencias [hidden] {
    display: none !important;
}

.golf-correspondencias button:focus-visible,
.golf-correspondencias input:focus-visible,
.golf-correspondencias a:focus-visible,
.golf-cor-tabla-scroll:focus-visible {
    outline: 2px solid var(--cor-verde);
    outline-offset: 3px;
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .golf-cor-grid {
        grid-template-columns: 1fr;
    }

    .golf-cor-comunidades {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .golf-cor-tabla-scroll {
        max-height: 500px;
    }
}

@media (max-width: 600px) {
    .golf-correspondencias {
        padding: 45px 0;
    }

    .golf-cor-cabecera {
        margin-bottom: 30px;
    }

    .golf-cor-filtros {
        padding: 20px;
    }

    .golf-cor-comunidades {
        grid-template-columns: 1fr;
    }

    .golf-cor-resultados-titulo {
        padding: 20px;
        font-size: 20px;
    }

    .golf-cor-tabla th,
    .golf-cor-tabla td {
        padding: 20px 16px;
    }
}

/* GOLF.CLASES PARTICULARES */
/* CLASES PARTICULARES DE GOLF */

.golf-clases {
    display: grid;
    grid-template-columns: 28% minmax(0, 1fr);
    width: 100%;
    background: #395e48;
    color: #fff;
}

.golf-clases,
.golf-clases * {
    box-sizing: border-box;
}

/* IMAGEN */

.golf-clases-imagen {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.golf-clases-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* CONTENIDO */

.golf-clases-contenido {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    min-height: 560px;
    padding: clamp(50px, 5.5vw, 110px) clamp(30px, 8vw, 170px);
}

.golf-clases-titulo {
    margin: 0 0 50px;
    color: inherit;
    font-size: clamp(34px, 3.3vw, 64px);
    font-weight: 700;
    line-height: 1.05;
}

.golf-clases-descripcion {
    width: 100%;
    font-size: clamp(17px, 1.15vw, 22px);
    line-height: 1.3;
}

.golf-clases-descripcion p {
    margin: 0 0 24px;
}

.golf-clases-descripcion > :last-child {
    margin-bottom: 0;
}

.golf-clases-descripcion a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* BOTÓN */

.golf-clases-boton {
    display: inline-block;
    margin-top: 50px;
    padding: 12px 25px;
    border: 1px solid rgba(255, 255, 255, .7);
    background: transparent;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
}

.golf-clases-boton:hover {
    background: #fff;
    color: #395e48;
}

.golf-clases-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

/* SIN IMAGEN */

.golf-clases--sin-imagen {
    grid-template-columns: 1fr;
}

/* TABLET Y MÓVIL */

@media (max-width: 900px) {
    .golf-clases {
        grid-template-columns: 1fr;
    }

    .golf-clases-imagen {
        aspect-ratio: 16 / 9;
    }

    .golf-clases-contenido {
        min-height: 0;
        padding: 45px 6%;
    }

    .golf-clases-titulo {
        margin-bottom: 30px;
    }

    .golf-clases-boton {
        margin-top: 30px;
    }
}

@media (max-width: 600px) {
    .golf-clases-imagen {
        aspect-ratio: 4 / 3;
    }

    .golf-clases-contenido {
        padding: 35px 25px;
    }

    .golf-clases-descripcion {
        font-size: 16px;
        line-height: 1.4;
    }

    .golf-clases-boton {
        padding: 12px 24px;
        font-size: 19px;
    }
}

/* GOLF. Comité de competición */
/* COMITÉ DE COMPETICIÓN */

.golf-comite {
    padding-top: 10px;
    background: #fff;
    color: #111;
}

.golf-comite,
.golf-comite * {
    box-sizing: border-box;
}

.golf-comite-titulo {
    margin: 0 0 85px;
    font-size: clamp(34px, 3.3vw, 58px);
    line-height: 1.1;
    font-weight: 700;
}

.golf-comite-grid {
    display: grid;
    grid-template-columns: minmax(250px, 28%) minmax(0, 1fr);
    gap: clamp(30px, 5vw, 100px);
    align-items: start;
    padding-bottom: 100px;
}

/* MENÚ LATERAL */

.golf-comite-menu {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.golf-comite-boton {
    display: block;
    width: 100%;
    margin: 0;
    padding: 28px 20px;
    border: 0;
    border-bottom: 1px solid #395e48;
    border-radius: 0;
    background: transparent;
    color: #395e48;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}

.golf-comite-boton:hover {
    background: #edf3ef;
}

.golf-comite-boton[aria-pressed="true"] {
    background: #395e48;
    color: #fff;
}

.golf-comite-boton:focus-visible {
    position: relative;
    outline: 2px solid #395e48;
    outline-offset: 4px;
}

/* CONTENIDO */

.golf-comite-contenidos {
    min-width: 0;
}

.golf-comite-panel {
    min-height: 430px;
    padding: 25px 0;
}

.golf-comite-panel[hidden] {
    display: none !important;
}

.golf-comite-panel h3 {
    margin: 0 0 25px;
    color: #395e48;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 600;
}

.golf-comite-texto {
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.golf-comite-texto ul{list-style: none;padding-left: 1em;}
.golf-comite-texto ul li{position: relative;margin-bottom: .5em;}
.golf-comite-texto ul li:before{content: '';width: 5px;height: 5px;border-radius: 50%;background-color: #000;position: absolute;left: -15px;top: 8px;z-index: 2;}

.golf-comite-texto p {
    margin: 0 0 20px;
}

.golf-comite-texto ul,
.golf-comite-texto ol {
    margin: 0 0 20px;
    padding-left: 24px;
}

.golf-comite-texto a {
    color: #395e48;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ORGANIGRAMA */

.golf-comite-panel--organigrama {
    display: flex;
    align-items: center;
    justify-content: center;
}

.golf-comite-organigrama {
    display: block;
    width: 100%;
    height: auto;
}

/* FOTOGRAFÍA INFERIOR */

.golf-comite-panoramica {
    width: 100%;
    overflow: hidden;
}

.golf-comite-foto {
    display: block;
    width: 100%;
    height: clamp(240px, 22vw, 460px);
    object-fit: cover;
    object-position: center;
}

/* TABLET Y MÓVIL */

@media (max-width: 900px) {
    .golf-comite-titulo {
        margin-bottom: 45px;
    }

    .golf-comite-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-bottom: 50px;
    }

    .golf-comite-panel {
        min-height: 0;
        padding: 15px 0;
    }

    /* Mantener legibles los nombres del organigrama. */
    .golf-comite-panel--organigrama {
        display: block;
        overflow-x: auto;
    }

    .golf-comite-organigrama {
        min-width: 850px;
        max-width: none;
    }
}

@media (max-width: 600px) {
    .golf-comite {
        padding-top: 40px;
    }

    .golf-comite-boton {
        padding: 20px 16px;
        font-size: 15px;
    }

    .golf-comite-panel h3 {
        font-size: 24px;
    }

    .golf-comite-texto {
        font-size: 16px;
    }
}

/* TENIS */

.sec-deporte-raqueta{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-deporte-raqueta .header{width: 100%;position: relative;overflow: hidden;}
.sec-deporte-raqueta .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-deporte-raqueta h2{font-size: 4em;font-weight: 700;text-align: center;padding-bottom: .5em;}
.sec-deporte-raqueta .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-deporte-raqueta .destacado-top .container{max-width:680px;}

/* Tenis. Escuela deportiva */


.raqueta-escuela {
    --raqueta-azul: #006984;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    background: var(--raqueta-azul);
    color: #fff;
}

.body-padel .raqueta-escuela {
    --raqueta-azul: #3a6688;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    background: var(--raqueta-azul);
    color: #fff;
}

.raqueta-escuela,
.raqueta-escuela * {
    box-sizing: border-box;
}

/* TEXTO */

.raqueta-escuela-contenido {
    min-width: 0;
    padding: clamp(40px, 4vw, 75px) 8% clamp(40px, 4vw, 75px) 12%;
}

.raqueta-escuela-titulo {
    margin: 0 0 32px;
    color: inherit;
    font-size: clamp(34px, 3.2vw, 58px);
    font-weight: 700;
    line-height: 1;
}

.raqueta-escuela-descripcion {
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.raqueta-escuela-descripcion p {
    margin: 0 0 18px;
}

.raqueta-escuela-descripcion > :last-child {
    margin-bottom: 0;
}

.raqueta-escuela-descripcion a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* BOTÓN */

.raqueta-escuela-boton {
    display: inline-block;
    margin-top: 32px;
    padding: 11px 22px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
}

.raqueta-escuela-boton:hover {
    background: #fff;
    color: var(--raqueta-azul);
}

.raqueta-escuela-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

/* IMAGEN */

.raqueta-escuela-imagen {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.raqueta-escuela-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.raqueta-escuela--sin-imagen {
    grid-template-columns: 1fr;
}

.raqueta-escuela--sin-imagen .raqueta-escuela-contenido {
    padding: 50px 6%;
}

/* TABLET Y MÓVIL */

@media (max-width: 900px) {
    .raqueta-escuela {
        grid-template-columns: 1fr;
    }

    .raqueta-escuela-contenido {
        padding: 45px 6%;
    }

    .raqueta-escuela-imagen {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 600px) {
    .raqueta-escuela-contenido {
        padding: 35px 25px;
    }

    .raqueta-escuela-titulo {
        margin-bottom: 25px;
    }

    .raqueta-escuela-descripcion {
        line-height: 1.4;
    }

    .raqueta-escuela-boton {
        margin-top: 25px;
        font-size: 19px;
    }

    .raqueta-escuela-imagen {
        aspect-ratio: 4 / 3;
    }
}

/* ACTIVIDADES: TENIS Y PÁDEL */

.raqueta-actividades {
    background: #eaeaea;
    color: #111;
}

.raqueta-actividades,
.raqueta-actividades * {
    box-sizing: border-box;
}

/* ENCABEZADO */

.raqueta-actividades-cabecera {
    margin-bottom: 50px;
}

.raqueta-actividades-titulo {
    font-size: clamp(34px, 3.2vw, 54px);
    line-height: 1.1;
    text-align: center;
}

.raqueta-actividades-intro {
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.35;
}

.raqueta-actividades-intro p {
    margin: 0 0 18px;
}

.raqueta-actividades-intro > :last-child {
    margin-bottom: 0;
}

/* DOS COLUMNAS */

.raqueta-actividades-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 50px;
    padding-bottom: 75px;
}

.raqueta-actividad {
    min-width: 0;
    padding: 30px 0 0;
}

.raqueta-actividad:nth-child(odd) {
    padding-right: clamp(30px, 7vw, 125px);
}

.raqueta-actividad:nth-child(even) {
    padding-left: clamp(30px, 7vw, 125px);
    border-left: 1px solid #fff;
}

.raqueta-actividad-titulo {
    margin: 0 0 38px;
    font-size: clamp(27px, 2.3vw, 38px);
    line-height: 1.15;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';}

.raqueta-actividad-descripcion {
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.raqueta-actividad-descripcion h4{font-weight: 700;position: relative;margin-bottom: 1em;display: block;}

.raqueta-actividad-descripcion p {
    margin: 0 0 20px;
}

.raqueta-actividad-descripcion > :last-child {
    margin-bottom: 0;
}

.raqueta-actividad-descripcion ul,
.raqueta-actividad-descripcion ol {
    margin: 0 0 20px;
    padding-left: 22px;
}

.raqueta-actividad-descripcion a,
.raqueta-actividades-intro a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* BOTONES */

.raqueta-actividad-pie {
    margin-top: 35px;
}

.raqueta-actividad-boton {
    display: inline-block;
    padding: 10px 22px;
    border: 1px solid #777;
    background: transparent;
    color: #111;
    font-size: 21px;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
}

.raqueta-actividad-boton:hover {
    background: #111;
    color: #fff;
}

.raqueta-actividad-boton:focus-visible {
    outline: 2px solid #111;
    outline-offset: 4px;
}

/* IMAGEN INFERIOR */

.raqueta-actividades-panoramica {
    width: 100%;
    overflow: hidden;
}

.raqueta-actividades-foto {
    display: block;
    width: 100%;
    height: clamp(220px, 17vw, 360px);
    object-fit: cover;
    object-position: center;
}

/* MÓVIL */

@media (max-width: 750px) {
    .raqueta-actividades {
        padding-top: 45px;
    }

    .raqueta-actividades-cabecera {
        margin-bottom: 35px;
    }

    .raqueta-actividades-grid {
        grid-template-columns: 1fr;
        gap: 35px;
        padding-bottom: 45px;
    }

    .raqueta-actividad:nth-child(odd),
    .raqueta-actividad:nth-child(even) {
        padding: 0;
        border-left: 0;
    }

    .raqueta-actividad + .raqueta-actividad {
        padding-top: 35px;
        border-top: 1px solid #fff;
    }

    .raqueta-actividad-titulo {
        margin-bottom: 25px;
    }

    .raqueta-actividad-pie {
        margin-top: 25px;
    }

    .raqueta-actividad-boton {
        font-size: 19px;
    }
}

/* HORARIOS, TARIFAS Y RESERVAS */

.raqueta-reservas {
    --rr-azul: #006984;
    --rr-verde: #4d7051;
    color: #111;
}

.body-padel .raqueta-reservas {
    --rr-azul: #3a6688;
}

.raqueta-reservas,
.raqueta-reservas * {
    box-sizing: border-box;
}

/* CABECERA Y TARJETAS */

.raqueta-precios {
    position: relative;
    overflow: hidden;
    padding: 0 0 80px;
    background: #dedede;
}

.raqueta-precios-decoracion {
    position: absolute;
    top: 0;
    right: 0;
    width: 35%;
    height: 100%;
    object-fit: contain;
    object-position: right top;
    pointer-events: none;
}

.raqueta-precios > .container {
    position: relative;
}

.raqueta-reservas-titulo {
    margin: 0 0 40px;
    font-size: clamp(32px, 3.2vw, 52px);
    line-height: 1;
    font-weight: 700;
}

.raqueta-precios-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(25px, 4vw, 60px);
}

.raqueta-socios,
.raqueta-tarifas {
    min-width: 0;
    padding: clamp(30px, 4vw, 60px);
}

/* SOCIOS */

.raqueta-socios {
    background: var(--rr-azul);
    color: #fff;
}

.raqueta-socios-antetitulo {
    margin: 0;
    font-size: clamp(23px, 2.2vw, 32px);
    line-height: 1.1;
    font-family: 'Frank Ruhl Libre';
}

.raqueta-socios-titulo {
    margin: 0;
    color: inherit;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1.05;
    padding-top: 0;
    font-weight: 700;
}

.raqueta-socios-precio {
    margin: 30px 0 15px;
    font-size: clamp(65px, 7vw, 100px);
    font-weight: 700;
    line-height: 1;
}

.raqueta-socios-pie {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}

.raqueta-socios-pie > div {
    min-width: 0;
}

.raqueta-socios-descripcion {
    margin-bottom: 25px;
    font-size: 15px;
    line-height: 1.4;
}

.raqueta-socios-descripcion p {
    margin: 0;
}

.raqueta-socios-logo {
    flex-shrink: 0;
    width: 65px;
    height: auto;
}

/* TABLA DE TARIFAS */

.raqueta-tarifas {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fff;
}

.raqueta-tarifas-antetitulo {
    margin: 0;
    color: #777;
    font-size: 16px;
    font-weight: 700;
    font-family:'Frank Ruhl Libre';
}

.raqueta-tarifas-titulo {
    margin: 0 0 30px;
    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1.1;
    font-weight: 700;
}

.raqueta-tarifas-tabla {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.raqueta-tarifas-tabla tr {
    border-top: 1px solid #afc1b2;
}

.raqueta-tarifas-tabla tr:last-child {
    border-bottom: 1px solid #afc1b2;
}

.raqueta-tarifas-tabla th,
.raqueta-tarifas-tabla td {
    padding: 20px 0;
    border: 0;
    background: transparent;
    vertical-align: middle;
}

.raqueta-tarifas-tabla th {
    padding-right: 15px;
    font-size: 15px;
    font-weight: 400;
    text-align: left;
}

.raqueta-tarifas-tabla td {
    color: var(--rr-verde);
    font-size: clamp(26px, 2.5vw, 36px);
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    font-family: 'Frank Ruhl Libre';
}

/* FRANJA DE HORARIOS */

.raqueta-horario {
    padding:0;
    background: #fff;
}

.raqueta-horario-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
}

.raqueta-horario-dias {
    padding: 10px 25px;
    text-align: left;
}

.raqueta-horario-dias h3 {
    margin: 0;
    font-size: clamp(25px, 2.4vw, 36px);
    line-height: 1.15;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
}

.raqueta-horario-dias p {
    margin: 5px 0 0;
    font-size: 18px;
    font-family: 'Frank Ruhl Libre';

}

.raqueta-horario-horas {
    margin: 0;
    padding: 10px 25px;
    border-left: 1px solid #111;
    font-size: clamp(30px, 3.3vw, 48px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    font-family: 'Frank Ruhl Libre';
}

/* CÓMO RESERVAR */

.raqueta-como-reservar {
    padding: 55px 0;
    background: var(--rr-azul);
    color: #fff;
}

.raqueta-reserva-cabecera {
    margin-bottom: 45px;
    text-align: center;
}

.raqueta-reserva-cabecera h2 {
    margin: 0 0 12px;
    color: inherit;
    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1.1;
}

.raqueta-reserva-cabecera p {
    margin: 0;
    font-size: 17px;
    line-height: 1.4;
}

/* PASOS Y LÍNEA DE CONEXIÓN */

.raqueta-reserva-pasos {
    --circulo: 115px;

    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.raqueta-reserva-paso {
    position: relative;
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0 15px;
    text-align: center;
}

.raqueta-reserva-paso:not(:last-child)::after {
    content: "";
    position: absolute;
    top: calc(var(--circulo) / 2);
    left: 50%;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .65);
}

.raqueta-reserva-circulo {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--circulo);
    height: var(--circulo);
    margin: 0 auto 22px;
    border-radius: 50%;
    background: #fff;
    color: #315f75;
    font-size: 30px;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
}

.raqueta-reserva-paso.es-destacado .raqueta-reserva-circulo {
    background: #87b5cd;
    color: #fff;
}

.raqueta-reserva-paso h3 {
    margin: 0 0 6px;
    color: inherit;
    font-size: 25px;
    line-height: 1.2;
}

.raqueta-reserva-descripcion {
    font-size: 14px;
    line-height: 1.4;
}

.raqueta-reserva-descripcion p {
    margin: 0;
}

.raqueta-reserva-aviso {
    max-width: 460px;
    margin: 32px auto 0;
    padding: 22px 25px;
    border-left: 5px solid #a5d94c;
    background: #1b8db0;
    font-size: 15px;
    line-height: 1.4;
}

.raqueta-reserva-aviso p {
    margin: 0;
}

/* BOTONES */

.raqueta-reservas-boton {
    display: inline-block;
    padding: 11px 18px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-size: 21px;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
}

.raqueta-reservas-boton:hover {
    background: #fff;
    color: var(--rr-azul);
}

.raqueta-reservas-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

.raqueta-reserva-acciones {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px 55px;
    margin-top: 40px;
}

.raqueta-reserva-acciones .raqueta-reservas-boton:first-child {
    background: #fff;
    color: #315f75;
}

.raqueta-reserva-acciones .raqueta-reservas-boton:first-child:hover {
    background: #e4f1f6;
}

/* FOTOGRAFÍA INFERIOR */

.raqueta-reserva-foto {
    display: block;
    width: 100%;
    height: clamp(250px, 27vw, 480px);
    object-fit: cover;
    object-position: center;
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .raqueta-precios-grid {
        grid-template-columns: 1fr;
    }

    .raqueta-precios-decoracion {
        width: 60%;
    }
}

@media (max-width: 650px) {
    .raqueta-precios {
        padding: 40px 0;
    }

    .raqueta-socios,
    .raqueta-tarifas {
        padding: 30px 22px;
    }

    .raqueta-horario-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .raqueta-horario-horas {
        border-left: 0;
    }

    .raqueta-reserva-pasos {
        flex-direction: column;
        gap: 35px;
    }

    .raqueta-reserva-paso:not(:last-child)::after {
        display: none;
    }

    .raqueta-reserva-circulo {
        margin-bottom: 15px;
    }

    .raqueta-reserva-acciones {
        gap: 15px;
    }

    .raqueta-reservas-boton {
        font-size: 18px;
    }
}


/* GIMNASIO */

.sec-gimnasio{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-gimnasio .header{width: 100%;position: relative;overflow: hidden;}
.sec-gimnasio .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-gimnasio h2{font-size: 4em;font-weight: 700;text-align: center;padding-bottom: .5em;}
.sec-gimnasio .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/gimnasio/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-gimnasio .destacado-top .container{max-width:680px;}

/* GIMNASIO: IMÁGENES */

.gimnasio-imagenes,
.gimnasio-horario,
.gimnasio-asesoramiento,
.gimnasio-imagenes *,
.gimnasio-horario *,
.gimnasio-asesoramiento * {
    box-sizing: border-box;
}

.gimnasio-imagenes {
    display: flex;
    width: 100%;
}

.gimnasio-imagen {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.gimnasio-foto {
    display: block;
    width: 100%;
    height: clamp(260px, 28.3vw, 500px);
    object-fit: cover;
    object-position: center;
}

/* FRANJA DE HORARIOS */

.gimnasio-horario {
    padding:0;
    background: #41465c;
    color: #fff;
}

.gimnasio-horario-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
}

.gimnasio-horario-dias {
    padding: 10px 25px;
    text-align: left;
}

.gimnasio-horario-dias h2 {
    margin: 0;
    color: inherit;
    font-size: clamp(27px, 2.5vw, 40px);
    line-height: 1.1;
    text-align: left;
}

.gimnasio-horario-dias h3{
    margin: 0;
    font-size: clamp(25px, 2.4vw, 36px);
    line-height: 1.15;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
}

.gimnasio-horario-dias p {
    margin: 5px 0 0;
    font-size: 18px;
    font-family: 'Frank Ruhl Libre';
}

.gimnasio-horario-horas {
    margin: 0;
    padding: 15px 25px;
    border-left: 1px solid rgba(255, 255, 255, .8);
    color: inherit;
    font-size: clamp(32px, 3.3vw, 54px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    font-family: 'Frank Ruhl Libre';
}

/* ASESORAMIENTO */

.gimnasio-asesoramiento {
    padding: 0 0 4em 0;
    background: #dedede;
    color: #111;
}

.gimnasio-asesoramiento-cabecera {
    margin-bottom: 50px;
}

.gimnasio-asesoramiento-titulo {
    font-size: clamp(32px, 3.2vw, 54px);
    line-height: 1.1;
    text-align: center;
}

.gimnasio-asesoramiento-intro {
    max-width: 730px;
    margin: 0 auto;
    line-height: 1.4;
}

.gimnasio-asesoramiento-intro p {
    margin: 0 0 28px;
}

.gimnasio-asesoramiento-intro > :last-child {
    margin-bottom: 0;
}

/* PERSONAL Y EN GRUPO */

.gimnasio-modalidades {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 45px;
}

.gimnasio-modalidad {
    min-width: 0;
    padding-bottom: 15px;
}

.gimnasio-modalidad:nth-child(odd) {
    padding-right: clamp(30px, 7vw, 130px);
}

.gimnasio-modalidad:nth-child(even) {
    padding-left: clamp(30px, 7vw, 130px);
    border-left: 1px solid #fff;
}

.gimnasio-modalidad-titulo {
    margin: 0 0 38px;
    font-size: clamp(27px, 2.3vw, 38px);
    line-height: 1.15;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
}

.gimnasio-modalidad-descripcion {
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.gimnasio-modalidad-descripcion p {
    margin: 0 0 20px;
}

.gimnasio-modalidad-descripcion > :last-child {
    margin-bottom: 0;
}

.gimnasio-modalidad-descripcion ul,
.gimnasio-modalidad-descripcion ol {
    margin: 0 0 20px;
    padding-left: 24px;
}

.gimnasio-modalidad-descripcion a,
.gimnasio-asesoramiento-intro a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* BOTONES */

.gimnasio-modalidad-boton {
    display: inline-block;
    padding: 10px 22px;
    border: 1px solid #777;
    background: transparent;
    color: #111;
    font-size: 21px;
    font-weight: 700;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    margin-top: 35px;
}

.gimnasio-modalidad-boton:hover {
    background: #41465c;
    color: #fff;
}

.gimnasio-modalidad-boton:focus-visible {
    outline: 2px solid #41465c;
    outline-offset: 4px;
}

/* TABLET Y MÓVIL */

@media (max-width: 750px) {
    .gimnasio-imagenes {
        flex-direction: column;
    }

    .gimnasio-foto {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .gimnasio-horario {
        padding: 35px 0;
    }

    .gimnasio-horario-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gimnasio-horario-horas {
        border-left: 0;
        padding: 0 20px;
    }

    .gimnasio-asesoramiento {
        padding: 45px 0;
    }

    .gimnasio-asesoramiento-cabecera {
        margin-bottom: 45px;
    }

    .gimnasio-asesoramiento-titulo {
        margin-bottom: 25px;
    }

    .gimnasio-modalidades {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .gimnasio-modalidad:nth-child(odd),
    .gimnasio-modalidad:nth-child(even) {
        padding: 0;
        border-left: 0;
    }

    .gimnasio-modalidad + .gimnasio-modalidad {
        padding-top: 35px;
        border-top: 1px solid #fff;
    }

    .gimnasio-modalidad-boton {
        margin-top: 25px;
        font-size: 19px;
    }
}

/* PRECIOS GIMNASIO */

.gimnasio-precios {
    position: relative;
    overflow: hidden;
    padding: 0 0 4em 0;
    background: #fff;
    color: #111;
}

.gimnasio-precios,
.gimnasio-precios * {
    box-sizing: border-box;
}

/* ESCUDO DECORATIVO */

.gimnasio-precios-decoracion {
    position: absolute;
    top: 0;
    right: -170px;
    width: 500px;
    height: 100%;
    object-fit: contain;
    object-position: right center;
    opacity: .06;
    pointer-events: none;
}

.gimnasio-precios > .container {
    position: relative;
    z-index: 1;
}

/* TÍTULO Y TABLA */

.gimnasio-precios-contenido {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
}

.gimnasio-precios-titulo {
    margin: 0 0 32px;
    font-size: clamp(36px, 3.5vw, 60px);
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

.gimnasio-precios-tabla {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.gimnasio-precios-tabla tr {
    border: 0;
    border-top: 1px solid #b9a9bd;
    background: transparent;
}

.gimnasio-precios-tabla tr:last-child {
    border-bottom: 1px solid #b9a9bd;
}

.gimnasio-precios-tabla th,
.gimnasio-precios-tabla td {
    padding: 20px 0 15px 0;
    border: 0;
    background: transparent;
    vertical-align: middle;
}

.gimnasio-precios-tabla th {
    padding-right: 25px;
    color: #222;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    text-align: left;
    font-family: 'Martel Sans';
}

.gimnasio-precios-tabla td {
    width: 36%;
    color: #41465c;
    font-size: clamp(32px, 3vw, 46px);
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    font-family: 'Frank Ruhl Libre';
}

/* MÓVIL */

@media (max-width: 650px) {
    .gimnasio-precios {
        padding: 45px 0 55px;
    }

    .gimnasio-precios-titulo {
        margin-bottom: 25px;
    }

    .gimnasio-precios-tabla th,
    .gimnasio-precios-tabla td {
        padding-top: 22px;
        padding-bottom: 22px;
    }

    .gimnasio-precios-tabla th {
        font-size: 17px;
    }

    .gimnasio-precios-decoracion {
        right: -150px;
        width: 330px;
    }
}

/* ACTIVIDADES DE SALA */

.gimnasio-sala {
    background: #fff;
    color: #111;
}

.gimnasio-sala,
.gimnasio-sala * {
    box-sizing: border-box;
}

/* FOTOGRAFÍA */

.gimnasio-sala-foto {
    display: block;
    width: 100%;
    height: clamp(230px, 24vw, 460px);
    object-fit: cover;
    object-position: center;
}

/* ENCABEZADO */

.gimnasio-sala-interior {
    padding-top: 60px;
    padding-bottom: 75px;
}

.gimnasio-sala-cabecera {
    margin-bottom: 75px;
}

.gimnasio-sala-titulo {
    margin: 0 0 35px;
    font-size: clamp(34px, 3.2vw, 54px);
    line-height: 1.1;
}

.gimnasio-sala-intro {
    max-width: 850px;
    font-size: 16px;
    line-height: 1.4;
}

.gimnasio-sala-intro p {
    margin: 0 0 20px;
}

.gimnasio-sala-intro > :last-child {
    margin-bottom: 0;
}

/* ACORDEÓN */

.gimnasio-sala-item {
    margin: 0;
}

.gimnasio-sala-item-titulo {
    margin: 0;
    padding: 0;
}

.gimnasio-sala-boton {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    width: 100%;
    margin: 0;
    padding: 23px 28px;
    border: 0;
    border-radius: 0;
    background: #fafafa;
    color: #111;
    font: inherit;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
    font-family: 'Frank Ruhl Libre';
    text-transform: initial;
}

.gimnasio-sala-boton:hover {
    background: #f0f0f2;
}

.gimnasio-sala-boton:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid #41465c;
    outline-offset: -3px;
}

/* SÍMBOLOS + Y − */

.gimnasio-sala-icono {
    position: relative;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
}

.gimnasio-sala-icono::before,
.gimnasio-sala-icono::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
}

.gimnasio-sala-icono::before {
    width: 20px;
    height: 3px;
}

.gimnasio-sala-icono::after {
    width: 3px;
    height: 20px;
}

.gimnasio-sala-boton[aria-expanded="true"]
.gimnasio-sala-icono::after {
    display: none;
}

/* CONTENIDO DESPLEGADO */

.gimnasio-sala-panel {
    padding: 45px 60px 65px;
    background: #fff;
}

.gimnasio-sala-panel[hidden] {
    display: none !important;
}

.gimnasio-sala-texto {
    max-width: 850px;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.gimnasio-sala-texto h4 {
    margin: 0 0 20px;
    font-size: 25px;
    line-height: 1.2;
}

.gimnasio-sala-texto p {
    margin: 0 0 20px;
}

.gimnasio-sala-texto > :last-child {
    margin-bottom: 0;
}

.gimnasio-sala-texto ul,
.gimnasio-sala-texto ol {
    margin: 0 0 20px;
    padding-left: 24px;
}

.gimnasio-sala-texto a,
.gimnasio-sala-intro a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* MÓVIL */

@media (max-width: 650px) {
    .gimnasio-sala-interior {
        padding-top: 35px;
        padding-bottom: 45px;
    }

    .gimnasio-sala-cabecera {
        margin-bottom: 35px;
    }

    .gimnasio-sala-titulo {
        margin-bottom: 25px;
    }

    .gimnasio-sala-boton {
        gap: 15px;
        padding: 20px 16px;
        font-size: 22px;
    }

    .gimnasio-sala-panel {
        padding: 25px 20px 35px;
    }
}

/* PRECIOS */
/* HORARIOS */

.gim-horarios {
    padding: 80px 0;
    background: #f7f7f7;
}

.gim-horarios-contenedor {
    width: 88%;
    max-width: 1600px;
    margin: 0 auto;
}

.gim-horarios-titulo {
    margin: 0 0 50px;
    color: #000;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(36px, 4vw, 64px);
    font-weight: 700;
    line-height: 1.1;
}

/* Desplazamiento horizontal en pantallas pequeñas */

.gim-horarios-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gim-horarios-scroll:focus-visible {
    outline: 2px solid #326d47;
    outline-offset: 4px;
}

/* Tabla */

.gim-horarios-tabla {
    width: 100%;
    min-width: 1100px;
    margin: 0;
    table-layout: fixed;
    border: 0;
    border-collapse: separate;
    border-spacing: 10px;
    background: transparent;
}

.gim-horarios-tabla th,
.gim-horarios-tabla td {
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.gim-horarios-tabla thead th {
    padding: 8px 10px;
    background: #fff;
    color: #326d47;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.gim-horarios-tabla thead .gim-horarios-esquina {
    background: transparent;
}

/* Franjas horarias */

.gim-horarios-tabla .gim-horarios-hora {
    height: 78px;
    padding: 14px 10px;
    background: #fff;
    color: #326d47;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    vertical-align: middle;
}

/* Actividades */

.gim-horarios-tabla .gim-horarios-celda {
    height: 78px;
    padding: 17px 18px;
    background: var(--horario-fondo, #fff);
    color: var(--horario-texto, #222);
    text-align: left;
    vertical-align: top;
}

.gim-horarios-actividad {
    display: block;
    font-weight: 400;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

/* Dos colores con separación diagonal */

.gim-horarios-tabla .gim-horarios-celda--doble {
    background: linear-gradient(
        to bottom right,
        var(--horario-fondo) 0%,
        var(--horario-fondo) 50%,
        var(--horario-secundario) 50%,
        var(--horario-secundario) 100%
    );
}

/* Texto accesible */

.gim-horarios-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 767px) {
    .gim-horarios {
        padding: 45px 0;
    }

    .gim-horarios-contenedor {
        width: 94%;
    }

    .gim-horarios-titulo {
        margin-bottom: 25px;
    }

    .gim-horarios-tabla {
        border-spacing: 7px;
    }
}




/* NATACIÓN */

.sec-deporte-natacion{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-deporte-natacion .header{width: 100%;position: relative;overflow: hidden;}
.sec-deporte-natacion .header h1{width: 100%;color: #fff;position: absolute;bottom:-.2em;left: .4em;z-index: 2;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-deporte-natacion h2{font-size: 4em;font-weight: 700;text-align: center;padding-bottom: .5em;}
.sec-deporte-natacion .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-deporte-natacion .destacado-top .container{max-width:680px;}

/* ESCUELA DE NATACIÓN */

.natacion-escuela {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    background: #304d5e;
}

/* Texto */

.natacion-escuela-contenido {
    box-sizing: border-box;
    min-width: 0;
    padding: clamp(40px, 3.8vw, 78px) 4vw 60px 6vw;
    color: #fff;
}

.natacion-escuela-titulo {
    margin: 0 0 32px;
    color: inherit;
    font-size: clamp(34px, 3.2vw, 58px);
    font-weight: 700;
    line-height: 1;}

.natacion-escuela-descripcion {
    color: #fff;
    line-height: 1.25;
}
.natacion-escuela-descripcion h4{font-weight: 700;position: relative;margin-bottom: 1em;display: block;}

.natacion-escuela-descripcion p {
    margin: 0 0 22px;
}

.natacion-escuela-descripcion > :last-child {
    margin-bottom: 0;
}

.natacion-escuela-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Botón */

.natacion-escuela-boton {
    display: inline-block;
    margin-top: 32px;
    padding: 11px 22px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
}

.natacion-escuela-boton:hover {
    background: #fff;
    color: #304d5e;
}

.natacion-escuela-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

/* Imagen: cubre toda la altura del bloque */

.natacion-escuela-imagen {
    position: relative;
    min-width: 0;
    overflow: hidden;
}

.natacion-escuela .natacion-escuela-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

/* Móvil y tablet */

@media (max-width: 900px) {
    .natacion-escuela {
        grid-template-columns: 1fr;
    }

    .natacion-escuela-contenido {
        padding: 45px 6%;
    }

    .natacion-escuela-titulo {
        margin-bottom: 28px;
    }

    .natacion-escuela-descripcion {
        font-size: 16px;
        line-height: 1.45;
    }

    .natacion-escuela-boton {
        margin-top: 32px;
        font-size: 24px;
    }

    .natacion-escuela-imagen {
        aspect-ratio: 4 / 3;
    }
}

/* NATACIÓN: ACTIVIDADES */

.natacion-actividades {
    background: #eeeeee;
}

.natacion-actividades-contenedor {
    width: 88%;
    margin: 0 auto;
    padding: 4em 0;
}

.natacion-actividades-contenedor H2{text-align: left;}

.natacion-actividades-titulo {
    margin: 0 0 34px;
    color: #000;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(36px, 3.2vw, 66px);
    font-weight: 700;
    line-height: 1.1;
}

.natacion-actividades-descripcion {
    width: 75%;
    color: #222;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.natacion-actividades-descripcion p {
    margin: 0 0 40px;
}

.natacion-actividades-descripcion > :last-child {
    margin-bottom: 0;
}

.natacion-actividades-descripcion a {
    color: inherit;
    text-decoration: underline;
}

@media (max-width: 900px) {
    .natacion-actividades {
        padding: 70px 0;
    }

    .natacion-actividades-descripcion {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .natacion-actividades {
        padding: 50px 0;
    }

    .natacion-actividades-titulo {
        margin-bottom: 25px;
    }

    .natacion-actividades-descripcion {
        font-size: 16px;
        line-height: 1.5;
    }

    .natacion-actividades-descripcion p {
        margin-bottom: 25px;
    }
}

/* CAMPAMENTOS. Internos */

.sec-campamentos-internos{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-campamentos-internos .header{width: 100%;position: relative;overflow: hidden;}
.sec-campamentos-internos .header h1{width: 100%;color: #fff;position: absolute;bottom:-.05em;left: .4em;z-index: 2;font-size: 8em;line-height: .7em;}
.sec-campamentos-internos .header h1 br{margin: 0 0 0 0;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-campamentos-internos h2{font-size: 4em;font-weight: 700;text-align:left;padding-bottom:.5em;}
.sec-campamentos-internos .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-campamentos-internos .destacado-top .container{max-width:680px;}


.campamentos-listado {
    width: 100%;
}

/* Dos columnas sin separación */

.campamento-item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "contenido imagen";
    margin: 0;
    padding: 0;
    background: #eaeaea;
}

/* Filas pares: imagen a la izquierda */

.campamento-item:nth-child(even) {
    grid-template-areas: "imagen contenido";
}

/* Contenido */

.campamento-contenido {
    grid-area: contenido;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    padding: clamp(40px, 4.5vw, 110px) 4.5vw;
}

.campamento-titulo {
    margin: 0 0 30px;
    color: #000;
    font-family:'Frank Ruhl Libre';
    font-size: clamp(30px, 3.2vw, 64px);
    font-weight: 700;
    line-height: 1;
    overflow-wrap: anywhere;
}

.campamento-descripcion {
    width: 100%;
    color: #222;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.campamento-descripcion p {
    margin: 0 0 18px;
}

.campamento-descripcion > :last-child {
    margin-bottom: 0;
}

.campamento-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Botón */

.campamento-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin-top: 38px;
    padding: 10px 24px;
    border: 1px solid #888;
    background: transparent;
    color: #111;
    font-family:'Frank Ruhl Libre';
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.campamento-boton:hover {
    border-color: #13301d;
    background: #13301d;
    color: #fff;
}

.campamento-boton:focus-visible {
    outline: 2px solid #13301d;
    outline-offset: 4px;
}

/* Imagen: ocupa toda la altura de su fila */

.campamento-imagen {
    grid-area: imagen;
    position: relative;
    min-width: 0;
    min-height: 34vw;
    overflow: hidden;
}

.campamentos-listado .campamento-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

/* Móvil: texto e imagen en el mismo orden en todas las filas */

@media (max-width: 767px) {
    .campamento-item,
    .campamento-item:nth-child(even) {
        grid-template-columns: 1fr;
        grid-template-areas:
            "contenido"
            "imagen";
    }

    .campamento-contenido {
        padding: 45px 6%;
    }

    .campamento-titulo {
        margin-bottom: 24px;
        font-size: 34px;
    }

    .campamento-descripcion {
        font-size: 16px;
        line-height: 1.45;
    }

    .campamento-boton {
        margin-top: 28px;
        font-size: 20px;
    }

    .campamento-imagen {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }
}

/* CAMPAMENTOS: TANDAS */

.camp-tandas {
    position: relative;
    overflow: hidden;
    padding: 4em 0;
    background: #f8f8f8 url(images/campamentos/internos/bg-tandas.jpg) 100% 100% no-repeat;background-size: 100%;
}

/* Motivo decorativo opcional */

.camp-tandas-fondo {
    position: absolute;
    right: 0;
    bottom: 0;
    width: auto;
    height: 95%;
    max-width: 45%;
    object-fit: contain;
    object-position: right bottom;
    pointer-events: none;
}

/* Contenido */

.camp-tandas-contenedor {
    position: relative;
    z-index: 1;
    width: 90%;
    margin: 0 auto;
}

.camp-tandas-titulo {
    margin: 0 0 60px;
    padding-left:0;
    color: #000;
    font-family:'Frank Ruhl Libre';
    font-weight: 700;
    line-height: 1.1;
}

/* Línea horizontal y pestañas */

.camp-tandas-tabs {
    display: flex;
    border-bottom: 2px solid #aaa;
}

.camp-tandas-tab {
    appearance: none;
    flex: 0 0 17%;
    box-sizing: border-box;
    margin: 0 0 -2px;
    padding: 10px 24px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #777;
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    text-transform: none;
    cursor: pointer;
}

.camp-tandas-tab[aria-selected="true"] {
    border-bottom-color: #326344;
}

.camp-tandas-tab:hover {
    color: #326344;
}

.camp-tandas-tab:focus-visible,
.camp-tandas-panel:focus-visible {
    outline: 2px solid #326344;
    outline-offset: 4px;
}

/* Fechas */

.camp-tandas-panel {
    min-height: 220px;
    padding-top: 40px;
    color: #222;
    font-size: 15px;
    line-height: 1.5;
}

.camp-tandas-panel[hidden] {
    display: none;
}

.camp-tandas-lista {
    margin: 0;
    padding-left: 25px;
    list-style: disc;
}

.camp-tandas-lista li {
    margin: 0 0;
    padding-left: 6px;
}

.camp-tandas-lista li:last-child {
    margin-bottom: 0;
}
button:focus{background-color:#f8f8f8;}

/* Móvil */

@media (max-width: 767px) {
    .camp-tandas {
        padding: 60px 0 70px;
    }

    .camp-tandas-titulo {
        margin-bottom: 35px;
        padding-left: 0;
    }

    .camp-tandas-tabs {
        overflow-x: auto;
    }

    .camp-tandas-tab {
        flex: 1 0 auto;
        padding: 10px 16px;
        font-size: 18px;
        text-align: center;
    }

    .camp-tandas-panel {
        min-height: 180px;
        padding-top: 30px;
        font-size: 16px;
    }

    .camp-tandas-fondo {
        max-width: 65%;
        opacity: 0.4;
    }
}


/* CAMPAMENTOS. Externos */

.sec-campamentos-externos{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-campamentos-externos .header{width: 100%;position: relative;overflow: hidden;}
.sec-campamentos-externos .header h1{width: 100%;color: #fff;position: absolute;bottom:-.05em;left: .4em;z-index: 2;font-size: 8em;line-height: .7em;}
.sec-campamentos-externos .header h1 br{margin: 0 0 0 0;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-campamentos-externos h2{font-size: 4em;font-weight: 700;text-align:left;padding-bottom:.5em;}
.sec-campamentos-externos .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-campamentos-externos .destacado-top .container{max-width:680px;}

/* CAMPAMENTOS EXTERNOS: ORGANIZA TU CAMPAMENTO */

.externos-organiza {
    width: 100%;
}

/* Imagen panorámica superior */

.externos-organiza-panoramica {
    aspect-ratio: 4.4 / 1;
    overflow: hidden;
}

.externos-organiza .externos-organiza-portada {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

/* Bloque verde */

.externos-organiza-bloque {
    position: relative;
    overflow: hidden;
    padding:3em 0 4em 0;
    background: #264d38;
    color: #fff;
}

/* Motivo decorativo a la izquierda */

.externos-organiza-decoracion {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 100%;
    max-width: 30%;
    object-fit: contain;
    object-position: left center;
    pointer-events: none;
}

/* Texto centrado */

.externos-organiza-contenido {
    position: relative;
    z-index: 1;
    width: 66%;
    max-width: 1320px;
    margin: 0 auto;
    text-align: center;
}

.externos-organiza-titulo {
    margin: 0 0 32px;
    color: inherit;
    font-size: clamp(34px, 3.2vw, 58px);
    font-weight: 700;
    line-height: 1;
}

.externos-organiza-descripcion {
    color: #fff;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.externos-organiza-descripcion p {
    margin: 0 0 20px;
}

.externos-organiza-descripcion > :last-child {
    margin-bottom: 0;
}

.externos-organiza-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Botón */

.externos-organiza-boton {
    display: inline-block;
    margin-top: 32px;
    padding: 11px 22px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
}

.externos-organiza-boton:hover {
    background: #fff;
    color: #264d38;
}

.externos-organiza-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

/* Fotografías inferiores sin separación */

.externos-organiza-galeria {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.externos-organiza-galeria-item {
    aspect-ratio: 1 / 1.05;
    overflow: hidden;
}

.externos-organiza .externos-organiza-galeria-foto {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: center;
}

/* Tablet */

@media (max-width: 900px) {
    .externos-organiza-contenido {
        width: 84%;
    }

    .externos-organiza-titulo {
        margin-bottom: 35px;
    }

    .externos-organiza-boton {
        margin-top: 45px;
    }
}

/* Móvil */

@media (max-width: 600px) {
    .externos-organiza-panoramica {
        aspect-ratio: 2 / 1;
    }

    .externos-organiza-bloque {
        padding: 50px 0;
    }

    .externos-organiza-contenido {
        width: 88%;
    }

    .externos-organiza-titulo {
        font-size: 34px;
        line-height: 1.05;
    }

    .externos-organiza-descripcion {
        font-size: 16px;
        line-height: 1.45;
    }

    .externos-organiza-boton {
        margin-top: 35px;
        font-size: 22px;
    }

    .externos-organiza-decoracion {
        max-width: 55%;
        opacity: 0.35;
    }

    .externos-organiza-galeria {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* ==========================================
   CAMPAMENTOS EXTERNOS · EMPRESAS
   ========================================== */

.externos-empresas,
.externos-empresas * {
    box-sizing: border-box;
}

.externos-empresas {
    display: block;
    width: 100%;
    margin: 0;
    padding: 4em;
    background: #fff;
}

.externos-empresas .externos-empresas-contenedor {
    width: 88%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0;
}

/* Título */

.externos-empresas .externos-empresas-titulo {
    margin: 0 0 40px;
    font-size: clamp(32px, 3.2vw, 52px);
    line-height: 1;
    font-weight: 700;
    text-align: center;
}

/* Descripción */

.externos-empresas .externos-empresas-descripcion {
    width: 62%;
    margin: 0 auto;
    padding: 0;
    color: #222;
    line-height: 1.3;
    text-align: left;
    overflow-wrap: anywhere;
}

.externos-empresas .externos-empresas-descripcion p {
    margin: 0 0 22px;
    padding: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.externos-empresas .externos-empresas-descripcion > :last-child {
    margin-bottom: 0;
}

.externos-empresas .externos-empresas-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Listado: cinco empresas por fila */

.externos-empresas .externos-empresas-listado {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 50px;
    width: 100%;
    margin: 70px 0 0;
    padding: 0;
    list-style: none;
}

.externos-empresas .externos-empresas-listado > .externos-empresa {
    display: block;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    list-style: none;
}

/* Elimina posibles viñetas añadidas por el tema */

.externos-empresas .externos-empresa::before,
.externos-empresas .externos-empresa::after {
    content: none;
}

/* Contenedor de logotipo */

.externos-empresas .externos-empresa-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 200px;
    margin: 0 0 30px;
    padding: 0;
}

/* Enlace del logotipo */

.externos-empresas .externos-empresa-enlace {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-decoration: none;
}

.externos-empresas .externos-empresa-enlace::before,
.externos-empresas .externos-empresa-enlace::after {
    content: none;
}

/* Imagen completa, sin recortes ni deformaciones */

.externos-empresas .externos-empresa-imagen {
    display: block;
    position: static;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
    object-position: center;
    transition: opacity 0.2s ease;
}

.externos-empresas .externos-empresa-enlace:hover .externos-empresa-imagen {
    opacity: 0.75;
}

.externos-empresas .externos-empresa-enlace:focus-visible {
    outline: 2px solid #264d38;
    outline-offset: 5px;
}

/* Nombre de la empresa */

.externos-empresas .externos-empresa-nombre {
    margin: 0;
    padding: 0;
    color: #000;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(21px, 1.4vw, 28px);
    font-weight: 700;
    line-height: 1.05;
    text-align: left;
    text-transform: none;
    overflow-wrap: anywhere;
    font-size: 1.2em;
    text-align: center;
}

/* Tablet */

@media (max-width: 1000px) {
    .externos-empresas .externos-empresas-descripcion {
        width: 85%;
    }

    .externos-empresas .externos-empresas-listado {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 40px 30px;
        margin-top: 50px;
    }

    .externos-empresas .externos-empresa-logo {
        height: 160px;
    }
}

/* Móvil */

@media (max-width: 600px) {
    .externos-empresas {
        padding: 50px 0;
    }

    .externos-empresas .externos-empresas-titulo {
        margin-bottom: 30px;
        font-size: 34px;
    }

    .externos-empresas .externos-empresas-descripcion {
        width: 100%;
        font-size: 16px;
        line-height: 1.45;
    }

    .externos-empresas .externos-empresas-listado {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 35px 24px;
        margin-top: 40px;
    }

    .externos-empresas .externos-empresa-logo {
        height: 130px;
        margin-bottom: 20px;
    }

    .externos-empresas .externos-empresa-nombre {
        font-size: 21px;
    }
}


/* COLEGIOS */

.sec-colegios{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-colegios .header{width: 100%;position: relative;overflow: hidden;}
.sec-colegios .header h1{width: 100%;color: #fff;position: absolute;bottom:-.05em;left: .4em;z-index: 2;font-size: 8em;line-height: .7em;}
.sec-colegios .header h1 br{margin: 0 0 0 0;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-colegios h2{font-size: 4em;font-weight: 700;text-align:left;padding-bottom:.5em;}
.sec-colegios .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-colegios .destacado-top .container{max-width:680px;}

/* ==========================================
   COLEGIOS · VEN CON TU CLASE
   ========================================== */

.colegios-clase,
.colegios-clase * {
    box-sizing: border-box;
}

.colegios-clase {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Fondo verde */

.colegios-clase .colegios-clase-bloque {
    margin: 0;
    padding:4em 0 4em 0;
    background: #264d38;
    color: #fff;
}

/* Contenido centrado */

.colegios-clase .colegios-clase-contenido {
    width: 66%;
    max-width: 1320px;
    margin: 0 auto;
    text-align: center;
}

.colegios-clase .colegios-clase-titulo {
    margin: 0 0 32px;
    color: inherit;
    font-size: clamp(34px, 3.2vw, 58px);
    font-weight: 700;
    line-height: 1;
}

.colegios-clase .colegios-clase-descripcion {
    color: #fff;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.colegios-clase .colegios-clase-descripcion p {
    margin: 0 0 20px;
    padding: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.colegios-clase .colegios-clase-descripcion > :last-child {
    margin-bottom: 0;
}

.colegios-clase .colegios-clase-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Botón */

.colegios-clase .colegios-clase-boton {
    display: inline-block;
    margin-top: 32px;
    padding: 11px 22px;
    border: 1px solid rgba(255, 255, 255, .65);
    background: transparent;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s, color .2s;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
}

.colegios-clase .colegios-clase-boton:hover {
    background: #fff;
    color: #264d38;
}

.colegios-clase .colegios-clase-boton:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 5px;
}

/* Tres fotografías verticales, sin separación */

.colegios-clase .colegios-clase-galeria {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
}

.colegios-clase .colegios-clase-galeria-item {
    min-width: 0;
    aspect-ratio: 4 / 5;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.colegios-clase .colegios-clase-galeria-foto {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

/* Tablet */

@media (max-width: 900px) {
    .colegios-clase .colegios-clase-contenido {
        width: 84%;
    }

    .colegios-clase .colegios-clase-titulo {
        margin-bottom: 35px;
    }

    .colegios-clase .colegios-clase-boton {
        margin-top: 40px;
    }
}

/* Móvil */

@media (max-width: 600px) {
    .colegios-clase .colegios-clase-bloque {
        padding: 50px 0;
    }

    .colegios-clase .colegios-clase-contenido {
        width: 88%;
    }

    .colegios-clase .colegios-clase-titulo {
        font-size: 36px;
    }

    .colegios-clase .colegios-clase-descripcion {
        font-size: 16px;
        line-height: 1.45;
    }

    .colegios-clase .colegios-clase-boton {
        margin-top: 35px;
        padding: 12px 24px;
        font-size: 22px;
    }

    .colegios-clase .colegios-clase-galeria {
        grid-template-columns: 1fr;
    }

    .colegios-clase .colegios-clase-galeria-item {
        aspect-ratio: 4 / 3;
    }
}


/* Eventos */

.sec-eventos{
    width: 100%;
    margin-top: 9em;
    background: #f5f5f5;
    color: #111;
}
.sec-eventos .header{width: 100%;position: relative;overflow: hidden;}
.sec-eventos .header h1{width: 100%;color: #fff;position: absolute;bottom:-.05em;left: .4em;z-index: 2;font-size: 8em;line-height: .7em;}
.sec-eventos .header h1 br{margin: 0 0 0 0;}
.imagen-destacada-fondo {
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sec-eventos h2{font-size: 4em;font-weight: 700;text-align:left;padding-bottom:.5em;}
.sec-eventos .destacado-top{width: 100%;position: relative;overflow: hidden;background: url(images/deportes/tenis/bg-content.jpg)0 100% no-repeat;background-size:cover;padding:0 0 6em 0;}
.sec-eventos .destacado-top .container{max-width:680px;}

/* ==========================================
   EVENTOS · TIPOS DE EVENTOS
   ========================================== */

.zuasti-eventos-listado,
.zuasti-eventos-listado *,
.zuasti-eventos-panoramica {
    box-sizing: border-box;
}

.zuasti-eventos-listado {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Filas: dos columnas al 50 % */

.zuasti-eventos-listado .zuasti-evento {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: "contenido imagen";
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #eaeaea;
}

/* Filas pares: imagen a la izquierda */

.zuasti-eventos-listado .zuasti-evento:nth-child(even) {
    grid-template-areas: "imagen contenido";
}

/* Contenido */

.zuasti-eventos-listado .zuasti-evento-contenido {
    grid-area: contenido;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: clamp(40px, 4.2vw, 85px) 5.5vw;
}

.zuasti-eventos-listado .zuasti-evento-titulo {
    margin: 0 0 35px;
    padding: 0;
    color: #000;
    font-family:'Frank Ruhl Libre';
    font-size: clamp(34px, 3.2vw, 64px);
    font-weight: 700;
    line-height: 1.05;
    text-transform: none;
    overflow-wrap: anywhere;
}

.zuasti-eventos-listado .zuasti-evento-descripcion {
    width: 100%;
    color: #222;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.zuasti-eventos-listado .zuasti-evento-descripcion p {
    margin: 0 0 18px;
    padding: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.zuasti-eventos-listado .zuasti-evento-descripcion > :last-child {
    margin-bottom: 0;
}

.zuasti-eventos-listado .zuasti-evento-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Botón */

.zuasti-eventos-listado .zuasti-evento-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    margin-top: 38px;
    padding: 11px 32px;
    border: 1px solid #888;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #111;
    font-family: 'Frank Ruhl Libre';
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.zuasti-eventos-listado .zuasti-evento-boton:hover {
    border-color: #264d38;
    background: #264d38;
    color: #fff;
}

.zuasti-eventos-listado .zuasti-evento-boton:focus-visible {
    outline: 2px solid #264d38;
    outline-offset: 5px;
}

/* Imagen: cubre toda la altura de la fila */

.zuasti-eventos-listado .zuasti-evento-imagen {
    grid-area: imagen;
    position: relative;
    min-width: 0;
    min-height: 27.5vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.zuasti-eventos-listado .zuasti-evento-foto {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

/* Fotografía panorámica inferior */

.zuasti-eventos-panoramica {
    width: 100%;
    aspect-ratio: 3 / 1;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.zuasti-eventos-panoramica .zuasti-eventos-panoramica-foto {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
}

/* Móvil */

@media (max-width: 767px) {
    .zuasti-eventos-listado .zuasti-evento,
    .zuasti-eventos-listado .zuasti-evento:nth-child(even) {
        grid-template-columns: 1fr;
        grid-template-areas:
            "contenido"
            "imagen";
    }

    .zuasti-eventos-listado .zuasti-evento-contenido {
        padding: 45px 6%;
    }

    .zuasti-eventos-listado .zuasti-evento-titulo {
        margin-bottom: 25px;
        font-size: 36px;
    }

    .zuasti-eventos-listado .zuasti-evento-descripcion {
        font-size: 16px;
        line-height: 1.45;
    }

    .zuasti-eventos-listado .zuasti-evento-boton {
        margin-top: 28px;
        padding: 11px 24px;
        font-size: 21px;
    }

    .zuasti-eventos-listado .zuasti-evento-imagen {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    .zuasti-eventos-panoramica {
        aspect-ratio: 16 / 9;
    }
}

/* ==========================================
   EVENTOS · FORMULARIO DE CONTACTO
   ========================================== */

.eventos-contacto,
.eventos-contacto * {
    box-sizing: border-box;
}

.eventos-contacto {
    width: 100%;
    margin: 0;
    padding: clamp(60px, 6.5vw, 130px) 0;
    background: #264d38;
    color: #fff;
    scroll-margin-top: 100px;
}

.eventos-contacto .eventos-contacto-contenedor {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(50px, 9vw, 180px);
    width: 80%;
    max-width: 1700px;
    margin: 0 auto;
}

.eventos-contacto .eventos-contacto-texto,
.eventos-contacto .eventos-contacto-derecha {
    min-width: 0;
}

/* Columna izquierda */

.eventos-contacto .eventos-contacto-titulo {
    margin: 0 0 50px;
    padding: 0;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    font-size: clamp(36px, 3.2vw, 66px);
    font-weight: 700;
    line-height: 1;
}

.eventos-contacto .eventos-contacto-descripcion {
    color: #fff;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.eventos-contacto .eventos-contacto-descripcion p {
    margin: 0 0 24px;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.eventos-contacto .eventos-contacto-descripcion > :last-child {
    margin-bottom: 0;
}

.eventos-contacto .eventos-contacto-descripcion a {
    color: inherit;
    text-decoration: underline;
}

/* Columna derecha */

.eventos-contacto .eventos-contacto-derecha {
    padding-top: 50px;
}

.eventos-contacto .eventos-contacto-subtitulo {
    margin: 0 0 28px;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}

/* Contact Form 7 */

.eventos-contacto .wpcf7,
.eventos-contacto .wpcf7-form {
    width: 100%;
    margin: 0;
    padding: 0;
}

.eventos-contacto .evento-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
}

.eventos-contacto .evento-form-campo {
    min-width: 0;
    margin: 0;
}

.eventos-contacto .evento-form-completo {
    grid-column: 1 / -1;
}

.eventos-contacto .evento-form-campo p,
.eventos-contacto .evento-form-enviar p {
    margin: 0;
    padding: 0;
}

.eventos-contacto .evento-form-campo label,
.eventos-contacto .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
    margin: 0;
}

/* Evita espacios de los saltos automáticos del plugin */

.eventos-contacto .evento-form-campo br {
    display: none;
}

/* Campos */

.eventos-contacto input[type="text"],
.eventos-contacto input[type="tel"],
.eventos-contacto input[type="email"],
.eventos-contacto select,
.eventos-contacto textarea {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 11px 12px;
    border: 0;
    border-bottom: 1px solid #a6b8ac;
    border-radius: 0;
    background: #315640;
    box-shadow: none;
    color: #fff;
    font-family: inherit;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
}

.eventos-contacto input[type="text"],
.eventos-contacto input[type="tel"],
.eventos-contacto input[type="email"],
.eventos-contacto select {
    height: 44px;
}

.eventos-contacto input::placeholder,
.eventos-contacto textarea::placeholder {
    color: #c2cec6;
    opacity: 1;
}

.eventos-contacto select {
    padding-right: 30px;
    cursor: pointer;
}

.eventos-contacto select option {
    background: #fff;
    color: #222;
}

.eventos-contacto textarea {
    height: 110px;
    min-height: 110px;
    resize: vertical;
}

.eventos-contacto input:focus-visible,
.eventos-contacto select:focus-visible,
.eventos-contacto textarea:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* Botón enviar */

.eventos-contacto .evento-form-enviar {
    margin-top: 30px;
}

.eventos-contacto input[type="submit"] {
    appearance: none;
    display: inline-block;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 10px 36px;
    border: 1px solid #a6b8ac;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    text-transform: capitalize;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.eventos-contacto input[type="submit"]:hover {
    background: #fff;
    color: #264d38;
}

.eventos-contacto input[type="submit"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.eventos-contacto select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    padding-right: 42px;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='12' viewBox='0 0 20 12'%3E%3Cpath d='M2 2l8 8 8-8' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 20px 12px;
}

/* Validación y respuesta: siempre visibles */

.eventos-contacto .wpcf7-not-valid-tip {
    display: block;
    margin-top: 7px;
    color: #ffd2cc;
    font-size: 14px;
    line-height: 1.4;
}

.eventos-contacto .wpcf7 form .wpcf7-response-output {
    margin: 24px 0 0;
    padding: 12px 16px;
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
}

/* Datos de contacto */

.eventos-contacto .eventos-contacto-datos {
    margin-top: 75px;
    color: #fff;
    font-family: 'Frank Ruhl Libre';
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.eventos-contacto .eventos-contacto-datos p {
    margin: 0 0 8px;
    color: inherit;
    font: inherit;
}

.eventos-contacto .eventos-contacto-datos a {
    display: block;
    width: fit-content;
    max-width: 100%;
    color: #fff;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.eventos-contacto .eventos-contacto-datos a:hover {
    text-decoration: underline;
}

/* Etiquetas accesibles, ocultas visualmente */

.eventos-contacto .evento-form-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Tablet */

@media (max-width: 1000px) {
    .eventos-contacto .eventos-contacto-contenedor {
        grid-template-columns: 1fr;
        gap: 45px;
        width: 88%;
    }

    .eventos-contacto .eventos-contacto-titulo {
        margin-bottom: 35px;
    }

    .eventos-contacto .eventos-contacto-derecha {
        padding-top: 0;
    }

    .eventos-contacto .eventos-contacto-datos {
        margin-top: 45px;
    }
}

/* Móvil */

@media (max-width: 600px) {
    .eventos-contacto {
        padding: 50px 0;
    }

    .eventos-contacto .eventos-contacto-titulo {
        font-size: 36px;
    }

    .eventos-contacto .eventos-contacto-descripcion {
        font-size: 16px;
        line-height: 1.45;
    }

    .eventos-contacto .evento-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .eventos-contacto .eventos-contacto-subtitulo {
        font-size: 26px;
    }

    .eventos-contacto .evento-form-enviar {
        margin-top: 30px;
    }

    .eventos-contacto .eventos-contacto-datos {
        font-size: 23px;
    }
}


/* TIENDA
//////////////////////////////////////////////////// */

body.woocommerce {padding-bottom: 2em;}
body.woocommerce-page .wrapper,
body.woocommerce .wrapper {background-color: #FFF; color: #000;}

body.woocommerce-page .sec-default .entry-header .grey svg *,
body.woocommerce .sec-default .entry-header .grey svg * {fill: #b2b2b2;}

.sec-product{margin-top: 9em;}

.shop-header {background:#f9f9f9 url('images/tienda/cabecera.jpg') no-repeat center; background-size: cover; padding: 8em 10% 4em}
.shop-header h1{color: #284e36;font-size: 6.5em}

.shop-header .entry-content {margin: 1em 0 0 0;}
.shop-header .entry-content h2{font-weight: 700;font-size: 1.7em;font-family: 'Frank Ruhl Libre';margin-top: 0;}

.shop-container {background:#f9f9f9;}
.shop-container .container {overflow: hidden;}
.shop-content{background-color: #f9f9f9;}


/* LISTADO */
/* CUADRÍCULA DE PRODUCTOS */

.shop-content ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-content ul.products::before,
.shop-content ul.products::after {
    display: none;
    content: none;
}

.shop-content ul.products li.product.zuasti-producto {
    display: flex;
    flex-direction: column;
    float: none;
    clear: none;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 30px 25px;
    border: 0;
    background: transparent;
    text-align: left;
}

.shop-content ul.products li.zuasti-producto:nth-child(3n) {
    border-right: 0;
}

/* Imagen */

.shop-content .zuasti-producto-imagen {
    display: block;
    margin-bottom: 18px;
    aspect-ratio: 4 / 3;
}

.shop-content ul.products li.zuasti-producto
.zuasti-producto-imagen img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
}

/* Información */

.shop-content .zuasti-producto-cuerpo {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.shop-content .zuasti-producto-titulo {
    margin: 0 0 7px;
    padding: 0;
    color: #315840;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.15;
}

.shop-content .zuasti-producto-titulo a {
    color: inherit;
    text-decoration: none;
}

.shop-content .zuasti-producto-titulo a:hover {
    text-decoration: underline;
}

.shop-content .zuasti-producto-descripcion {
    margin: 0 0 8px;
    color: #222;
    font-size: 14px;
    line-height: 1.3;
}

.shop-content .zuasti-producto-precio {
    margin: 0 0 18px;
    color: #315840;
    font-size: clamp(28px, 2.5vw, 42px);
    font-weight: 800;
    line-height: 1.1;
    font-family: 'Frank Ruhl Libre';
}

.shop-content .zuasti-producto-precio del {
    font-size: 0.65em;
    opacity: 0.6;
}

.shop-content .zuasti-producto-precio ins {
    background: transparent;
    text-decoration: none;
}

.shop-content .zuasti-producto-acciones {
    margin-top: auto;
    padding-top: 5px;
}

/* Compra */

.shop-content .zuasti-producto-compra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0;
}

.shop-content ul.products li.zuasti-producto
.zuasti-producto-acciones .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    max-width: 100%;
    margin: 0;
    padding: 12px 18px;
    border: 0;
    border-radius: 0;
    background: #294f39;
    color: #fff!important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
    font-family: 'Frank Ruhl Libre';
    text-transform: none;
}

.shop-content ul.products li.zuasti-producto
.zuasti-producto-acciones .button:hover {
    background: #1d3b29;
    color: #fff;
}

/* Cantidad */

.shop-content .zuasti-cantidad {
    display: inline-flex;
    align-items: stretch;
    height: 34px;
    border: 1px solid #999;
}

.shop-content .zuasti-cantidad .quantity {
    float: none;
    width: 42px;
    margin: 0;
}

.shop-content .zuasti-cantidad .quantity input.qty {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid #999;
    border-left: 1px solid #999;
    border-radius: 0;
    background: transparent;
    color: #294f39;
    font-size: 16px;
    line-height: normal;
    text-align: center;
    appearance: textfield;
    -moz-appearance: textfield;
}

.shop-content .zuasti-cantidad input::-webkit-inner-spin-button,
.shop-content .zuasti-cantidad input::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.shop-content .zuasti-cantidad-control {
    width: 30px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #294f39;
    font-size: 18px;
    cursor: pointer;
}

.shop-content .zuasti-cantidad-control:hover {
    background: #e5ebe6;
}

.shop-content .zuasti-producto a:focus-visible,
.shop-content .zuasti-producto button:focus-visible,
.shop-content .zuasti-producto input:focus-visible {
    outline: 2px solid #294f39;
    outline-offset: 3px;
}

/* TIENDA: ESTRUCTURA DEL CATÁLOGO */

.zuasti-catalogo {
    --tienda-verde: #294f38;
    --tienda-gris: #efefef;
}

.zuasti-catalogo .zuasti-catalogo-container {
    width: min(92%, 1600px);
    max-width: 1600px;
    margin-inline: auto;
    padding: 0;
}

/* CATEGORÍAS SUPERIORES */

.zuasti-categorias {
    margin-bottom: 30px;
}

.zuasti-categorias ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zuasti-categorias li {
    margin: 0;
    padding: 0 18px;
    border-right: 1px solid #aaa;
}

.zuasti-categorias li:last-child {
    border-right: 0;
}

.zuasti-categorias a {
    display: block;
    color: #333;
    font-size: 17px;
    line-height: 1.4;
    text-decoration: none;
}

.zuasti-categorias a:hover,
.zuasti-categorias a.is-active,
.zuasti-categorias a[aria-current="page"] {
    color: var(--tienda-verde);
    text-decoration: underline;
    text-underline-offset: 5px;
}

/* RECUENTO Y ORDENACIÓN */

.zuasti-catalogo-barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 40px;
    padding: 18px 25px;
    background: var(--tienda-gris);
}

.zuasti-catalogo-recuento {
    margin: 0;
    color: #333;
    font-size: 17px;
    line-height: 1.4;
}

.zuasti-catalogo .woocommerce-ordering {
    float: none;
    flex-shrink: 0;
    margin: 0;
}

.zuasti-catalogo .woocommerce-ordering select {
    box-sizing: border-box;
    width: 100%;
    max-width: 320px;
    min-height: 44px;
    margin: 0;
    padding: 8px 30px 8px 12px;
    border: 1px solid #aaa;
    border-radius: 0;
    background-color: transparent;
    color: #333;
    font: inherit;
    font-size: 15px;
}

/* LATERAL Y PRODUCTOS */

.zuasti-catalogo-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
    gap: 45px;
    padding-bottom: 70px;
}

.zuasti-filtros,
.zuasti-catalogo-resultados {
    min-width: 0;
}

.zuasti-filtros-form {
    margin: 0;
}

.zuasti-filtros-titulo {
    display: block;
    margin-bottom: 12px;
    color: var(--tienda-verde);
    font-size: 18px;
    font-weight: 600;
}

/* BUSCADOR */

.zuasti-buscador {
    display: flex;
    align-items: center;
    height: 46px;
    margin-bottom: 30px;
    border-bottom: 1px solid #777;
}

.zuasti-buscador input[type="search"] {
    box-sizing: border-box;
    flex: 1;
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 8px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #333;
    font: inherit;
    font-size: 16px;
}

.zuasti-buscador button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--tienda-verde);
    cursor: pointer;
}

/* CHECKBOXES */

.zuasti-filtros-categorias {
    min-width: 0;
    margin: 0 0 25px;
    padding: 0;
    border: 0;
}

.zuasti-filtros-categorias legend {
    margin-bottom: 16px;
    padding: 0;
    color: var(--tienda-verde);
    font-size: 18px;
    font-weight: 600;
}

.zuasti-filtro-opcion {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 13px;
    color: #333;
    font-size: 16px;
    line-height: 1.35;
    cursor: pointer;
}

.zuasti-filtro-opcion input[type="checkbox"] {
    appearance: auto;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--tienda-verde);
}

.zuasti-filtros-aplicar {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 12px 15px;
    border: 1px solid var(--tienda-verde);
    border-radius: 0;
    background: var(--tienda-verde);
    color: #fff;
    font: inherit;
    font-size: 16px;
    cursor: pointer;
}

.zuasti-filtros-aplicar:hover {
    background: #193c27;
}

.zuasti-filtros-limpiar {
    display: inline-block;
    margin-top: 15px;
    color: var(--tienda-verde);
    font-size: 15px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* CUADRÍCULA: CONSERVA LOS ESTILOS DE CADA TARJETA */

.zuasti-catalogo .zuasti-catalogo-resultados ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
}

.zuasti-catalogo .zuasti-catalogo-resultados ul.products::before,
.zuasti-catalogo .zuasti-catalogo-resultados ul.products::after {
    display: none;
}

.zuasti-catalogo .zuasti-catalogo-resultados ul.products li.product {
    float: none;
    clear: none;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    margin: 0;
}

.zuasti-catalogo .zuasti-catalogo-resultados ul.products li.product:nth-child(3n) {
    border-right: 0;
}

/* PAGINACIÓN */

.zuasti-catalogo .woocommerce-pagination {
    margin-top: 40px;
    text-align: center;
}

.zuasti-catalogo .woocommerce-pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.zuasti-catalogo .woocommerce-pagination ul.page-numbers li {
    float: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.zuasti-catalogo .woocommerce-pagination ul.page-numbers li a,
.zuasti-catalogo .woocommerce-pagination ul.page-numbers li span {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 42px;
    height: 42px;
    padding: 0 10px;
    border: 1px solid var(--tienda-verde);
    border-radius: 50%;
    background: transparent;
    color: var(--tienda-verde);
    font-size: 16px;
    text-decoration: none;
}

.zuasti-catalogo .woocommerce-pagination ul.page-numbers li .current,
.zuasti-catalogo .woocommerce-pagination ul.page-numbers li a:hover {
    background: var(--tienda-verde);
    color: #fff;
}

.zuasti-catalogo a:focus-visible,
.zuasti-catalogo button:focus-visible,
.zuasti-catalogo input:focus-visible,
.zuasti-catalogo select:focus-visible {
    outline: 2px solid var(--tienda-verde);
    outline-offset: 3px;
}

/* TABLET */

@media (max-width: 1100px) {

    .zuasti-catalogo-layout {
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 25px;
    }

    .zuasti-catalogo .zuasti-catalogo-resultados ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zuasti-catalogo .zuasti-catalogo-resultados ul.products li.product:nth-child(3n) {
        border-right: 1px solid var(--tienda-verde);
    }

    .zuasti-catalogo .zuasti-catalogo-resultados ul.products li.product:nth-child(2n) {
        border-right: 0;
    }
}

/* MÓVIL */

@media (max-width: 767px) {

    .zuasti-categorias ul {
        justify-content: flex-start;
    }

    .zuasti-categorias li {
        padding-inline: 12px;
    }

    .zuasti-categorias a {
        font-size: 15px;
    }

    .zuasti-catalogo-barra {
        flex-direction: column;
        align-items: stretch;
        padding: 18px;
    }

    .zuasti-catalogo .woocommerce-ordering select {
        max-width: none;
    }

    .zuasti-catalogo-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .zuasti-filtros-categorias {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 20px;
    }

    .zuasti-filtro-opcion {
        margin: 0;
    }

    .zuasti-filtros-aplicar {
        width: auto;
        min-width: 180px;
    }
}

@media (max-width: 480px) {

    .zuasti-catalogo .zuasti-catalogo-resultados ul.products {
        grid-template-columns: 1fr;
    }

    .zuasti-catalogo .zuasti-catalogo-resultados ul.products li.product,
    .zuasti-catalogo .zuasti-catalogo-resultados ul.products li.product:nth-child(3n) {
        border-right: 0;
    }
}

/* Adaptación a pantallas pequeñas */

@media (max-width: 1000px) {
    .shop-content ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-content ul.products li.zuasti-producto:nth-child(3n) {
        border-right: 1px solid #315840;
    }

    .shop-content ul.products li.zuasti-producto:nth-child(2n) {
        border-right: 0;
    }
}

@media (max-width: 600px) {
    .shop-content ul.products {
        grid-template-columns: 1fr;
    }

    .shop-content ul.products li.product.zuasti-producto {
        padding: 30px 15px;
        border-right: 0;
    }
}

/* Ficha de producto */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)),
.woocommerce button.button.alt, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled]:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled]:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled]:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:disabled[disabled]:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt.disabled:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:disabled:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:disabled[disabled]:hover {background-color: #284e35; color: #fff; padding: .25em .8em;text-transform: initial;font-family: 'Frank Ruhl Libre';font-weight: 800;}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled[disabled], 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:disabled[disabled], 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:disabled, 
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:disabled[disabled]{opacity: 1;}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, 
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover, 
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:hover {background: none; color: #c0c7d3}


.woocommerce.single .shop-container > .container {overflow: hidden;}

.woocommerce div.product .product_title {font-size: 3.5em; font-family: 'Frank Ruhl Libre';font-weight: 900;}

.woocommerce ul.products li.product .price,
.woocommerce span.onsale,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, 
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: #284e35; font-size: 4em;display: inline-block; padding: 0 0;text-align: center;font-family: 'Frank Ruhl Libre';font-weight: 800;margin: .5em 0;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price del {color: #FFF;}
.woocommerce ul.products li.product .price,
.woocommerce span.onsale {padding: 0; position: absolute; font-size: 1.4em; width: 4em; height: 4em; border-radius: 100%; 
  line-height: 4em; top: -3.5em; right: -0.8em;}
.woocommerce span.onsale {width: 5em; height: 5em; line-height: 5em; }
.woocommerce span.onsale {top: 5em; right: auto; left: 1em;  background: linear-gradient(45deg,  #829cc3 0%,#374166 100%); color: #FFF; }
.woocommerce ul.products li.product span.onsale {font-size: 80%; top: -0.2em; left: -1em; }
.woocommerce ul.products li.product.sale .price del {display: none;}

.woocommerce div.product form.cart {margin-top: 2em}
.woocommerce div.product form.cart .variations td, 
.woocommerce div.product form.cart .variations th {background: none}
.woocommerce div.product form.cart .variations .label{display: block;vertical-align: inherit;}
.woocommerce div.product form.cart .variations select {text-transform: uppercase; font-family: 'Frank Ruhl Libre'}
.woocommerce div.product form.cart .reset_variations {font-size: .8em; display: block; width: 0; height: 2em; padding-left: 2.8em; margin-top: 1.4em; text-transform: uppercase; font-family: 'Frank Ruhl Libre';font-weight: 700;}
.woocommerce div.product form.cart .reset_variations::after {content: 'x'; font-family: 'Frank Ruhl Libre'; font-size: 1.4em; position: absolute; left: 0; top: 0; z-index: 60;
    width: 1.6em; height: 1.6em; background-color: #284e35; border-radius: 100%; line-height: 1.6em; text-align: center; }
.woocommerce div.product form.cart .woocommerce-variation-description {background: #000; color: #FFF; text-align: center; text-transform: uppercase; font-family: 'Frank Ruhl Libre';}
.woocommerce div.product form.cart .woocommerce-variation-description p {margin: 1em; padding: 1em;}
.woocommerce div.product form.cart .woocommerce-variation-price {margin-top: 1em; margin-bottom: 1em;}
h2.zuasti-producto-titulo{font-weight: 800;color: #284e35;position: relative;margin-bottom: .5em;}
.woocommerce-Price-amount.amount{color:#284e35;font-family: 'Frank Ruhl Libre';}
/*.woocommerce-variation-add-to-cart {margin-top: 2em;}*/
.woocommerce .quantity .qty {border: 2px solid #284e35;}
.woocommerce div.product form.cart .button {font-size: 1.1em; margin: 0 1em; padding-top: .42em; padding-bottom: .42em;}
.quantity{display: inline;}
/* Productos relacionados */
.prod-related {/*background: #121212*/}
.prod-related > .container,
.prod-related > .container section.products {overflow: visible;}
.prod-related .products > h2 {color:#000;font-size: 4em; padding-bottom: .3em;font-family: 'Frank Ruhl Libre';font-weight: 800;}
.woocommerce ul.products li.product a img{border: 1px solid #ccc;}
.zuasti-producto-cuerpo,
.zuasti-producto-cuerpo a{color: #000!important;}
.woocommerce div.product p.stock{font-size: 1em;font-family: 'Frank Ruhl Libre';font-weight: 800;color: #000;}
/*.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {font-size: 1.8em;}*/

/* Error */
.woocommerce-error, .woocommerce-info, .woocommerce-message {border: 0; font-family: 'zuasti-Bold'; color: #FFF; background-color: #000;}
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {font-family: 'icons'; content: '\e81e'; font-size: 120%; line-height: 80%}
.woocommerce-info::before {color: #BFC7D3}
.woocommerce-message::before {color: #b2b2b2}
.woocommerce-error::before {color: #ff250b}
.woocommerce-error a, .woocommerce-info a, .woocommerce-message a {color: #FFF}
ul.woocommerce-error, ul.woocommerce-info, ul.woocommerce-message {margin-left: 0; margin-right: 0}
ul.woocommerce-error li::before, ul.woocommerce-info li::before, ul.woocommerce-message li::before {display: none;}

.single-product .woocommerce-error, .single-product .woocommerce-info, .single-product .woocommerce-message {padding-top: 2.5em;}
.single-product .woocommerce-error::before, .single-product .woocommerce-info::before, .single-product .woocommerce-message::before {top: 2.2em;}
.single-product .woocommerce-error a.button, .single-product .woocommerce-info a.button, .single-product .woocommerce-message a.button {margin-top: 0; text-decoration: none;}

.select2-results__options {color: #000}

/* Carrito en menú */
.cart-navigation { position: fixed; top: 48px; right: 100px; z-index: 600; color: #7c7c7c}
.cart-navigation a {color: #7c7c7c}
.cart-navigation i {margin-right: 0.35em}
.cart-navigation.dark-theme a,
body.menu-open .cart-navigation.light-theme,
body.menu-open .cart-navigation.light-theme a { color: #FFF !important;}

/* Carrito // Proceso de compra */
.wc-block-cart-items a,
.wc-block-cart .wc-block-cart-items th {font-family: 'zuastiBold'}
.wc-block-components-product-details.wc-block-components-product-details:last-of-type {margin-left: 2em;}

.woocommerce-MyAccount-content input[type=checkbox], 
.woocommerce-MyAccount-content input[type=radio],
.woocommerce-form-login__rememberme .woocommerce-form__input {opacity: 1; position: relative; width: auto; margin-right: .5em;}
.wc-block-components-radio-control .wc-block-components-radio-control__input {opacity: 1; }

.wc-block-components-order-summary .wc-block-components-panel__button:hover,
.wc-block-components-order-summary .wc-block-components-panel__button:focus {background: none}

.woocommerce ul.order_details {background: #000; color: #FFF; padding: 1.5em;}
.woocommerce ul.order_details li::before {display: none;}

.woocommerce form .form-row .input-checkbox {width: auto; position: static;}
input#ship-to-different-address-checkbox {position: static; width: auto; opacity: 1}
.woocommerce form .form-row .input-checkbox {opacity: 1;}
#add_payment_method #payment ul.payment_methods li input, .woocommerce-cart #payment ul.payment_methods li input, .woocommerce-checkout #payment ul.payment_methods li input {height: auto;}

.woocommerce form .form-row .woocommerce-input-wrapper .description {display: none !important;}

/* Payments */
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {background-color: #f5f5f5}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {border-bottom-color: #CCC}
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {background-color: #dedede}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {border-bottom-color: #dedede}

/* MANAGEMENT 
//////////////////////////////////////////////////// */
.management-top {background: url('images/management/top.jpg') no-repeat 0 0; background-size: 100%; padding-bottom: 19em;}
.management-header {margin: 9em 5% 0 5%}
.management-top .entry-summary {margin-left: 18%; margin-top: 4em;}

.management-bottom {overflow: visible;}
.management-bottom::before {height: 30em; background-color: #f2f3f3; top: -14em; left: -20%; width: 140%; -webkit-transform: rotate(-13deg); transform: rotate(-13deg); }

.management-members {position: relative; background: #FFF url('images/management/bottom.gif') no-repeat 0 0; background-size: 100%;}
.management-members > .container {position: relative; top: -7em;}
.management-members > .container::before {height: 82%; background-color: #000; width: 1px; top: 7%; left: 50%}
.management-members .member-item {align-items: center; position: relative;}
.management-members .member-item::before {height: 1.8em; width: 1.2em; background-color: #000; top: 6.8em; left: 50%; margin-left: -0.6em;}
.management-members .member-item span {display: block;}
.management-members .member-item a {color: #000;}
.management-members .member-item .member-title {line-height: 1}
.management-members .member-item:nth-child(odd) {flex-direction: row-reverse; text-align: right;}


/* AGENDA 
//////////////////////////////////////////////////// */
.agenda-top {position: relative; z-index: 20; overflow: visible;}
.agenda-top::after {height: 16em; background-color: #000; top: auto; bottom: -21em; left: -20%; width: 140%; -webkit-transform: rotate(6deg); transform: rotate(6deg); }
.agenda-top-ct {float: right; padding: 3em 0 0 2em; position: relative;z-index: 10}
.agenda-header {font-size: 64%}
.agenda-header .has-logo {float: right;margin-right: 3.6em;}
.agenda-header .has-logo.logo-br::after {right: -1.6em}
.agenda-top-ct .entry-summary {margin: 3em 0 0 45%}

.agenda-body {position: relative; z-index: 10; padding: 10em 0; 
  background-position: bottom left; background-size: cover; background-repeat: no-repeat; background-image: url('images/agenda.jpg'); min-height: 12em; }
.agenda-body > .agenda-container {background-color: rgba(0,0,0,.8);}
.agenda-container .event-item {margin: 0 2em; padding: 2em 0; border-bottom: 1px solid #FFF}
.agenda-container .event-item p {margin: 0}
.agenda-container .event-item .event-content {align-items: center;}
.agenda-container .event-item:last-of-type {border-bottom: 0}

.agenda-past {padding-bottom: 5em}
.agenda-past ul.row {padding-top: 2em}
.agenda-past .event-item {padding: .8em 0; border-top: 1px solid #c0c7d3}
.agenda-past .event-item.columns {justify-content: center; align-items: center;}
.agenda-past .event-item.columns .btn {margin-left: 1em; white-space: nowrap;}
.agenda-past .event-item span::after {content: ' ·'}
.agenda-past .event-item span:last-of-type::after {display: none;}
.agenda-past .event-item:first-of-type {border-top: 0}

/* BLOG / SALA DE PRENSA 
//////////////////////////////////////////////////// */
.sec-sala {background-color: #FFF}
.sec-sala .sala-header {background: #FFF url('images/prensa.jpg') no-repeat center; background-size: cover; padding-bottom: 8em;}
.sec-sala .sala-header .contacto-header {margin-top: 8em;}
.sec-sala .sala-header .col-1-5 {margin-left: 46%; margin-top: 3em;}

.noti-list {padding-bottom: 8em;}
.noti-list::before {height: 6em; background-color: #FFF; top: -4em; width: 140%; -webkit-transform: rotate(-2deg); transform: rotate(-2deg); }

.sec-sala .owl-nav {top: 7em;}

.noticia-item p {margin: .5em 0;}
.noticia-item .noticia-body {padding: .5em 1.3em 0.5em 0;}
.noticia-item .noticia-body .entry-content {padding: .5em 0;}

/* PARTNERS
//////////////////////////////////////////////////// */
.sec-partners {background: url('images/partners.jpg') no-repeat top center; background-size: cover;}
.partners-header {margin: 6em 4% 6em 9%;}
.partners-header .has-logo::after {background-size: 1.85em; left: -0.2em; top: 0.08em;}

.partners-main .mp-item {background-color: rgba(0,0,0,.5); margin: .5em 0}
.partners-main .mp-item::before {width: 1px; height: calc(100% - 8em); left: 50%; top: 4em; background-color: rgba(255,255,255,.6);}
.partners-main .mp-item:nth-child(even) .columns {flex-flow: row-reverse;} 
.partners-main .mp-item .mp-item-tit {font-size: 260%; padding: 1em 0; line-height: 1}
.partners-main .mp-item .nav-social {padding-top: 1em}
.partners-main .mp-item .nav-social ul.menu > li:first-of-type {padding-left: 0}
.partners-main .mp-item .nav-social ul.menu > li > a:hover {opacity: .6}
.partners-main .mp-item .img-globe {width: 20px;}

.partners-other {padding-top: 4em;}
.partners-other > .columns {flex-wrap: wrap}
.partners-other .op-item .op-item-tit {font-size: 160%; padding: 1em 0; line-height: 1}
.partners-other .op-item .op-item-logo img {max-height: 5em; max-width: 100%; width: auto}

/* CONTACTO
//////////////////////////////////////////////////// */

.sec-contacto {
    margin-top: -4em;
    --contacto-verde: #254f36;
    background: url('images/contacto/bg-form.jpg') 0 100% no-repeat;background-size: 100%;
}

/* BLOQUE SUPERIOR */

.sec-contacto .contacto-principal {
    position: relative;
    padding: clamp(80px, 9vw, 170px) 0
             clamp(90px, 10vw, 190px);
    background: #f4f4f4; 
    margin-top: 9em;
}

.sec-contacto .contacto-container {
    position: relative;
    box-sizing: border-box;
    width: min(100% - 40px, 680px);
    max-width: 680px;
    margin-inline: auto;
    padding: 0;
}

.sec-contacto .contacto-header {
    margin: 0 0 45px;
    padding: 0;
    text-align: center;
}

.sec-contacto .contacto-titulo {
    margin: 0;
    color: var(--contacto-verde);
    font-size: clamp(58px, 6.5vw, 120px);
    font-weight: 700;
    line-height: 1.05;
}

/* FORMULARIO */

.sec-contacto .contacto-formulario {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
}

.sec-contacto .contacto-formulario form {
    margin: 0;
}

.sec-contacto .contacto-campos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 80px;
}

.sec-contacto .contacto-campo {
    min-width: 0;
}

.sec-contacto .contacto-campo-completo {
    grid-column: 1 / -1;
}

.sec-contacto .contacto-campo p {
    margin: 0;
}

.sec-contacto .contacto-campo label {
    display: block;
    margin: 0;
    color: #252525;
    font-weight: 400;
    line-height: 1.3;text-transform: none;
    font-size: 1em;
}

.sec-contacto .contacto-campo .wpcf7-form-control-wrap {
    display: block;
}

.sec-contacto .contacto-campo input,
.sec-contacto .contacto-campo textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 5px 0;
    border: 0;
    border-bottom: 1px solid #252525;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #252525;
    font: inherit;
    font-size: 18px;
}

.sec-contacto .contacto-campo input {
    height: 30px;
}

.sec-contacto .contacto-campo textarea {
    height: 36px;
    min-height: 36px;
    resize: vertical;
}

.sec-contacto .contacto-campo input:focus-visible,
.sec-contacto .contacto-campo textarea:focus-visible {
    outline: 2px solid var(--contacto-verde);
    outline-offset: 4px;
}

/* PRIVACIDAD */

.sec-contacto .contacto-privacidad {
    margin-top: 40px;
    line-height: 1.5;
}

.sec-contacto .contacto-privacidad p {
    margin: 0;
}

.sec-contacto .contacto-privacidad .wpcf7-list-item {
    margin: 0;
}

.sec-contacto .contacto-privacidad label {
    display: inline-flex;
    align-items: flex-start;
    gap: 9px;
    cursor: pointer;
    text-transform: none;
}

.sec-contacto .contacto-privacidad input[type="checkbox"] {
    appearance: auto;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    margin: 3px 0 0;
    opacity: 1;
}

.sec-contacto .contacto-privacidad a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.sec-contacto span.wpcf7-list-item-label{padding-left: 2.2em;}

/* BOTÓN DE ENVÍO */

.sec-contacto .contacto-enviar {
    position: relative;
    margin-top: 40px;
    text-align: center;
}

.sec-contacto .contacto-enviar p {
    position: relative;
    display: inline-block;
    margin: 0;
}

.sec-contacto .contacto-enviar .wpcf7-submit {
    appearance: none;
    box-sizing: border-box;
    width: auto;
    min-width: 150px;
    margin: 0;
    padding: 14px 30px;
    border: 1px solid var(--contacto-verde);
    border-radius: 0;
    background: var(--contacto-verde);
    color: #fff;
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .2s;
}

.sec-contacto .contacto-enviar .wpcf7-submit:hover {
    background: #193c27;
}

.sec-contacto .contacto-enviar .wpcf7-submit:focus-visible {
    outline: 2px solid var(--contacto-verde);
    outline-offset: 4px;
}

.sec-contacto .contacto-enviar .wpcf7-submit:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.sec-contacto .contacto-enviar .wpcf7-spinner {
    position: absolute;
    top: 50%;
    margin: -12px 0 0 10px;
}

/* MENSAJES DEL FORMULARIO */

.sec-contacto .wpcf7-not-valid-tip {
    margin-top: 8px;
    font-size: 14px;
}

.sec-contacto .wpcf7-response-output {
    margin: 25px 0 0;
    padding: 12px;
    font-size: 15px;
}

/* MAPA */

.sec-contacto .contacto-map {
    position: relative;
    min-height: 490px;
}

.sec-contacto #map_div {
    width: 100%;
    height: 490px;
}

/* TARJETA DE CONTACTO */

.contacto-tarjeta {
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    box-sizing: border-box;
    width: 280px;
    padding: 35px 40px;
    background:#284e35;
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
}

.contacto-tarjeta .zuasti-svg{width: 3em;position: relative;margin-bottom: 1em;}

.contacto-tarjeta p {
    margin: 0;
}

.contacto-tarjeta a {
    color: #fff;
}

.contacto-como-llegar {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.contacto-tarjeta-enlaces {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    margin-top: 25px;
}

.contacto-tarjeta-enlaces a {
    overflow-wrap: anywhere;
    text-decoration: none;
}

.contacto-tarjeta-enlaces a:hover {
    text-decoration: underline;
}
.contacto-map{position: relative;}

/* RESPONSIVE */

@media (max-width: 767px) {

    .sec-contacto .contacto-principal {
        padding: 75px 0 85px;
    }

    .sec-contacto .contacto-header {
        margin-bottom: 35px;
    }

    .sec-contacto .contacto-campos {
        gap: 25px;
    }

    .sec-contacto .contacto-privacidad {
        font-size: 15px;
    }

    .sec-contacto #map_div {
        height: 360px;
    }

    .sec-contacto .contacto-map {
        min-height: 0;
    }

    .contacto-tarjeta {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        width: 100%;
        padding: 30px 25px;
    }
}

@media (max-width: 480px) {

    .sec-contacto .contacto-campos {
        grid-template-columns: 1fr;
    }
}

/* Mapa */
#map_div {width: 100%; height: 35em;}
.map-info {margin: 1em;}

button.si-close-button {width: 26px; height: 26px; padding: 0; position: absolute; opacity: 1}

.grecaptcha-badge {display: none !important;}

/* Formularios / FORMS
//////////////////////////////////////////////////////*/
input,
select,
textarea,
.sib-form .entry__field,
.sib-form .input {padding: .5em 0; background: none; color: #7c7c7c; width: 100%; border: none; border-bottom: 1px solid #000;
  outline: none !important; font-family: 'zuasti'; border-radius: 0;
}

textarea {resize: none; height: 5em;}

input[type="text"],input[type="search"], textarea {-webkit-appearance: none; resize:none;}
input[type="checkbox"] {display: inline; width: auto;}

input:focus,
textarea:focus {border-color: #979797 !important; text-transform: none;}

select:focus {box-shadow: none; outline: none; }


input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled:hover,
input[type="reset"]:disabled:hover,
input[type="submit"]:disabled:hover,
input[type="button"]:disabled:focus,
input[type="reset"]:disabled:focus,
input[type="submit"]:disabled:focus {opacity: .6;}


input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="button"]:disabled:hover,
input[type="reset"]:disabled:hover,
input[type="submit"]:disabled:hover,
input[type="button"]:disabled:focus,
input[type="reset"]:disabled:focus,
input[type="submit"]:disabled:focus {text-transform: uppercase; border-color: transparent !important;}

/* Alineación */
.text-center input,
.text-center select,
.text-center select option,
.text-center textarea {text-align: center}

/* Changing behaviour in Safari because of contacts-auto-fill*/
input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
    background-color:#979797 !important;
    margin-top: 4px !important;
    right: .5em !important;
    position: absolute !important;
    -webkit-transition: background-color .2s ease;
    -moz-transition: background-color .2s ease;
    transition: background-color .2s ease;
}

input::-webkit-contacts-auto-fill-button:hover,
input::-webkit-credentials-auto-fill-button:hover {
    background-color:#979797 !important;
}

input:-webkit-autofill, 
textarea:-webkit-autofill, 
select:-webkit-autofill{
    -webkit-box-shadow: 0 0 0 100000px #979797 inset !important;
    /*border-color: #FFF;*/
    -webkit-text-fill-color: #000 !important;
}

input::selection,
textarea::selection,
select::selection {-webkit-text-fill-color: #000 !important;}

option {-moz-appearance: none;}

select {width: 100%; background: transparent url('images/iconos/arrow-down-negro.svg') no-repeat 100%; background-size: 1.6em; 
  padding-right: 3em; padding-top: 0.6em;
  -webkit-appearance: none;
  -moz-appearance: none;
}

label {margin: .4em 0 0 0; /*text-transform: uppercase;*/ font-size: 80%;}
.sidebar .widget_search label,
.nolabels label,
.label {display: none;}

input[type=checkbox],
input[type=radio] {
  opacity: 0;
  position: absolute;
  z-index: 50;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.input {margin: 1em 0}

.checkbox label, .radio label {display: inline; text-transform: none; font-weight: 400; font-size: 100%;}

.entry-comments input[type=checkbox],
.acceptance input[type=checkbox] {
  opacity: 1;
  width: auto;
  height: auto;
  position: relative;
  display: inline-block;margin-right: 6px;
}

.acceptance label,
.entry-comments label {}



/* Campos agrupados */
div.group-input {display: flex; justify-content: space-between;}
div.group-input .input {width: 48%;}
div.group-input .input select {background-position: 97%; padding-left: 4%}

/*.input.acceptance {padding-bottom: 0;}*/
.acceptance input[type=checkbox] {opacity: 1; width: auto; height: auto; position: relative; display: inline-block; }
.acceptance span.wpcf7-list-item {margin-left: 0;}
.acceptance label {display: inline; text-transform: none; font-size: 100%; margin-right: 1em;}

/* Estilos del CONTACT 7 FORM */
div.wpcf7 {position: relative;}
.entry-content div.wpcf7 p.input {margin: 10px 0}
span.wpcf7-not-valid-tip {margin: 0; display: inline-block; background-color: #ff250b; text-align: center; padding: .25em .5em .2em; /*font-size: 80%; */
  margin-top: 0; color: #FFF; text-transform: none;}
.radio span.wpcf7-not-valid-tip {display: inline;}

span.wpcf7-not-valid-tip::before {font-family: 'icons';  padding-right: 4px; font-size: 80%; 
    display: inline-block; vertical-align: middle; }
div.wpcf7-validation-errors,
div.wpcf7-mail-sent-ok,
div.wpcf7-response-output {
    background: #ff250b; color: #FFF; border: 0 !important; bottom: 0; left: 0;  position: fixed; font-family: 'zuastiBold';
    width: 84%; z-index: 520; margin: 0 !important; padding: 2em 8% !important; line-height: 110%; text-align: center;
    -webkit-border-radius: 0;
    border-radius: 0;
  }
div.wpcf7-mail-sent-ok {background: #84e058; color: #000}
.wpcf7-spinner,
div.wpcf7 .ajax-loader {background: url('images/loading.svg') no-repeat center; 
  width: 50px; height: 50px; position: absolute; top: 0; left: 50%; margin: -50px 0 0 -25px; background-size: 50px; opacity: 1; }
.wpcf7-spinner::before,
.wpcf7 .ajax-loader::before {display: none;}

/* Placeholder */
::-webkit-input-placeholder {color: #999;}
:-moz-placeholder {color: #999; opacity: 1;}
::-moz-placeholder {color: #999; opacity: 1;}
:-ms-input-placeholder {color: #999;}

.widget ::-webkit-input-placeholder {color: #7b7b7b; } 
.widget :-moz-placeholder {color: #7b7b7b; opacity:  1; }
.widget ::-moz-placeholder {color: #7b7b7b; opacity:  1; }
.widget :-ms-input-placeholder {color: #7b7b7b; }
/* Search block */
.widget .search-block h3::before,
.widget.widget_search .widget-title::before,
.widget .search-block h3:hover::before,
.widget.widget_search .widget-title:hover::before {content: '\e817'; font-size: 110%; margin-top: 0; left: -1.4em; opacity: 1}
.widget .search-block h3.active::before {opacity: 0; left: 0}
.widget .search-block .wp-block-search .wp-block-search__inside-wrapper {display: block;}
.widget .search-block .wp-block-search .wp-block-search__button,
.widget.widget_search #searchsubmit {
    background: #000 url('images/icons/zoom-white.svg') no-repeat center center !important;
    background-size: 18px !important; padding: 0 !important; position: absolute; bottom: 0; right: 0; margin: 0; width: 40px !important; height: 100%;
    text-indent: -1500em; overflow: hidden; border: 0; z-index: 30;}
.widget .search-block .wp-block-search .wp-block-search__button:hover, 
.widget .search-block .wp-block-search .wp-block-search__button:focus,
.widget.widget_search #searchsubmit:hover,
.widget.widget_search #searchsubmit:focus {background-color: #7b7b7b !important;}






.prod-item.is-disabled {
    filter: grayscale(100%);
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.6;
}

.prod-item.is-disabled.grayscale {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
}
.prod-left.proyectos {background: url('images/producciones.jpg') no-repeat bottom left; background-size: 100%; min-height: 56em;background-color:#4b4358;}



/* =========================================
   FIX WOOCOMMERCE CHECKOUT
   Checkbox y radio buttons
   ========================================= */

/* Reset de estilos globales del tema */
.wc-block-checkout input[type="checkbox"],
.wc-block-checkout input[type="radio"] {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
    z-index: auto !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

/* Checkbox de WooCommerce */
.wc-block-checkout .wc-block-components-checkbox__input {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    position: relative !important;
}

/* Check interior SVG */
.wc-block-checkout .wc-block-components-checkbox__mark,
.wc-block-checkout .wc-block-components-checkbox svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
}

/* Radio buttons de métodos de envío/pago */
.wc-block-checkout .wc-block-components-radio-control__input,
.wc-block-checkout input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
}

/* Evita que los labels ocupen posiciones extrañas */
.wc-block-checkout .wc-block-components-checkbox label,
.wc-block-checkout .wc-block-components-radio-control label {
    position: relative !important;
}

/* Mantiene checkbox + texto alineados */
.wc-block-checkout .wc-block-components-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* TIENDA ONLINE. PÁGINA DE PRODUCTO. MINIATURAS */
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2){margin-top: 1em;}


/* LANDING */
/* LANDING ZUASTI */
.zu-landing {
    --zu-verde: #284f38;
    --zu-gris: #e5e5e3;
    --zu-claro: #f5f5f3;
    --zu-tinta: #171b17;
    color: var(--zu-tinta);
    background: #fff;
}

.zu-landing,
.zu-landing * {
    box-sizing: border-box;
}

.zu-landing [hidden] {
    display: none !important;
}

.zu-landing h1,
.zu-landing h2,
.zu-landing h3,
.zu-landing p {
    margin: 0;
}

.zu-landing h1,
.zu-landing h2,
.zu-landing h3 {
    line-height: .9;
    text-transform: none;
    font-weight: 800;
}

.zu-landing h2 {
    font-size: clamp(30px, 4vw, 56px);
}

.zu-landing img {
    display: block;
    max-width: 100%;
}

.zu-landing a {
    color: inherit;
}

.zu-landing a:focus-visible,
.zu-landing summary:focus-visible {
    outline: 3px solid #ba8545;
    outline-offset: 5px;
}

.zu-landing .zu-container {
    width: min(88%, 1280px);
    margin-inline: auto;
}

.zu-landing .zu-texto {
    font-size: 16px;
    line-height: 1.55;
}

.zu-landing .zu-texto > * + * {
    margin-top: 16px;
}

.zu-landing .zu-texto ul,
.zu-landing .zu-texto ol {
    padding-left:0;
    text-transform: uppercase;
    font-size: .9em;
    border-top: 2px solid #cccccc;padding-top: 1.5em;
}

.zu-landing .zu-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 44px;
    padding: 12px 24px;
    border: 1px solid var(--zu-verde);
    background: var(--zu-verde);
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
    text-decoration: none;
    transition: background .2s, color .2s;
    font-family: 'Frank Ruhl';
    font-weight: 600;
}

.zu-landing .zu-boton:hover {
    background: #fff;
    color: var(--zu-verde);
}

/* ENCABEZADO */
.zu-landing .zu-hero {
    position: relative;
    overflow: hidden;
    background: var(--zu-claro);
}

.zu-landing .zu-hero-fondo {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top right;
    pointer-events: none;
}

.zu-landing .zu-hero-contenido {
    position: relative;
    padding: clamp(70px, 6vw, 150px) 0;
}

.zu-landing .zu-hero-contenido .logo-header{padding-left: 0;margin-bottom: 5em;}
.zu-landing .zu-hero-contenido .logo-header .logo{height: 7em;}
.zu-landing .zu-hero .ct-content{margin-left: 16%;position: relative;float: left;margin-bottom: 5em;}
.zu-landing .zu-hero h1 {
    max-width: 850px;
    color: var(--zu-verde);
    font-size: clamp(42px, 6.5vw, 90px);
    line-height: .8;
    text-wrap: balance;
    display: inline-block;
}

.zu-landing .zu-hero-texto {
    max-width: 650px;
    margin: 24px 0 0 0;
    font-size: 25px;
    line-height: 1.4;
    font-family: 'Frank Ruhl';
    font-weight: 700;
}

/* PRESENTACIÓN */
.zu-landing .zu-presentacion {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zu-landing .zu-presentacion-contenido {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 28px;
    padding: clamp(35px, 7vw, 110px);
}

.zu-landing .zu-presentacion-contenido h2 {
    max-width: 500px;
}

.zu-landing .zu-presentacion-imagen {
    min-height: 440px;
}

.zu-landing .zu-presentacion-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ACTIVIDADES */
.zu-landing .zu-actividades {
    padding-top: 75px;
    background: var(--zu-gris);
}

.zu-landing .zu-seccion-cabecera {
    margin-bottom: 40px;
}

.zu-landing .zu-seccion-cabecera h2 {
    max-width: 650px;
    color: var(--zu-verde);
    margin-bottom: .5em;
    font-weight: 900;
}

.zu-landing .zu-seccion-cabecera p {
    max-width: 650px;
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 900;
}

.zu-landing .zu-tabs-lista {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.zu-landing .zu-tab {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    min-height: 295px;
    padding: 28px;
    border-top: 4px solid var(--zu-acento);
    background: #fff;
    text-decoration: none;
    transition: box-shadow .2s;
}

.zu-landing .zu-tab:hover,
.zu-landing .zu-tab[aria-selected="true"] {
    box-shadow: inset 0 -5px 0 var(--zu-acento);
}

.zu-landing .zu-tab-circulo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--zu-acento);
}

.zu-landing .zu-tab-titulo {
    font-size: clamp(22px, 2.2vw, 31px);
    font-weight: 800;
    font-family: 'Frank Ruhl Libre';
    margin-bottom: .2em;
}

.zu-landing .zu-tab-resumen {
    font-size: 15px;
    line-height: 1.4;
}

.zu-landing .zu-tab-mas {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    font-size: 14px;
}

.zu-landing .zu-tab-mas > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--zu-acento);
    border-radius: 50%;
}

.zu-landing .zu-tabs-paneles {
    margin-top:0;
}

.zu-landing .zu-panel {
    position: relative;
    overflow: hidden;
    min-height: 410px;
    padding: clamp(35px, 6vw, 85px);
    background: #fff;
}

.zu-landing .zu-panel + .zu-panel {
    margin-top: 20px;
}

.zu-landing .zu-panel-contenido {
    position: relative;
    z-index: 1;
    max-width: 800px;
}

.zu-landing .zu-panel h3 {
    margin-bottom: 28px;
    font-size: clamp(30px, 3.5vw, 46px);
}

.zu-landing .zu-panel-imagen {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 14%;
    max-height: 100%;
    object-fit: contain;
    object-position: bottom right;
    pointer-events: none;
}

.zu-landing .zu-panel:has(.zu-panel-imagen) .zu-panel-contenido {
    max-width: 75%;
}

/* PLANES */
.zu-landing .zu-planes {
    padding: 75px 0 90px;
    background: var(--zu-verde);
    color: #fff;
}

.zu-landing .zu-planes-titulo {
    margin-bottom: 45px;
}

.zu-landing .zu-planes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(25px, 7vw, 100px);
}

.zu-landing .zu-plan {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(28px, 4vw, 55px);
    background: #fff;
    color: var(--zu-tinta);
}

.zu-landing .zu-plan:nth-child(even) {
    background: #ededeb;
}

.zu-landing .zu-plan-antetitulo {
    margin-bottom: 8px;
    font-size: 15px;
    text-transform: uppercase;
    font-family: 'Martel Sans';
    color: #959595;
    font-weight: 900;
}

.zu-landing .zu-plan h3 {
    font-size: clamp(32px, 4vw, 48px);
    padding-top: 0;
}

.zu-landing .zu-plan-descripcion {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.45;
}

.zu-landing .zu-plan-precio {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 9px;
    margin: 30px 0;
}

.zu-landing .zu-plan-precio strong {
    font-size: clamp(45px, 6vw, 65px);
    line-height: 1;
    font-weight: 800;
    font-family: 'Frank Ruhl Libre';
}

.zu-landing .zu-plan-precio span {
    font-size: 18px;
    font-weight: 900;
    font-family: 'Frank Ruhl Libre';
}

.zu-landing .zu-plan-ventajas {
    margin-bottom: 30px;
}

.zu-landing .zu-plan > .zu-boton {
    margin-top: auto;
}

/* PROMOCIONES */
.zu-landing .zu-promociones {
    margin-top: 100px;
}

.zu-landing .zu-promociones .zu-seccion-cabecera h2 {
    color: #fff;
    font-size: clamp(28px, 3.2vw, 44px);
}

.zu-landing .zu-promociones-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(22px, 5vw, 75px);
}

.zu-landing .zu-promocion {
    display: flex;
    flex-direction: column;
    background: #416b50;
}

.zu-landing .zu-promocion-imagen {
    width: 100%;
    aspect-ratio: 1.9;
    object-fit: cover;
}

.zu-landing .zu-promocion-contenido {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    padding: 26px;
}

.zu-landing .zu-promocion h3 {
    font-size: 24px;
    font-family: 'Martel Sans';
    text-transform: uppercase;
}

.zu-landing .zu-promocion p {
    font-size: 15px;
    line-height: 1.5;
}

.zu-landing .zu-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    margin-top: auto;
    border-radius: 50%;
    background: #fff;
    color: var(--zu-verde);
    /*font-size: 14px;*/
    line-height: 1;
    text-decoration: none;
    font-family: 'Frank Ruhl Libre';
    font-weight: 700;
}
.zu-landing a:hover.zu-info{background:var(--zu-verde);color: #fff;}

/* EXPERIENCIAS */
.zu-landing .zu-experiencias {
    background: var(--zu-claro);
}

.zu-landing .zu-experiencias-cabecera {
    padding-block: 110px;
    text-align: right;
}

.zu-landing .zu-experiencias-cabecera h2 {
    max-width: 1050px;
    margin-left: auto;
    color: var(--zu-verde);
    font-size: clamp(40px, 6vw, 84px);
    text-wrap: balance;
}

.zu-landing .zu-experiencias-cabecera p {
    margin-top: 22px;
    font-size: 2.3em;
    font-weight: 700;
    font-family: 'Frank Rull Libre';
    font-weight: 900;
}

.zu-landing .zu-galeria {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zu-landing .zu-galeria-item {
    overflow: hidden;
    aspect-ratio: 1;
}

.zu-landing .zu-galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zu-landing .zu-cifras {
    padding: 60px 0 40px 0;
    background: var(--zu-verde);
    color: #fff;
}

.zu-landing .zu-cifras-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    text-align: center;
}

.zu-landing .zu-cifra strong,
.zu-landing .zu-cifra span {
    display: block;
}

.zu-landing .zu-cifra strong {
    font-size: clamp(25px, 3vw, 40px);
}

.zu-landing .zu-cifra span {
    margin-top: 5px;
    font-size: 16px;
    font-weight: 900;
}

/* PESTAÑAS DE ACTIVIDADES */
.zu-landing .zu-tabs {
    --zu-tabs-separacion: 36px;
}

.zu-landing .zu-tabs-lista {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 32px;
}

.zu-landing .zu-tab {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    min-height: 340px;
    padding: 36px 32px;
    border: 0;
    border-top: 4px solid var(--zu-acento);
    background: #fff;
    color: #171b17;
    text-decoration: none;
    box-shadow: none;
}

/* Anular la línea inferior del estilo anterior */
.zu-landing .zu-tab:hover,
.zu-landing .zu-tab.is-active,
.zu-landing .zu-tab[aria-selected="true"] {
    box-shadow: none;
}

/* Conexión entre la tarjeta activa y el panel */
.zu-landing .zu-tab[aria-selected="true"]::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: var(--zu-tabs-separacion);
    background: #fff;
    pointer-events: none;
}

.zu-landing .zu-tab-circulo {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    margin-bottom: 28px;
    border-radius: 50%;
    background: var(--zu-acento);
}

.zu-landing .zu-tab-titulo {
    display: block;
    margin-bottom: 20px;
    font-size: clamp(25px, 2.4vw, 36px);
    font-weight: 700;
    line-height: 1.1;
}

.zu-landing .zu-tab-resumen {
    display: block;
    margin-bottom: 32px;
    font-size: 16px;
    line-height: 1.35;
}

.zu-landing .zu-tab-mas {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    color: var(--zu-acento);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.zu-landing .zu-tab-mas > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: inherit;
    font-size: 25px;
    line-height: 1;
    transition: transform .2s;
}

.zu-landing .zu-tab:hover .zu-tab-mas > span {
    transform: translateX(3px);
}

/* PANEL INFERIOR */
.zu-landing .zu-tabs-paneles {
    margin-top: var(--zu-tabs-separacion);
    background: #fff;
}

.zu-landing .zu-panel {
    position: relative;
    overflow: hidden;
    min-height: 500px;
    margin: 0;
    padding: 70px 12% 90px;
    background: #fff;
}

.zu-landing .zu-panel + .zu-panel {
    margin-top: 0;
}

.zu-landing .zu-panel[hidden] {
    display: none !important;
}

.zu-landing .zu-panel-contenido {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.zu-landing .zu-panel:has(.zu-panel-imagen) .zu-panel-contenido {
    max-width: 80%;
}

.zu-landing .zu-panel h3 {
    margin: 0 0 40px;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
}

.zu-landing .zu-panel .zu-texto {
    font-size: 16px;
    line-height: 1.5;
}

.zu-landing .zu-panel-imagen {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: 20%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    object-position: right bottom;
    pointer-events: none;
}

/* TABLET: dos columnas, selección mediante borde interior */
@media (max-width: 1000px) {
    .zu-landing .zu-tabs-lista {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .zu-landing .zu-tab {
        min-height: 290px;
        padding: 28px;
    }

    .zu-landing .zu-tab[aria-selected="true"]::after {
        display: none;
    }

    .zu-landing .zu-tab[aria-selected="true"] {
        box-shadow: inset 0 -4px 0 var(--zu-acento);
    }

    .zu-landing .zu-panel {
        min-height: 400px;
        padding: 50px 7% 70px;
    }
}

/* MÓVIL */
@media (max-width: 560px) {
    .zu-landing .zu-tabs {
        --zu-tabs-separacion: 22px;
    }

    .zu-landing .zu-tabs-lista {
        gap: 14px;
    }

    .zu-landing .zu-tab {
        min-height: 260px;
        padding: 20px 16px;
    }

    .zu-landing .zu-tab-circulo {
        width: 44px;
        height: 44px;
        margin-bottom: 20px;
    }

    .zu-landing .zu-tab-titulo {
        margin-bottom: 14px;
        font-size: 22px;
    }

    .zu-landing .zu-tab-resumen {
        margin-bottom: 24px;
        font-size: 14px;
    }

    .zu-landing .zu-tab-mas {
        gap: 9px;
        font-size: 14px;
    }

    .zu-landing .zu-tab-mas > span {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
        font-size: 22px;
    }

    .zu-landing .zu-panel {
        min-height: 0;
        padding: 35px 24px 110px;
    }

    .zu-landing .zu-panel:has(.zu-panel-imagen) .zu-panel-contenido {
        max-width: 100%;
    }

    .zu-landing .zu-panel h3 {
        margin-bottom: 25px;
        font-size: 34px;
    }

    .zu-landing .zu-panel-imagen {
        width: 90px;
        max-height: 100px;
    }
}

/* PREGUNTAS FRECUENTES */
.zu-landing .zu-faq {
    padding: 100px 6% 140px;
    background: #fff;
}

.zu-landing .zu-faq-interior {
    max-width: 860px;
    margin-inline: auto;
}

.zu-landing .zu-faq h2 {
    margin-bottom: 40px;
    text-align: center;
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 900;
}

.zu-landing .zu-faq-item:nth-of-type(even) {
    background: #ececea;
}

.zu-landing .zu-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 28px;
    list-style: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 900;
}

.zu-landing .zu-faq-item summary::-webkit-details-marker {
    display: none;
}

.zu-landing .zu-faq-icono {
    position: relative;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.zu-landing .zu-faq-icono::before,
.zu-landing .zu-faq-icono::after {
    content: "";
    position: absolute;
    background: currentColor;
}

.zu-landing .zu-faq-icono::before {
    top: 7px;
    left: 0;
    width: 18px;
    height: 4px;
}

.zu-landing .zu-faq-icono::after {
    top: 0;
    left: 7px;
    width: 4px;
    height: 18px;
}

.zu-landing .zu-faq-item[open] .zu-faq-icono::after {
    display: none;
}

.zu-landing .zu-faq-respuesta {
    padding: 0 28px 25px;
}

/* CONTACTO */
.zu-landing .zu-contacto {
    position: relative;
    overflow: hidden;
    padding: 90px 0 130px;
    background: var(--zu-verde);
    color: #fff;
}

.zu-landing .zu-contacto-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 70px;
}

.zu-landing .zu-contacto-contenido h2 {
    max-width: 550px;
}

.zu-landing .zu-contacto-texto {
    max-width: 500px;
    margin-top: 25px;
    font-size: 17px;
    line-height: 1.5;
}

.zu-landing .zu-contacto-datos {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    margin-top: 50px;
}

.zu-landing .zu-contacto-datos a {
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.zu-landing .zu-contacto-formulario {
    padding: 40px;
    background: #fff;
    color: var(--zu-tinta);
}

.zu-landing .zu-contacto-formulario h3 {
    max-width: 420px;
    font-size: 25px;
    text-transform: uppercase;
    font-family: 'Martel Sans';
}

.zu-landing .zu-contacto-formulario > p {
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.4;
}

.zu-landing .zu-contacto-marca {
    position: absolute;
    right: 0;
    bottom: -.2em;
    left: 0;
    color: rgb(255 255 255 / 4%);
    font-size: clamp(130px, 28vw, 450px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    pointer-events: none;
}

/* CONTACT FORM 7 */
.zu-landing .zu-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
    margin-top: 30px;
}

.zu-landing .zu-form-completo {
    grid-column: 1 / -1;
}

.zu-landing .zu-form-grid label {
    display: block;
    font-size:.9em;
    font-family: 'Frank Ruhl Libre';
    text-transform: math-auto;
}

.zu-landing .zu-contacto-formulario .wpcf7-form-control-wrap {
    display: block;
}

.zu-landing .zu-contacto-formulario input[type="text"],
.zu-landing .zu-contacto-formulario input[type="tel"],
.zu-landing .zu-contacto-formulario input[type="email"] {
    display: block;
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 4px 0;
    border: 0;
    border-bottom: 1px solid #333;
    border-radius: 0;
    background: transparent;
    color: var(--zu-tinta);
    font: inherit;
}

.zu-landing .zu-contacto-formulario input:focus-visible {
    outline: 2px solid var(--zu-verde);
    outline-offset: 4px;
}

.zu-landing .zu-form-privacidad {
    margin: 25px 0;
    font-size:.8em;
    line-height: 1.5;
}

.zu-landing .zu-form-privacidad .wpcf7-list-item {
    margin: 0;
    padding-left: 2em;
}

.zu-landing .zu-form-privacidad input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-right: 7px;
    accent-color: var(--zu-verde);
    opacity: 1;
}

.zu-landing .zu-contacto-formulario input[type="submit"] {
    appearance: none;
    min-height: 44px;
    padding: 12px 24px;
    border: 0;
    border-radius: 0;
    background: var(--zu-verde);
    color: #fff;
    font: inherit;
    cursor: pointer;
    font-family: 'Frank Ruhl Libre';
    text-transform: initial;
    font-weight: 800;
}

/* RESPONSIVE */
@media (max-width: 1050px) {
    .zu-landing .zu-tabs-lista {
        gap: 16px;
    }

    .zu-landing .zu-tab {
        padding: 20px;
    }

    .zu-landing .zu-contacto-grid {
        gap: 35px;
    }

    .zu-landing .zu-contacto-formulario {
        padding: 28px;
    }
}

@media (max-width: 800px) {
    .zu-landing .zu-hero h1,
    .zu-landing .zu-hero-texto {
        margin-left: 0;
    }

    .zu-landing .zu-presentacion,
    .zu-landing .zu-contacto-grid {
        grid-template-columns: 1fr;
    }

    .zu-landing .zu-presentacion-imagen {
        min-height: 0;
        aspect-ratio: 1.4;
    }

    .zu-landing .zu-tabs-lista {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zu-landing .zu-tab {
        min-height: 245px;
    }

    .zu-landing .zu-planes-grid {
        gap: 22px;
    }

    .zu-landing .zu-promociones-grid {
        gap: 18px;
    }

    .zu-landing .zu-promocion-contenido {
        padding: 20px;
    }

    .zu-landing .zu-promocion h3 {
        font-size: 21px;
    }

    .zu-landing .zu-experiencias-cabecera {
        padding-block: 75px;
    }

    .zu-landing .zu-galeria {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zu-landing .zu-contacto {
        padding-bottom: 100px;
    }
}

@media (max-width: 560px) {
    .zu-landing .zu-hero-fondo {
        width: 65%;
        opacity: .35;
    }

    .zu-landing .zu-hero-texto {
        font-size: 17px;
    }

    .zu-landing .zu-actividades,
    .zu-landing .zu-planes {
        padding-top: 50px;
    }

    .zu-landing .zu-tab {
        gap: 15px;
        padding: 18px;
    }

    .zu-landing .zu-tab-circulo {
        width: 40px;
        height: 40px;
    }

    .zu-landing .zu-tab-titulo {
        font-size: 21px;
    }

    .zu-landing .zu-tab-resumen {
        font-size: 13px;
    }

    .zu-landing .zu-panel {
        min-height: 0;
        padding: 30px 25px 100px;
    }

    .zu-landing .zu-panel:has(.zu-panel-imagen) .zu-panel-contenido {
        max-width: 100%;
    }

    .zu-landing .zu-panel-imagen {
        width: 90px;
        max-height: 90px;
    }

    .zu-landing .zu-planes-grid,
    .zu-landing .zu-promociones-grid,
    .zu-landing .zu-form-grid {
        grid-template-columns: 1fr;
    }

    .zu-landing .zu-promociones {
        margin-top: 60px;
    }

    .zu-landing .zu-cifras-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .zu-landing .zu-faq {
        padding-block: 65px 80px;
    }

    .zu-landing .zu-faq-item summary {
        padding: 18px;
        font-size: 16px;
    }

    .zu-landing .zu-faq-respuesta {
        padding: 0 18px 22px;
    }

    .zu-landing .zu-contacto {
        padding-top: 55px;
    }
}

/* Ocultar los paneles inactivos */
.zu-landing .zu-panel[hidden] {
    display: none !important;
}

/* Eliminar el margen que tenían los paneles apilados */
.zu-landing .zu-panel + .zu-panel {
    margin-top: 0;
}

/* Identificar la pestaña activa */
.zu-landing .zu-tab.is-active {
    /*box-shadow: inset 0 -5px 0 var(--zu-acento);*/
}





/* HOME ZUASTI - FOTOGRAFÍAS ESTÁTICAS */

[data-zuasti-home-intro] img.imagen-left,
[data-zuasti-home-intro] img.imagen-right {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

/* LOGOTIPO */

[data-zuasti-home-intro] .zuasti-svg img {
    transform-origin: center center;
    will-change: transform, opacity;
}

