/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Short-screen homepage hero adjustments. */

/* --- Tier A: every short screen ---------------------------------------- */
@media (max-width: 782px) and (max-height: 780px) {
  /* Hero: ~97px reclaimed from padding, margins and type scale. */
  .elementor-element-nmh0005 {
    padding-top: 20px !important;
    padding-bottom: 32px !important;
  }

  .nm-home .nm-hero__pills {
    margin-bottom: 8px !important;
  }

  .nm-home .nm-hero__trust {
    margin-bottom: 8px !important;
  }

  .nm-home h1 {
    font-size: 28px !important;
    line-height: 1.08 !important;
    margin-bottom: 8px !important;
  }

  .nm-home .nm-hero__sub {
    font-size: 16px !important;
    line-height: 1.45 !important;
    margin-bottom: 10px !important;
  }

  .nm-home .nm-btn-row {
    gap: 6px !important;
  }
}

/* --- Tier B: 700px and shorter (iPhone SE, older Android) ---------------

   ------------------------------------------------------------------------ */
@media (max-width: 782px) and (max-height: 700px) {
  .nm-home .nm-hero__trust {
    display: none !important;
  }

  .nm-home .nm-hero__pills {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }

  .nm-home h1 {
    font-size: 26px !important;
    margin-bottom: 6px !important;
  }

  .nm-home .nm-hero__sub {
    margin-bottom: 8px !important;
  }
}

/* WPConsent modal: mobile-only spacing. Desktop keeps the native layout.
 * Full width, content-driven height, and an internally scrollable message
 * on short screens. Button colours and visibility remain in WPConsent.
 */
@media (max-width: 767px) {
  #wpconsent-container::part(wpconsent-banner) {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
    height: auto !important;
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 !important;
    padding: 32px 20px !important;
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
    border-radius: 0 !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 24px !important;
    --wpconsent-line-height: 1.5;
  }

  #wpconsent-container::part(wpconsent-banner-body) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  #wpconsent-container::part(wpconsent-banner-footer) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100% !important;
  }

  #wpconsent-container::part(wpconsent-button-preferences),
  #wpconsent-container::part(wpconsent-button-cancel),
  #wpconsent-container::part(wpconsent-button-accept) {
    box-sizing: border-box !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}


/* ==========================================================================
   Footer rebuild - 10 September 2026
   Five service columns in the top row, company/resources strip in the middle
   row, legal fine print in the bottom bar. Social icons removed.
   ========================================================================== */

