/* Custom fonts (NYMC) */

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Light.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Light.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Light.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Light.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Light.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Light.svg#Inter') format('svg');
}
@font-face {
	font-family: 'Inter';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-LightItalic.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-LightItalic.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-LightItalic.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-LightItalic.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-LightItalic.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-LightItalic.svg#Inter') format('svg');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Regular.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Regular.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Regular.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Regular.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Regular.svg#Inter') format('svg');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Medium.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Medium.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Medium.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Medium.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Medium.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Inter18pt-Medium.svg#Inter') format('svg');
}

@font-face {
	font-family: 'League Spartan';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Light.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Light.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Light.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Light.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Light.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Light.svg#LeagueSpartan') format('svg');
}
@font-face {
	font-family: 'League Spartan';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Medium.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Medium.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Medium.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Medium.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Medium.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-Medium.svg#LeagueSpartan') format('svg');
}
@font-face {
	font-family: 'League Spartan';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-SemiBold.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-SemiBold.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-SemiBold.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-SemiBold.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-SemiBold.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/LeagueSpartan-SemiBold.svg#LeagueSpartan') format('svg');
}

@font-face {
	font-family: 'Bootilla';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Bootilla-Regular.eot');
	src: url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Bootilla-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Bootilla-Regular.woff2') format('woff2'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Bootilla-Regular.woff') format('woff'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Bootilla-Regular.ttf') format('truetype'),
		url('https://nymusiccenter.holaincompany.com/wp-content/uploads/2026/04/Bootilla-Regular.svg#Bootilla') format('svg');
}

/*# sourceURL=elementor-pro-custom-fonts-inline-css */


/* //////Generales */
@media screen and (min-width:1367px){
    .title_ny p span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 42px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
        .title_ny h1 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 42px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }

    .title_ny h2 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 28px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
}
@media screen and (min-width:1025px) and (max-width:1366px){
    .title_ny p span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 32px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
        .title_ny h1 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 32px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }

    .title_ny h2 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 24px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
}
@media screen and (max-width:1024px) and (min-width:768px){
    .title_ny p span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 30px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
        .title_ny h1 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 30px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
        .title_ny h2 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 26px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
}
@media screen and (max-width:767px){
    .title_ny p span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 26px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
        .title_ny h1 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 26px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
        .title_ny h2 span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
    }
}

.referral_program .title_ny p span{
        font-family: "Bootilla", Sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        font-style: italic !important; 
}

.hero_programs .column_absolute_right{
    position: absolute !important;
    width: 50% !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
}


/* ////Timeline */

.section_timeline .ue_timeline_item:nth-child(even) .ue_timeline_item_content .ue_timeline_item_content_main{
    text-align: left !important;
}

.section_timeline .ue_timeline_item:not(:has(.uc-active)) .ue_timeline_item_content_main{
    opacity: 0.5 !important;
    transition: opacity 0.3s ease; /* Opcional: añade una transición suave */
}

/* ///FIN Timeline */
/* ////Fin Generales */

/* /////MENU */

/* HEADER */
/* header.elementor-location-header{
    background: #000000 !important;
} */
.header{
    /* background: white; */
    height:105px !important;
    width: 100% !important;
    transition: all .2s linear!important;
    -webkit-transition: all .2s linear!important;
    -moz-transition: all .2s linear!important;
    /* background-color: #000000 !important; */
}

/* /////FIN GTRANSLATE */

.header-container.elementor-sticky--effects .header{
    /* NYMC: black bar removed on request; the header stays transparent when stuck */
    background: transparent !important;
        height: 80px!important;
    padding-top: 15px!important;
    padding-bottom: 15px!important;
    box-shadow: 0px 6px 30px -4px rgba(0,0,0,.05);
    transition: all .2s linear!important;
    -webkit-transition: all .2s linear!important;
    -moz-transition: all .2s linear!important;
}

.header .header-logo img {
    width: 100px!important;
    transition: all .2s linear!important;
    -webkit-transition: all .2s linear!important;
    -moz-transition: all .2s linear!important;
}


.header-container.elementor-sticky--effects .header .header-logo img {
    width: 90px!important;
    transition: all .2s linear!important;
    -webkit-transition: all .2s linear!important;
    -moz-transition: all .2s linear!important;
}


/* /////RESPONSIVE */
/* Solo aplicamos esto en pantallas de móvil y tablet (hasta 1024px) */
@media (max-width: 1024px) {
    
    /* Si el .header TIENE DENTRO un botón de menú activo, cambia el fondo */
    .header:has(.elementor-menu-toggle.elementor-active) {
        background-color: #000000 !important;
        transition: 0s linear !important;
        /* transition: background-color 0.3s ease; (Opcional: para que el cambio sea suave) */
    }
    .header .elementor-nav-menu--dropdown:not(.sub-menu){
        /* height: 100vh !important; */
        padding-top: 50px;
        padding-bottom: 100px;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        height: 100dvh !important;
        max-height: 100dvh !important; 
    }

        .header .elementor-nav-menu--dropdown .elementor-nav-menu{
        margin: auto !important;
    }
    .header .sub-menu.elementor-nav-menu--dropdown .menu-item a{
        font-size: 16px !important;
    }

}
/* ////FIN RESPONSIVE */

/* ////FIN MENU */


