/* =========================
   LOCATOR: store locator / geo panel only
   ========================= */

/* Right panel flex + overlay stacking */
.geo__panel{
  position:absolute;
  top:0; right:0;
  height:100dvh;
  max-height:100dvh;
  width:min(480px,100%);
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:-2px 0 20px rgba(0,0,0,.12);
  transform:translateX(100%);
  transition:transform .3s ease;
  z-index:2;
}
.geo.is-open .geo__panel{ transform:translateX(0); }
.geo__overlay{ z-index:1; }

.geo.is-open .geo__overlay{ opacity:.6; }
.geo__overlay{
  background-image: url(https://thefragrance-academy.com/wp-content/uploads/2025/10/TF_RoyalCollectionPattern_4-scaled.jpg);
}

/* Slide animations */
.mfk-slide.anim-in-right.is-active,
.mfk-slide.anim-in-left.is-active{
  transition: transform .80s cubic-bezier(.22,.61,.36,1), opacity .60s ease;
  transform: translate3d(0,0,0);
  opacity:1;
}
.mfk-slide.anim-out-left{
  transition: transform .80s cubic-bezier(.22,.61,.36,1), opacity .60s ease;
  transform: translate3d(-12%,0,0);
  opacity:0;
}
.mfk-slide.anim-out-right{
  transition: transform .80s cubic-bezier(.22,.61,.36,1), opacity .60s ease;
  transform: translate3d(12%,0,0);
  opacity:0;
}
@media (prefers-reduced-motion: reduce){
  .mfk-slide,
  .mfk-slide.anim-in-right.is-active,
  .mfk-slide.anim-in-left.is-active,
  .mfk-slide.anim-out-left,
  .mfk-slide.anim-out-right{
    transition: opacity .35s ease !important;
    transform:none !important;
  }
}

/* Headers / accordion typography */
.geo__header h3{
  margin:0;
  color:#2c2c2c;
  font-family:'Post', sans-serif;
  font-size:16px;
  line-height:24px;
  font-weight:400;
}

.geo__acc>summary{
  list-style:none;
  cursor:pointer;
  padding:22px 24px;
  position:relative;
  color:#535359;
  font-size:23px;
  font-family:'Roman', serif;
  line-height:30px;
  font-weight:500;
}

/* Underline hover */
.geo__acc > summary{ position:relative; }
.geo__acc > summary::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-1px;
  height:1px;
  width:0;
  background:#997341;
  transform:translateX(-50%);
  transition:width .5s ease-in-out;
}
.geo__acc > summary:hover::before,
.geo__acc > summary:focus-visible::before{ width:100%; }
.geo__acc[open] > summary::before{ width:0; }

.geo__acc .geo__list{
  padding:0 42px 20px;
  margin:0;
  list-style:none;
  font-size:16px;
  font-family:'Post', sans-serif;
  line-height:24px;
  color:#6b777d;
  font-weight:400;
}
.geo__list span{ min-width:65px; }

/* Divider between language links */
.geo__list .geo-row__langs a + a,
.geo__list li > a + a{
  position:relative;
  padding-left:14px;
}
.geo__list .geo-row__langs a + a::before,
.geo__list li > a + a::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:1em;
  background:#dcdcdc;
}

/* Currency badge */
.mfk-currency-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:"Post Grotesk","Post",system-ui,-apple-system,Arial,Helvetica,sans-serif;
  font-weight:500;
  font-size:12px;
  line-height:1;
  color:#535359;
  cursor:pointer;
}
.mfk-currency-badge .geo-badge__flag{ font-size:14px; line-height:1; }
.mfk-currency-badge .geo-badge__cur{ letter-spacing:.2px; }

/* Optional dot separator hidden */
.geo-dot{ display:none !important; }

/* WPSL layout (if store locator plugin uses .wpsl-wrap) */
.page .wpsl-wrap{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap:28px;
  align-items:start;
}
@media (max-width:1024px){
  .page .wpsl-wrap{ grid-template-columns:1fr; }
}
#wpsl-result-list{ max-height:70vh; overflow:auto; padding-right:6px; }
#wpsl-result-list li{ border-top:1px solid #eee; padding:16px 0; }
.wpsl-direction-wrap a{ text-decoration:underline; }