/*
 * Responsive shell and fixed mobile navigation — Olimo 0.41.0
 * Layout changes follow the configured content width, not only the viewport.
 */

.olimo-container{
  container-type: inline-size;
  container-name: olimo-shell;
}

.olimo-container > *, .olimo-footer-main-grid > *, .olimo-footer-lower > *{
  min-width: 0;
  max-width: 100%;
}

/* Fluid spacing keeps narrow custom desktop widths usable. */
.olimo-header-inner, .olimo-footer-main-grid, .olimo-footer-lower{
  column-gap: clamp(10px, 2cqi, 28px);
}

@container olimo-shell (max-width: 1180px) {.olimo-header-inner{ gap: clamp(9px, 1.5cqi, 17px); }
  .olimo-logo img{ width: clamp(72px, 7.5cqi, 84px); }
  .olimo-primary-menu{ gap: clamp(12px, 1.7cqi, 20px); }
  .olimo-primary-menu > li > a{ font-size: 11px; }
  .olimo-header-search{ width: auto; flex: 1 1 250px; max-width: 290px; }
  .olimo-header-cart{ min-width: 48px; }
  .olimo-header-cart-copy{ display: none; }
  
  
  

  
  
  
  
  
  
  
  
  .olimo-blog-track{ grid-auto-columns: calc((100% - 36px) / 3); }
  
  
  
  
  
  
  
  
  .olimo-wishlist-grid, .olimo-shop-product-grid, .olimo-search-product-grid, .olimo-blog-archive .olimo-post-grid, .olimo-related-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .woocommerce ul.products{ --wc-grid-columns: 3; }
  .olimo-features-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); }}

@container olimo-shell (max-width: 980px) {.olimo-primary-nav{ display: none; }
  .olimo-mobile-toggle{ display: grid; }
  .olimo-header-search{ max-width: none; flex-basis: 220px; }
  
  
  

  
  
  
  
  
  

  
  
  
  

  
  
  
  .olimo-blog-track{ grid-auto-columns: calc((100% - 18px) / 2); }

  
  
  
  
  
  
  
  
  .olimo-footer-main-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .olimo-footer-lower{ grid-template-columns: minmax(0,1fr) 180px; }}

@container olimo-shell (max-width: 820px) {.olimo-footer-lower{ display: flex; flex-direction: column; }
  .olimo-wishlist-grid, .olimo-shop-product-grid, .olimo-search-product-grid, .olimo-blog-archive .olimo-post-grid, .olimo-related-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .woocommerce ul.products{ --wc-grid-columns: 2; }
  .olimo-features-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }}




