/* ==================================================
FERRO FABS GLOBAL MOBILE + MENU FIXES
================================================== */

/* HEADER FIX */
@media (max-width:991px){

.theme-btn,
.contact-btn,
.header-contact,
.support-box,
.call-box{
display:none!important;
}

.main-header .inner-container{
display:flex;
align-items:center;
justify-content:space-between;
padding:10px 16px!important;
}

.main-header .logo img{
max-height:56px!important;
width:auto!important;
}

.mobile-nav-toggler{
width:42px;
height:42px;
background:#f58220;
color:#fff!important;
border-radius:10px;
display:flex;
align-items:center;
justify-content:center;
font-size:20px;
box-shadow:0 4px 12px rgba(0,0,0,0.1);
}

}

/* MOBILE MENU STYLE */

.mobile-menu .menu-box{
background:#fff!important;
}

.mobile-menu .navigation li a{
color:#1c2b39!important;
font-size:17px;
font-weight:600;
padding:16px 22px;
border-bottom:1px solid #eee;
}

.mobile-menu .navigation li ul{
background:#f7f7f7!important;
}

.mobile-menu .navigation li ul li a{
font-size:15px;
padding-left:36px;
color:#444!important;
}

.mobile-menu .nav-logo{
padding:20px;
border-bottom:1px solid #eee;
}

.mobile-menu .nav-logo img{
max-width:180px;
}

/* FEATURE ICON GRID MOBILE */