/* ////FACULTY */
.Classical .circle_container .circle_one{
    fill: none !important;
    stroke: #F9124C !important;
    transform-origin: 50% 50% !important; /* Giran sobre el centro exacto */
    stroke-dashoffset: -20;
    animation: none;
}
.Classical .especialidad{
    background: #F9124C !important;
}
.Jazz_and_Contemporary .circle_container .circle_one{
    fill: none !important;
    stroke: #4F91E0 !important;
    transform-origin: 50% 50% !important; /* Giran sobre el centro exacto */
    stroke-dashoffset: -20;
    animation: none;
}
.Jazz_and_Contemporary .especialidad{
    background: #4F91E0 !important;
}
.Classical.Jazz_and_Contemporary .circle_container .circle_one{
    fill: none !important;
    stroke: #F9124C !important;
    transform-origin: 50% 50% !important; /* Giran sobre el centro exacto */
    stroke-dashoffset: -20;
    animation: none;
}
.Classical.Jazz_and_Contemporary .especialidad{
    background: #F9124C !important;
}
.Dance .circle_container .circle_one{
    fill: none !important;
    stroke: #036439 !important;
    transform-origin: 50% 50% !important; /* Giran sobre el centro exacto */
    stroke-dashoffset: -20;
    animation: none;
}
.Dance .especialidad{
    background: #036439 !important;
}
.Musical_Theatre .circle_container .circle_one{
    fill: none !important;
    stroke: #FBB812 !important;
    transform-origin: 50% 50% !important; /* Giran sobre el centro exacto */
    stroke-dashoffset: -20;
    animation: none;
}
.Musical_Theatre .especialidad{
    background: #FBB812 !important;
}
.Dance.Musical_Theatre .circle_container .circle_one{
    fill: none !important;
    stroke: #036439 !important;
    transform-origin: 50% 50% !important; /* Giran sobre el centro exacto */
    stroke-dashoffset: -20;
    animation: none;
}
.Dance.Musical_Theatre .especialidad{
    background: #036439 !important;
}
/* //// FIN FACULTY */
/* /////Fotos circulos */
/* 1. Contenedor principal (Se queda igual, es el marco) */
.circle_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 650px; 
    margin: 0 auto;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
}

/* 2. El widget de la imagen: REDUCIDO */
/* Bajamos el porcentaje al 68% (r=34 * 2) para crear el hueco visual que buscas */
.circle_container .elementor-widget-image {
    width: 80% !important; /* MÁS PEQUEÑO para más 'aire' */
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: auto !important;
    padding: 0 !important;
    z-index: 1;
}

/* 3. La imagen real (Se queda igual) */
.circle_container .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
}

/* 4. El widget del SVG (Se queda igual) */
.circle_container .elementor-widget-html {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    z-index: 2;
}

.circle_container svg.trazos-svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

/* 5. BASE COMPARTIDA */
.circle_one, .circle_two {
    fill: none;
    stroke: #F9124C;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}

/* 6. circle_one: EL GRUESO (Giro simétrico) */
.circle_one {
    stroke-width: 8; 
    /* Longitud simétrica al trazo fino */
    stroke-dasharray: 40, 238; 
    animation: rotar-derecha 180s linear infinite;
}

/* 7. circle_two: EL FINO (Giro simétrico con más aire) */
.circle_two {
    stroke-width: 4; 
    /* El r=310 en el HTML con stroke-width: 4 en el CSS logran la separación visual */
    stroke-dasharray: 40, 238; 
    animation: rotar-izquierda 50s linear infinite;
}




.circle_container_two {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 650px; 
    margin: 0 auto;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
}

/* 2. El widget de la imagen: REDUCIDO */
/* Bajamos el porcentaje al 68% (r=34 * 2) para crear el hueco visual que buscas */
.circle_container_two .elementor-widget-image {
    width: 70% !important; /* MÁS PEQUEÑO para más 'aire' */
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: auto !important;
    padding: 0 !important;
    z-index: 1;
}

/* 3. La imagen real (Se queda igual) */
.circle_container_two .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
}

/* 4. El widget del SVG (Se queda igual) */
.circle_container_two .elementor-widget-html {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    z-index: 2;
}

.circle_container_two svg.trazos-svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}
.circle_three, .circle_four {
    fill: none;
    stroke: #F9124C;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}

/* 6. circle_one: EL GRUESO (Giro simétrico) */
.circle_three {
    stroke-width: 8; 
    /* Longitud simétrica al trazo fino */
    stroke-dasharray: 80, 250; 
    animation: rotar-derecha 180s linear infinite;
}

/* 7. circle_two: EL FINO (Giro simétrico con más aire) */
.circle_four {
    stroke-width: 4; 
    /* El r=310 en el HTML con stroke-width: 4 en el CSS logran la separación visual */
    stroke-dasharray: 180, 250; 
    animation: rotar-izquierda 50s linear infinite;
}

/* Salas (Steinway/Carnegie/Barcelona): anillo en movimiento, como el de Student Stories */
.elementor-element-37b13b3 .circle_three,
.elementor-element-8455fb6 .circle_three,
.elementor-element-b73afb9 .circle_three {
    transform: none;
    animation: rotar-derecha 180s linear infinite;
}
.elementor-element-37b13b3 .circle_four,
.elementor-element-8455fb6 .circle_four,
.elementor-element-b73afb9 .circle_four {
    transform: none;
    animation: rotar-izquierda 50s linear infinite;
}


/* JAZZ */
.circle_container_two.jazz .circle_three, 
.circle_container_two.jazz .circle_four {
    fill: none;
    stroke: #4F91E0;
    transform-origin: 50% 50%;
}

/* DANCE */
.circle_container_two.dance .circle_three, 
.circle_container_two.dance .circle_four {
    fill: none;
    stroke: #036439;
    transform-origin: 50% 50%;
}

/* MUSICAL */
.circle_container_two.musical .circle_three, 
.circle_container_two.musical .circle_four {
    fill: none;
    stroke: #FBB812;
    transform-origin: 50% 50%;
}


.circle_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 650px; 
    margin: 0 auto;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
}

/* 2. El widget de la imagen: REDUCIDO */
/* Bajamos el porcentaje al 68% (r=34 * 2) para crear el hueco visual que buscas */
.instruments_section .circle_container .elementor-widget-image {
    width: 80% !important; /* MÁS PEQUEÑO para más 'aire' */
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: auto !important;
    padding: 0 !important;
    z-index: 1;
}

/* 3. La imagen real (Se queda igual) */
.instruments_section .circle_container .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
}

/* 4. El widget del SVG (Se queda igual) */
.instruments_section .circle_container .elementor-widget-html {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    z-index: 2;
}

.instruments_section .circle_container svg.trazos-svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

