/* ---------- Branding wordmark: Bebas Neue, everywhere else stays Inter ---------- */
.site-title,
.site-title a {
  font-family: 'Bebas Neue', 'Arial Narrow', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .01em;
}
/* Desktop header */
.gridlove-site-header .site-title a { font-size: 52px !important; }
/* Mobile / burger header */
.gridlove-header-responsive .site-title.h1,
.gridlove-header-responsive .site-title.h1 a { font-size: 32px !important; }

/* ---------- Wordmark entrance ---------- */
.site-title a {
  display: inline-block;
  animation: exec-logo-in 620ms cubic-bezier(.22,.9,.28,1) both;
  will-change: transform, opacity;
}
@keyframes exec-logo-in {
  0%   { opacity: 0; transform: rotateX(-90deg); }
  100% { opacity: 1; transform: rotateX(0deg); }
}
@media (prefers-reduced-motion: reduce) {
  .site-title a { animation: none !important; }
}

/* ---------- Links & buttons ---------- */
a { text-decoration: none; }
a.mks_button { transition: transform 0.2s ease; }
a.mks_button:hover { transform: scale(1.05); }

/* ---------- Layout ---------- */
#gridlove-header-responsive { padding: 7px 0; }
.gridlove-box { border-radius: 25px; overflow: hidden; }
.gridlove-sidebar-none .gridlove-content { max-width: 100%; }
.gallery-row { margin: 0 auto; }

/* ---------- Forms ---------- */
.wpforms-field-label { font-size: 16px; }

/* ---------- FontAwesome: load without blocking text ---------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('/wp-content/themes/gridlove/assets/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .gridlove-sidebar { display: none; }
}
@media (max-width: 600px) {
  div.wpforms-container-full .wpforms-form button[type="submit"].wpforms-submit {
    display: block;
    width: 100%;
    padding: 16px 20px;
    font-size: 16px;
    line-height: 1.2;
  }
}

/* ---------- Header: burger below 1280 ---------- */
@media (max-width: 1279px) {
  #header.gridlove-site-header { display: none !important; }
  .gridlove-header-responsive { display: block !important; }
}

/* FIX 1 — 1230px to 1279px.
   Gridlove's own min-width:1230px rules turn the branding into a full-width
   block, which pushes the search and burger onto a second line below the white
   bar and over the page content. Force it back to inline-block. */
@media (min-width: 1230px) and (max-width: 1279px) {
  #gridlove-header-responsive .gridlove-site-branding {
    display: inline-block !important;
    width: auto !important;
    float: none !important;
  }
}

/* FIX 2 — 992px and below.
   Gridlove sets the wordmark's line-height to the full header height (70px, or
   50px under 579px) while the header also carries 7px top/bottom padding, so
   the wordmark hangs 7-8px out of the bar. Drop the padding in this range and
   pin the line-height to the bar height. */
@media (max-width: 992px) {
  #gridlove-header-responsive { padding: 0 !important; }
  #gridlove-header-responsive .gridlove-site-branding {
    line-height: 0 !important;
    vertical-align: top !important;
  }
  #gridlove-header-responsive .site-title.h1,
  #gridlove-header-responsive .site-title.h1 a {
    font-size: 32px !important;
    line-height: 70px !important;
    vertical-align: top !important;
  }
}
@media (max-width: 579px) {
  #gridlove-header-responsive .site-title.h1,
  #gridlove-header-responsive .site-title.h1 a {
    font-size: 28px !important;
    line-height: 50px !important;
  }
}

/* Keep the centred nav clear of the logo and the search icon */
@media (min-width: 1280px) {
  .gridlove-header-middle .gridlove-slot-c {
    padding-left: 225px;
    padding-right: 55px;
  }
}