
/* ==========================================================
   DREAMY LASH CONGRESS — FINAL POLISH
   Only: custom cursor + mobile menu + mobile footer alignment.
   ========================================================== */

/* New custom cursor supplied by organizer */
.cursor{
  width:62px!important;
  height:62px!important;
  transform:translate(-10px,-10px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  filter:drop-shadow(0 5px 8px rgba(56,34,42,.18));
  transition:width .18s ease,height .18s ease,filter .18s ease!important;
}
.cursor img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  transform:none!important;
  filter:none!important;
  pointer-events:none;
}
.cursor.hover{
  width:72px!important;
  height:72px!important;
  filter:drop-shadow(0 7px 11px rgba(56,34,42,.24)) brightness(1.03)!important;
}

@media (max-width:880px){
  /* Mobile menu: fully opaque, clean and consistent with the site palette. */
  body.menu-open{overflow:hidden!important}
  body.menu-open .header{
    background:#fff8fb!important;
    border-bottom:1px solid rgba(105,29,62,.10)!important;
    box-shadow:0 12px 34px rgba(60,30,43,.10)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.menu-open .header .menu-toggle span,
  body.menu-open .header.scrolled .menu-toggle span{
    background:#5e3046!important;
  }
  .nav{
    inset:106px 0 0!important;
    width:100%!important;
    min-height:calc(100dvh - 106px)!important;
    padding:34px 24px max(42px,env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,#fff8fb 0%,#fff 58%,#f7f9ee 100%)!important;
    color:#5e3046!important;
    opacity:1!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:inset 0 1px 0 rgba(105,29,62,.08)!important;
    overflow-y:auto!important;
  }
  .nav>a{
    color:#5e3046!important;
    font-size:17px!important;
    line-height:1.2!important;
    text-align:center!important;
  }
  .nav>a:not(.nav-button):after{background:#c5d39e!important}
  .nav-button{
    background:linear-gradient(135deg,#e59cb7,#f0cdd3)!important;
    color:#fff!important;
    border-color:transparent!important;
    box-shadow:0 12px 30px rgba(173,95,126,.18)!important;
    min-width:min(280px,88vw)!important;
    text-align:center!important;
  }
}

@media (max-width:620px){
  .nav{
    inset:94px 0 0!important;
    min-height:calc(100dvh - 94px)!important;
    justify-content:center!important;
    gap:24px!important;
  }

  /* Footer: truly centered on phone, including all columns and bottom line. */
  .footer{
    padding:58px 0 28px!important;
    text-align:center!important;
  }
  .footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
    justify-items:center!important;
    align-items:start!important;
    text-align:center!important;
  }
  .footer .footer-grid>div{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .footer img{
    display:block!important;
    width:min(220px,72vw)!important;
    height:auto!important;
    margin:0 auto 8px!important;
  }
  .footer p,
  .footer small,
  .footer a{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .footer small{margin-bottom:10px!important}
  .footer a{width:max-content;max-width:100%!important}
  .footer-bottom{
    margin-top:38px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    text-align:center!important;
  }
  .footer-bottom span{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
  }
}
