/* Mobile navigation and layout corrections. */
[hidden].mobile-drawer, .drawer-submenu[hidden] { display: none !important; }
.mobile-drawer { position: fixed; inset: 0; z-index: 10000; }
.mobile-drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(15, 23, 42, .5); opacity: 0; transition: opacity 280ms ease; }
.mobile-drawer-panel { position: absolute; inset-block: 0; inset-inline-start: 0; width: min(340px, 88%); max-width: 100%; background: #fff; display: flex; flex-direction: column; box-shadow: 0 0 24px rgba(0, 0, 0, .2); transform: translateX(-100%); transition: transform 280ms cubic-bezier(.22, 1, .36, 1); }
:dir(rtl) .mobile-drawer-panel { transform: translateX(100%); }
.mobile-drawer.is-open .mobile-drawer-backdrop { opacity: 1; }
.mobile-drawer.is-open .mobile-drawer-panel { transform: translateX(0); }
@media (prefers-reduced-motion: reduce) {
  .mobile-drawer-backdrop, .mobile-drawer-panel { transition-duration: 0s; }
}
.mobile-drawer-header { display: flex; align-items: center; gap: 8px; padding: 14px 16px; border-bottom: 1px solid #e5e7eb; }
.mobile-drawer-logo { flex: 1; min-width: 0; }
.mobile-drawer-logo img { width: auto; max-width: 140px; max-height: 48px; }
.mobile-drawer-header button { width: 44px; height: 44px; font-size: 24px; color: #374151; }
.mobile-drawer-nav { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 8px 12px; }
.mobile-drawer-menu, .drawer-submenu { list-style: none; margin: 0; padding: 0; }
.drawer-submenu { padding-inline-start: 12px; border-inline-start: 2px solid #dbeafe; }
.drawer-submenu-toggle { flex: 0 0 44px; min-height: 44px; color: #6b7280; display: flex; align-items: center; justify-content: center; }
.drawer-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.mobile-drawer-nav a { min-width: 0; overflow-wrap: anywhere; }
.mobile-drawer-nav li > div { min-width: 0; }
.mobile-drawer-social { padding: 16px; border-top: 1px solid #e5e7eb; }
.mobile-drawer-social img { width: 32px; height: 32px; object-fit: contain; }
body.mobile-drawer-open { overflow: hidden; }

/* Desktop-only compact dropdown; its parent link remains a normal page link. */
@media (min-width: 1024px) {
  .mega-menu-nav > li.drop-menu { position: relative; }
  .mega-menu-nav > li.drop-menu > .drop-menu-list {
    position: absolute;
    inset-inline-start: 0;
    top: 100%;
    z-index: 10000;
    min-width: 190px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  }
  .mega-menu-nav > li.drop-menu:hover > .drop-menu-list,
  .mega-menu-nav > li.drop-menu:focus-within > .drop-menu-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .mega-menu-nav > li.drop-menu > .drop-menu-list a {
    display: block;
    padding: 10px 16px;
    color: #374151;
    white-space: nowrap;
  }
  .mega-menu-nav > li.drop-menu > .drop-menu-list a:hover,
  .mega-menu-nav > li.drop-menu > .drop-menu-list a:focus {
    color: #2563eb;
    background: #eff6ff;
  }
}
footer .items-center { flex-wrap: wrap; }
footer a, footer span { overflow-wrap: anywhere; min-width: 0; }
@media (min-width: 768px) {
  .md\:col-span-2 { grid-column: span 2 / span 2; }
  .md\:col-span-8 { grid-column: span 8 / span 8; }
}
.min-w-0 { min-width: 0; }
@media (min-width: 1024px) {
  .mobile-drawer { display: none !important; }
  .mega-menu-nav > li > div { max-width: calc(100vw - 32px); }
}
