/* Perla Moda launch polish: final visual layer */

html,body{overflow-x:hidden}
body.page-home{background:#fbf7ef}

.site-header{
  width:min(1240px,calc(100% - 28px))!important;
  inset-inline:14px!important;
  top:16px!important;
  border-radius:22px!important;
  box-shadow:0 12px 34px rgba(45,36,25,.08)!important;
}
.site-logo{min-width:max-content!important}
.site-logo .logo-img{
  height:58px!important;
  max-width:150px!important;
  object-fit:contain!important;
}
.logo-icon{width:46px!important;height:46px!important;font-size:1.35rem!important}
.logo-name{font-size:1.18rem!important;font-weight:900!important}
.logo-tag{font-size:.72rem!important}
.mobile-bottom-nav .mob-nav-item i{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:1.15rem!important;
  opacity:1!important;
  visibility:visible!important;
}
.mobile-bottom-nav .mob-nav-item[href*="badge=new"] i::before{
  content:"\f005"!important;
  font-family:"Font Awesome 6 Free"!important;
  font-weight:900!important;
}

.hero-slider{
  height:clamp(420px,55vh,560px)!important;
  min-height:420px!important;
  border-bottom:1px solid rgba(201,169,97,.32)!important;
  background:#f5efe5!important;
}
.slide-overlay{
  background:linear-gradient(90deg,rgba(20,14,8,.16) 0%,rgba(20,14,8,.28) 44%,rgba(20,14,8,.74) 100%)!important;
}
[dir="rtl"] .slide-overlay{
  background:linear-gradient(270deg,rgba(20,14,8,.16) 0%,rgba(20,14,8,.28) 44%,rgba(20,14,8,.74) 100%)!important;
}
.slide-content{padding-top:76px!important}
.slide-inner{grid-template-columns:minmax(0,1fr)!important;gap:1rem!important}
.slide-text{
  max-width:min(560px,92vw)!important;
  margin-inline-start:auto!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28)!important;
}
.slide-title{
  font-family:var(--font-main,Tajawal,sans-serif)!important;
  font-size:clamp(2.05rem,4.2vw,3.45rem)!important;
  letter-spacing:0!important;
}
.slide-desc{font-size:clamp(.95rem,1.4vw,1.12rem)!important}
.slider-btn{
  background:rgba(255,255,255,.28)!important;
  backdrop-filter:blur(12px)!important;
}
.slider-dots{bottom:18px!important}
.home-shipping-corner{
  top:112px!important;
  inset-inline-start:44px!important;
  max-width:min(310px,calc(100% - 88px))!important;
  z-index:16!important;
}

.trust-strip,.intent-strip{position:relative;z-index:4}
.intent-strip{margin-top:1.2rem!important}
.cat-chips-bar{border-radius:20px!important}
.product-card{border-radius:14px!important}
.product-img-wrap{border-radius:14px 14px 0 0!important}

.ai-fab{
  inset-inline-start:18px!important;
  left:auto!important;
  bottom:78px!important;
  width:54px!important;
  height:54px!important;
}
.back-to-top{bottom:142px!important}

.ai-box{
  left:18px!important;
  right:auto!important;
  inset-inline-start:auto!important;
  inset-inline-end:auto!important;
  bottom:142px!important;
  width:min(380px,calc(100vw - 36px))!important;
  height:min(560px,calc(100vh - 180px))!important;
  border-radius:18px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.22)!important;
}

/* Homepage uses pagination internally for infinite loading; do not show page numbers to shoppers. */
.page-home #shopResults .pagination{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}
.page-home #shopInfiniteSentinel{
  height:1px!important;
  margin:0!important;
}
.ai-head{
  padding:.8rem .9rem!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,238,226,.96))!important;
}
.ai-head strong{font-size:.96rem!important}
.ai-head small{font-size:.7rem!important}
.ai-concierge{margin:.55rem .75rem 0!important;padding:.65rem!important;border-radius:14px!important}
.ai-concierge-grid{grid-template-columns:1fr 1fr!important}
.ai-messages{padding:.75rem!important}
.ai-msg{font-size:.86rem!important;line-height:1.65!important;border-radius:14px!important}
.ai-products{gap:.4rem!important}
.ai-product{border-radius:12px!important}
.ai-suggestions{padding:.55rem .75rem 0!important}
.ai-form{padding:.72rem!important}