/* 5. BASE COMPARTIDA */
.instruments_section.classical .circle_one, .instruments_section.classical .circle_two, .instruments_section.classical .circle_three {
    fill: none;
    stroke: #F9124C;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}
.instruments_section.jazz .circle_one, .instruments_section.jazz .circle_two, .instruments_section.jazz .circle_three {
    fill: none;
    stroke: #4F91E0;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}

.classical_music .circle_container_two.musical .circle_three, 
.classical_music .circle_container_two.musical .circle_four {
    fill: none;
    stroke: #F9124C;
    transform-origin: 50% 50%;
}
.jazz_music .circle_container_two .circle_three, 
.jazz_music .circle_container_two .circle_four {
    fill: none;
    stroke: #4F91E0;
    transform-origin: 50% 50%;
}

.dance_music .circle_container_two .circle_three, 
.dance_music .circle_container_two .circle_four {
    fill: none;
    stroke: #036439;
    transform-origin: 50% 50%;
}
.musical_music .circle_container_two .circle_three, 
.musical_music .circle_container_two .circle_four {
    fill: none;
    stroke: #FBB812;
    transform-origin: 50% 50%;
}
/* ---------------------------------------------------
   1. ARCO ARRIBA DERECHA (Línea media, corto)
   --------------------------------------------------- */
.instruments_section .circle_one {
  stroke-width: 2; 
  /* Trazo de 60px, resto vacío (asumiendo r="48" -> circunferencia ~301) */
  stroke-dasharray: 50, 310; 
  animation: rotar-arriba-der 20s linear infinite;
}

/* ---------------------------------------------------
   2. ARCO ABAJO IZQUIERDA (Línea media, largo)
   --------------------------------------------------- */
.instruments_section .circle_two {
  stroke-width: 4;
  /* Trazo más largo de 100px */
  stroke-dasharray: 40, 310; 
  animation: rotar-abajo-izq 25s linear infinite;
}

/* ---------------------------------------------------
   3. ARCO ABAJO DERECHA (Línea MUY gruesa, corto)
   --------------------------------------------------- */
.instruments_section .circle_three {
  stroke-width: 8; /* Grosor destacado para igualar tu imagen */
  stroke-dasharray: 30, 310; 
  animation: rotar-abajo-der 22s linear infinite;
}




.info_section .circle_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 650px; 
    margin: 0 auto;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
}

/* 2. El widget de la imagen: REDUCIDO */
/* Bajamos el porcentaje al 68% (r=34 * 2) para crear el hueco visual que buscas */
.info_section .circle_container .elementor-widget-image {
    width: 75% !important; /* MÁS PEQUEÑO para más 'aire' */
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: auto !important;
    padding: 0 !important;
    z-index: 1;
}

/* 3. La imagen real (Se queda igual) */
.info_section .circle_container .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
}

/* 4. El widget del SVG (Se queda igual) */
.info_section .circle_container .elementor-widget-html {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    z-index: 2;
}

.info_section .circle_container svg.trazos-svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

/* 5. BASE COMPARTIDA */
.info_section.dance .circle_one, .info_section.dance .circle_two {
    fill: none;
    stroke: #036439;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}
.info_section.musical .circle_one, .info_section.musical .circle_two {
    fill: none;
    stroke: #FBB812;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}

/* 6. circle_one: EL GRUESO (Giro simétrico) */
.info_section .circle_one {
    stroke-width: 8; 
    /* Longitud simétrica al trazo fino */
    stroke-dasharray: 80, 238; 
    animation: rotar-derecha 180s linear infinite;
}

/* 7. circle_two: EL FINO (Giro simétrico con más aire) */
.info_section .circle_two {
    stroke-width: 3; 
    /* El r=310 en el HTML con stroke-width: 4 en el CSS logran la separación visual */
    stroke-dasharray: 180, 238; 
    animation: rotar-izquierda 50s linear infinite;
}


/* ////////Faculty,etc */
.info_section_two .circle_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 650px; 
    margin: 0 auto;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
}

/* 2. El widget de la imagen: REDUCIDO */
/* Bajamos el porcentaje al 68% (r=34 * 2) para crear el hueco visual que buscas */
.info_section_two .circle_container .elementor-widget-image {
    width: 80% !important; /* MÁS PEQUEÑO para más 'aire' */
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: auto !important;
    padding: 0 !important;
    z-index: 1;
}

/* 3. La imagen real (Se queda igual) */
.info_section_two .circle_container .elementor-widget-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
}

/* 4. El widget del SVG (Se queda igual) */
.info_section_two .circle_container .elementor-widget-html {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    z-index: 2;
}

.info_section_two .circle_container svg.trazos-svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

/* 5. BASE COMPARTIDA */
.info_section_two .circle_one, .info_section_two .circle_two {
    fill: none;
    stroke: #F9124C;
    transform-origin: 50% 50%; /* Giran sobre el centro exacto */
}

/* 6. circle_one: EL GRUESO (Giro simétrico) */
.info_section_two .circle_one {
    stroke-width: 4; 
    /* Longitud simétrica al trazo fino */
    stroke-dasharray: 100, 250; 
    animation: rotar-derecha-info 180s linear infinite;
}

/* 7. circle_two: EL FINO (Giro simétrico con más aire) */
.info_section_two .circle_two {
    stroke-width: 8; 
    /* El r=310 en el HTML con stroke-width: 4 en el CSS logran la separación visual */
    stroke-dasharray: 70, 250; 
    animation: rotar-izquierda-info 50s linear infinite;
}




/* 8. Animaciones Mágicas Unificadas (Giro Opuesto Simétrico) */
@keyframes rotar-derecha {
    0% { transform: rotate(80deg); }
    100% { transform: rotate(-280deg); } 
}

@keyframes rotar-izquierda {
    0% { transform: rotate(220deg); }
    100% { transform: rotate(580deg); } 
}

/* ///FACUTLY ETC */
@keyframes rotar-derecha-info {
    0% { transform: rotate(80deg); }
    100% { transform: rotate(-280deg); } 
}

@keyframes rotar-izquierda-info {
    0% { transform: rotate(280deg); }
    100% { transform: rotate(640deg); } 
}

/* ///FIN FACULTY ETC */

@keyframes rotar-arriba-der {
  /* Empieza un poco antes de las 12 y dibuja hacia las 2 */
  0%   { transform: rotate(-180deg); }
  100% { transform: rotate(180deg); } /* Gira a la derecha */
}

