/* Mega menu container: positioned under the menu item */
.mega-products { position: relative; }
.mega-products > .sub-menu { display: none !important; } /* hide any normal dropdown on this item */

.ptp-mega {
  --ptp-red: #ee1c25; --ptp-grey: #e2e2e2; --ptp-panel: #ececec; --ptp-cell: #efefef; --ptp-line: #d6d6d6;
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  width: min(1100px, 96vw); z-index: 9999;
  display: flex; align-items: flex-start;            /* each box only as tall as its content */
  visibility: hidden; opacity: 0; transition: opacity .15s, visibility .15s;
  background: transparent; pointer-events: none;     /* empty area below a short box is see-through */
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.22));   /* shadow follows the shape of both boxes */
  color: #222; text-align: left;
  font-family: "Open Sans", Arial, Helvetica, sans-serif; line-height: 1.3;
}
.mega-products:hover > .ptp-mega,
.mega-products:focus-within > .ptp-mega { visibility: visible; opacity: 1; }
/* The boxes only catch the mouse while the menu is open,
   so hovering the page where the hidden menu sits does nothing */
.mega-products:hover > .ptp-mega .ptp-series,
.mega-products:hover > .ptp-mega .ptp-panels,
.mega-products:focus-within > .ptp-mega .ptp-series,
.mega-products:focus-within > .ptp-mega .ptp-panels { pointer-events: auto; }

/* Left list box */
.ptp-mega .ptp-series {
  display: block !important; position: static !important; visibility: inherit !important; opacity: 1 !important;
  transform: none !important; width: 340px; flex-shrink: 0; padding: 10px 0; margin: 0;
  background: var(--ptp-grey); pointer-events: none;
  border: 0; border-top: 2px solid var(--ptp-red); border-bottom: 2px solid var(--ptp-red);
}
.ptp-mega .ptp-s-btn {
  display: flex !important; width: auto; margin: 0; border: 0; line-height: 1.3;
  gap: 12px; align-items: center; padding: 11px 20px;
  font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400;
  text-transform: uppercase; color: #222; text-decoration: none;
}
.ptp-mega .ptp-s-btn::before { content: "›"; font-size: 18px; line-height: 1; }
.ptp-mega .ptp-s-btn.active { background: var(--ptp-red); color: #fff; font-weight: 700; }

/* Right panel box */
.ptp-panels {
  flex: 1; min-width: 0; padding: 10px 12px 14px; pointer-events: none;
  background: var(--ptp-panel);
  border-top: 0px solid var(--ptp-red); 
  border-bottom: 0px solid var(--ptp-red); 
  border-left: 0px solid var(--ptp-red);
}
.ptp-panel { display: none; }
.ptp-panel.active { display: block; }
.ptp-head { display: flex; justify-content: space-between; align-items: flex-start; }
.ptp-mega h3 { margin: 0; color: var(--ptp-red); font-size: 20px; font-weight: 700; }
.ptp-sub { margin: 0 0 10px; font-size: 12px; text-transform: uppercase; }
.ptp-tag { font-weight: 700; font-size: 14px; }

.ptp-group { display: flex; background: #f4f4f4; border: 1px solid var(--ptp-line); margin-bottom: 10px; }
.ptp-group:last-child { margin-bottom: 0; }
.ptp-img { width: 180px; flex-shrink: 0; padding: 12px; font-size: 12px; color: #444;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.ptp-img img { max-width: 100%; height: 110px; object-fit: contain; margin-bottom: 8px; }
.ptp-img strong { display: block; font-size: 13px; color: #222; }

.ptp-models { flex: 1; display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); }
.ptp-mega .ptp-models a {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 10px; font-size: 12px; font-weight: 700; color: #222; text-decoration: none;
  background: var(--ptp-cell); border-left: 1px solid var(--ptp-line); border-bottom: 1px solid var(--ptp-line);
}
.ptp-mega .ptp-models a::after { content: "›"; font-size: 18px; font-weight: 400; }
.ptp-mega .ptp-models a:hover, .ptp-mega .ptp-models a:focus-visible { background: var(--ptp-red); color: #fff; outline: none; }

/* Items with no sub menu (Custom Design, Cold/Hot Shoes): hide the right box */
.ptp-mega.ptp-no-panel .ptp-panels { display: none; }

.main-navigation ul ul li {padding: 0px;width: 100%;}

#ptp-p5,#ptp-p4{padding-bottom: 50px;}
/* ---------- Mobile: stacked accordion inside the theme's mobile menu ---------- */
@media (max-width: 1024px) {
  .ptp-mega { position: static; transform: none; width: 100%; flex-direction: column; align-items: stretch;
    visibility: visible; opacity: 1; display: none; filter: none; pointer-events: auto; }
  .mega-products:hover > .ptp-mega, .mega-products:focus-within > .ptp-mega { display: none; }
  .mega-products.ptp-open > .ptp-mega { display: flex; }
  .ptp-mega .ptp-series { width: 100%; }
  .ptp-panels { border-left: 0; }
  .ptp-mega.ptp-no-panel .ptp-panels { display: block; }
  .ptp-group { flex-direction: column; }
  .ptp-img { width: 100%; }
  .ptp-models { --cols: 2 !important; grid-template-columns: repeat(2, 1fr); }
	.mega-products > .sub-menu {display: block !important; }

  .main-navigation ul ul.sub-menu li#menu-item-352 ul.sub-menu, .main-navigation ul ul.sub-menu li#menu-item-353 ul.sub-menu, .main-navigation ul ul.sub-menu li#menu-item-354 ul.sub-menu, .main-navigation ul ul.sub-menu li#menu-item-20127 ul.sub-menu, .main-navigation ul ul.sub-menu li#menu-item-20128 ul.sub-menu, .main-navigation ul ul.sub-menu li#menu-item-20129 ul.sub-menu{
    background: #ddd !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
}