/* ── Mega Menu ── */

/* Desktop: panel is absolute inside .navbar (position:relative via Bootstrap) */
@media (min-width: 993px) {
  .has-megamenu { position: static; }

  .megamenu-toggle { display: none; }

  .megamenu-panel {
    position:   absolute;
    top:        100%;
    right:      0;
    max-width:  700px;
    background: #fff;
    border-top: 2px solid var(--mw-primary);
    box-shadow: 0 8px 32px rgba(0,0,0,0.12);
    z-index:    1000;
    opacity:    0;
    visibility: hidden;
    transform:  translateY(-6px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    pointer-events: none;
  }

  .has-megamenu.is-open > .megamenu-panel {
    opacity:    1;
    visibility: visible;
    transform:  translateY(0);
    pointer-events: auto;
  }

  /* Inner layout */
  .megamenu-inner {
    max-width: 700px;
    padding:   1.5rem;
  }

  /* Links — image card grid */
  .megamenu-links {
    display:               grid;
    grid-template-columns: repeat(4, 1fr);
    gap:                   1rem;
  }

  .megamenu-links a {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    border-radius:  var(--mw-radius-md);
  }

  .megamenu-links a img {
    width:         100%;
    height:        80px;
    object-fit:    cover;
    display:       block;
    border-radius: var(--mw-radius-md);
  }

  .mm-link-icon {
    width:           100%;
    height:          80px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      var(--mw-primary-light);
    border-radius:   var(--mw-radius-md);
    color:           var(--mw-primary);
    font-size:       1.5rem;
  }

  .mm-link-label {
    font-size:   var(--mw-fs-xs);
    font-weight: 600;
    text-align:  center;
    padding:     0.6rem;
    line-height: 1.3;
  }
}

/* Mobile: inline collapse inside drawer */
@media (max-width: 992px) {
  .megamenu-panel {
    max-height:    0;
    overflow:      hidden;
    background:    rgba(0,0,0,0.04);
    border-radius: 0;
    margin-top:    0;
    padding:       0 1rem;
    width:         100%;
    transition:    max-height 0.35s ease, padding 0.35s ease, margin-top 0.35s ease;
  }

  .has-megamenu.is-open > .megamenu-panel {
    max-height:  600px;
    padding:     1rem;
    margin-top:  0.5rem;
  }

  .megamenu-toggle {
    background:  none;
    border:      none;
    color:       var(--mw-text);
    padding:     0.5rem 0.85rem;
    cursor:      pointer;
    transition:  color var(--mw-transition);
    line-height: 1;
  }

  .megamenu-toggle .fa-angle-down {
    font-size:  1rem;
    transition: transform var(--mw-transition);
  }

  .has-megamenu.is-open > .megamenu-toggle .fa-angle-down {
    transform: rotate(180deg);
  }

  /* Simple text list — no images */
  .megamenu-inner {
    max-width: 100%;
    padding:   0.5rem 0;
  }

  .megamenu-links {
    list-style:     none;
    padding:        0;
    margin:         0;
    display:        flex;
    flex-direction: column;
    gap:            0;
  }


  .megamenu-links li { margin: 0; }

  .megamenu-links a {
    display:         flex;
    flex-direction:  row;
    align-items:     center;
    text-decoration: none;
    color:           var(--mw-text);
    width:           100%;
    padding:         0.5rem 0.25rem;
    border-bottom:   1px solid var(--mw-border);
    border-radius:   0;
    font-size:       var(--mw-fs-sm);
    font-weight:     500;
    transition:      color var(--mw-transition);
  }

  .megamenu-links a:hover { color: var(--mw-primary); }

  .megamenu-links li:last-child a { border-bottom: none; }

  .megamenu-links a img,
  .mm-link-icon { display: none !important; }

  .mm-link-label {
    padding:    0;
    text-align: left;
    font-size:  var(--mw-fs-sm);
    font-weight: 500;
  }
}

/* Shared base — safe for both breakpoints */
.megamenu-links {
  list-style: none;
  padding:    0;
  margin:     0;
}

.megamenu-links li { margin: 0; }

.megamenu-links a {
  text-decoration: none;
  color:           var(--mw-text);
  overflow:        hidden;
  transition:      box-shadow var(--mw-transition), color var(--mw-transition);
}

.megamenu-links a:hover {
  box-shadow: var(--mw-shadow-md);
  color:      var(--mw-primary-dark);
}

/* Featured card column */
.megamenu-featured {
  display:         block;
  border-radius:   var(--mw-radius-md);
  overflow:        hidden;
  text-decoration: none;
  color:           var(--mw-text);
  transition:      box-shadow var(--mw-transition);
}

.megamenu-featured:hover { box-shadow: var(--mw-shadow-md); }

.megamenu-featured img {
  width:       100%;
  height:      150px;
  object-fit:  cover;
  display:     block;
}

.megamenu-featured-body { padding: 0.65rem 0 0; }

.megamenu-featured-body h5 {
  font-family:   var(--mw-font-heading);
  font-size:     var(--mw-fs-md);
  font-weight:   600;
  margin-bottom: 0.2rem;
  color:         var(--mw-secondary);
}

.megamenu-featured-body p {
  font-size:   var(--mw-fs-sm);
  color:       var(--mw-text-muted);
  margin:      0;
  line-height: 1.5;
}