.cat-chips-bar{
  overflow:hidden!important;
}
.cat-chips-scroll{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
.cat-chips-scroll::-webkit-scrollbar{display:none!important}
#shopResults .pagination{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}
.shop-infinite-sentinel{
  width:100%!important;
  height:42px!important;
  display:block!important;
}

@media(max-width:768px){
  .site-header{
    width:calc(100% - 20px)!important;
    inset-inline:10px!important;
    top:10px!important;
    border-radius:18px!important;
  }
  .site-logo .logo-img{height:44px!important;max-width:112px!important}
  .logo-icon{width:38px!important;height:38px!important}
  .hero-slider{
    height:clamp(258px,72vw,330px)!important;
    min-height:258px!important;
    max-height:330px!important;
    margin:12px 8px 0!important;
    border-radius:22px!important;
    border:1px solid rgba(228,218,208,.88)!important;
    box-shadow:0 16px 36px rgba(34,27,18,.13)!important;
    background:#f7eee6!important;
    overflow:hidden!important;
  }
  .slider-track,
  .slide{
    height:100%!important;
    min-height:0!important;
  }
  .slider-track{
    position:relative!important;
    overflow:hidden!important;
  }
  .slide{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    opacity:0!important;
    visibility:hidden!important;
    z-index:0!important;
    pointer-events:none!important;
  }
  .slide.active{
    opacity:1!important;
    visibility:visible!important;
    z-index:1!important;
    pointer-events:auto!important;
  }
  .slide-bg,
  .slide-bg img,
  .slide-gradient-bg{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  .slide-bg{
    overflow:hidden!important;
  }
  .slide-bg img{
    display:block!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:62% center!important;
    filter:saturate(1.04) contrast(.98)!important;
  }
  .slide-overlay{
    background:
      linear-gradient(180deg,rgba(20,14,8,0) 0%,rgba(20,14,8,.06) 36%,rgba(20,14,8,.72) 100%)!important;
  }
  [dir="rtl"] .slide-overlay{
    background:
      linear-gradient(180deg,rgba(20,14,8,0) 0%,rgba(20,14,8,.06) 36%,rgba(20,14,8,.72) 100%)!important;
  }
  .slide-content{
    position:absolute!important;
    inset:0!important;
    height:100%!important;
    display:flex!important;
    align-items:flex-end!important;
    padding:0!important;
    background:transparent!important;
    z-index:2!important;
  }
  .slide-content .container{
    width:100%!important;
    padding:0!important;
  }
  .slide-inner{
    display:block!important;
    padding:0 16px 34px!important;
  }
  .slide-text{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    text-align:start!important;
    text-shadow:0 2px 14px rgba(0,0,0,.34)!important;
  }
  .slide-title{
    max-width:82%!important;
    font-family:var(--font-main,Tajawal,sans-serif)!important;
    font-size:clamp(1.18rem,6vw,1.55rem)!important;
    line-height:1.18!important;
    margin:0 0 6px!important;
  }
  .slide-desc{
    max-width:88%!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:.82rem!important;
    line-height:1.55!important;
    margin:0 0 12px!important;
    opacity:.92!important;
  }
  .slide-actions{
    display:flex!important;
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .slide-actions .btn{
    min-height:38px!important;
    height:38px!important;
    padding:0 13px!important;
    border-radius:13px!important;
    font-size:.78rem!important;
    box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
  }
  .slide-actions .btn-outline{
    display:none!important;
  }
  .slider-btn,
  .slider-progress,
  .slide-visual,
  .slide-accent-line{
    display:none!important;
  }
  .slider-dots{
    bottom:12px!important;
    left:0!important;
    right:0!important;
    transform:none!important;
    justify-content:center!important;
    gap:6px!important;
  }
  .slider-dot{
    width:6px!important;
    height:6px!important;
    border-radius:99px!important;
    background:rgba(255,255,255,.58)!important;
  }
  .slider-dot.active{
    width:22px!important;
    background:var(--gold)!important;
  }
  .home-shipping-corner{display:none!important}
  .ai-box{
    left:10px!important;
    right:10px!important;
    inset-inline:auto!important;
    bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:min(560px,calc(100vh - 112px))!important;
  }
  .ai-fab{bottom:88px!important}
}

/* Header responsive polish: app shell on phones, compact premium nav on larger screens. */
.site-header{
  backdrop-filter:saturate(1.15) blur(18px)!important;
  -webkit-backdrop-filter:saturate(1.15) blur(18px)!important;
}
.header-inner{
  min-width:0!important;
}
.site-logo,
.main-nav,
.header-actions{
  min-width:0!important;
}
.header-icon-btn,
.menu-toggle{
  flex:0 0 auto!important;
}
.main-nav-link{
  min-height:40px!important;
}
.mobile-nav-logo .mobile-logo-img ~ .logo-icon,
.mobile-nav-logo .mobile-logo-img ~ .logo-name{
  display:none!important;
}
.mobile-nav-logo .mobile-logo-img{
  height:42px!important;
  max-width:150px!important;
  object-fit:contain!important;
}

@media (min-width:1025px){
  .site-header{
    height:76px!important;
    width:min(1240px,calc(100% - 32px))!important;
    inset-inline:16px!important;
    top:14px!important;
    border-radius:20px!important;
    border:1px solid rgba(228,218,208,.92)!important;
    background:rgba(255,252,247,.9)!important;
    box-shadow:0 16px 42px rgba(34,27,18,.1)!important;
    overflow:visible!important;
  }
  body.dark .site-header{
    background:rgba(20,16,12,.9)!important;
    border-color:rgba(255,255,255,.1)!important;
  }
  .header-inner{
    height:76px!important;
    display:grid!important;
    grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    padding-inline:18px!important;
  }
  .menu-toggle{display:none!important}
  .site-logo{
    justify-content:flex-start!important;
    max-width:220px!important;
  }
  .site-logo .logo-img{
    height:52px!important;
    max-width:142px!important;
  }
  .main-nav{
    display:flex!important;
    justify-content:center!important;
    gap:4px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .main-nav-link{
    padding:.45rem .7rem!important;
    border-radius:12px!important;
    font-size:.86rem!important;
    font-weight:800!important;
  }
  .main-nav-icon{
    font-size:.95em!important;
  }
  .header-actions{
    justify-content:flex-end!important;
    gap:6px!important;
    margin:0!important;
  }
  .header-icon-btn{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
  }
}

@media (min-width:769px) and (max-width:1024px){
  .site-header{
    height:68px!important;
    width:calc(100% - 24px)!important;
    inset-inline:12px!important;
    top:12px!important;
    border-radius:18px!important;
    background:rgba(255,252,247,.92)!important;
    border:1px solid rgba(228,218,208,.92)!important;
    box-shadow:0 14px 34px rgba(34,27,18,.09)!important;
    overflow:visible!important;
  }
  body.dark .site-header{
    background:rgba(20,16,12,.92)!important;
    border-color:rgba(255,255,255,.1)!important;
  }
  .header-inner{
    height:68px!important;
    display:grid!important;
    grid-template-columns:minmax(116px,170px) minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    padding-inline:14px!important;
  }
  .menu-toggle{display:none!important}
  .site-logo{
    justify-content:flex-start!important;
    max-width:170px!important;
  }
  .site-logo .logo-img{
    height:46px!important;
    max-width:120px!important;
  }
  .logo-icon{
    width:40px!important;
    height:40px!important;
  }
  .logo-name{
    font-size:1rem!important;
  }
  .logo-tag{
    display:none!important;
  }
  .main-nav{
    display:flex!important;
    justify-content:center!important;
    gap:2px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .main-nav-link{
    min-height:38px!important;
    padding:.42rem .52rem!important;
    border-radius:11px!important;
    font-size:.79rem!important;
    font-weight:800!important;
    gap:.25rem!important;
  }
  .header-actions{
    justify-content:flex-end!important;
    gap:4px!important;
    margin:0!important;
  }
  .header-icon-btn{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
  }
  .header-actions .desktop-only{
    display:none!important;
  }
}

@media (max-width:768px){
  .site-header{
    height:auto!important;
    min-height:62px!important;
    width:calc(100% - 16px)!important;
    inset-inline:8px!important;
    top:8px!important;
    padding:calc(7px + env(safe-area-inset-top,0px)) 8px 7px!important;
    border-radius:20px!important;
    background:rgba(255,252,247,.94)!important;
    border:1px solid rgba(228,218,208,.95)!important;
    box-shadow:0 12px 30px rgba(34,27,18,.11)!important;
    overflow:visible!important;
  }
  body.dark .site-header{
    background:rgba(20,16,12,.94)!important;
    border-color:rgba(255,255,255,.1)!important;
  }
  .header-inner{
    height:48px!important;
    min-height:48px!important;
    display:grid!important;
    grid-template-columns:98px minmax(0,1fr) 98px!important;
    align-items:center!important;
    gap:7px!important;
    padding:0!important;
  }
  .menu-toggle{
    display:inline-flex!important;
    grid-column:1!important;
    justify-self:start!important;
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    background:var(--surface)!important;
    border:1px solid var(--beige-dark)!important;
    box-shadow:none!important;
  }
  .menu-toggle-bar{
    width:18px!important;
    height:2px!important;
  }
  .site-logo{
    grid-column:2!important;
    justify-content:center!important;
    max-width:100%!important;
    gap:7px!important;
  }
  .site-logo .logo-img{
    height:40px!important;
    max-width:min(128px,36vw)!important;
  }
  .logo-icon{
    width:36px!important;
    height:36px!important;
    border-radius:13px!important;
  }
  .logo-text{
    min-width:0!important;
  }
  .logo-name{
    max-width:34vw!important;
    font-family:var(--font-body)!important;
    font-size:.95rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .logo-tag{
    display:none!important;
  }
  .main-nav,
  .header-lang-btn,
  .header-actions .desktop-only,
  .header-actions a[href*="login.php"],
  .header-actions a[href*="account.php"],
  #darkToggle{
    display:none!important;
  }
  .header-actions{
    grid-column:3!important;
    display:flex!important;
    justify-content:flex-end!important;
    gap:6px!important;
    margin:0!important;
  }
  .header-icon-btn{
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    background:var(--surface)!important;
    border:1px solid var(--beige-dark)!important;
    box-shadow:none!important;
    font-size:1rem!important;
  }
  .cart-badge{
    top:4px!important;
    right:4px!important;
    min-width:16px!important;
    height:16px!important;
    border:2px solid var(--surface)!important;
  }
  .header-search-wrap{
    position:fixed!important;
    inset:0!important;
    z-index:1200!important;
    min-height:100dvh!important;
    padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(18px + env(safe-area-inset-bottom,0px))!important;
    border:0!important;
    background:linear-gradient(180deg,rgba(201,169,97,.12),transparent 210px),var(--bg)!important;
    overflow-y:auto!important;
  }
  .header-search-wrap .container{
    padding:0!important;
  }
  .header-search-form{
    height:54px!important;
    border-radius:20px!important;
    background:var(--surface)!important;
    box-shadow:0 18px 48px rgba(26,20,16,.2)!important;
  }
}

@media (max-width:380px){
  .site-header{
    width:calc(100% - 12px)!important;
    inset-inline:6px!important;
    padding-inline:6px!important;
  }
  .header-inner{
    grid-template-columns:89px minmax(0,1fr) 89px!important;
    gap:5px!important;
  }
  .menu-toggle,
  .header-icon-btn{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
  }
  .site-logo .logo-img{
    max-width:104px!important;
  }
  .logo-name{
    max-width:30vw!important;
    font-size:.9rem!important;
  }
}

@media (min-width:769px){
  .home-shipping-corner{
    position:relative!important;
    top:auto!important;
    inset-inline:auto!important;
    width:min(1240px,calc(100% - 32px))!important;
    max-width:min(1240px,calc(100% - 32px))!important;
    min-height:42px!important;
    margin:18px auto 10px!important;
    padding:9px 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:16px!important;
    background:rgba(255,252,247,.92)!important;
    border:1px solid rgba(201,169,97,.24)!important;
    box-shadow:0 10px 24px rgba(34,27,18,.07)!important;
    z-index:2!important;
  }
  .home-shipping-corner i{
    width:26px!important;
    height:26px!important;
    font-size:.78rem!important;
  }
  .home-shipping-corner + .hero-slider{
    margin-top:0!important;
  }

  .cat-chips-bar{
    overflow:hidden!important;
  }
  .cat-chips-scroll{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(201,169,97,.55) rgba(201,169,97,.12)!important;
    padding-bottom:.45rem!important;
    cursor:grab;
  }
  .cat-chips-scroll:active{
    cursor:grabbing;
  }
  .cat-chips-scroll::-webkit-scrollbar{
    display:block!important;
    height:7px!important;
  }
  .cat-chips-scroll::-webkit-scrollbar-track{
    background:rgba(201,169,97,.12)!important;
    border-radius:99px!important;
  }
  .cat-chips-scroll::-webkit-scrollbar-thumb{
    background:rgba(201,169,97,.55)!important;
    border-radius:99px!important;
  }
}

@media (min-width:1280px){
  :root{
    --wide-page-max:1240px;
  }
  body{
    background:var(--bg)!important;
  }
  .site-header,
  #mainContent,
  .site-footer{
    width:min(var(--wide-page-max),calc(100% - 40px))!important;
    max-width:var(--wide-page-max)!important;
    margin-inline:auto!important;
  }
  .site-header{
    inset-inline:auto!important;
  }
  #mainContent{
    overflow:visible!important;
  }
  .hero-slider{
    width:100%!important;
    max-width:100%!important;
    height:clamp(420px,34vw,520px)!important;
    min-height:420px!important;
    max-height:520px!important;
    margin:0 0 22px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    box-shadow:0 18px 48px rgba(26,20,16,.12)!important;
  }
  .slide-content .container{
    max-width:var(--wide-page-max)!important;
  }
  .home-shipping-corner{
    width:min(var(--wide-page-max),calc(100% - 40px))!important;
    max-width:var(--wide-page-max)!important;
  }
  body > .container,
  main > .container,
  #mainContent > .container{
    max-width:var(--wide-page-max)!important;
  }
}

/* Index responsive audit pass */
body.page-home #mainContent{
  width:min(1240px,calc(100% - 28px))!important;
  margin-inline:auto!important;
}
body.page-home #mainContent > .container{
  padding-inline:0!important;
}
body.page-home .app-section-head,
body.page-home .shop-search-form,
body.page-home .shop-filter-shell,
body.page-home .products-grid{
  width:100%!important;
}

@media (max-width:768px){
  body.page-home{
    background:#fbf7ef!important;
  }
  body.page-home #mainContent{
    width:calc(100% - 16px)!important;
    margin-inline:8px!important;
    margin-top:10px!important;
    padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;
  }
  body.page-home #mainContent > .container{
    width:100%!important;
    padding:0!important;
  }
  body.page-home .home-shipping-corner{
    display:none!important;
  }
  body.page-home .hero-slider{
    margin:8px 0 12px!important;
    width:100%!important;
    border-radius:20px!important;
  }
  body.page-home .cat-chips-bar{
    margin:.75rem 0 .9rem!important;
    padding:.45rem!important;
    border-radius:18px!important;
    box-shadow:0 10px 24px rgba(65,43,12,.065)!important;
  }
  body.page-home .cat-chip{
    min-height:44px!important;
    padding:.42rem .7rem!important;
    border-radius:14px!important;
    gap:.42rem!important;
  }
  body.page-home .cat-chip-icon{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
    font-size:.82rem!important;
  }
  body.page-home .cat-chip-label{
    font-size:.78rem!important;
  }
  body.page-home .cat-chip-count{
    display:none!important;
  }
  body.page-home .app-section-head{
    margin:.75rem 0 .65rem!important;
    gap:.65rem!important;
    align-items:center!important;
  }
  body.page-home .app-section-title{
    font-size:1.04rem!important;
    max-width:calc(100% - 130px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.page-home .sort-select{
    max-width:124px!important;
    height:38px!important;
    border-radius:12px!important;
    font-size:.74rem!important;
  }
  body.page-home .shop-search-form{
    min-height:48px!important;
    margin:0 0 .75rem!important;
    border-radius:16px!important;
    box-shadow:0 10px 24px rgba(65,43,12,.06)!important;
  }
  body.page-home .shop-search-inner{
    padding-inline:.85rem!important;
  }
  body.page-home .shop-search-form input[type="search"]{
    font-size:.86rem!important;
  }
  body.page-home .products-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.62rem!important;
  }
  body.page-home .product-card{
    border-radius:16px!important;
    box-shadow:0 8px 20px rgba(70,50,20,.07)!important;
  }
  body.page-home .product-img-wrap{
    aspect-ratio:1/1.08!important;
  }
  body.page-home .product-info{
    padding:.62rem .62rem .72rem!important;
  }
  body.page-home .product-name{
    font-size:.78rem!important;
    line-height:1.35!important;
    min-height:2.7em!important;
  }
  body.page-home .product-price{
    font-size:.9rem!important;
  }
}