@keyframes rotar-abajo-izq {
  /* Empieza pasadas las 6 y dibuja hacia las 9 */
  0%   { transform: rotate(100deg); }
  100% { transform: rotate(-260deg); } /* Gira a la izquierda */
}

@keyframes rotar-abajo-der {
  /* Empieza a las 4 y dibuja hacia las 6 */
  0%   { transform: rotate(35deg); }
  100% { transform: rotate(395deg); } /* Gira a la derecha */
}
/* /////FIN FOTOS CIRCULOS */


/* ///form NY */
/* ////FORMULARIO NY */
/* ///FORM CONTACT */
.form_nycenter input:focus:not([type="submit"]),
.form_nycenter textarea:focus,
.form_nycenter select:focus{
    outline: none ;         /* Desactiva el contorno */
    box-shadow: none !important;      /* Desactiva sombras */
    border: none ;        /* Elimina bordes */
    background: #ffffff !important;
    border: 0px solid #09304A !important;
    color: #09304A !important;
		outline: none !important; /* Quita el borde de resaltado */
			box-shadow: none !important; /* Quita posibles sombras externas (común en Chrome) */
	border-color: transparent !important;
}
.form_nycenter p{
    margin-bottom: 0;
}
.form_nycenter label{
    width: 100%;
    font-family: "League Spartan", Sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #ffffff;
}
.form_nycenter label:not(:first-child){
    margin-top: 20px;
}
@media screen and (min-width:1025px){
    .form_nycenter .input_row p{
        display: flex;
        gap: 10px;
    }
}
.form_nycenter .input_row.last{
    margin-bottom: 20px;
}
.form_nycenter .input_row p label{
    margin-top: 20px;
}

.form_nycenter input[type="text"],
.form_nycenter input[type="email"],
.form_nycenter input[type="tel"]{
    margin-bottom: 0px;
    width: 100%;
    font-family: "Inter", Sans-serif !important;
}
.form_nycenter input[type="text"],
.form_nycenter input[type="date"],
.form_nycenter input[type="email"],
.form_nycenter input[type="tel"]{
    background-color: #ffffff;
    color: #000000;
    font-weight: 300;
    font-size: 17px;
    border: 0;
    border: 0px solid #09304A !important;
    border-radius: 100px !important;
    padding: 6px 20px;
    width: 100%;
	  font-family: "Inter", Sans-serif !important;
		border-radius:0;
		box-shadow: none !important;
        margin-top: 5px;
}
@media screen and (max-width:767px){
    .form_nycenter input[type="text"],
    .form_nycenter input[type="email"],
    .form_nycenter input[type="tel"]{
        background-color: #ffffff;
        color: #000000;
        font-weight: 300;
        font-size: 17px;
        border: 0;
        border: 0px solid #09304A !important;
        border-radius: 100px !important;
        padding: 6px 20px;
        width: 100%;
        font-family: "Inter", Sans-serif !important;
            border-radius:0;
            box-shadow: none !important;
        /* margin-top: 24px; */
    }
}

/* Estilos base para el campo select */
.wpcf7-form select,
.wpcf7-select {
    background-color: #ffffff !important;
    color: #000000 !important;
    font-weight: 300 !important;
    font-size: 17px !important;
    border: 0px solid #09304A !important;
    border-radius: 100px !important; /* Bordes redondeados para igualar los otros campos */
    padding: 6px 20px !important;
    width: 100% !important;
    font-family: "Inter", Sans-serif !important;
    box-shadow: none !important;
    margin-top: 5px !important;
    
    /* Elimina el estilo nativo del navegador */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    
    /* Flecha personalizada */
    background-image: url("arrowselect.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 12px auto !important; /* Tamaño fijo de la flecha */
    
    padding-right: 45px !important; /* Espacio para que el texto no pise la flecha */
}

/* LA SOLUCIÓN: Mantener todos los valores (incluido el tamaño) al hacer clic */
.wpcf7-form select:focus,
.wpcf7-select:focus,
.wpcf7-form select:active,
.wpcf7-select:active {
    outline: none !important;
    background-image: url("arrowselect.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 12px auto !important; /* Esto evita el triángulo gigante */
}

/* Limpiar opciones nativas por si acaso */
.wpcf7-form select option,
.wpcf7-select option {
    background-image: none !important;
}

.form_nycenter textarea{
    background-color: #ffffff;
    color: #000000;
    font-weight: 300;
    font-size: 17px;
    border: 0;
    border: 0px solid #09304A !important;
    border-radius: 20px !important;
    padding: 6px 20px;
    width: 100%;
	font-family: "Inter", Sans-serif !important;
    border-radius:0;
	box-shadow: none !important;
    margin-top: 5px;
    height: 100px;
}

.form_nycenter ::placeholder{
    color:#09304A;
    font-family: "Inter", Sans-serif !important;
}
@media screen and (max-width:1024px){
    .form_nycenter input[type="text"],
    .form_nycenter input[type="email"],
    .form_nycenter input[type="tel"]{

        max-width: 100%;
        width: 100%;
    }
    .form_nycenter textarea{

        max-width: 100%;
        width: 100%;
    }
}
/* Legal */
.form_nycenter .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}
.form_nycenter .wpcf7-acceptance .wpcf7-list-item label {
	display: flex;
	align-items: center;
}
.form_nycenter .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
	font-size: 16px;
	font-family: "Inter", Sans-serif !important;
	font-weight: 300 !important;
	color: #09304A;
	line-height: 21px;
	margin-left: 32px;
}
.form_nycenter .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a {
	color: #09304A;
	text-decoration: none;
}
.form_nycenter .part2{
    margin-top: 32px;
}
.form_nycenter .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label, .form_nycenter .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a {
	color: #ffffff;
    font-size: 17px;
    font-weight: 300;
}
/* Ocultar el checkbox por defecto */
.form_nycenter input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    width: 0;
    height: 0;
}
/* Nuevo checkbox personalizado */
.form_nycenter .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border: solid 1px #ffffff;
    border-radius: 0;
}
/* Estilo checkbox checked */
.form_nycenter input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  border: solid 1px #ffffff;
}
/* Icono de check */
.form_nycenter input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 5px;
    width: 10px;
    height: 6px;
    border: solid 1px #ffffff;
    border-width: 0 0 2px 2px;
    transform: rotate(-45deg);
}
.form_nycenter .wpcf7-list-item-label::before, .form_nycenter input[type="checkbox"]:checked + .wpcf7-list-item-label::before, .form_nycenter input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	border-color: #ffffff;
}
.form_nycenter input[type="submit"]{
    
    padding: 15px 30px 11px 30px !important;
    border-radius: 100px;
    background: #F9124C !important;

    font-family: "League Spartan", Sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    text-transform: uppercase;
    color: #ffffff;
    margin-top: 30px;
	transition: 0.3s;
}
.form_nycenter input[type="submit"]:hover{
    background: #D80037 !important;
    color: #ffffff;
}


