/* ============================================================
   NIS2 page styles
   ============================================================ */

/* Work Sans font-face — needed because goodaccess.webflow.css declares it as "Worksans"
   but .button-16 references "Work Sans" (with space). Only variable fonts exist in /fonts/. */
@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Work Sans";
  src: url("../fonts/WorkSans-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

/* CSS custom properties (declared globally since @scope can't set :root vars) */
:root {
  --midnight-blue: #0e2b8f;
  --orange-red: #ff5206;
  --bluish-white: #f1f3f8;
}

/* Hard reset body margin — browser default is 8px */
body {
  margin: 0;
  padding: 0;
}

/* ============================================================
   Scoped styles — only apply inside .wf-pricing wrapper
   ============================================================ */
@scope (.wf-pricing) {

  /* Apply .body class base typography to the scope root
     (.body selector inside @scope can't match the root itself) */
  :scope {
    color: #0e2b8f;
    font-family: Worksans, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
  }

  /* ---- Misc inline styles from source head ---- */

  .faq-item-blog {
    overflow: hidden;
    margin-top: 25px;
    padding-bottom: 0;
    border-top: 1px solid rgba(14, 43, 143, 0.25);
    border-bottom: 1px solid rgba(14, 43, 143, 0.25);
    text-align: left;
  }

  .faq-title-blog {
    font-size: 18px;
    line-height: 29px;
    font-weight: 500;
  }

  /* ---- Testimonials slider ---- */

  /* Override webflow: .mask-3 { overflow: visible } — must be hidden to clip slides */
  /* Override webflow.css: .w-slider { height: 300px } and .w-slider-mask { height: 100% }
     Without Webflow.js the slider height is static — force auto so content drives height */
  #nis2-slider,
  #cznis2-slider {
    height: auto;
    background: none;
  }

  .mask-3,
  .mask-4 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
  }

  .nis2-slider-track,
  .cznis2-slider-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
  }

  .slide-3 {
    min-width: 100%;
    box-sizing: border-box;
  }

  .slide-nav-3,
  .slide-nav-5 {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
  }

  .nis2-dot {
    width: 30px;
    height: 30px;
    background: #0e2b8f;
    clip-path: polygon(50% 0%, 90% 20%, 100% 60%, 74% 95%, 25% 95%, 0 59%, 8% 25%);
    cursor: pointer;
    border: none;
    padding: 0;
    transition: background 0.2s;
  }

  .nis2-dot.active {
    background: #ff5206;
  }

  .hide-arrow {
    display: none !important;
  }

  /* ---- HubSpot form ---- */

  .hs-form {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 17px 21.2px;
    margin-top: 22px;
  }

  .hs-form label {
    margin-bottom: 0 !important;
  }

  .hs-field-desc,
  .hs_recaptcha {
    display: none !important;
  }

  .hs-form .hs-input {
    width: 100%;
    line-height: 26px;
    font-size: 16px;
    font-weight: 400;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    padding-left: 21.2px !important;
    border: 1.5px solid #ffffff !important;
    border-radius: 4px !important;
    background-color: #f3f4fa !important;
  }

  .hs-form .hs-input::placeholder {
    color: #0e2b8f !important;
    opacity: 1 !important;
  }

  .hs-form .hs_email,
  .hs-form .hs_message,
  .hs-form .legal-consent-container,
  .hs-form .hs_submit {
    grid-column: 1 / -1;
  }

  .hs-form .hs-message {
    min-height: 144px !important;
    display: flex;
    flex-direction: column;
  }

  .hs-form .hs_message .input {
    width: 100%;
    height: 100% !important;
  }

  .hs-form .hs_message .input textarea {
    resize: none;
    padding: 16px 21px 15px;
    height: 100% !important;
    min-height: 144px !important;
  }

  .hs-form .legal-consent-container a {
    color: #0e2b8f !important;
    font-weight: 700;
  }

  .hs-form .legal-consent-container a:hover,
  .hs-form .legal-consent-container a:focus {
    text-decoration: none;
  }

  .hs-form .hs-button.primary.large {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Work Sans' !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 18px !important;
    min-height: 48px !important;
    padding: 16px 15px 14px !important;
    background: #ff5206 !important;
    border-radius: 4.25px !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: 0.3s;
  }

  .hs-form .hs-button.primary.large:hover,
  .hs-form .hs-button.primary.large:focus {
    background: rgba(255, 82, 6, 0.8) !important;
  }

  ul.hs-error-msgs {
    margin-top: 10px !important;
  }
}