@media (min-width:769px) and (max-width:1024px){
  body.page-home #mainContent{
    width:calc(100% - 28px)!important;
    margin-inline:14px!important;
    margin-top:14px!important;
  }
  body.page-home .hero-slider{
    height:380px!important;
    min-height:380px!important;
    max-height:380px!important;
    border-radius:18px!important;
  }
  body.page-home .home-shipping-corner{
    width:100%!important;
    max-width:100%!important;
    margin:14px 0 10px!important;
  }
  body.page-home .cat-chips-bar{
    margin:.9rem 0 1rem!important;
    border-radius:18px!important;
  }
  body.page-home .app-section-head{
    margin:1rem 0 .75rem!important;
  }
  body.page-home .shop-filter-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,.55fr) minmax(0,.55fr)!important;
  }
  body.page-home .shop-stock-toggle,
  body.page-home .shop-filter-apply,
  body.page-home .shop-filter-clear{
    grid-column:auto!important;
  }
  body.page-home .products-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.95rem!important;
  }
}

@media (min-width:1025px){
  body.page-home #mainContent{
    margin-top:14px!important;
  }
  body.page-home .hero-slider{
    height:440px!important;
    min-height:440px!important;
    max-height:500px!important;
  }
  body.page-home .cat-chips-bar{
    margin:1rem 0 1.1rem!important;
  }
  body.page-home .products-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* Splash screen: restrained jewelry-house introduction. */
#splashScreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(1.5rem,5vw,4rem)!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(194,143,105,.1),transparent 29%),
    linear-gradient(145deg,#fffdfa 0%,#f6efe8 52%,#fcfaf6 100%)!important;
  color:#38272b!important;
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1)!important;
  transition:opacity .52s ease, visibility .52s ease, transform .52s cubic-bezier(.22,.8,.25,1)!important;
}

#splashScreen::before{
  content:"";
  position:absolute;
  width:min(76vw,440px);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(151,92,75,.13);
  box-shadow:0 0 0 28px rgba(255,255,255,.16),0 0 0 29px rgba(151,92,75,.045);
  animation:splashHalo 5s ease-in-out infinite;
}

#splashScreen::after{
  content:"";
  position:absolute;
  inset:clamp(1rem,3vw,2rem);
  border:1px solid rgba(116,74,62,.08);
  pointer-events:none;
}

#splashScreen.hiding{
  opacity:0!important;
  visibility:hidden!important;
  transform:scale(1.018)!important;
  pointer-events:none!important;
}

#splashScreen .splash-content{
  position:relative;
  z-index:1;
  width:min(100%,420px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

#splashScreen .splash-logo-wrap,
#splashScreen .splash-kicker,
#splashScreen .splash-title,
#splashScreen .splash-sub,
#splashScreen .splash-bar{
  position:relative;
  z-index:1;
  animation:splashEnter .58s cubic-bezier(.22,.8,.25,1) both!important;
}