/* @media screen and (max-width:767px){
    .form_nycenter input[type="submit"]{
        width: 100%;
    }
} */

.form_nycenter .wpcf7-not-valid-tip{
    margin-top: 4px;
    font-size: 14px !important;
    color: #ffffff !important;
		background: transparent !important;
		box-shadow:none !important;
		font-family: "Inter", Sans-serif !important;
}

.wpcf7-response-output{
    color: #ffffff;
    font-family: "Inter", Sans-serif !important;
    font-size: 17px;
    font-weight: 500;
    border: 0 !important;
    padding: 0 !important;
}

/* ///FORM NY */

/* ///FORM REFERRAL */
 
.form_nycenter_referral input:focus:not([type="submit"]),
.form_nycenter_referral textarea:focus,
.form_nycenter_referral select:focus{
    outline: none ;         /* Desactiva el contorno */
    box-shadow: none !important;      /* Desactiva sombras */
    border: none ;        /* Elimina bordes */
    background: #105572 !important;
    border: 0px solid #09304A !important;
    color: #FAFAFA !important;
		outline: none !important; /* Quita el borde de resaltado */
			box-shadow: none !important; /* Quita posibles sombras externas (común en Chrome) */
	border-color: transparent !important;
}
.form_nycenter_referral p{
    margin-bottom: 0;
}
.form_nycenter_referral label{
    width: 100%;
    font-family: "League Spartan", Sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #105572;
}
.form_nycenter_referral label:not(:first-child){
    margin-top: 20px;
}
@media screen and (min-width:1025px){
    .form_nycenter_referral .input_row p{
        display: flex;
        gap: 10px;
    }
}
.form_nycenter_referral .input_row.last{
    margin-bottom: 20px;
}
.form_nycenter_referral .input_row p label{
    margin-top: 20px;
}

.form_nycenter_referral input[type="text"],
.form_nycenter_referral input[type="email"],
.form_nycenter_referral input[type="tel"]{
    margin-bottom: 0px;
    width: 100%;
    font-family: "Inter", Sans-serif !important;
}
.form_nycenter_referral input[type="text"],
.form_nycenter_referral input[type="date"],
.form_nycenter_referral input[type="email"],
.form_nycenter_referral input[type="tel"]{
    background-color: #105572;
    color: #FAFAFA;
    font-weight: 300;
    font-size: 17px;
    border: 0;
    border: 0px solid #09304A !important;
    border-radius: 100px !important;
    padding: 6px 20px;
    width: 100%;
	  font-family: "Inter", Sans-serif !important;
		border-radius:0;
		box-shadow: none !important;
        margin-top: 5px;
}
@media screen and (max-width:767px){
    .form_nycenter_referral input[type="text"],
    .form_nycenter_referral input[type="email"],
    .form_nycenter_referral input[type="tel"]{
        background-color: #105572;
        color: #FAFAFA;
        font-weight: 300;
        font-size: 17px;
        border: 0;
        border: 0px solid #09304A !important;
        border-radius: 100px !important;
        padding: 6px 20px;
        width: 100%;
        font-family: "Inter", Sans-serif !important;
            border-radius:0;
            box-shadow: none !important;
        /* margin-top: 24px; */
    }
}

/* Estilos base para el campo select */
.form_nycenter_referral .wpcf7-form select,
.form_nycenter_referral .wpcf7-select {
    background-color: #105572 !important;
    color: #FAFAFA !important;
    font-weight: 300 !important;
    font-size: 17px !important;
    border: 0px solid #09304A !important;
    border-radius: 100px !important; /* Bordes redondeados para igualar los otros campos */
    padding: 6px 20px !important;
    width: 100% !important;
    font-family: "Inter", Sans-serif !important;
    box-shadow: none !important;
    margin-top: 5px !important;
    
    /* Elimina el estilo nativo del navegador */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    
    /* Flecha personalizada */
    background-image: url("arrowselectwhite.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 12px auto !important; /* Tamaño fijo de la flecha */
    
    padding-right: 45px !important; /* Espacio para que el texto no pise la flecha */
}

/* LA SOLUCIÓN: Mantener todos los valores (incluido el tamaño) al hacer clic */
.form_nycenter_referral .wpcf7-form select:focus,
.form_nycenter_referral .wpcf7-select:focus,
.form_nycenter_referral .wpcf7-form select:active,
.form_nycenter_referral .wpcf7-select:active {
    outline: none !important;
    background-image: url("arrowselectwhite.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 12px auto !important; /* Esto evita el triángulo gigante */
}

/* Limpiar opciones nativas por si acaso */
.form_nycenter_referral .wpcf7-form select option,
.form_nycenter_referral .wpcf7-select option {
    background-image: none !important;
}

.form_nycenter_referral textarea{
    background-color: #105572;
    color: #FAFAFA;
    font-weight: 300;
    font-size: 17px;
    border: 0;
    border: 0px solid #09304A !important;
    border-radius: 20px !important;
    padding: 6px 20px;
    width: 100%;
	font-family: "Inter", Sans-serif !important;
    border-radius:0;
	box-shadow: none !important;
    margin-top: 5px;
    height: 100px;
}

.form_nycenter_referral ::placeholder{
    color:#FAFAFA;
    font-family: "Inter", Sans-serif !important;
}
@media screen and (max-width:1024px){
    .form_nycenter_referral input[type="text"],
    .form_nycenter_referral input[type="email"],
    .form_nycenter_referral input[type="tel"]{

        max-width: 100%;
        width: 100%;
    }
    .form_nycenter_referral textarea{

        max-width: 100%;
        width: 100%;
    }
}
/* Legal */
.form_nycenter_referral .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}
.form_nycenter_referral .wpcf7-acceptance .wpcf7-list-item label {
	display: flex;
	align-items: center;
}
.form_nycenter_referral .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
	font-size: 16px;
	font-family: "Inter", Sans-serif !important;
	font-weight: 300 !important;
	color: #09304A;
	line-height: 21px;
	margin-left: 32px;
}
.form_nycenter_referral .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a {
	color: #09304A;
	text-decoration: none;
}
.form_nycenter_referral .part2{
    margin-top: 32px;
}
.form_nycenter_referral .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label, .form_nycenter_referral .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a {
	color: #105572;
    font-size: 17px;
    font-weight: 300;
}
/* Ocultar el checkbox por defecto */
.form_nycenter_referral input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    width: 0;
    height: 0;
}
/* Nuevo checkbox personalizado */
.form_nycenter_referral .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 16px;
    height: 16px;
    border: solid 1px #105572;
    border-radius: 0;
}
/* Estilo checkbox checked */
.form_nycenter_referral input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  border: solid 1px #105572;
}
/* Icono de check */
.form_nycenter_referral input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 5px;
    width: 10px;
    height: 6px;
    border: solid 1px #105572;
    border-width: 0 0 2px 2px;
    transform: rotate(-45deg);
}
.form_nycenter_referral .wpcf7-list-item-label::before, .form_nycenter_referral input[type="checkbox"]:checked + .wpcf7-list-item-label::before, .form_nycenter_referral input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	border-color: #105572;
}
.form_nycenter_referral input[type="submit"]{
    
    padding: 15px 30px 11px 30px !important;
    border-radius: 100px;
    background: #F9124C !important;

    font-family: "League Spartan", Sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    text-transform: uppercase;
    color: #ffffff;
    margin-top: 30px;
	transition: 0.3s;
}
.form_nycenter_referral input[type="submit"]:hover{
    background: #D80037 !important;
    color: #ffffff;
}


