/* ===============
   LQ Shortcode Menu — full stylesheet (clean)
   =============== */

/* Reset + tokens */
.lq-menu, .lq-menu * { box-sizing: border-box; }
.lq-menu{
  --font: "Baloo Bhai 2", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  --fw: 500;
  --fs: 19px;
  --text: #0b0b0b;
  --accent: #1c55a3;
  --muted: #6b7280;
  --border: #e5e7eb;
  --divider: #cde3fb;  /* light divider for mega */
  --blue: #0055a5;     /* top bar */
  --radius: 14px;
  --speed: 260ms;
  --row-h: 64px;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  font-family: var(--font);
  font-weight: var(--fw);
  font-size: var(--fs);
  color: var(--text);
  position: relative;
}

/* A11y helper */
.lq-visually-hidden{
  position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap;
}

/* Row */
.lq-menu__row{ display:flex; align-items:center; gap:16px; min-height:var(--row-h); position:relative; z-index:1; }
.lq-menu__logo-area{ flex:0 0 auto; }

.lq-menu__items{
  flex:1 1 auto; height:100%;
  display:flex; align-items:center; justify-content:end; place-content:center;
  overflow:visible!important;
  transform-origin: top center;
  transition: transform var(--speed) ease, opacity var(--speed) ease;
  will-change: transform, opacity;
}
.lq-menu__list{ list-style:none; margin:0; padding:0; display:flex; }
.lq-menu__list > li{ position:relative; }
.lq-menu__link{
  display:inline-flex; align-items:center;
  min-height:var(--row-h); line-height:100%;
  padding:0 8px; text-decoration:none; color:var(--text)!important; text-transform:uppercase;
}
.lq-menu__list > li.current-menu-item > a,
.lq-menu__link:hover{ color:var(--accent); }

/* Search trigger */
.lq-menu__search-btn{
  height:var(--row-h); display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px; border:0; border-radius:22px; background:transparent;
  color:var(--text)!important; cursor:pointer;
  transition: opacity var(--speed) ease, visibility var(--speed) step-end;
}
.lq-menu__search-btn.is-hidden{ opacity:0; visibility:hidden; pointer-events:none; }

/* =========================
   Desktop dropdowns & mega
   ========================= */