@media (max-width: 960px) {.olimo-mobile-drawer{ padding-bottom: 104px; }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .olimo-mobile-general-nav{ margin-top: 16px; padding-top: 4px; border-top: 1px solid #F8F4FF; }}

/* Fixed five-item mobile bottom navigation — minimal v1.0.5. */
.olimo-mobile-bottom-nav{display:none}

@media (max-width:960px){
  .olimo-mobile-drawer{z-index:1700;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .olimo-overlay{z-index:1600}
  .olimo-mobile-general-nav,.olimo-mobile-general-nav .menu,.olimo-mobile-general-nav .sub-menu{max-width:100%}
  .olimo-mobile-general-nav .sub-menu{position:static!important;display:block!important;width:auto!important;max-height:none!important;margin:0!important;padding:0 14px 4px 0!important;overflow:visible!important;visibility:visible!important;opacity:1!important;transform:none!important;box-shadow:none!important}
}

@media (max-width:767px){
  html{scroll-padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .olimo-mobile-bottom-nav{
    position:fixed;
    z-index:1500;
    right:10px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    left:10px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    height:60px;
    padding:5px 6px;
    border:1px solid rgba(75,23,63,.08);
    border-radius:19px;
    background:#FFFFFF;
    box-shadow:0 10px 34px rgba(75,23,63,.14);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .olimo-mobile-bottom-item{
    position:relative;
    display:flex;
    min-width:0;
    height:50px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:3px 1px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:#F8F4FF;
    font:inherit;
    text-decoration:none;
    transition:color .2s ease,background-color .2s ease,transform .2s ease;
  }
  .olimo-mobile-bottom-item:active{transform:scale(.96)}
  .olimo-mobile-bottom-icon{position:relative;display:grid;width:27px;height:27px;place-items:center;color:inherit}
  .olimo-mobile-bottom-icon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  .olimo-mobile-bottom-label{display:block;max-width:100%;overflow:hidden;color:inherit;font-size:8.5px;font-weight:700;line-height:11px;white-space:nowrap;text-overflow:ellipsis}
  .olimo-mobile-bottom-item.is-active,
  body.olimo-mobile-menu-open [data-olimo-mobile-menu-trigger],
  body.olimo-cart-popup-open [data-olimo-mobile-cart-trigger]{color:var(--olimo-primary);background:rgba(112,35,88,.055)}
  .olimo-mobile-bottom-item.is-active::after,
  body.olimo-mobile-menu-open [data-olimo-mobile-menu-trigger]::after,
  body.olimo-cart-popup-open [data-olimo-mobile-cart-trigger]::after{content:"";position:absolute;right:50%;bottom:2px;width:14px;height:2px;border-radius:999px;background:currentColor;transform:translateX(50%)}
  .olimo-mobile-bottom-cart{transform:none}
  .olimo-mobile-bottom-cart .olimo-mobile-bottom-icon{width:29px;height:29px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
  .olimo-mobile-bottom-cart .olimo-mobile-bottom-icon svg{width:23px;height:23px}
  .olimo-mobile-bottom-cart-count{position:absolute;top:-3px;left:-4px;display:grid;min-width:16px;height:16px;padding:0 4px;place-items:center;border:1.5px solid #fff;border-radius:999px;background:var(--olimo-primary);color:#fff;font-size:8px;font-weight:800;line-height:1;box-shadow:0 2px 5px rgba(112,35,88,.2)}
  .olimo-mobile-bottom-cart-count.is-empty{display:none}
  body.olimo-ui-open .olimo-mobile-bottom-nav{box-shadow:0 6px 20px rgba(75,23,63,.08)}
  body.admin-bar .olimo-mobile-bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom))}
}

@media (max-width:370px){
  .olimo-mobile-bottom-nav{right:6px;left:6px;padding-inline:3px}
  .olimo-mobile-bottom-label{font-size:8px}
  .olimo-mobile-bottom-icon svg{width:21px;height:21px}
}



/* Olimo v1.0.6 — stronger inactive mobile bottom navigation */
@media(max-width:767px){
  .olimo-mobile-bottom-item{color:var(--olimo-primary)}
  .olimo-mobile-bottom-icon svg{stroke-width:1.9}
  .olimo-mobile-bottom-label{font-weight:800}
  .olimo-mobile-bottom-item.is-active,
  body.olimo-mobile-menu-open [data-olimo-mobile-menu-trigger],
  body.olimo-cart-popup-open [data-olimo-mobile-cart-trigger]{color:var(--olimo-dark-700);background:rgba(112,35,88,.08)}
}


/* Olimo v1.0.14 — collapsed mobile submenus with explicit + toggle */
@media (max-width:960px){
  .olimo-mobile-general-nav .olimo-mobile-menu .menu-item-has-children{
    position:relative;
  }
  .olimo-mobile-general-nav .olimo-mobile-menu .menu-item-has-children > a{
    padding-left:50px;
  }
  .olimo-mobile-general-nav .olimo-mobile-menu .sub-menu{
    display:block!important;
    max-height:0!important;
    margin:0!important;
    padding:0 14px 0 0!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:0!important;
    transform:none!important;
    box-shadow:none!important;
    transition:max-height .32s ease,opacity .22s ease,padding .32s ease!important;
  }
  .olimo-mobile-general-nav .olimo-mobile-menu .menu-item-has-children.is-submenu-open > .sub-menu{
    max-height:1200px!important;
    padding-bottom:6px!important;
    opacity:1!important;
  }
  .olimo-mobile-submenu-toggle{
    position:absolute;
    z-index:2;
    top:5px;
    left:4px;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid rgba(112,35,88,.18);
    border-radius:10px;
    background:#FFFFFF;
    color:#8D2BF4;
    font:700 22px/1 Arial,sans-serif;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease;
  }
  .olimo-mobile-submenu-toggle::before{content:"+";transform:translateY(-1px)}
  .olimo-mobile-submenu-toggle[aria-expanded="true"]{
    background:#F8F4FF;
    color:#101B3D;
  }
  .olimo-mobile-submenu-toggle[aria-expanded="true"]::before{content:"−"}
}