/* @media screen and (max-width:767px){
    .form_nycenter_referral input[type="submit"]{
        width: 100%;
    }
} */

.form_nycenter_referral .wpcf7-not-valid-tip{
    margin-top: 4px;
    font-size: 14px !important;
    color: #105572 !important;
		background: transparent !important;
		box-shadow:none !important;
		font-family: "Inter", Sans-serif !important;
}

.form_nycenter_referral .wpcf7-response-output{
    color: #105572;
    font-family: "Inter", Sans-serif !important;
    font-size: 17px;
    font-weight: 500;
    border: 0 !important;
    padding: 0 !important;
}

/* ////FIN FORM REFERRAL */


/* ///PROGRAMS Botones */
.programs_seccion #e-n-tab-title-1570260031{
    color:#F9124C !important;
}
.programs_seccion #e-n-tab-title-1570260032{
    color:#4F91E0 !important;
}
.programs_seccion #e-n-tab-title-1570260033{
    color:#036439 !important;
}
.programs_seccion #e-n-tab-title-1570260034{
    color:#FBB812 !important;
}
/* ///Fin PROGrams botones */
/* ////DONATION */
.section_donation .givewp-donation-form{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
}

.section_donation *{
    font-family: "Inter", Sans-serif !important;
}
.section_donation button .givewp-fields-amount__level--selected{
        padding: 15px 30px 11px 30px !important;
    border-radius: 100px;
    background: #F9124C !important;

    font-family: "League Spartan", Sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 24px;
    text-transform: uppercase;
    color: #ffffff;
    margin-top: 30px;
	transition: 0.3s;
}
/* ////Fin donation */

/* Cambiar tipografía de la página de pedido recibido de WooCommerce */
.woocommerce-order-details, 
.woocommerce-customer-details,
.woocommerce-order-overview {
    font-family: "Inter", Sans-serif !important;
}

/* Cambiar el color y fuente de los títulos "Order details" y "Billing address" */
.woocommerce-order-details h2, 
.woocommerce-customer-details h2 {
    font-family: "Inter", Sans-serif !important;
    color: #000000 !important; /* Puedes cambiar este código por el color de tu marca */
}

/* Cambiar la tipografía de las etiquetas (Payment method, Subtotal, Total...) */
.woocommerce-table--order-details tfoot th {
    font-family: "Inter", Sans-serif !important;
    color: #000000 !important; /* Cambia el color si lo deseas (ahora es negro) */
    font-size: 15px !important;
    font-weight: 600 !important; /* Grosor de la letra */
}

/* Cambiar la tipografía de los valores (Pay in Store, $34.99...) */
.woocommerce-table--order-details tfoot td {
    font-family: "Inter", Sans-serif !important;
    color: #333333 !important; 
    font-size: 15px !important;
}

/* De paso, aplicar la misma fuente a los productos de arriba (Backpack x 1) */
.woocommerce-table--order-details tbody th,
.woocommerce-table--order-details tbody td {
    font-family: "Inter", Sans-serif !important;
}
.woocommerce-customer-details address{
	padding:0 !important;
	border:0 !important;
}
.woocommerce-order .woocommerce-order-overview.woocommerce-thankyou-order-details.order_details{
	padding:0 !important;
}

/* Mantener los bordes redondeados incluso cuando el desplegable está abierto */
.woocommerce form .form-row .select2-container--default.select2-container--open .select2-selection--single {
    border-bottom-left-radius: 30px !important; /* Ajusta este número al redondeo de tus otros campos */
    border-bottom-right-radius: 30px !important;
}

/* Fijar la altura para que no se deforme ni expanda al hacer clic */
.woocommerce form .form-row .select2-container--default .select2-selection--single {
    height: 50px !important; /* Ajusta a la altura que tengan los demás campos */
    display: flex !important;
    align-items: center !important;
}

/* Ajustar el texto interno para que no salte al fijar la altura */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* /////NYMC arc fade-in-right entrance (matches reference site animated image widget) */
@keyframes nymc-fade-in-right {
  0%   { opacity: 0; transform: translate3d(60px, -15px, 0) rotate(var(--nymc-rot, 0deg)); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) rotate(var(--nymc-rot, 0deg)); }
}
.nymc-fade-in-right {
  animation: nymc-fade-in-right 1s ease-out 0.2s both;
}