#splashScreen .splash-logo-wrap{
  width:clamp(138px,26vw,178px);
  height:clamp(138px,26vw,178px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:50%;
  background:#f8efe8;
  border:1px solid rgba(151,92,75,.22);
  box-shadow:0 22px 55px rgba(78,44,39,.12),0 0 0 8px rgba(255,255,255,.48);
}

#splashScreen .splash-kicker{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-top:1.55rem;
  color:#a27462;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.24em;
}

#splashScreen .splash-kicker::before,
#splashScreen .splash-kicker::after{
  content:"";
  width:28px;
  height:1px;
  background:rgba(162,116,98,.38);
}

#splashScreen .splash-title{
  margin-top:.65rem;
  font-family:var(--font-display,inherit)!important;
  font-size:clamp(1.55rem,4vw,2.1rem)!important;
  font-weight:500!important;
  color:#38272b!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  text-align:center;
}

#splashScreen .splash-sub{
  margin-top:.35rem;
  font-size:.78rem!important;
  font-weight:400!important;
  letter-spacing:.03em!important;
  color:rgba(56,39,43,.58)!important;
  text-align:center;
}

#splashScreen .splash-bar{
  width:94px!important;
  height:1px!important;
  margin-top:1.55rem;
  border-radius:99px!important;
  background:rgba(151,92,75,.16)!important;
  overflow:hidden;
}

