/* Dharmayoga: solo lo que Elementor v4 no puede expresar con sus estilos
   (pseudo-elementos, animaciones, estados que cambia el JS y ajustes de los widgets clásicos del bucle).
   Todo lo demás (colores, tipos, espacios, columnas) está en Elementor: variables, clases globales y estilos de cada elemento. */

html{scroll-behavior:smooth}
section[id]{scroll-margin-top:110px}
*,::before,::after{box-sizing:border-box}
img{max-width:100%;height:auto}
body{margin:0;background:#FFFDF9;color:#2F1D14;font-family:"Archivo","Segoe UI",system-ui,sans-serif;font-size:17px;line-height:1.6;letter-spacing:.2px;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid #E2542A;outline-offset:3px;border-radius:4px}
.e-heading-base,.e-paragraph-base{margin:0}

/* Cabecera fija al hacer scroll (la barra de contacto se va) */
.elementor-location-header{position:sticky;top:calc(var(--dy-topbar,38px) * -1);z-index:50;transition:box-shadow .3s}
.admin-bar .elementor-location-header{top:calc(32px - var(--dy-topbar,38px))}
.dy-scrolled .elementor-location-header{box-shadow:0 1px 0 #EAD7C2}
.dy-navlink::after{content:"";position:absolute;left:.8em;right:.8em;bottom:.15em;height:2px;background:#E2542A;transform:scaleX(0);transition:transform .25s}
.dy-navlink:hover::after,.dy-navlink[aria-current]::after{transform:scaleX(1)}
.dy-navlink[aria-current]{color:#E2542A}
.dy-btn,.dy-navlink{white-space:nowrap}
[data-dy=burger] > *{transition:width .35s cubic-bezier(.2,.7,.2,1)}
[data-dy=burger]:hover > *{width:22px}

/* Capas que abre el JS: menú móvil, chat de WhatsApp y vídeo */
[data-dy=mnav]{opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s;overscroll-behavior:contain}
[data-dy=mnav].is-open{opacity:1;visibility:visible;transition:opacity .35s}
[data-dy=mnav] [data-rv-m]{opacity:0;translate:0 16px;transition:opacity .5s,translate .5s cubic-bezier(.2,.7,.2,1)}
[data-dy=mnav].is-open [data-rv-m]{opacity:1;translate:0 0}
[data-dy=mnav].is-open [data-rv-m]:nth-child(2){transition-delay:.1s}
[data-dy=mnav].is-open [data-rv-m]:nth-child(n+3){transition-delay:.2s}
[data-dy=mnav] .dy-mlink:active{color:#E2542A}
body.dy-menu-open{overflow:hidden}
.dy-menu-open .elementor-location-header{z-index:100}
[data-dy=wa-card]:not(.is-open),[data-dy=vmodal]:not(.is-open){display:none}
[data-dy=wa-card].is-open{animation:dy-pop .25s ease;transform-origin:bottom right}
@keyframes dy-pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
[data-dy=wa-btn]::after{content:"1";position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#E2542A;color:#fff;font:700 12px/20px "Archivo",sans-serif;text-align:center;border:2px solid #fff;box-sizing:content-box}
[data-dy=wa-btn].is-seen::after{display:none}
[data-dy=wa-btn]::before{content:"";position:absolute;inset:0;border-radius:50%;animation:dy-ring 2.6s infinite}
@keyframes dy-ring{0%{box-shadow:0 0 0 0 rgba(31,168,85,.45)}70%{box-shadow:0 0 0 16px rgba(31,168,85,0)}100%{box-shadow:0 0 0 0 rgba(31,168,85,0)}}
.s-wa-dot{animation:dy-online 1.8s infinite}
@keyframes dy-online{0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)}70%{box-shadow:0 0 0 6px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
[data-dy=vbox] iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
[data-dy=mbar]{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}

/* En el editor de Elementor se ven todas las capas para poder editarlas */
.elementor-editor-active [data-dy=mnav],.elementor-editor-active [data-dy=vmodal]{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;opacity:1;visibility:visible;display:flex!important}
.elementor-editor-active [data-dy=vmodal]{display:grid!important;min-height:300px}
.elementor-editor-active [data-dy=wa-card]{display:block}

/* Hero: entrada suave y lotos flotando */
@keyframes dy-rise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes dy-settle{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes dy-drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -14px;rotate:4deg}}
[data-dy=hero-text] > *{animation:dy-rise .9s cubic-bezier(.2,.7,.2,1) both}
[data-dy=hero-text] > :nth-child(2){animation-delay:.08s}
[data-dy=hero-text] > :nth-child(3){animation-delay:.16s}
[data-dy=hero-text] > :nth-child(4){animation-delay:.24s}
[data-dy=hero-text] > :nth-child(5){animation-delay:.32s}
[data-dy=hero-arch]{animation:dy-rise 1.1s .15s cubic-bezier(.2,.7,.2,1) both}
[data-dy=hero-img]{animation:dy-settle 2.4s cubic-bezier(.2,.7,.2,1) both}
.dy-lotus{pointer-events:none;animation:dy-drift 14s ease-in-out infinite}
.s-hero-lotus-2{animation-duration:18s;animation-delay:-6s}
[data-dy=play]::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid #E2542A;opacity:0;animation:dy-playring 3.2s 1.2s infinite}
@keyframes dy-playring{0%{opacity:.6;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.45)}}

/* Aparición al hacer scroll (lo activa el JS) */
.dy-js [data-rv]{opacity:0;translate:0 28px;transition:opacity .9s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.dy-js [data-rv].is-in{opacity:1;translate:0 0}
.dy-js [data-dy=rv-img] img{transform:scale(1.08);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.dy-js [data-dy=rv-img].is-in img{transform:scale(1)}
.elementor-editor-active [data-rv]{opacity:1!important;translate:none!important}

/* Detalles al pasar el ratón */
[data-dy=pillar] .e-svg-base{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
[data-dy=pillar]:hover .e-svg-base{transform:translateY(-4px) rotate(-6deg)}
[data-dy=ac]:hover img{transform:scale(1.05)}
[data-dy=ac]:hover > div:first-child{box-shadow:0 26px 40px -26px rgba(110,47,23,.55)}
[data-dy=ac]:hover h3,[data-dy=post]:hover .dy-post-title .elementor-heading-title{color:#E2542A}

/* Horario por días y testimonios (estado que cambia el JS) */
.dy-day[aria-selected=true]{background:#E2542A;border-color:#E2542A;color:#fff}
.dy-js [data-panel]:not(.is-active){display:none}
[data-dy=slide]{transition:opacity .6s}
.dy-js [data-dy=slide]:not(.is-on){opacity:0;visibility:hidden}
[data-dy=dots] button{width:11px;height:11px;border-radius:50%;border:1px solid #6E2F17;background:transparent;cursor:pointer;padding:0}
[data-dy=dots] button[aria-current=true]{background:#E2542A;border-color:#E2542A}

/* DHARMA con foto dentro */
[data-dy=bigword]{white-space:nowrap;user-select:none;-webkit-text-fill-color:transparent}

/* Novedades: widgets clásicos del bucle */
.dy-posts .elementor-loop-container{column-gap:30px}
.s-post-meta > .elementor-widget{width:auto;flex:none;max-width:none}
.dy-post-date .elementor-heading-title{text-transform:lowercase}
.dy-post-img,.dy-post-img .elementor-widget-container{height:100%}
.dy-post-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
[data-dy=post]:hover .dy-post-img img{transform:scale(1.05)}
.dy-post-title .elementor-heading-title{font:400 24.65px/1.3 "Gotu",Georgia,serif;color:#2F1D14;transition:color .3s}
.dy-post-cat .elementor-heading-title,.dy-post-date .elementor-heading-title{font:500 15px/1.4 "Archivo",sans-serif;color:#E2542A}
.dy-post-date .elementor-heading-title{font-weight:400;color:#7A6457}
[data-dy=post]:hover .s-post-rm-line{width:50px}
@media (max-width:1024px){.dy-posts{max-width:520px;margin-inline:auto}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.dy-js [data-rv]{opacity:1;translate:none}}