/* /////NYMC carousel arrows: white circle, brand-red outline and chevron */
.elementor-swiper-button {
  background: #fff !important;
  border: 2px solid #F9124C !important;
  color: #F9124C !important;
  box-shadow: 0 6px 18px rgba(249, 18, 76, .14) !important;
  transition: background .2s ease, color .2s ease;
}
.elementor-swiper-button svg,
.elementor-swiper-button i {
  color: #F9124C !important;
  fill: #F9124C !important;
}
.elementor-swiper-button:hover {
  background: #F9124C !important;
}
.elementor-swiper-button:hover svg,
.elementor-swiper-button:hover i {
  color: #fff !important;
  fill: #fff !important;
}
.elementor-swiper-button.swiper-button-disabled {
  opacity: .45;
}

/* Careers (home): una columna en móvil */
@media (max-width: 767px) {
    .nymc-careers-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* Student Stories: anillo giratorio alrededor de la foto (home, carrusel a7ada5c) */
.elementor-element-a7ada5c .elementor-widget-html div:has(> img) {
    isolation: isolate;
}
.elementor-element-a7ada5c .elementor-widget-html div:has(> img)::before {
    content: "";
    position: absolute;
    inset: -16px;
    border-radius: 50%;
    background: conic-gradient(#F9124C 0 215deg, transparent 215deg 360deg);
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px));
            mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px));
    animation: rotar-izquierda 40s linear infinite;
    pointer-events: none;
    z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
    .elementor-element-a7ada5c .elementor-widget-html div:has(> img)::before { animation: none; }
}

