/* WordPress-specific additions on top of the extracted design system (ess.css).
   Kept separate so ess.css stays a clean mirror of the Next build. */

/* Nav dropdowns open on hover/focus (no React on the marketing shell) */
.nav-group:hover > .nav-dropdown,
.nav-group:focus-within > .nav-dropdown,
.nav-group.ess-open > .nav-dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translate(0, 0);
}
.nav-group:hover .nav-chevron,
.nav-group:focus-within .nav-chevron,
.nav-group.ess-open .nav-chevron { transform: rotate(-180deg); }

/* Mobile nav panel toggled by .ess-open on the header */
.mobile-panel { display: none; }
.site-header.ess-open .mobile-panel { display: grid; }
@media (max-width: 900px) {
  .nav-links, .nav-actions { display: none; }
  .menu-button { display: inline-flex; }
}
@media (min-width: 901px) {
  .menu-button { display: none; }
}

/* Photo gallery grid */
.ess-gallery { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ess-gallery-img { border-radius: 4px; display: block; height: clamp(150px, 19vw, 240px); object-fit: cover; width: 100%; }
@media (max-width: 700px) { .ess-gallery { grid-template-columns: repeat(2, 1fr); } }

/* No underline bar on nav items — the colour change alone shows hover / current section */
.nav-links a::after { display: none !important; }

/* Let full-bleed sections escape the content container if placed in the editor */
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }

/* Nav polish (elevation): classier non-uppercase weight instead of heavy caps */
.nav-links a, .nav-group-trigger { text-transform: none; font-weight: 600; letter-spacing: 0; font-size: 15.5px; }
.nav-dropdown a { font-weight: 500; }
.top-strip-inner span, .top-strip-inner a { letter-spacing: 0; }