@media (max-width:767px){

.ff-feature-grid{
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.ff-feature-chip{
padding:10px;
text-align:center;
}

.ff-feature-icon{
width:64px;
height:64px;
margin:auto;
margin-bottom:10px;
}

.ff-feature-icon svg{
width:34px;
height:34px;
}

}

/* CONTOUR IMAGE SWIPE */

@media (max-width:767px){

.ff-contour-gallery{
display:flex;
gap:14px;
overflow-x:auto;
scroll-snap-type:x mandatory;
}

.ff-contour-gallery .ff-contour-example{
flex:0 0 90%;
scroll-snap-align:start;
}

.ff-contour-example-img{
width:100%;
border-radius:14px;
}

}

/* PRODUCT IMAGES MOBILE */

@media (max-width:767px){

.ff-product-shell img,
.ff-thin-example-img,
.ff-thin-product-img{
width:100%!important;
height:auto;
}

.ff-thin-split{
flex-direction:column;
gap:18px;
}

}
/* ==================================================
FERRO FABS – PREMIUM MOBILE HEADER / MENU UPGRADE
================================================== */

@media (max-width: 991px){

  .main-header{
    background:#fff;
    box-shadow:0 2px 14px rgba(0,0,0,.05);
  }

  .main-header .header-upper,
  .main-header .header-lower{
    background:#fff !important;
  }

  .main-header .auto-container{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .main-header .inner-container,
  .main-header .main-box,
  .main-header .nav-outer{
    min-height:64px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  .main-header .logo-box{
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  .main-header .logo img,
  .main-header .logo-box img{
    max-height:58px !important;
    max-width:190px !important;
    width:auto !important;
    height:auto !important;
    display:block;
  }

  .mobile-nav-toggler{
    width:44px !important;
    height:44px !important;
    border-radius:12px !important;
    background:linear-gradient(135deg,#f58220,#ff9a3d) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 8px 18px rgba(245,130,32,.28) !important;
    transition:all .25s ease;
  }

  .mobile-nav-toggler:hover,
  .mobile-nav-toggler:focus{
    background:linear-gradient(135deg,#173a7a,#2453a6) !important;
    color:#fff !important;
    transform:translateY(-1px);
  }

  .mobile-menu .menu-box{
    width:320px !important;
    max-width:88vw !important;
    background:#fff !important;
  }

  .mobile-menu .nav-logo{
    padding:18px 20px !important;
    background:#fff !important;
    border-bottom:1px solid #edf1f5 !important;
  }

  .mobile-menu .nav-logo img{
    max-width:190px !important;
    max-height:56px !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
  }

  .mobile-menu .close-btn{
    background:#f4f7fa !important;
    color:#1f3147 !important;
    border-radius:10px !important;
  }

  .mobile-menu .navigation > li > a{
    font-size:16px !important;
    font-weight:700 !important;
    color:#1f3147 !important;
    padding:15px 20px !important;
    letter-spacing:.2px;
  }

  .mobile-menu .navigation li.dropdown .dropdown-btn{
    width:34px !important;
    height:34px !important;
    right:10px !important;
    top:9px !important;
    border-radius:9px !important;
    background:#f4f7fa !important;
    color:#1f3147 !important;
  }

  .mobile-menu .navigation li > ul{
    background:#f8fafc !important;
  }

  .mobile-menu .navigation li > ul > li > a{
    padding:12px 20px 12px 38px !important;
    font-size:14px !important;
    font-weight:600 !important;
    color:#506070 !important;
  }
}

@media (max-width: 767px){

  .main-header .inner-container,
  .main-header .main-box,
  .main-header .nav-outer{
    min-height:60px !important;
    padding-top:7px !important;
    padding-bottom:7px !important;
  }

  .main-header .logo img,
  .main-header .logo-box img{
    max-height:54px !important;
    max-width:175px !important;
  }

  .mobile-nav-toggler{
    width:42px !important;
    height:42px !important;
    font-size:19px !important;
  }
}

@media (max-width: 480px){

  .main-header .logo img,
  .main-header .logo-box img{
    max-height:50px !important;
    max-width:165px !important;
  }

  .mobile-menu .nav-logo img{
    max-width:170px !important;
    max-height:52px !important;
  }

  .mobile-menu .menu-box{
    width:300px !important;
    max-width:90vw !important;
  }
}
/* ==================================================
   FERRO FABS – PREMIUM MOBILE MENU POLISH
================================================== */

@media (max-width: 991px){

  /* cleaner sticky/mobile header feel */
  .main-header{
    background:#ffffff !important;
    box-shadow:0 4px 18px rgba(15, 23, 42, 0.06) !important;
  }

  .main-header .header-upper,
  .main-header .header-lower{
    background:#ffffff !important;
  }

  .main-header .inner-container,
  .main-header .main-box,
  .main-header .nav-outer{
    min-height:68px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* larger logo */
  .main-header .logo img,
  .main-header .logo-box img{
    max-height:60px !important;
    max-width:200px !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
  }

  /* premium hamburger */
  .mobile-nav-toggler{
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,#f58220 0%, #ff9f45 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 10px 24px rgba(245,130,32,0.28) !important;
    transition:all .25s ease !important;
  }

  .mobile-nav-toggler:hover,
  .mobile-nav-toggler:focus{
    background:linear-gradient(135deg,#153a7a 0%, #2856a8 100%) !important;
    color:#fff !important;
    transform:translateY(-1px) !important;
  }

  /* white premium menu panel */
  .mobile-menu .menu-box{
    width:320px !important;
    max-width:88vw !important;
    background:#ffffff !important;
    box-shadow:-18px 0 40px rgba(15,23,42,0.16) !important;
  }

  .mobile-menu .menu-backdrop{
    background:rgba(10,18,30,0.36) !important;
    backdrop-filter:blur(3px);
  }

  /* top brand block */
  .mobile-menu .nav-logo{
    display:block !important;
    padding:20px 20px 18px !important;
    background:#ffffff !important;
    border-bottom:1px solid #edf1f5 !important;
    position:relative;
  }

  .mobile-menu .nav-logo::after{
    content:"Premium Sleep Products";
    display:block;
    margin-top:6px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#7a8794;
  }

  .mobile-menu .nav-logo img{
    max-width:190px !important;
    max-height:58px !important;
    width:auto !important;
    height:auto !important;
    display:block !important;
  }

  /* close button */
  .mobile-menu .close-btn{
    top:16px !important;
    right:16px !important;
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
    background:#f4f7fa !important;
    color:#1f3147 !important;
    box-shadow:none !important;
  }

  /* menu list */
  .mobile-menu .navigation{
    background:#ffffff !important;
    padding:8px 0 14px !important;
  }

  .mobile-menu .navigation > li{
    position:relative !important;
    margin:0 12px 4px !important;
    border:none !important;
  }

  .mobile-menu .navigation > li > a{
    color:#1f3147 !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    padding:14px 16px !important;
    border-radius:12px !important;
    border:1px solid #edf1f5 !important;
    background:#ffffff !important;
    transition:all .2s ease !important;
  }

  .mobile-menu .navigation > li > a:hover,
  .mobile-menu .navigation > li.current > a{
    background:#f8fbff !important;
    border-color:#d9e4f2 !important;
    color:#153a7a !important;
  }

  /* dropdown arrow button */
  .mobile-menu .navigation li.dropdown .dropdown-btn{
    width:36px !important;
    height:36px !important;
    right:10px !important;
    top:9px !important;
    border-radius:10px !important;
    background:#f4f7fa !important;
    color:#1f3147 !important;
    border:none !important;
    transition:all .2s ease !important;
  }

  .mobile-menu .navigation li.dropdown.open > .dropdown-btn{
    background:#153a7a !important;
    color:#ffffff !important;
  }

  /* submenu */
  .mobile-menu .navigation li > ul{
    margin:8px 4px 0 !important;
    padding:8px !important;
    background:#f8fafc !important;
    border:1px solid #edf1f5 !important;
    border-radius:14px !important;
  }

  .mobile-menu .navigation li > ul > li{
    margin:0 !important;
    border:none !important;
  }

  .mobile-menu .navigation li > ul > li > a{
    display:block !important;
    padding:11px 12px 11px 14px !important;
    font-size:14px !important;
    font-weight:600 !important;
    color:#506070 !important;
    background:transparent !important;
    border-radius:10px !important;
    transition:all .2s ease !important;
  }

  .mobile-menu .navigation li > ul > li > a:hover{
    background:#ffffff !important;
    color:#153a7a !important;
  }

  /* hide clutter */
  .mobile-menu .contact-info,
  .mobile-menu .social-links,
  .mobile-menu .lower-box,
  .mobile-menu .menu-contact{
    display:none !important;
  }
}

@media (max-width: 767px){

  .main-header .inner-container,
  .main-header .main-box,
  .main-header .nav-outer{
    min-height:64px !important;
  }

  .main-header .logo img,
  .main-header .logo-box img{
    max-height:56px !important;
    max-width:185px !important;
  }

  .mobile-nav-toggler{
    width:44px !important;
    height:44px !important;
    font-size:19px !important;
  }

  .mobile-menu .menu-box{
    width:310px !important;
    max-width:89vw !important;
  }
}

@media (max-width: 480px){

  .main-header .logo img,
  .main-header .logo-box img{
    max-height:52px !important;
    max-width:172px !important;
  }

  .mobile-menu .nav-logo img{
    max-width:172px !important;
    max-height:54px !important;
  }

  .mobile-menu .menu-box{
    width:295px !important;
    max-width:90vw !important;
  }

  .mobile-menu .navigation > li{
    margin-left:10px !important;
    margin-right:10px !important;
  }
}
/* ==================================================
   FIX DESKTOP HEADER LAYOUT
================================================== */
@media (min-width: 992px){

  .main-header .header-lower .outer-box{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
  }

  .main-header .header-lower .logo-box{
    flex:0 0 auto !important;
    margin-right:24px !important;
  }

  .main-header .header-lower .menu-area{
    flex:1 1 auto !important;
    display:flex !important;
    justify-content:center !important;
    min-width:0 !important;
  }

  .main-header .header-lower .main-menu{
    display:block !important;
  }

  .main-header .header-lower .navigation{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:nowrap !important;
  }

  .main-header .header-lower .navigation > li{
    margin:0 10px !important;
  }

  .main-header .header-lower .navigation > li > a{
    white-space:nowrap !important;
    font-size:14px !important;
  }

  .main-header .header-lower .nav-right{
    flex:0 0 auto !important;
    margin-left:24px !important;
  }

  .main-header .header-lower .btn-box{
    display:block !important;
  }

  .main-header .header-lower .btn-box .theme-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
  }
}
/* =========================================
   HAMBURGER ICON CENTER FIX
========================================= */
.mobile-nav-toggler{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.mobile-nav-toggler .icon-bar{
  position: absolute;
  left: 50%;
  width: 20px;
  height: 2px;
  margin: 0 !important;
  background: #ffffff;
  border-radius: 20px;
  transform: translateX(-50%);
}

.mobile-nav-toggler .icon-bar:nth-child(1){
  top: 14px;
}

.mobile-nav-toggler .icon-bar:nth-child(2){
  top: 20px;
}

.mobile-nav-toggler .icon-bar:nth-child(3){
  top: 26px;
}
/* =========================================
   MOBILE SUBMENU OPEN FIX
========================================= */
.mobile-menu .navigation li > ul{
  display: none;
}

.mobile-menu .navigation li.open > ul{
  display: block !important;
}
/* ==================================================
   FINAL MOBILE TOGGLER + SUBMENU FIX
================================================== */

/* hamburger button */
.mobile-nav-toggler{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:none !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#f58220,#ff9a3d) !important;
  box-shadow:0 8px 18px rgba(245,130,32,.25) !important;
  overflow:hidden !important;
}

/* reset theme styling on bars */
.mobile-nav-toggler .icon-bar{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  margin:0 !important;
  width:20px !important;
  height:2px !important;
  background:#ffffff !important;
  border-radius:20px !important;
  transform:translateX(-50%) !important;
  top:auto !important;
  bottom:auto !important;
}

/* centered three bars */
.mobile-nav-toggler .icon-bar:nth-child(1){
  top:15px !important;
}

.mobile-nav-toggler .icon-bar:nth-child(2){
  top:21px !important;
}

.mobile-nav-toggler .icon-bar:nth-child(3){
  top:27px !important;
}

/* mobile submenu */
.mobile-menu .navigation li > ul{
  display:none !important;
}

.mobile-menu .navigation li.open > ul{
  display:block !important;
}

/* dropdown button visual */
.mobile-menu .navigation li.dropdown{
  position:relative !important;
}

.mobile-menu .navigation li.dropdown > .dropdown-btn{
  position:absolute !important;
  right:10px !important;
  top:9px !important;
  width:36px !important;
  height:36px !important;
  border:none !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f4f7fa !important;
  color:#1f3147 !important;
  z-index:3 !important;
  cursor:pointer !important;
}

.mobile-menu .navigation li.dropdown.open > .dropdown-btn{
  background:#153a7a !important;
  color:#fff !important;
}
/* ==================================================
   MOBILE MENU FUNCTIONALITY SAFETY FIX
================================================== */

.mobile-menu{
  position:fixed;
  right:0;
  top:0;
  width:100%;
  height:100%;
  z-index:99999;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.mobile-menu .menu-backdrop{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
}

.mobile-menu .menu-box{
  position:absolute;
  right:-100%;
  top:0;
  width:320px;
  max-width:88vw;
  height:100%;
  overflow-y:auto;
  transition:all .35s ease;
}

body.mobile-menu-visible .mobile-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

body.mobile-menu-visible .mobile-menu .menu-box{
  right:0;
}

/* submenu open/close */
.mobile-menu .navigation li > ul{
  display:none !important;
}

.mobile-menu .navigation li.open > ul{
  display:block !important;
}
/* =========================================
   HIDE HAMBURGER ON DESKTOP
========================================= */
@media (min-width: 992px){
  .mobile-nav-toggler{
    display:none !important;
  }
}

@media (max-width: 991.98px){
  .mobile-nav-toggler{
    display:flex !important;
  }
}