@media (min-width:1001px){
  /* base dropdown */
  .lq-menu__list > li > ul.sub-menu{
    position:absolute; left:0; top:calc(100% + 10px);
    min-width:250px; padding:0; background:#fff; border-radius:4px; box-shadow:var(--shadow);
    opacity:0; visibility:hidden; transform:translateY(8px);
    transition:opacity var(--speed) ease, transform var(--speed) ease, visibility var(--speed) step-end;
    z-index:50; pointer-events:none;  /* prevent hidden hover capture */
  }
  .lq-menu__list > li:hover > ul.sub-menu,
  .lq-menu__list > li:focus-within > ul.sub-menu{
    opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;
    transition:opacity var(--speed) ease, transform var(--speed) ease, visibility 0s;
  }

  /* hover-gap bridge beneath parent li */
  .lq-menu__list > li.menu-item-has-children{ position:relative; }
  .lq-menu__list > li.menu-item-has-children::after{
    content:""; position:absolute; left:0; right:0; top:100%; height:0;
  }
  .lq-menu__list > li.menu-item-has-children:hover::after,
  .lq-menu__list > li.menu-item-has-children:focus-within::after{ height:14px; }

  /* regular dropdown items */
  .lq-menu__list > li > ul.sub-menu > li > a{
    display:block; white-space:nowrap; color:var(--text);
    text-decoration:none; font-family:Poppins, var(--font); font-weight:400;
    padding:12px 20px !important; border-bottom:1px solid var(--divider);
    font-size:16px; text-transform:none; line-height:100% !important; height:initial !important; align-content:center;
  }
  .lq-menu__list > li > ul.sub-menu > li > a:hover{ background:#f9f9fb; }

  /* mega (two columns) */
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu{
    width:min(600px,92vw); left:0; right:auto;
    display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0;
    background:#fff; border-top:3px solid var(--blue);
  }
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li{
    margin:0; padding:0; border-right:1px solid var(--divider);
  }
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li:last-child{ border-right:0; }

  /* mega column header */
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > a.lq-menu__link{
    display:block; padding:14px 18px; border-bottom:1px solid var(--divider);
    font-weight:600; font-size:16px; line-height:1.25; letter-spacing:0;
    text-transform:none; color:var(--text); cursor:default; position:relative;
  }
  /* remove any header bullets/icons injected by theme */
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > a.lq-menu__link::before,
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > a.lq-menu__link::after,
  .lq-menu .lq-mega .sub-menu > li::marker{ content:none!important; display:none!important; }

  /* inner list inside mega */
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > ul.sub-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:0; padding:0; margin:0;
  }
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > ul.sub-menu > li{
    margin:0; border-bottom:1px solid var(--divider);
  }
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > ul.sub-menu > li:last-child{ border-bottom:0; }
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > ul.sub-menu > li > a{
    display:flex; align-items:center; gap:10px; padding:12px 18px;
    font-weight:500; font-size:16px; line-height:1.35; letter-spacing:0;
    text-transform:none; color:var(--text); white-space:normal;
  }
  .lq-menu .lq-menu__list > li.lq-mega > ul.sub-menu > li > ul.sub-menu > li > a:hover{ background:#f8fafc; }

  /* keep theme leaks in check within mega */
  .lq-menu .lq-mega .sub-menu li,
  .lq-menu .lq-mega .sub-menu a{
    margin:0!important; text-transform:none!important; letter-spacing:0!important;
  }

  .lq-subtoggle{ display:none!important; } /* mobile caret hidden on desktop */
}

/* =========================
   Desktop search overlay
   ========================= */
@media (min-width:1001px){
  .lq-search{
    position:absolute; left:0; right:0; top:20px;
    z-index:2000; opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity var(--speed) ease, visibility var(--speed) step-end;
  }
  .lq-search.is-open{ opacity:1; visibility:visible; pointer-events:auto; }

  .lq-search__form{
    display:flex; align-items:center; position:relative;
    height:50px; margin-right:46px;
    background:#fff; border:1px solid var(--border); border-radius:12px;
    will-change: transform, opacity;
  }
  .lq-search__icon{ padding-left:14px; padding-right:8px; color:var(--text); display:inline-flex; align-items:center; }
  .lq-search__input{
    appearance:none; border:0; outline:0; width:100%; height:100%;
    font-family:var(--font); font-size:16px; color: var(--text); padding:0 14px; background:transparent;
  }
  .lq-search__close{
    position:absolute; right:-42px; top:50%; transform:translateY(-50%);
    background:transparent; border:0; cursor:pointer; color:var(--text);
  }
  /* animated baseline */
  .lq-search:not(.is-open) .lq-search__form{ opacity:0; transform:translateY(-20px); }
  .lq-search.is-open .lq-search__form{ opacity:1; transform:translateY(0); }
}

/* =========================
   Mobile layout & search
   ========================= */
.lq-mobilebar, .lq-mobilepanel, .lq-subtoggle{ display:none; }

@media (max-width:1000px){
  .lq-menu__row{ display:none; }

  /* 20px side gap (full viewport minus 40px), centered */
  .lq-mobilebar,
  .lq-mobilepanel{
    width: calc(100vw - 40px);
    margin-left: 50%;
    transform: translateX(-50%);
    border-left: 0; border-right: 0; border-radius: 0;
  }

  .lq-mobilebar{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    height:42px; line-height:42px; background:#fff;
    border:1px solid #e2e2e2; color:#4a4e57; font-size:12px; padding:0 12px; cursor:pointer;
  }

  .lq-mobilepanel{ display:block; overflow:hidden; transition:height var(--speed) ease, opacity var(--speed) ease; }
  .lq-mobilepanel[hidden]{ height:0; opacity:0; pointer-events:none; }
  .lq-mobilepanel:not([hidden]){ opacity:1; }

  .lq-mobilepanel__menu .lq-menu__list{
    flex-direction:column; gap:0; border:1px solid var(--border); overflow:hidden; background:#fff;
    border-left: 0; border-right: 0;
  }
  .lq-mobilepanel__menu .lq-menu__list > li{
    display:grid; grid-template-columns:1fr auto; align-items:center; border-bottom:1px solid var(--border);
  }
  .lq-mobilepanel__menu .lq-menu__list > li:last-child{ border-bottom:0; }
  .lq-mobilepanel__menu a.lq-menu__link{ padding:12px 10px; font-size:12px; line-height:31px; text-transform:none; }
  .lq-subtoggle{
    display:inline-flex; align-items:center; justify-content:center;
    margin-right:8px; border:0; background:transparent; padding:12px; cursor:pointer;
    transition:transform var(--speed);
  }
  .lq-subtoggle[aria-expanded="true"]{ transform:rotate(180deg); }

  .lq-mobilepanel .sub-menu{ border-top:1px solid var(--border); padding:0; }
  .lq-mobilepanel .sub-menu > li{ display:grid; grid-template-columns:1fr auto; align-items:center; }
  .lq-mobilepanel .sub-menu > li > a{ display:block; padding:10px 10px 10px 20px; font-size:12px; line-height:31px; }

  /* hide ONLY desktop overlay on mobile */
  .lq-search:not(.lq-search--mobile){ display:none!important; }

  /* mobile search (visible at bottom inside panel) */
  .lq-mobilepanel .lq-search--mobile{
    display:flex!important;
    position: static; left:auto; right:auto; top:auto; z-index:auto;
    opacity:1; visibility:visible; pointer-events:auto;
    align-items:center; gap:8px;
    margin-top:12px;
    height:54px; padding:0;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
  }
  .lq-search--mobile .lq-search__icon{ padding-left:14px; padding-right:8px; color:var(--text); display:inline-flex; align-items:center; }
  .lq-search--mobile .lq-search__input{
    appearance:none; border:0; outline:0; width:100%; height:100%;
    font-family:var(--font); font-size:16px; color:var(--text); padding:0 14px; background:transparent;
  }
}

/* =========================
   Collapsible helper
   ========================= */
[data-collapsible]{ overflow:hidden; }

/* =========================
   Reduced motion
   ========================= */
@media (prefers-reduced-motion:reduce){
  .lq-menu__items, .lq-mobilepanel, .lq-search{ transition:none!important; }
}

/* =========================
   Desktop cinematic transitions
   ========================= */
.lq-menu__items.is-collapsed{ opacity:0; visibility:hidden; transform:translateY(20px); }
.lq-menu__items.is-anim-out{ animation:lqHideDown 280ms cubic-bezier(.4,0,1,1) forwards; }
.lq-menu__items.is-anim-in{  animation:lqShowUp 860ms cubic-bezier(0,0,.2,1) forwards; }

@keyframes lqHideDown{
  0%{ opacity:1; transform:translateY(0); }
  40%{ opacity:.9; transform:translateY(8px); }
  100%{ opacity:0; transform:translateY(30px); }
}
@keyframes lqShowUp{
  0%{ opacity:0; transform:translateY(24px); }
  60%{ opacity:0; transform:translateY(18px); }
  100%{ opacity:1; transform:translateY(0); }
}

/* Opposite motion for the form (desktop overlay) */
.lq-search__form.is-anim-in{  animation:lqFormShow 460ms cubic-bezier(0,0,.2,1) forwards; }
.lq-search__form.is-anim-out{ animation:lqFormHide 280ms cubic-bezier(.4,0,1,1) forwards; }

@keyframes lqFormShow{
  0%{ opacity:0; transform:translateY(-20px); }
  60%{ opacity:1; transform:translateY(-4px); }
  100%{ opacity:1; transform:translateY(0); }
}
@keyframes lqFormHide{
  0%{ opacity:1; transform:translateY(0); }
  40%{ opacity:.8; transform:translateY(-16px); }
  100%{ opacity:0; transform:translateY(-24px); }
}