/* Oliver Miller (Jazz) - anillo azul (color de Jazz en el sistema de la web) */
.elementor-element-a7ada5c .elementor-element-4d70865 div:has(> img)::before {
    background: conic-gradient(#4F91E0 0 215deg, transparent 215deg 360deg);
}

/* Footer: iconos sociales en línea blanca (SVG de trazo) */
.nymc-social-outline .elementor-social-icon {
    background: transparent !important;
    border: 0 !important;
    color: #FFFFFF;
}
.nymc-social-outline .elementor-social-icon svg {
    fill: none !important;
    stroke: currentColor;
    transition: stroke .2s ease;
}
.nymc-social-outline .elementor-social-icon:hover,
.nymc-social-outline .elementor-social-icon:focus-visible {
    color: #F9124C;
}

/* Entradas al hacer scroll (assets/js/nymc.js): las mitades de una fila entran
   de lado, en horizontal; el resto sube desde abajo (reglas base en el Kit).
   El recorte horizontal evita que el deslizamiento abra scroll lateral. */
html,
body {
    overflow-x: clip;
}
body .nymc-reveal-side:not(.nymc-in) {
    transform: translate3d(var(--rx, 0px), 0, 0);
}

/* Anillo doble: el widget necesita ancho definido para que el aspect-ratio del
   anillo cuente en su altura; sin esto, en móvil la columna colapsaba a 0 y el
   círculo se montaba encima del texto. */
.elementor-widget:has(> .nymc-dualring),
.elementor-widget-container:has(> .nymc-dualring) {
    width: 100%;
}

/* Bloque de instrumentos invertido (segundo bloque de Classical y Jazz): texto a la
   izquierda, anillo a la derecha. En móvil la foto sigue arriba, como en el primero. */
.nymc-inst.nymc-inst-rev {
    grid-template-columns: 1.15fr .85fr;
}
.nymc-inst.nymc-inst-rev > .nymc-dualring {
    order: 2;
}
@media (max-width: 1024px) {
    .nymc-inst.nymc-inst-rev {
        grid-template-columns: 1fr;
    }
    .nymc-inst.nymc-inst-rev > .nymc-dualring {
        order: 0;
    }
}

/* Benefits (musica/danza): un solo anillo fino girando, como las salas */
.elementor-element-d795e25 .circle_four,
.elementor-element-70ad94d .circle_four {
    transform: none;
    animation: rotar-izquierda 50s linear infinite;
}

/* Faculty (r=40.4): el centro del arco fino queda justo enfrente del centro del grueso */
svg:has(> .circle_three[r="40.4"]) > .circle_three {
    animation: none;
    transform: rotate(160deg);
}
svg:has(> .circle_three[r="40.4"]) > .circle_four {
    animation: none;
    transform: rotate(-70.70deg);
}

/* Titulos sin mayusculas forzadas: se muestran tal cual estan escritos */
.elementor-heading-title,
.elementor-heading-title *,
.elementor-widget-html h2,
.elementor-widget-html h3,
.elementor-widget-html h4,
.elementor-widget-html h3 *,
.elementor-widget-html [style*="League Spartan"]:not(a):not(.elementor-button-text) {
    text-transform: none !important;
}

/* Nombres de las salas (Steinway Hall, Carnegie Hall, Barcelona Piano Academy), mas grandes */
.elementor-element-7d573b4 .elementor-heading-title,
.elementor-element-5def1b7 .elementor-heading-title,
.elementor-element-b4483ba .elementor-heading-title {
    font-size: 30px !important;
}

/* Hire a Musician: columna de texto mas ancha para que el titulo quepa en una linea */
@media (min-width: 1025px) {
    .elementor-element-nymchireizq {
        width: 660px !important;
        --width: 660px !important;
        flex: 0 0 660px !important;
    }
    .elementor-element-56d4534 .elementor-heading-title {
        white-space: nowrap;
    }
}

/* Subtitulos finos (Benefits of Learning an Instrument, Request a Professional Performance...): un poco mas grandes */
.elementor-element-bb13711 .elementor-heading-title,
.elementor-element-abb485e .elementor-heading-title,
.elementor-element-27c512b .elementor-heading-title,
.elementor-element-876ab4a .elementor-heading-title,
.elementor-element-15b38d2 .elementor-heading-title,
.elementor-element-0539b7b .elementor-heading-title,
.elementor-element-911854f .elementor-heading-title,
.elementor-element-1160ef8 .elementor-heading-title {
    font-size: 26px !important;
}

/* /programs/: los 4 programas en tabs (JS en functions.php) */
.page-id-314 .elementor-element-87df8d3,
.page-id-314 .elementor-element-fe421bd,
.page-id-314 .elementor-element-753e1de { display: none !important; }
.nymc-prog-oculto { display: none !important; }
.nymc-prog-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; max-width: 1140px; margin: 0 auto 50px; padding: 0 20px; scroll-margin-top: 120px; }
.nymc-prog-tabs button { font-family: "League Spartan", sans-serif; font-weight: 600; font-size: 18px; line-height: 1; padding: 16px 30px; border: 2px solid var(--c); border-radius: 999px; background: transparent; color: #1a1a1a; cursor: pointer; transition: background .25s, color .25s; }
.nymc-prog-tabs button:hover, .nymc-prog-tabs button:focus-visible { background: color-mix(in srgb, var(--c) 15%, transparent); color: #1a1a1a; }
.nymc-prog-tabs button.is-active { background: var(--c); color: #fff; }
@media (max-width: 767px) {
	.nymc-prog-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 30px; }
	.nymc-prog-tabs button { font-size: 15px; padding: 14px 10px; }
}

/* /programs/: en los 4 tabs, imagen a la izquierda y texto a la derecha */
@media (min-width: 1025px) {
	.page-id-314 :is(.elementor-element-6b1d7f8, .elementor-element-37aa546, .elementor-element-335ed17, .elementor-element-a9982c4),
	.page-id-314 :is(.elementor-element-6b1d7f8, .elementor-element-37aa546, .elementor-element-335ed17, .elementor-element-a9982c4) > .e-con-inner { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 60px !important; }
	.page-id-314 :is(.elementor-element-739d4ea, .elementor-element-3eb9d48, .elementor-element-f09acdd, .elementor-element-22d1695) { order: 1 !important; flex: 0 0 44% !important; width: 44% !important; --width: 44% !important; margin: 0 !important; }
	.page-id-314 :is(.elementor-element-a878734, .elementor-element-0cf6dc7, .elementor-element-8af976d, .elementor-element-0fe63ff) { order: 2 !important; flex: 1 1 0 !important; width: auto !important; --width: auto !important; margin: 0 !important; }
}
/* Barra de tabs de /programs/: sigue el degradado del separador de arriba (blanco -> #F0F0ED) y vuelve a blanco */
.nymc-prog-tabs { max-width: none; margin: 0; padding: 10px 20px 60px; background: linear-gradient(180deg, #F0F0ED 0%, #FFFFFF 100%); }
@media (max-width: 767px) { .nymc-prog-tabs { margin: 0; padding: 10px 16px 40px; } }
/* /programs/ en tabs: los 4 programas con el mismo fondo blanco para que los degradados de arriba y abajo casen con cualquier tab */
.page-id-314 #jazz-contemporary, .page-id-314 #musical-theatre { background-color: #FFFFFF !important; }
/* Musical Theatre: tabs Voice/Dance/Acting (no hay párrafo entre título y tabs) */
.elementor-element-nymctt9 { margin-top: 60px !important; }

/* ===== Flecha ↗ en todos los botones (21/10/2026) ===== */
.elementor-button:not(.elementor-menu-cart__toggle_button) .elementor-button-icon{overflow:hidden;display:inline-flex;align-items:center;justify-content:center}
body .elementor-button:not(.elementor-menu-cart__toggle_button) .elementor-button-icon svg{fill:currentColor;width:1.15em;height:1.15em;transform:translate(0,0)}
.elementor-button:not(.elementor-menu-cart__toggle_button):hover .elementor-button-icon svg,
.elementor-button:not(.elementor-menu-cart__toggle_button):focus-visible .elementor-button-icon svg{animation:nymc-flecha .55s cubic-bezier(.65,0,.25,1)}
.elementor-button:not(.elementor-menu-cart__toggle_button):active .elementor-button-icon svg{transform:translate(2px,-2px)}
@keyframes nymc-flecha{
  0%{transform:translate(0,0)}
  45%{transform:translate(115%,-115%)}
  45.01%{transform:translate(-115%,115%)}
  100%{transform:translate(0,0)}
}
/* Botón «Next step» del formulario por pasos */
.e-form__buttons__wrapper__button-next::after{content:"";display:inline-block;width:1.15em;height:1.15em;margin-left:10px;vertical-align:-.2em;background:currentColor;
  -webkit-mask:url(/wp-content/uploads/2026/10/nymc-arrow-up-right.svg) 0 0/100% 100% no-repeat;mask:url(/wp-content/uploads/2026/10/nymc-arrow-up-right.svg) 0 0/100% 100% no-repeat}
.e-form__buttons__wrapper__button-next:hover::after{animation:nymc-flecha-mask .55s cubic-bezier(.65,0,.25,1)}
@keyframes nymc-flecha-mask{
  0%{-webkit-mask-position:0 0;mask-position:0 0}
  45%{-webkit-mask-position:1.4em -1.4em;mask-position:1.4em -1.4em}
  45.01%{-webkit-mask-position:-1.4em 1.4em;mask-position:-1.4em 1.4em}
  100%{-webkit-mask-position:0 0;mask-position:0 0}
}
@media (prefers-reduced-motion:reduce){
  .elementor-button:not(.elementor-menu-cart__toggle_button) .elementor-button-icon svg,.e-form__buttons__wrapper__button-next::after{animation:none!important}
}

/* ===== Trial Lesson: precio de la variación y botón (21/10/2026) ===== */
.single-product .woocommerce-variation-price .price{color:#0A47C2;font-family:"League Spartan",sans-serif;font-size:28px;font-weight:600;line-height:1.2}
.single-product .woocommerce-variation-description p{font-size:14px;line-height:1.5;margin:0 0 12px}
.single-product .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:12px}
.single-product .woocommerce-variation-add-to-cart .quantity:has(input[type=hidden]){display:none}
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button{margin-left:0!important}

/* Círculos de programas: títulos en mayúsculas (petición NYMC 21/10/2026) */
.elementor-widget-html [style*="opacity:.78"] + [style*="League Spartan"][style*="text-transform:uppercase"]:not(a) {
	text-transform: uppercase !important;
}