#splashScreen .splash-bar span{
  display:block;
  width:38%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c69578,#875547);
  animation:splashLoader 1.15s ease-in-out infinite;
}

#splashScreen .splash-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:none!important;
}

#splashScreen .splash-diamond{
  font-family:Georgia,'Times New Roman',serif;
  font-size:4rem!important;
  font-style:italic;
  color:#a66550!important;
  filter:drop-shadow(0 8px 20px rgba(151,92,75,.18))!important;
}

#splashScreen .splash-kicker{animation-delay:.04s!important}
#splashScreen .splash-title{animation-delay:.09s!important}
#splashScreen .splash-sub{animation-delay:.14s!important}
#splashScreen .splash-bar{animation-delay:.2s!important}

@keyframes splashEnter{
  from{opacity:0;transform:translateY(12px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes splashLoader{
  0%{transform:translateX(-120%)}
  100%{transform:translateX(260%)}
}

@keyframes splashHalo{
  0%,100%{transform:scale(.985);opacity:.74}
  50%{transform:scale(1.02);opacity:1}
}

html[dir="rtl"] #splashScreen .splash-bar span{
  animation-direction:reverse;
}

@media (prefers-reduced-motion: reduce){
  #splashScreen,
  #splashScreen::before,
  #splashScreen .splash-logo-wrap,
  #splashScreen .splash-kicker,
  #splashScreen .splash-title,
  #splashScreen .splash-sub,
  #splashScreen .splash-bar,
  #splashScreen .splash-bar span{
    animation:none!important;
    transition:none!important;
  }
}

/* Final mobile slider cover fix: overrides legacy [class*="slider"] max-height rule. */
@media (max-width:768px){
  .hero-slider .slider-track,
  .hero-slider .slide,
  .hero-slider .slide-bg,
  .hero-slider .slide-bg img,
  .hero-slider .slide-gradient-bg,
  .hero-slider .slide-content{
    max-height:none!important;
    height:100%!important;
    min-height:100%!important;
  }

  .hero-slider .slider-track{
    position:absolute!important;
    inset:0!important;
  }

  .hero-slider .slider-dots{
    bottom:11px!important;
  }
}

/* Final mobile filter fix: old search-form rules were forcing filter forms to 48px. */
@media (max-width:768px){
  details.shop-filter-shell,
  details.shop-filter-shell[open]{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  details.shop-filter-shell[open] summary{
    border-bottom:1px solid rgba(228,218,208,.82)!important;
  }

  form.shop-filter-panel,
  details.shop-filter-shell form.shop-filter-panel,
  body.page-home form.shop-filter-panel,
  form.shop-filter-panel[method="get"]{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.7rem!important;
    padding:.85rem!important;
    margin:0!important;
    border:0!important;
    border-radius:0 0 18px 18px!important;
    background:var(--surface)!important;
    box-shadow:none!important;
  }

  form.shop-filter-panel .shop-filter-field,
  form.shop-filter-panel .shop-stock-toggle,
  form.shop-filter-panel .shop-filter-apply,
  form.shop-filter-panel .shop-filter-clear{
    min-width:0!important;
  }

  form.shop-filter-panel .shop-filter-field--brand,
  form.shop-filter-panel .shop-stock-toggle,
  form.shop-filter-panel .shop-filter-apply,
  form.shop-filter-panel .shop-filter-clear{
    grid-column:1 / -1!important;
  }

  form.shop-filter-panel .shop-filter-field select,
  form.shop-filter-panel .shop-filter-field input{
    width:100%!important;
    min-width:0!important;
  }

  body:has(.shop-filter-shell[open]) .ai-fab,
  body:has(.mobile-nav.open) .ai-fab{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Bottom sheets must sit above the mobile app chrome. */
@media (max-width:768px){
  .sheet-backdrop.open{
    z-index:10010!important;
  }

  .bottom-sheet.open{
    z-index:10020!important;
  }

  body:has(.bottom-sheet.open) .mobile-bottom-nav,
  body:has(.bottom-sheet.open) .ai-fab,
  body:has(.bottom-sheet.open) .back-to-top{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(16px)!important;
  }

  #productSheetFooter{
    z-index:2!important;
  }
}

#pwaBanner.pwa-banner.hidden{
  display:none!important;
}

@media (max-width:768px){
  #pwaBanner.pwa-banner{
    left:12px!important;
    right:12px!important;
    inset-inline-start:12px!important;
    inset-inline-end:12px!important;
    bottom:calc(var(--bottom-nav-h,72px) + env(safe-area-inset-bottom,0px) + 14px)!important;
    width:calc(100vw - 24px)!important;
    max-width:430px!important;
    padding:10px!important;
    border-radius:22px!important;
    gap:.65rem!important;
    transform:translateY(18px) scale(.98)!important;
    justify-content:stretch!important;
    text-align:start!important;
  }

  #pwaBanner.pwa-banner.is-visible{
    transform:translateY(0) scale(1)!important;
  }

  #pwaBanner .pwa-banner-icon{
    font-size:1.25rem!important;
  }

  #pwaBanner .btn-sm{
    min-height:42px!important;
  }
}

/* Floating prompt traffic control: only one interruption owns the mobile bottom area. */
@media (max-width:768px){
  body.privacy-consent-active #pwaBanner.pwa-banner{
    display:none!important;
  }

  body.privacy-consent-active .ai-fab,
  body.pwa-banner-active .ai-fab{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(12px) scale(.94)!important;
  }

  body.pwa-banner-active .back-to-top,
  body.privacy-consent-active .back-to-top{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
