/* Final functional polish: wishlist, product facts and related products */
.wishlist-login-gate{grid-column:1/-1;width:min(520px,100%);margin:20px auto;padding:34px 22px;text-align:center;border:1px solid rgba(159,63,91,.18);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(247,224,230,.82));box-shadow:0 18px 45px rgba(91,38,55,.12)}
.wishlist-login-icon{width:72px;height:72px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:#efd3dc;color:#9e365c;font-size:36px}.wishlist-login-gate h2{margin:0 0 9px;color:#542736}.wishlist-login-gate p{margin:0 auto 20px;max-width:390px;color:#795d66;line-height:1.8}.wishlist-login-gate .button{display:flex;justify-content:center;margin-top:9px}
.product-extra-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.product-extra-facts>div{padding:13px 14px;border:1px solid rgba(160,70,99,.18);border-radius:16px;background:linear-gradient(145deg,#fff,#f7e8ed)}.product-extra-facts span{display:block;margin-bottom:4px;color:#9b6878;font-size:12px}.product-extra-facts strong{color:#512c38;font-size:14px;line-height:1.5}
.related-products-scroll{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;cursor:grab}.related-products-scroll::-webkit-scrollbar{display:none}.related-products-scroll.is-dragging{cursor:grabbing;scroll-snap-type:none}.related-products-scroll .products-marquee-track{animation:none!important;transform:none!important;will-change:auto!important}.related-products-scroll .product-card{scroll-snap-align:start}
@media(max-width:520px){.wishlist-login-gate{padding:28px 16px;border-radius:23px}.product-extra-facts{grid-template-columns:1fr;gap:8px}}

/* Related products: native horizontal carousel with clickable cards */
.related-products-shell{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.related-products-scroll{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(220px,280px)!important;grid-template-columns:none!important;gap:16px!important;overflow-x:auto!important;overflow-y:visible!important;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:8px 2px 18px;touch-action:pan-x!important;-webkit-overflow-scrolling:touch}
.related-products-scroll>.product-card{width:100%!important;min-width:0!important;scroll-snap-align:start;pointer-events:auto!important}
.related-nav{width:48px;height:48px;border:1px solid #7d294b;border-radius:50%;background:#fff;color:#7d294b;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2}
.related-nav:hover{background:#7d294b;color:#fff}
@media(max-width:700px){.related-products-shell{grid-template-columns:1fr}.related-nav{display:none}.related-products-scroll{grid-auto-columns:minmax(72vw,78vw)!important;padding-inline:2px}}

.product-reviews-direct{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.product-reviews-direct .product-review-item{margin:0}@media(max-width:640px){.product-reviews-direct{grid-template-columns:1fr}}


/* ALICE 14 — polished search and reliable related-products rail */
.header-actions [data-open-search]{
  position:relative!important;
  width:44px!important;
  height:44px!important;
  border:1px solid rgba(139,45,83,.22)!important;
  border-radius:50%!important;
  color:#7d294b!important;
  background:linear-gradient(145deg,#fff8fa,#f3dce5)!important;
  box-shadow:0 8px 22px rgba(95,28,56,.10)!important;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
}
.header-actions [data-open-search] svg{width:20px!important;height:20px!important}
.header-actions [data-open-search]:hover,
.header-actions [data-open-search]:focus-visible{
  transform:translateY(-2px)!important;
  background:linear-gradient(145deg,#fff,#efd0dc)!important;
  box-shadow:0 12px 28px rgba(95,28,56,.17)!important;
  outline:none!important;
}
.search-open{overflow:hidden!important}
.search-overlay{
  display:grid!important;
  place-items:start center!important;
  padding:clamp(74px,10vh,112px) 16px 28px!important;
  background:rgba(47,19,31,.56)!important;
  backdrop-filter:blur(14px) saturate(1.15)!important;
  opacity:0;
  transition:opacity .18s ease!important;
}
.search-overlay[hidden]{display:none!important}
.search-overlay.is-open{opacity:1}
.search-panel{
  width:min(680px,100%)!important;
  max-height:min(720px,calc(100dvh - 105px))!important;
  overflow:hidden!important;
  padding:18px!important;
  border:1px solid rgba(154,68,103,.16)!important;
  border-radius:26px!important;
  background:linear-gradient(160deg,#fff8fa,#f7e8ee)!important;
  box-shadow:0 30px 80px rgba(39,13,24,.28)!important;
  transform:translateY(-12px) scale(.985);
  transition:transform .2s ease!important;
}
.search-overlay.is-open .search-panel{transform:none}
.search-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 46px!important;
  gap:10px!important;
  align-items:center!important;
  padding:5px!important;
  border:1px solid rgba(153,60,98,.18)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.search-head::before{
  content:"";
  position:absolute;
}
.search-head input{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:13px 15px!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  color:#321b25!important;
  font-size:16px!important;
  outline:none!important;
}
.search-head input::placeholder{color:#9b7584!important}
.search-head [data-close-search]{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  border:0!important;
  background:#8f3156!important;
  color:#fff!important;
  font-size:25px!important;
  box-shadow:0 8px 18px rgba(112,31,64,.2)!important;
}
#globalSearchResults{
  max-height:calc(100dvh - 220px)!important;
  overflow:auto!important;
  margin-top:12px!important;
  padding:2px!important;
  scrollbar-width:thin;
}
.search-empty-hint{
  padding:26px 12px!important;
  text-align:center!important;
  color:#876877!important;
  font-size:14px!important;
}
.search-result-item{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px!important;
  margin-bottom:8px!important;
  border:1px solid rgba(146,60,94,.12)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.72)!important;
  color:#331b25!important;
  text-decoration:none!important;
  transition:transform .18s ease,background .18s ease!important;
}
.search-result-item:hover{transform:translateX(-3px);background:#fff!important}
.search-result-media{
  width:64px!important;
  height:64px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#f1dbe4!important;
}
.search-result-media img{width:100%!important;height:100%!important;object-fit:contain!important}
.search-result-copy{min-width:0!important;display:grid!important;gap:4px!important}
.search-result-copy strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:14px!important}
.search-result-copy small{color:#927180!important;font-size:11px!important}
.search-result-price{color:#b22860!important;font-size:13px!important;font-weight:800!important;white-space:nowrap!important}
.search-no-results{margin:14px 0 0!important}

body[data-page="product"] .related-products-shell{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
body[data-page="product"] #relatedGrid.related-products-scroll{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:8px 2px 18px!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  overscroll-behavior-inline:contain!important;
  touch-action:pan-x!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  cursor:grab!important;
}
body[data-page="product"] #relatedGrid.related-products-scroll::-webkit-scrollbar{display:none!important}
body[data-page="product"] #relatedGrid.related-products-scroll.is-dragging{cursor:grabbing!important;scroll-snap-type:none!important;user-select:none!important}
body[data-page="product"] #relatedGrid.related-products-scroll>.product-card{
  flex:0 0 clamp(260px,30vw,330px)!important;
  width:clamp(260px,30vw,330px)!important;
  max-width:330px!important;
  min-width:260px!important;
  scroll-snap-align:start!important;
  pointer-events:auto!important;
}
body[data-page="product"] .related-nav{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  border:1px solid rgba(125,41,75,.3)!important;
  background:#fff5f8!important;
  color:#7d294b!important;
  box-shadow:0 9px 22px rgba(86,24,48,.12)!important;
}
@media(max-width:700px){
  .header-actions [data-open-search]{width:40px!important;height:40px!important}
  .search-overlay{padding:70px 10px 14px!important;place-items:start center!important}
  .search-panel{padding:12px!important;border-radius:22px!important;max-height:calc(100dvh - 82px)!important}
  #globalSearchResults{max-height:calc(100dvh - 190px)!important}
  .search-result-item{grid-template-columns:54px minmax(0,1fr) auto!important;gap:9px!important;padding:8px!important}
  .search-result-media{width:54px!important;height:54px!important}
  body[data-page="product"] .related-products-shell{display:block!important;width:100%!important;overflow:hidden!important}
  body[data-page="product"] .related-nav{display:none!important}
  body[data-page="product"] #relatedGrid.related-products-scroll{
    display:flex!important;
    width:100%!important;
    overflow-x:auto!important;
    padding-inline:2px!important;
  }
  body[data-page="product"] #relatedGrid.related-products-scroll>.product-card{
    flex:0 0 min(84vw,320px)!important;
    width:min(84vw,320px)!important;
    min-width:min(84vw,320px)!important;
  }
}
