/*
Theme Name: Unbroken Temple — Réplica local
Description: Réplica de unbrokenytemple.com con recursos locales y páginas editables en WordPress.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: unbroken-replica
*/
.elementor-invisible{visibility:visible!important}
.elementor-background-video-container{overflow:hidden}
.elementor-background-video-container iframe{opacity:1;transition:opacity .8s ease}
.elementor-background-video-container iframe.ut-video-hidden{opacity:0}
.elementor-background-video-container iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;max-width:none!important;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);pointer-events:none;border:0}
/* Sin foto de portada: mientras arranca el vídeo, fondo antracita liso. */
.elementor-background-video-container{background:#23282A}
.elementor-nav-menu--dropdown.replica-open{display:block!important;max-height:80vh!important;transform:none!important;overflow:auto!important}
.elementor-image-carousel-wrapper{overflow:auto!important;scrollbar-width:thin}
.elementor-image-carousel.swiper-wrapper{transform:none!important;display:flex!important;gap:0!important}
.elementor-image-carousel .swiper-slide{width:33.333333%;flex:0 0 33.333333%;margin:0!important;padding:0!important}
.elementor-image-carousel .swiper-slide figure{margin:0!important}
.elementor-image-carousel .swiper-slide img{display:block;width:100%}
.joinchat__box,.joinchat__woo-btn,.gtranslate_wrapper{display:none!important}
.joinchat__button{cursor:pointer}
.replica-form-note{color:inherit;font-size:14px;margin:20px 0}
@media(max-width:767px){.elementor-image-carousel .swiper-slide{width:85%;flex-basis:85%}}
@media(max-width:1024px){
 #page .elementor-location-header .elementor-nav-menu--dropdown.replica-open{position:fixed!important;left:0!important;right:0!important;top:76px!important;width:100vw!important;max-width:100vw!important;margin:0!important;background:#F4F5F5!important;z-index:10000}
 .elementor-location-header .elementor-nav-menu--dropdown.replica-open a{color:#23282A!important;padding:17px 24px!important;border-bottom:1px solid #d9d9d3}
}
@media(max-width:767px){#page .elementor-location-header .elementor-nav-menu--dropdown.replica-open{top:44px!important}}
/* Keep blog thumbnails independent of Elementor's JavaScript image-ratio setup. */
.elementor-2289 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:0!important;aspect-ratio:1;overflow:hidden;position:relative}
.elementor-2289 .elementor-posts-container .elementor-post__thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.elementor-2289 .elementor-post{display:flex;flex-direction:column;align-self:start}
.elementor-2289 .elementor-post__text{padding:0 4px 20px}
.elementor-2289 .elementor-element.elementor-element-90db0fe .elementor-post__title{font-size:23px;line-height:1.25;margin-bottom:14px}
.elementor-2289 .elementor-post__meta-data{color:#b9bbb5;font-size:13px;margin-bottom:14px}
.elementor-2289 .elementor-post__read-more{color:#fff!important;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.ut-blog-intro{margin-bottom:36px}
.ut-blog-intro h1{font-family:"Acid Grotesk",Arial,sans-serif;font-size:clamp(36px,5vw,60px);font-weight:700;line-height:1.1;color:#fff;margin:0}
/* Small brand accent, matching the original service pages. */
.elementor-1305 .elementor-element.elementor-element-cfe9454 .elementor-divider-separator{border-color:#F6D018}
/* Horario de clases (portada), entre el horario del centro y el de recepción. */
.ut-class-schedule{width:100%;max-width:640px;margin:0 auto 50px;color:#fff}
.ut-class-schedule .ut-cs-subtitle{margin:28px 0 6px;color:#F6D018;font-size:13px;letter-spacing:.2em;text-transform:uppercase;text-align:left}
.ut-class-schedule .ut-cs-subtitle:first-child{margin-top:0}
.ut-cs-row{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 20px;align-items:center;padding:11px 0;border-bottom:1px solid #ffffff2e;text-align:left}
.ut-cs-day{font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.ut-cs-day small{display:block;margin-top:3px;font-size:11px;letter-spacing:.12em;opacity:.65}
.ut-cs-times{font-size:17px;line-height:1.5}
.ut-cs-badge{display:inline-block;margin-left:8px;padding:2px 7px;background:#F6D018;color:#23282A;font-size:11px;letter-spacing:.14em;vertical-align:2px}
@media(max-width:600px){.ut-cs-row{grid-template-columns:1fr;gap:2px}.ut-cs-times{font-size:16px}}
/* Panel oscuro tras los tres horarios para que se lean bien sobre la foto. */
.elementor-1305 .elementor-element.elementor-element-ece54c5{background:rgba(27,31,33,.94);padding:56px clamp(22px,5vw,64px) 48px!important;max-width:900px;margin-inline:auto}
/* Block templates retain the imported layouts without extra theme spacing. */
.wp-site-blocks,.wp-block-template-part,.wp-block-post-content{margin:0;padding:0}
.wp-site-blocks>.hfeed.site{margin:0;padding:0}
.wp-block-image{margin:0}
.ut-post-grid .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 30px;list-style:none;padding:0;margin:0}
.ut-post-grid .wp-block-post-featured-image{margin:0 0 20px;aspect-ratio:1}
.ut-post-grid .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}
.ut-post-grid .wp-block-post-title{font-size:23px;line-height:1.25;margin:0 0 14px;font-weight:700}
.ut-post-grid .wp-block-post-title a{color:#d9d9d9;text-decoration:none}
.ut-post-grid .wp-block-post-date{font-size:13px;color:#b9bbb5;margin:0 0 14px}
.ut-post-grid .wp-block-read-more{font-size:14px;color:#fff;text-decoration:underline;text-underline-offset:4px}
.elementor-2289 .ut-blog-title{font-family:"Acid Grotesk",Arial,sans-serif;color:#fff;font-size:clamp(36px,5vw,60px);font-weight:700;margin:0 0 36px}
.ut-article-page{background:#23282A;color:#F4F5F5}
.ut-article-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:60px;padding:270px max(24px,calc((100% - 1120px)/2)) 64px;background-position:center;background-size:cover}
.ut-article-hero .wp-block-post-title{font-family:"Acid Grotesk",Arial,sans-serif;color:#fff;font-size:clamp(34px,4vw,56px);line-height:1.12;font-weight:700;margin:0 0 22px}
.ut-article-hero .wp-block-post-date{color:#d9d9d3;font-size:14px}
.ut-article-hero .wp-block-post-featured-image{margin:0}
.ut-article-hero .wp-block-post-featured-image img{width:100%;height:auto}
.ut-article-body{max-width:840px;margin:0 auto;padding:64px 28px;font-size:17px;line-height:1.85}
.ut-article-body h2,.ut-article-body h3,.ut-article-body h4,.ut-article-body p,.ut-article-body li{color:#F4F5F5}
.ut-article-body h2,.ut-article-body h3{margin:36px 0 20px}
.ut-article-body p{margin:0 0 22px}
.ut-article-body a{color:#F6D018}
@media(max-width:1024px){.ut-post-grid .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}.ut-article-hero{padding-top:190px;gap:30px}}
@media(max-width:767px){.ut-post-grid .wp-block-post-template{grid-template-columns:1fr}.ut-article-hero{grid-template-columns:1fr;padding:110px 24px 40px}.ut-article-body{padding:40px 24px}}

/* Primary club identity, shared across all page headers. */
.elementor-location-header .elementor-element-0eb2633{justify-content:center!important;gap:0!important}
.elementor-location-header .elementor-element-527806a{width:240px!important;max-width:65vw!important;margin-inline:auto!important}
.elementor-location-header .elementor-element-527806a img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain}
.ut-footer-brand{text-align:center;padding:36px 24px 12px!important;margin:0!important;background:#23282A}
.ut-footer-brand img{width:190px!important;height:auto!important;display:inline-block}
@media(max-width:767px){.elementor-location-header .elementor-element-527806a{width:190px!important}.ut-footer-brand img{width:160px!important}}
