/* Gencler Totem Tabela v1.0.16 – WP native menu compatible mega menu. */
@media (min-width: 801px) {
  .site-header .nav-wrap {position:relative;}
  /* The mega panel is positioned against .nav-wrap, but the toggle must
     participate in its parent menu item's flow. Keeping the toggle absolute
     would anchor it to .nav-wrap and overlap the separate quote button. */
  #primary-menu > ul > li.pt-mega-menu {
    position:static;
    display:flex;
    align-items:center;
    gap:0;
  }
  #primary-menu > ul > li.pt-mega-menu > a {
    padding-right:9px;
  }
  #primary-menu > ul > li.pt-mega-menu > .submenu-toggle {
    position:relative;
    top:auto;
    right:auto;
    margin:0;
    flex:0 0 27px;
    width:27px;
    height:27px;
    transform:none;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu {
    position:absolute;
    top:100%; left:0; right:0;
    width:100%; max-width:none; min-width:0;
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px 12px; align-items:stretch;
    padding:21px 22px 25px;
    border:1px solid #e2e8f0; border-top:3px solid var(--red);
    border-radius:0 0 18px 18px;
    background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
    box-shadow:0 25px 60px rgba(12,28,44,.18);
    max-height:min(76vh,650px); overflow-y:auto; overscroll-behavior:contain;
    scrollbar-width:thin; scrollbar-color:#bfc8d5 transparent;
    transform:translateY(12px);
    visibility:hidden; opacity:0; pointer-events:none;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
    z-index:75;
  }
  #primary-menu > ul > li.pt-mega-menu:hover > ul.sub-menu,
  #primary-menu > ul > li.pt-mega-menu:focus-within > ul.sub-menu,
  #primary-menu > ul > li.pt-mega-menu.expanded > ul.sub-menu {
    visibility:visible; opacity:1; pointer-events:auto;
    transform:translateY(0);
  }
  #primary-menu > ul > li.pt-mega-menu.pt-submenu-closed > ul.sub-menu {
    visibility:hidden; opacity:0; pointer-events:none; transform:translateY(12px);
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li {
    min-width:0; width:auto;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.pt-mega-heading {
    display:flex; align-items:center; justify-content:space-between; gap:18px;
    grid-column:1 / -1;
    padding:0 3px 17px; margin-bottom:4px;
    border-bottom:1px solid #e9edf3;
  }
  #primary-menu .pt-mega-heading-copy {display:flex; flex-direction:column; gap:5px;}
  #primary-menu .pt-mega-heading-copy small {
    font-size:10px; font-weight:800; letter-spacing:1.7px; color:var(--red);
  }
  #primary-menu .pt-mega-heading-copy strong {
    font-size:21px; line-height:1.2; letter-spacing:-.55px;
    font-weight:800; color:var(--navy);
  }
  #primary-menu .pt-mega-heading-note {
    font-size:12px; font-weight:500; color:#64748b; text-align:right;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading) > a {
    display:flex; align-items:center; gap:11px;
    padding:13px 15px; min-height:53px;
    border:1px solid #e8edf3; border-radius:11px;
    background:#f7f9fc;
    color:#18293d; font-size:13px; font-weight:650; line-height:1.36;
    white-space:normal; overflow-wrap:anywhere;
    transition:border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading) > a::before {
    content:""; flex:0 0 6px; width:6px; height:6px;
    border-radius:50%; background:var(--red);
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading) > a::after {
    content:""; flex:0 0 17px; width:17px; height:17px; margin-left:auto;
    background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none" stroke="%2391a0b0" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M4 10h11m-5-5 5 5-5 5"/%3E%3C/svg%3E') center/contain no-repeat;
    opacity:.74; transition:transform .18s ease,opacity .18s ease;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading):hover > a,
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading):focus-within > a,
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.current-menu-item > a {
    background:#fff5f5; color:#ab0712; border-color:#f1c6cb;
    box-shadow:0 5px 15px rgba(15,29,51,.06);
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading):hover > a::after,
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading):focus-within > a::after {
    transform:translateX(3px); opacity:1;
  }
  /* Hierarchical WordPress menus: category groups display their children within their own grid cell. */
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children {
    display:flex; flex-direction:column;
    border:1px solid #e8edf3; border-radius:12px; background:#f9fbfd;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > a {
    border:0; border-radius:11px 11px 0 0; background:transparent;
    padding-right:15px; min-height:48px; font-weight:800;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > .submenu-toggle {
    display:none;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu {
    position:static; display:block; visibility:visible; opacity:1; pointer-events:auto;
    inset:auto; width:auto; min-width:0; max-width:none; max-height:none;
    overflow:visible; transform:none; transition:none;
    padding:0 11px 12px; margin:0; border:0; border-radius:0; box-shadow:none;
    background:transparent;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu li {
    width:auto; min-width:0;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu a {
    display:block; padding:8px 9px; border-radius:7px;
    font-size:12px; font-weight:550; line-height:1.45;
    overflow-wrap:anywhere;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu > li > ul.sub-menu {
    position:static; display:block; visibility:visible; opacity:1; pointer-events:auto;
    inset:auto; width:auto; min-width:0; max-height:none; overflow:visible;
    transform:none; padding:0 0 0 12px; margin:0; border:0; box-shadow:none;
    background:transparent;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li.menu-item-has-children > ul.sub-menu .submenu-toggle {
    display:none;
  }
}
@media (min-width:801px) and (max-width:1120px) {
  #primary-menu > ul > li.pt-mega-menu > .submenu-toggle {
    flex-basis:24px;
    width:24px;
    height:24px;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu {
    grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;
    padding:17px;
  }
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li:not(.pt-mega-heading) > a {
    font-size:12px; padding:11px 12px; min-height:50px;
  }
}
@media (max-width:800px) {
  /* Do not show mega panels on mobile. Keep the existing tappable accordion. */
  #primary-menu .pt-mega-heading {display:none;}
  #primary-menu > ul > li.pt-mega-menu {position:relative;}
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu {
    display:none; position:static; visibility:visible; opacity:1;
    width:auto; min-width:0; max-width:none; max-height:none;
    transform:none; box-shadow:none; overflow:visible;
  }
  #primary-menu > ul > li.pt-mega-menu.expanded > ul.sub-menu {display:block;}
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu > li {width:auto;}
}
@media (prefers-reduced-motion:reduce) {
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu,
  #primary-menu > ul > li.pt-mega-menu > ul.sub-menu a::after {
    transition:none!important;
  }
}
