/* Force Gutenberg full-width blocks to truly span the screen */
body .is-layout-constrained > .alignfull,
body .wp-block-group.alignfull,
body .alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Remove WordPress default layout restriction inside full-width sections */
body .alignfull > .wp-block-group,
body .alignfull > .wp-block-columns,
body .alignfull > .wp-block-cover,
body .alignfull > * {
  max-width: none;
}

/* Make Johnstone sections full bleed */
.jh-section,
.jh-hero {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Keep inner content nicely contained */
.jh-section > *,
.jh-hero > * {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}
/* Classic WordPress dropdown menu */
.jh-nav ul {
  position: relative;
}

.jh-nav li {
  position: relative;
}

.jh-nav li ul.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #113464;
  min-width: 240px;
  padding: 12px;
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  z-index: 9999;
}

.jh-nav li:hover > ul.sub-menu {
  display: block;
}

.jh-nav li ul.sub-menu li {
  display: block;
  width: 100%;
}

.jh-nav li ul.sub-menu a {
  display: block;
  color: #fff;
  padding: 12px 16px;
  border-radius: 10px;
  white-space: nowrap;
}

.jh-nav li ul.sub-menu a:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}

/* Add dropdown arrow */
.jh-nav li.menu-item-has-children > a::after {
  content: " ▾";
  font-size: 12px;
}
/* Make Shop menu item red */
.jh-nav a[href*="store23"] {
  background: #EF3E42;
  color: #fff !important;
  padding: 12px 20px;
  border-radius: 999px;
  font-weight: 700;
  transition: all .25s ease;
}

/* Hover */
.jh-nav a[href*="store23"]:hover {
  background: #ff575b;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(239, 62, 66, 0.35);
}
.jh-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.jh-brand .custom-logo-link {
  display: flex;
  align-items: center;
}

.jh-brand .custom-logo {
  max-height: 48px;
  width: auto;
  display: block;
}

.jh-logo {
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}
/* PREMIUM FOOTER */
.jh-footer {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      rgba(6,26,51,.96),
      rgba(17,52,100,.96)
    ),
    url('https://upload.wikimedia.org/wikipedia/commons/6/6f/Bay_Area_map.png');
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 90px 6% 40px;
}

/* Dark overlay */
.jh-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right,
      rgba(239,62,66,.22),
      transparent 28%);
  pointer-events: none;
}

/* Content above overlay */
.jh-footer > * {
  position: relative;
  z-index: 2;
}

/* Grid */
.jh-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 50px;
  margin-bottom: 50px;
}

/* Headings */
.jh-footer h3 {
  color: #fff;
  margin-bottom: 18px;
  font-size: 1.1rem;
}

/* Links */
.jh-footer a {
  color: rgba(255,255,255,.82);
  text-decoration: none;
  transition: all .25s ease;
}

/* Footer logo */
.jh-footer-logo img {
  max-width: 140px !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 24px !important;
}

/* Force footer link styling */
.jh-footer a {
  color: rgba(255,255,255,.82) !important;
  text-decoration: none !important;
  transition: all .25s ease !important;
}

/* RED hover */
.jh-footer a:hover {
  color: #EF3E42 !important;
}

/* Social container */
.jh-footer-socials {
  display: flex !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

/* Social buttons */
.jh-footer-socials a {
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  text-decoration: none !important;
  transition: all .25s ease !important;
}

/* Facebook */
.jh-facebook {
  background: #1877F2 !important;
}

/* Instagram */
.jh-instagram {
  background: linear-gradient(
    135deg,
    #F58529,
    #DD2A7B,
    #8134AF,
    #515BD4
  ) !important;
}

/* LinkedIn */
.jh-linkedin {
  background: #0A66C2 !important;
}

/* Social hover */
.jh-footer-socials a:hover {
  transform: translateY(-4px) scale(1.06) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.32) !important;
  color: #fff !important;
}
.jh-footer-logo img {
  max-width: 140px !important;
  width: 140px !important;
  height: auto !important;
}
.jh-footer .jh-footer-logo img,
.jh-footer .custom-logo {
  width: 140px !important;
  max-width: 140px !important;
  height: auto !important;
  max-height: 60px !important;
  object-fit: contain !important;
}