/* ---------- 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; }

@media (max-width: 768px) {
  .gridlove-site-header .site-title a { font-size: 44px !important; }
}

@media (max-width: 579px) {
  .gridlove-header-responsive .site-title.h1,
  .gridlove-header-responsive .site-title.h1 a { font-size: 28px !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; }
}

.gridlove-txt-logo .gridlove-site-description {
  font-size: 35px;
}

/* ---------- 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: 768px) {
  header .site-title a { font-size: 36px; }
  .gridlove-txt-logo .gridlove-site-description { font-size: 24px; }
}

@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;
  }
}
/* Burger menu below 1280 */
@media (max-width: 1279px) {
  #header.gridlove-site-header { display: none !important; }
  .gridlove-header-responsive { display: block !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;
  }
}