.nm-foot-head{font-size:13px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:#ffc504;margin:0 0 14px;}
.nm-foot-links{margin:0;font-size:14px;line-height:1.85;}
.nm-foot-links a{display:block;text-decoration:none;}
.nm-foot-links a:hover{text-decoration:underline;}

.nm-foot-brand img{max-width:200px;height:auto;}
.nm-foot-tag{font-size:14px;line-height:1.6;margin:16px 0 20px;max-width:300px;}
.nm-foot-cta{display:inline-block;background:#ffc504;color:#012147 !important;font-weight:600;font-size:14px;line-height:1.2;padding:12px 18px;border-radius:6px;text-decoration:none !important;}
.nm-foot-cta:hover{background:#ffd54a;}
.nm-foot-rating{font-size:13px;margin:18px 0 0;}
.nm-foot-stars{color:#ffc504;letter-spacing:1px;}

.nm-foot-inline{font-size:14px;margin:0 0 16px;line-height:2;}
.nm-foot-inline a{color:#f7fafc;text-decoration:none;margin-right:22px;display:inline-block;}
.nm-foot-inline a:hover{text-decoration:underline;}
.nm-foot-note{font-size:13px;line-height:1.6;opacity:.75;max-width:860px;margin:0 0 18px;}
.nm-foot-pay{margin:0;text-align:center;}
.nm-foot-pay img{max-width:349px;height:auto;display:block;margin-left:auto;margin-right:auto;}

.nm-foot-bottom{font-size:13px;line-height:1.8;margin:0;opacity:.8;}
.nm-foot-bottom a{color:#b9c6d6;text-decoration:underline;}
.nm-foot-bottom a:hover{color:#fff;}
.nm-foot-bottom a:hover{text-decoration:underline;}

/* Five columns are too tight on tablets - drop to two. */
@media (min-width:768px) and (max-width:1024px){
  .site-top-footer-inner-wrap{grid-template-columns:repeat(2,1fr) !important;}
}

/* ==========================================================================
   NIF exit-intent capture (nmx) — added 10 Sep 2026
   Desktop: centred modal. Mobile (<=767px): bottom slide-up bar.
   Markup lives in the NIF page; it is rendered server-side and hidden, so
   WP Rocket's Remove Unused CSS sees these selectors as used.
   ========================================================================== */
#nmx-exit[hidden]{ display:none !important; }
#nmx-exit{ position:fixed; inset:0; z-index:99998; display:flex; align-items:center; justify-content:center; padding:20px; }
#nmx-exit .nmx-scrim{ position:absolute; inset:0; background:rgba(1,26,57,.62); }
#nmx-exit .nmx-panel{
  position:relative; width:100%; max-width:480px; background:#fff; border-radius:14px;
  padding:30px 30px 24px; box-shadow:0 24px 60px rgba(1,26,57,.35); color:#012147;
  max-height:88vh; overflow-y:auto;
}
#nmx-exit .nmx-x{
  position:absolute; top:8px; right:10px; width:34px; height:34px; line-height:1; border:0;
  background:transparent; color:#5A6B80; font-size:26px; cursor:pointer; border-radius:8px;
}
#nmx-exit .nmx-x:hover{ background:rgba(1,33,71,.07); color:#012147; }
#nmx-exit .nmx-x:focus-visible{ outline:2px solid #FFC504; outline-offset:2px; }
#nmx-exit .nmx-eyebrow{
  margin:0 0 8px; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:#B8860B;
}
#nmx-exit h2{
  margin:0 0 12px; font-size:24px; line-height:1.22; font-weight:700; color:#012147; padding-right:26px;
}
#nmx-exit .nmx-q{ margin:0 0 10px; font-size:15.5px; line-height:1.55; color:#012147; font-weight:600; }
#nmx-exit .nmx-sub{ margin:0 0 18px; font-size:15px; line-height:1.55; color:#4C5C73; }
#nmx-exit .nmx-slot .fluentform{ margin:0; }
#nmx-exit .nmx-slot input[type=email]{
  width:100%; height:48px; padding:10px 14px; font-size:16px;
  border:1.5px solid #D5DCE6; border-radius:8px; color:#012147; background:#fff; box-sizing:border-box;
}
#nmx-exit .nmx-slot input[type=email]:focus{ border-color:#FFC504; outline:none; box-shadow:0 0 0 3px rgba(255,197,4,.2); }
#nmx-exit .nmx-slot .ff-btn-submit{
  width:100% !important; background-color:#FFC504 !important; border-color:#FFC504 !important;
  color:#000 !important; font-size:16.5px !important; font-weight:700 !important;
  padding:14px 20px !important; border-radius:7px !important; margin-top:10px !important;
}
#nmx-exit .nmx-slot .ff-btn-submit:hover{ background-color:#FFBA28 !important; }
#nmx-exit .nmx-note{ margin:12px 0 0; font-size:12.5px; line-height:1.5; color:#7B8AA0; }
#nmx-exit .nmx-done{ display:block; font-size:15.5px; line-height:1.6; color:#012147; }
#nmx-exit .nmx-dl{
  display:inline-block; margin:12px 0 8px; background:#FFC504; color:#000;
  font-weight:700; padding:12px 18px; border-radius:7px; text-decoration:none;
}
#nmx-exit .nmx-fine{ display:block; font-size:13px; color:#5A6B80; }
#nmx-form-src{ display:none !important; }

@media (max-width:767px){
  #nmx-exit{ align-items:flex-end; padding:0; }
  #nmx-exit .nmx-panel{
    max-width:none; border-radius:14px 14px 0 0; padding:20px 18px 18px;
    max-height:none; box-shadow:0 -10px 40px rgba(1,26,57,.3);
  }
  #nmx-exit .nmx-scrim{ background:rgba(1,26,57,.35); }
  #nmx-exit h2{ font-size:19px; margin-bottom:8px; padding-right:24px; }
  #nmx-exit .nmx-q{ font-size:14.5px; margin-bottom:8px; }
  #nmx-exit .nmx-sub{ display:none; }
  #nmx-exit .nmx-eyebrow{ font-size:10.5px; margin-bottom:6px; }
  #nmx-exit .nmx-note{ font-size:11.5px; margin-top:9px; }
}
@media (prefers-reduced-motion:no-preference){
  #nmx-exit .nmx-panel{ animation:nmxIn .18s ease-out; }
  @keyframes nmxIn{ from{ transform:translateY(8px); opacity:0 } to{ transform:none; opacity:1 } }
  @media (max-width:767px){ @keyframes nmxIn{ from{ transform:translateY(100%) } to{ transform:none } } }
}

#nmx-exit .nmx-slot iframe{ display:block; width:100%; border:0; height:470px; background:#fff; border-radius:8px; }
@media (max-width:767px){ #nmx-exit .nmx-slot iframe{ height:430px; } }


/* Trustpilot TrustBox and SocialJuice badge iframes.
   Kept in the stylesheet rather than an inline <style> because WP Rocket's
   Remove Unused CSS strips inline blocks from the optimised page, which brought
   back the browser default 2px inset iframe border. Added 21 September 2026. */
.trustpilot-widget iframe,
.nm-sj-hero iframe { border: 0 !important; display: block; }
