
/* DreamyShelf Mobile Nav + Modals (DSMM) */

@media (min-width: 769px){
  .dsmm-mobile-nav{ display:none !important; }
}

/* Bottom bar */
.dsmm-mobile-nav{
  --dsmm-accent: var(--dsmm-accent, #2c7be5);
  min-height: var(--dsmm-bar-height, 56px);
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  display: flex;
  justify-content: space-around;
  gap: 6px;
  padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
  background: var(--dsmm-bar-bg, #fff);
  border-top: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 -8px 22px rgba(0,0,0,.08);
}

.dsmm-mobile-nav .dsmm-item{
  flex: 1;
  text-decoration: none;
  color: var(--dsmm-accent);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px 4px;
  border-radius: 12px;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.dsmm-mobile-nav .dsmm-icon{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
}

.dsmm-icon-img{
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
}

.dsmm-mobile-nav svg{ fill: currentColor; }
.dsmm-mobile-nav .dsmm-label{
  font-size: 11px;
  line-height: 1.05;
  font-weight: 600;
  opacity: .95;
}

/* Cart count */

/* Cart count */
.dsmm-cart-count{
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 18px;
  font-weight: 800;
  color: #fff;
  background: #e11d48;
  text-align: center;
  pointer-events: none;
}
.dsmm-cart-count.is-empty{ display:none; }

/* Modal shell */
.dsmm-modal{
  display:none;
  position: fixed;
  inset: 0;
  z-index: 10000;
}
.dsmm-modal.is-open{ display:block; }

.dsmm-overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);
}

.dsmm-sheet{
  position:absolute;
  left: 0; right: 0; bottom: 0;
  max-height: 86vh;
  background: #fff;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -20px 60px rgba(0,0,0,.25);
  overflow: hidden;
}

.dsmm-head{
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: #f9fafb;
}

.dsmm-head h2{
  margin: 0;
  font-size: 20px;
  font-weight: 800;
}

.dsmm-close{
  position:absolute;
  right: 10px;
  top: 8px;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  font-size: 28px;
  line-height: 40px;
  cursor: pointer;
  opacity: .8;
}

.dsmm-body{
  padding: 14px 16px 18px;
  overflow: auto;
  max-height: calc(86vh - 58px);
}

/* Notes */
.dsmm-note{
  padding: 10px 2px;
  opacity: .85;
}
.dsmm-note-title{ font-weight: 800; margin-bottom: 10px; }

/* Buttons */
.dsmm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius: 14px;
  padding: 12px 12px;
  font-weight: 700;
  border: 1px solid rgba(0,0,0,.12);
}
.dsmm-btn-primary{
  background: #111827;
  color: #fff;
  border-color: #111827;
}
.dsmm-btn-ghost{
  background: #fff;
  color: #111827;
}

/* MENU modal menu */
.dsmm-menu, .dsmm-submenu{
  list-style: none;
  padding: 0;
  margin: 0;
}
.dsmm-menu > li{
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 6px 0;
  position: relative;
}
.dsmm-menu-link{
  display: inline-block;
  padding: 10px 0;
  text-decoration: none;
  color: inherit;
  font-weight: 650;
}
.dsmm-has-submenu{ position: relative; }
.dsmm-submenu-toggle{
  position:absolute;
  right: 0;
  top: 6px;
  border: 0;
  background: transparent;
  width: 42px;
  height: 42px;
  cursor: pointer;
  opacity: .75;
}
.dsmm-submenu{
  display:none;
  padding-left: 14px;
  margin-top: 4px;
}
.dsmm-has-submenu.dsmm-open > .dsmm-submenu{ display:block; }

/* Catalog tree */
.dsmm-catalog-tree .dsmm-tree{
  list-style:none;
  padding:0;
  margin:0;
}
.dsmm-catalog-tree .dsmm-node{
  position: relative;
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 6px 0;
}
.dsmm-tree-link{
  display:inline-block;
  padding: 10px 0;
  text-decoration:none;
  color: inherit;
  font-weight: 650;
}
.dsmm-node.has-children{ padding-right: 40px; }
.dsmm-tree-toggle{
  position:absolute;
  right: 0;
  top: 6px;
  border:0;
  background:transparent;
  width: 42px;
  height: 42px;
  cursor:pointer;
  opacity:.75;
}
.dsmm-node > .dsmm-tree{ display:none; padding-left: 14px; margin-top: 4px; border-top: 1px dashed rgba(0,0,0,.08); }
.dsmm-node.dsmm-open > .dsmm-tree{ display:block; }

/* Cart preview */
.dsmm-empty{
  text-align:center;
  padding: 10px 0 6px;
}
.dsmm-empty-title{
  font-weight: 800;
  margin-bottom: 10px;
}

.dsmm-cart-body .woocommerce-mini-cart{
  margin: 0;
  padding: 0;
}
.dsmm-cart-footer{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.dsmm-subtotal{
  display:flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.dsmm-actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* Account list: keep your theme classes, but ensure spacing */
.dsmm-account-nav li{
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 8px 0;
}


/* Catalog UI (inspired by mbooks style) */
.dsmm-catalog-ui{ padding-bottom: 2px; }

.dsmm-quick{
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}

.dsmm-pill{
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 12px 10px;
  border-radius: 14px;
  background: #f3f4f6;
  border: 1px solid rgba(0,0,0,.08);
  color: #111827;
  font-weight: 750;
}

.dsmm-section{ margin: 14px 0; }
.dsmm-section-title{
  font-size: 13px;
  font-weight: 800;
  opacity: .85;
  margin: 0 0 10px;
}

.dsmm-chips{
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.dsmm-chips::-webkit-scrollbar{ display:none; }

.dsmm-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 999px;
  background: #f3f4f6;
  border: 1px solid rgba(0,0,0,.08);
  color: #111827;
  font-weight: 700;
  font-size: 13px;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Make catalog tree feel cleaner */
.dsmm-catalog-tree .dsmm-node{
  padding: 10px 0;
}
.dsmm-tree-link{
  font-weight: 750;
}


/* Chips: small icon on left */
.dsmm-chip:before{
  content:'';
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: rgba(17,24,39,.85);
  display:inline-block;
  margin-right: 8px;
}
