html{scroll-padding-top:80px}
body{overflow-x:hidden}
.main-navbar{box-shadow:0 2px 20px rgba(75,0,130,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.main-navbar.navbar-scrolled{box-shadow:0 4px 30px rgba(75,0,130,.25)}
.nav-links a{position:relative;overflow:hidden}
.nav-links a::before{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,#E0BBE4,#7B1FA2);transform:translateX(-50%);transition:width .3s ease}
.nav-links a:hover::before{width:100%}
.hero{animation:fadeIn 1.2s ease-in-out}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.hero-content{animation:slideUp 1s ease-out .3s both}
@keyframes slideUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.highlight-banner{box-shadow:0 8px 32px rgba(123,31,162,.3);transform:perspective(1000px) rotateX(0);transition:transform .4s ease,box-shadow .4s ease}
.highlight-banner:hover{transform:perspective(1000px) rotateX(2deg) translateY(-4px);box-shadow:0 12px 48px rgba(123,31,162,.4)}
.flyer-card{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,filter .3s ease}
.flyer-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 20px 60px rgba(123,31,162,.25);filter:brightness(1.05)}
.flyer-card::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(224,187,228,.1),rgba(123,31,162,.1));opacity:0;transition:opacity .3s ease;pointer-events:none;border-radius:10px}
.flyer-card:hover::after{opacity:1}
.flyer-image{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.flyer-card:hover .flyer-image{transform:scale(1.08)}
.carousel-arrow{background:rgba(75,0,130,.75);box-shadow:0 4px 20px rgba(0,0,0,.25);transition:all .3s cubic-bezier(.34,1.56,.64,1);color:#fff}
.carousel-arrow:hover{transform:translateY(-50%) scale(1.15);box-shadow:0 8px 32px rgba(75,0,130,.6);background:#7B1FA2;color:#fff}
.carousel-arrow:active{transform:translateY(-50%) scale(.95)}
.btn-primary,.btn-secondary,.btn-galeria{position:relative;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.btn-primary::before,.btn-secondary::before,.btn-galeria::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}
.btn-primary:hover::before,.btn-secondary:hover::before,.btn-galeria:hover::before{width:300px;height:300px}
.btn-primary:hover,.btn-secondary:hover,.btn-galeria:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px rgba(123,31,162,.35)}
.btn-primary:active,.btn-secondary:active,.btn-galeria:active{transform:translateY(-1px) scale(1.02)}
.gallery-image,.competitions-gallery-item{position:relative;overflow:hidden}
.gallery-image::before,.competitions-gallery-item::before{content:'';position:absolute;top:50%;left:50%;width:60px;height:60px;background:rgba(255,255,255,.9);border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1);z-index:1;pointer-events:none}
.gallery-image::after,.competitions-gallery-item::after{content:'\f002';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:24px;color:#4B0082;z-index:2;transition:transform .4s cubic-bezier(.34,1.56,.64,1) .1s;pointer-events:none}
.gallery-image:hover::before,.competitions-gallery-item:hover::before{transform:translate(-50%,-50%) scale(1)}
.gallery-image:hover::after,.competitions-gallery-item:hover::after{transform:translate(-50%,-50%) scale(1)}
.gallery-image img,.competitions-gallery-item img{transition:transform .5s cubic-bezier(.34,1.56,.64,1),filter .3s ease}
.gallery-image:hover img,.competitions-gallery-item:hover img{transform:scale(1.15);filter:brightness(1.1)}
.schedule-table{border-collapse:separate;border-spacing:0}
.schedule-table td,.schedule-table th{transition:all .3s ease}
.schedule-table tbody tr{transition:transform .2s ease}
.schedule-table tbody tr:hover{transform:scale(1.01);box-shadow:0 4px 12px rgba(123,31,162,.15)}
.schedule-table td:not(:empty):hover{background:linear-gradient(135deg,#E0BBE4,#d5b3db)!important;transform:scale(1.05);box-shadow:inset 0 2px 8px rgba(123,31,162,.2)}
.whatsapp-float{box-shadow:0 8px 32px rgba(37,211,102,.4);animation:floatPulse 3s ease-in-out infinite}
@keyframes floatPulse{0%,100%{transform:translateY(0) scale(1);box-shadow:0 8px 32px rgba(37,211,102,.4)}50%{transform:translateY(-8px) scale(1.05);box-shadow:0 16px 48px rgba(37,211,102,.6)}}
.whatsapp-float:hover{animation:none;transform:scale(1.15) rotate(10deg);box-shadow:0 12px 48px rgba(37,211,102,.7)}
.scroll-to-top{transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.scroll-to-top:hover{transform:translateY(-8px) scale(1.1) rotate(360deg);box-shadow:0 12px 40px rgba(75,0,130,.4)}
.modal{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.modal-content{animation:modalZoom .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 80px rgba(0,0,0,.5)}
@keyframes modalZoom{from{transform:scale(.7) rotate(-5deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.close-button,.prev-button,.next-button{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.34,1.56,.64,1)}
.close-button:hover{transform:scale(1.2) rotate(90deg);background:rgba(255,77,77,.9)}
.prev-button:hover,.next-button:hover{background:rgba(123,31,162,.9);transform:scale(1.1)}
.seminar-form{transition:box-shadow .3s ease}
.seminar-form:hover{box-shadow:0 12px 48px rgba(123,31,162,.2)}
.seminar-form input:focus,.seminar-form select:focus,.seminar-form textarea:focus{transform:scale(1.02);box-shadow:0 4px 20px rgba(123,31,162,.25)}
.format-card,.progress-card,.teacher-card,.benefit-item,.level-item{transition:all .4s cubic-bezier(.34,1.56,.64,1)}
.format-card:hover,.progress-card:hover,.teacher-card:hover,.benefit-item:hover,.level-item:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 16px 48px rgba(123,31,162,.2)}
section{animation:sectionFade 1s ease-out}
@keyframes sectionFade{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media (max-width:768px){
.nav-toggle{display:block!important;z-index:1002;position:relative;cursor:pointer;background:transparent;border:none;color:#fff;font-size:1.8em;padding:.5em}
.nav-toggle i{pointer-events:none}
.nav-links{display:none!important;flex-direction:column;position:absolute;top:60px;left:0;right:0;width:100%;background-color:#4B0082!important;padding:1em 0;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:1000;margin:0;gap:0}
.nav-links.nav-active{display:flex!important;animation:slideDown .3s ease}
@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.nav-links li{width:100%;list-style:none;margin:0}
.nav-links a{padding:1em 1.5em;display:block;text-align:center;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;transition:background .2s ease}
.nav-links a:hover{background:rgba(123,31,162,.3)}
.nav-links a::before{display:none}
.nav-links li:last-child a{border-bottom:none}
.navbar-container{position:relative}
}
