/* Theme base styles */

/* Tools
Globally used mixins, functions and font declarations
*/
/* Font Declarations for Roobert */

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Regular.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Regular.woff")
      format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-RegularItalic.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-RegularItalic.woff")
      format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Light.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Light.woff")
      format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-LightItalic.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-LightItalic.woff")
      format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Medium.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Medium.woff")
      format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-MediumItalic.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-MediumItalic.woff")
      format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-SemiBold.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-SemiBold.woff")
      format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-SemiBoldItalic.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-SemiBoldItalic.woff")
      format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Bold.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Bold.woff")
      format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-BoldItalic.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-BoldItalic.woff")
      format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Heavy.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-Heavy.woff")
      format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roobert";
  src: url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-HeavyItalic.woff2")
      format("woff2"),
    url("https://146352922.fs1.hubspotusercontent-eu1.net/hubfs/146352922/fonts/Roobert-HeavyItalic.woff")
      format("woff");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

/* Font Variables */
:root {
  --font-primary: "Roobert";
}
:root {
  --primary-color: #7437ff;
  --secondary-color: #ba9bff;
  --grey-5-color: #f2f2f2;
}

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

/* Layout */

body {
  margin-top: 103px;
}

body.no-scroll {
  overflow: hidden;
}

.container {
  padding: 0 2.5rem;
  width: 100%;
}

@media (max-width: 1200px) {
  .container {
    padding: 0 1.25rem;
  }
}

@media (min-width: 1600px) {
  .container {
    padding: 0 10rem;
    width: 100%;
  }
}

@media screen and (min-width: 1440px) and (max-width: 1600px) {
  .container {
    padding: 0 4rem;
  }
}
/* HEADER STICKY + STILE BASE */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: 100;
  padding: 30px 0 1rem;
  font-family: sans-serif;
}

/* CONTAINER FLEX CENTRATO */
.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
}

@media (min-width: 1600px) {
  .header-container {
    padding: 0 10rem;
  }
}

@media screen and (min-width: 1440px) and (max-width: 1600px) {
  .header-container {
    padding: 0 4rem;
  }
}

@media (max-width: 1200px) {
  .header-container {
    padding: 0 1.25rem;
  }
}

/* BLOCCO AZIONI A SINISTRA */
.header-left {
  display: flex;
  align-items: center;
  gap: 9rem;
}

/* LOGO */
.logo img {
  max-height: 50px;
  width: auto;
  height: auto;
  vertical-align: middle;
}

/* MENU CENTRALE */
.main-nav {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.main-nav ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 2rem;
}

.main-nav a {
  text-decoration: none;
  color: #000;
  font-weight: 500;
  font-size: 1.2rem;
  transition: color 0.2s ease;
}

.main-nav a:hover {
  color: #6f3ff5;
}

/* BLOCCO AZIONI A DESTRA */
.header-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: #f5f5f5;
  padding: 6px 6px 6px 40px;
  border-radius: 12px;
}

/* SELETTORE LINGUA */
.lang-selector {
  cursor: pointer;
  display: none; /* flex */
  align-items: center;
  gap: 0.25rem;
  font-size: 0.9rem;
}

.arrow-down {
  width: 16px;
  height: 16px;
}

/* MENU DI DESTRA (Lavora con noi, FAQ, ecc.) */
.header-right ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 1.5rem;
}

.header-right ul li a {
  text-decoration: none;
  color: #000;
  font-weight: 500;
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.header-right a:hover {
  color: var(--primary-color);
}

/* Hamburger Menu (solo mobile) */
.hamburger {
  display: none;
  position: relative;
  width: 24px;
  height: 26px;
  cursor: pointer;
}

.bar {
  left: 0;
  width: 24px;
  height: 2px;
  position: absolute;
  background-color: var(--primary-color);
  transition: top 0.3s ease;
}

.bar:nth-child(1) {
  top: 2px;
}
.bar:nth-child(2) {
  top: 8px;
}
.bar:nth-child(3) {
  top: 14px;
}
.bar:nth-child(4) {
  top: 20px;
}

.hamburger:hover .bar:nth-child(1) {
  top: 6px;
}
.hamburger:hover .bar:nth-child(2) {
  top: 10px;
}
.hamburger:hover .bar:nth-child(3) {
  top: 14px;
}
.hamburger:hover .bar:nth-child(4) {
  top: 18px;
}

.mobile-menu {
  display: none;
}

@media (max-width: 1200px) {
  .main-nav a {
    font-size: 1rem;
  }
}

/* Responsive rules */
@media (max-width: 1024px) {
  .mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: 2000;
    padding: 80px 20px 10px 20px;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
  }

  .mobile-menu.open {
    transform: translateX(0%);
  }

  .close-btn {
    position: absolute;
    width: 24px;
    height: 24px;
    cursor: pointer;
    right: 25px;
    top: 50px;
  }

  .close-bar {
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 2px;
    transform-origin: center;
    background-color: var(--primary-color);
    transition: transform 0.3s ease;
  }

  .close-bar:first-child {
    transform: translateY(-50%) rotate(45deg);
  }

  .close-bar:last-child {
    transform: translateY(-50%) rotate(-45deg);
  }

  .mobile-menu a {
    text-decoration: none;
    color: #000;
  }

  .header {
    padding: 40px 0px 10px 0px;
  }

  .main-nav,
  .header-right {
    display: none;
  }

  .hamburger {
    display: block;
  }

  .noscroll {
    overflow: hidden;
  }

  .mobile-nav-content {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    padding: 40px;
  }

  .header-mobile-lang-social {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .mobile-main-nav {
    color: var(--Colours-Primary-Black, #000);
    text-align: left;
    font-size: 30px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 2.5rem;
  }

  .mobile-main-nav ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 0;
    margin: 0;
  }

  .mobile-lang {
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
  }

  .mobile-area-riservata {
    background-color: var(--grey-5-color);
    border-radius: 12px;
    display: flex;
    padding: 40px;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem;
    font-size: 1.25rem;
  }

  .mobile-area-riservata ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    align-items: flex-start;
    gap: 1.25rem;
  }
}

@media (max-width: 460px) {
  .mobile-nav-content {
    gap: 3rem;
    padding: 20px;
  }

  .mobile-area-riservata {
    padding: 30px;
    gap: 1.5rem;
  }

  .mobile-area-riservata ul {
    gap: 1rem;
  }
}
.footer {
  background-color: var(--primary-color);
  padding: 40px 0;
  color: #fff;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.footer-top {
  gap: 6rem;
  display: flex;
  margin-bottom: 20px;
}

.footer-top-1 {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.footer-logo {
  margin-bottom: 20px;
}

.footer-copyright {
  font-size: 0.9em;
  margin-top: 20px;
}

.footer-copyright p,
.footer-info p {
  margin: 0;
}

.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.footer-nav a {
  color: #fff;
  text-decoration: none;
  font-size: 1.1em;
  white-space: nowrap;
}

.footer-nav a:hover {
  text-decoration: underline;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}

@media (max-width: 1024px) {
  .footer-nav a {
    font-size: 1rem;
  }

  .footer .social-links {
    display: none;
  }
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;

    align-items: center;
  }

  .footer-top {
    flex-direction: column;
    align-items: flex-start;
    text-align: center;
    gap: 2rem;
  }

  .footer-top-2 {
    width: 100%;
  }

  .footer-logo {
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
  }

  .footer-nav ul {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 10px;
    margin-bottom: 20px;
  }

  .footer-social {
    width: 100%;
    justify-content: center;
    margin-bottom: 20px;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .footer-info,
  .footer-copyright {
    width: 100%;
    margin-bottom: 15px;
  }
}

@media (max-width: 480px) {
  .footer-logo {
    font-size: 2em;
  }

  .footer-nav a {
    font-size: 1em;
  }

  .footer-social a {
    font-size: 1.2em;
  }
}

/* Elements
Base HMTL elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

/* Import the fonts file if it's not imported elsewhere */
/* @import "../tools/_fonts.css"; */

body {
  font-family: var(--font-primary);
  line-height: 1.4;
  overflow-wrap: break-word;
  font-weight: 400;
  color: #000;
  font-size: 16px;
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  font-family: var(--font-primary);
  font-size: 1rem;
  margin: 0 0 1.4rem;
  font-weight: 400;
}

/* Anchors */

a {
  cursor: pointer;
  color: var(--primary-color);
  font-family: var(--font-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  text-decoration: underline;
}

b,
strong {
  font-weight: 600;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-primary);
  margin: 0 0 20px;
  font-weight: 400;
  line-height: 1;
}

h1 {
  font-size: 4.375rem;
  font-weight: 600;
}

h2 {
  font-size: 3rem;
}

h3 {
  font-size: 2.4rem;
}

h4 {
  font-size: 2rem;
}

h5 {
  font-size: 1.5rem;
}

h6 {
  font-size: 1.25rem;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
  font-style: italic;
  color: #666666;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #ccc;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}

/* Font Weight Helper Classes */
.font-light {
  font-weight: 300;
}

.font-regular {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-heavy {
  font-weight: 800;
}

/* Text Style Helpers */
.text-italic {
  font-style: italic;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

/* Responsive Typography */
@media (max-width: 768px) {
  h1 {
    font-size: 2.2rem;
  }

  h2 {
    font-size: 1.8rem;
  }

  h3 {
    font-size: 1.6rem;
  }

  h4 {
    font-size: 1.4rem;
  }

  h5 {
    font-size: 1.2rem;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.6rem;
  }

  h3 {
    font-size: 1.4rem;
  }

  h4 {
    font-size: 1.3rem;
  }

  h5 {
    font-size: 1.1rem;
  }
}
button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

button:disabled,
.button:disabled,
.hs-button:disabled {
  background-color: #d0d0d0;
  border-color: #d0d0d0;
  color: #e6e6e6;
}

.btn-primary {
  gap: 10px;
  display: flex;
  color: #fff;
  position: relative;
  background-color: var(--primary-color);
  border: 1px solid var(--primary-color);
  transition: background-color 0.3s, color 0.3s;
}

.btn-primary a {
  color: inherit;
}

.btn-primary a:hover {
  text-decoration: none;
}

.btn-primary svg {
  position: absolute;
  top: 7px;
}

.btn-primary span {
  margin-left: 30px;
}

.btn-primary__outline {
  gap: 10px;
  display: flex;
  background-color: #fff;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.btn-primary__outline:hover {
  color: white;
  background-color: var(--primary-color);
  border: 1px solid var(--primary-color);
}

.btn-primary__outline:hover svg path {
  fill: white;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
.hubspot-form .hs-form-field {
  margin-bottom: 0px;
}

.hubspot-form .hs-form-field > label {
  display: none;
}

.hubspot-form .hs-form-field select,
.hubspot-form .hs-form-field input {
  gap: 4px;
  flex: 1 0 0;
  display: flex;
  border: none;
  border-radius: 12px;
  padding: 16px;
  align-items: flex-start;
  align-self: stretch;
  border: 1px solid #dfdfdfff;
}

form .inputs-list > li {
  margin: 0 !important;
}

.legal-consent-container {
  width: 100%;
  display: inline-block;
  margin-top: 20px;
}

.hubspot-form .hs-form-field ul.inputs-list {
  display: flex;
  gap: 20px;
}

.hubspot-form .hs-form-field ul.inputs-list li label {
  display: flex;
}

.hubspot-form .hs-error-msgs li {
  margin: 0px;
}

.hubspot-form .hs-error-msgs li {
  margin: 0px;
}

.hubspot-form .legal-consent-container .hs-richtext {
  margin-bottom: 0px;
}

.hubspot-form .legal-consent-container .hs-richtext,
.hubspot-form .legal-consent-container {
  color: rgba(0, 0, 0, 0.7);
  font-size: 0.8rem;
}

.hubspot-form .hs_submit {
  display: flex;
  justify-content: center;
}

.hubspot-form .hs_submit input[type="submit"] {
  background-color: var(--primary-color);
  border-radius: 12px;
  padding: 10px 20px;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  display: flex;
  border: 0px;
  color: #fff;
  gap: 10px;
}

/* Fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type="text"],
form input[type="search"],
form input[type="email"],
form input[type="password"],
form input[type="tel"],
form input[type="number"],
form input[type="file"],
form select,
form textarea {
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.7rem;
  width: 100%;
}

form textarea {
  resize: vertical;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type="checkbox"],
form input[type="radio"] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content: "\01F4C5";
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #fff;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #fff;
}

/* Inputs - file picker */

form input[type="file"] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: #ef6b51;
}

.hs-input.invalid.error {
  border-color: #ef6b51;
}

.hs-error-msg {
  color: #ef6b51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type="submit"],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

.hero-video-banner {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 60px 20px;
  background: #fff;
  font-family: "Helvetica Neue", sans-serif;
}

.hero-content {
  z-index: 2;
  position: relative;
  max-width: 700px;
  margin-bottom: 20px;
}

.hero-content h1 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #111;
}

.hero-content .highlight {
  color: #7a3cff;
}

.hero-video {
  position: relative;
  z-index: 1;
  margin-top: 20px;
}

.hero-video video {
  width: 100%;
  max-height: 500px;
  object-fit: cover;
  border-radius: 10px;
}

.hero-box {
  position: absolute;
  top: 40px;
  right: 40px;
  background: #7a3cff;
  color: white;
  padding: 24px;
  border-radius: 16px;
  max-width: 280px;
  z-index: 3;
  text-align: center;
}

.hero-box .box-title {
  font-size: 1rem;
  margin: 0;
}

.hero-box h2 {
  font-size: 1.3rem;
  margin: 10px 0;
  font-weight: 700;
}

.hero-button {
  display: inline-block;
  margin-top: 12px;
  padding: 10px 18px;
  background: white;
  color: #111;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}

.hero-button .icon {
  margin-right: 6px;
}

.box-description {
  font-size: 0.9rem;
  margin-top: 12px;
  color: white;
}
.splide__list {
  display: flex;
  align-items: stretch;
}

.splide__slide {
  display: flex;
  flex-direction: column;
}
.wizard__tool.wizard__tool--calculated .wizard__tool-salary-calc {
  display: none;
}

.wizard__tool.wizard__tool--calculated .wizard__tool-salary-summary {
  background: #ba9bff;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  min-width: 440px;
  width: 100%;
  gap: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.wizard__tool .wizard__tool-salary-summary {
  display: none;
}
.wizard__tool .wizard__tool-salary-calc {
  border: 1px solid var(--primary-color);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  min-width: 440px;
  width: 100%;
  gap: 10px;
  flex-direction: column;
  justify-content: center;
}

.wizard__tool-salary-calc-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.wizard__tool-salary-amount {
  margin-bottom: 0;
  font-weight: 600;
}
.wizard__tool .wizard__tool-salary-summary .wizard__tool-salary-content {
  justify-content: space-between;
  width: 100%;
}
.wizard__tool-salary-content {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
.wizard__salary-input {
  padding: 16px;
  width: 100%;
  border: 1px solid #e3e3e3;
  border-radius: 4px 4px 0 0;
}

@media (max-width: 768px) {
  .wizard__tool.wizard__tool--calculated .wizard__tool-salary-summary,
  .wizard__tool .wizard__tool-salary-calc {
    min-width: 100%;
  }
}
.product-detail {
  background-color: var(--grey-5-color);
  border-radius: 12px;
  padding: 3.125rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.offers-page-content {
  margin-bottom: 200px;
}

.offers-page-content .product-detail-section-1 {
  padding: 0px 20px;
}

.product-detail_price {
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  z-index: 175;
  background-color: var(--primary-color);
  color: white;
}

.product-detail_price-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.product-detail_price-amount {
  font-size: 2.5rem;
  line-height: 2.5rem;
  font-weight: 600;
  margin: 0px;
}

.product-detail_price-note {
  font-size: 0.9rem;
  margin: 0px;
}

.product-detail_price-button {
  padding: 12px 24px;
  background-color: #fff;
  color: #000;
  border: 1px solid var(--primary-color);
  border-radius: 12px;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
  font-size: 1.1rem;
}

.product-detail_price-content {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 20px 40px 20px 0px;
  gap: 2.5rem;
}

.product-detail_price-content__mobile {
  display: none;
}

.product-detail_price-size-block {
  display: flex;
  flex-direction: row;
  align-items: end;
  gap: 1.5rem;
  position: relative;
  padding: 0 0 0 85px;
}

.product-detail_price-size-trigger {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 0.25rem;
}

.product-detail_price-info h4 {
  margin: 0px;
  font-weight: 750;
}

.product-detail_price-size-block img {
  height: 80px;
  position: absolute;
  top: -20px;
  left: 0px;
}

.product-detail_price-offer-content-inner-wrapper {
  border-top: 1px solid #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 100%;
}

.product-detail_price-offer-content-inner-wrapper h6 {
  font-weight: 600;
}

.product-detail_price-offer-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.5s ease;
  padding: 0 0;
}

/* Quando attivo */
.product-detail_price-offer-content.active {
  max-height: 1000px; /* abbastanza grande per contenuto interno */
  padding: 1rem 0;
}

/* Rotazione icona */
.product-detail_price-size-trigger svg {
  transition: transform 0.3s ease;
}

.product-detail_price-size-trigger.active svg {
  transform: rotate(180deg);
}

/* Eventuale animazione alzamento div principale */
.product-detail_price.expanded {
  /* Puoi aggiungere box-shadow, margini o padding extra se vuoi effetto "alzato" */
}

.product-detail_price-offer-list {
  margin: 0;
  gap: 20px;
  list-style: none;
  border-radius: 12px;
  display: grid;
  padding: 0px;
  grid-template-columns: repeat(3, 1fr);
}

.product-detail_price-offer-list li {
  position: relative;
  padding-left: 30px;
  font-weight: 600;
  color: #fff;
  display: block;
}

.product-detail_price-offer-list li span {
  font-weight: 400;
  font-size: 14px;
  display: block;
}

.product-detail_price-offer-list li::before {
  content: "v";
  position: absolute;
  left: 0;
  top: 3px;
  font-size: 10px;
  border-radius: 50%;
  background: #ab8ee9;
  color: #fff;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-detail_card {
  background-color: white;
  padding: 2.5rem 4.4375rem 2.5rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 2.5rem;
  position: relative;
  border-radius: 12px;
}

.product-detail_card_description {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding: 0rem 2.1875rem;
}

.product-detail_card_model h2 {
  margin: 0;
  font-size: 3rem;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: -0.06rem;
}

.product-detail_card_model p {
  margin: 0;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.product-detail_card_wrapper_details {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-top: 2.5rem;
  border-top: 1px solid var(--Colours-Primary-Grey-10, #e6e6e6);
}

.product-detail_card_details {
  display: flex;
  flex-direction: row;
  align-items: start;
  gap: 1rem;
}

.product-detail_card_details p {
  margin: 0;
}

.product-detail__icon {
  width: 1.875rem;
  height: 1.875rem;
}

.product-detail__data {
  font-size: 1.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

.product-detail__label {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.product-detail_card_note p {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.product-detail-categories {
  position: absolute;
  flex-wrap: wrap;
  top: 40px;
  right: 40px;
  z-index: 15;
  display: flex;
  gap: 10px;
}

.product-detail__category {
  padding: 2px 12px;
  border-radius: 20px;
  font-size: 0.875rem;
  font-weight: 600;
}

.product-detail__category:nth-child(3n + 1) {
  background-color: #b0d6ff;
}

.product-detail__category:nth-child(3n + 2) {
  background-color: #ffb3dd;
}

.product-detail__category:nth-child(3n) {
  background-color: #ff5a1f;
}

/* INIZIO SLIDER IMMAGINI */

.product-detail-images {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 12px;
}

.product-detail-images__viewport {
  position: relative;
  height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.car-image-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 100%;
  object-fit: contain;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.6s ease;
  display: block;
}

.car-image-slide.active {
  opacity: 1;
  z-index: 1;
}

.product-detail-images__slider {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 10px;
  gap: 20px;
}

.images__slider-arrows {
  margin: 0;
  font-size: 1.5rem;
  user-select: none;
  cursor: pointer;
  border: none;
  background: none;
}

.images__slider-count {
  background-color: black;
  color: white;
  padding: 0.625rem 1.25rem;
  border-radius: 40px;
  font-size: 1rem;
  font-weight: 500;
}

/* FINE SLIDER IMMAGINI */

.product-details_wrapper {
  display: flex;
  flex-direction: row;
  gap: 2.5rem;
  justify-content: space-between;
  align-items: stretch;
}

.product-detail_services {
  background-color: var(--secondary-color);
  border-radius: 12px;
  padding: 2.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.product-detail_services h3,
.product-detail_tech-specs h3 {
  grid-column: 1 / span 2;

  font-size: 2.25rem;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: -0.045rem;
}

.product-detail_services-wrapper {
  display: grid;
  column-gap: 1.25rem;
  width: 100%;
  list-style: none;
  padding: 0;
}

.product-detail__service {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 20px 10px;
  gap: 10px;
  border-bottom: 1px dashed black;
}

.with-top-border {
  border-top: 1px dashed black;
}

.product-detail__service-label {
  font-size: 16px;
  font-style: normal;
  font-weight: 750;
  line-height: 24px;
  margin: 0;
}

.product-detail__service-icon {
  height: 40px;
}

.product-detail__service-label-desc {
  font-size: 0.9rem;
  line-height: 1.2;
  margin: 0;
}

.product-detail_tech-specs {
  background-color: white;
  border-radius: 12px;
  padding: 2.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.product-detail_tech-specs ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0;
}

.product-detail_tech-specs li {
  width: calc(50% - 28px);
  margin: 0 0px 0px 20px;
}

.product-detail__spec {
}

.product-detail__spec-label {
  font-weight: 600;
  margin: 0;
  flex-shrink: 0;
}

.product-detail__spec-label-desc {
  font-size: 0.9rem;
  font-weight: 400;
  margin: 0;
  flex-grow: 1;
}

.product-detail_offer-conditions {
  width: 100%;
}

.product-detail_offer-conditions p {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75rem;
}

/* RESPONSIVE */

@media (max-width: 1200px) {
  .product-detail_card_description {
    padding: 0;
  }

  .product-detail-images__viewport {
    height: 300px;
  }

  .product-detail_tech-specs ul {
    flex-direction: column;
  }

  .product-detail_tech-specs li {
    width: 100%;
  }

  .product-detail_card_details {
    gap: 0.5rem;
  }
}

@media (max-width: 1024px) {
  .product-detail {
    padding: 1.25rem 1.25rem 2.5rem 1.25rem;
  }

  .product-detail_card {
    gap: 1rem;
    display: flex;
    flex-direction: column-reverse;
    padding: 4rem 0.625rem 1rem;
  }

  .product-details_wrapper {
    flex-direction: column;
  }

  .product-detail__car-image {
    width: auto;
  }

  .product-detail-images {
    width: 100%;
  }

  .product-detail_card_description {
    padding: 0rem 2.1875rem;
    width: 100%;
  }

  .offers-page-content {
    margin-bottom: 300px;
  }

  .product-detail-images__viewport {
    height: 360px;
  }

  .product-detail_tech-specs ul {
    flex-direction: row;
  }

  .product-detail_tech-specs li {
    width: calc(50% - 28px);
  }

  .product-detail_price-label.desktop {
    display: none;
  }

  .product-detail_price-button.desktop {
    display: none;
  }

  .product-detail_price-wrapper {
    display: block;
    width: 100%;
  }

  .product-detail_price-size-block {
    justify-content: space-between;
  }

  .product-detail_price-content {
    display: block;
  }

  .product-detail_price-content__mobile {
    display: block;
  }

  .product-detail_price-content__mobile-wrapper {
    border-top: 1px solid #fff;
    display: flex;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
    justify-content: space-between;
  }
}

@media (max-width: 768px) {
  .product-detail_price-button {
    padding: 8px 16px;
    font-size: 1rem;
  }

  .product-detail-categories {
    right: initial;
    left: 20px;
    top: 20px;
  }

  .product-detail_offer-conditions {
    padding: 0px;
  }

  .product-detail_tech-specs ul {
    flex-direction: column;
  }

  .product-detail_card_model h2 {
    font-size: 2rem;
  }

  .product-detail_card_model p {
    font-size: 1.15rem;
  }

  .product-detail_tech-specs ul li {
    width: 100%;
  }

  .product-detail_services-wrapper {
    display: flex;
    flex-direction: column;
  }

  .product-detail__service.with-top-border:nth-child(2) {
    border-top: none;
  }

  .product-detail_card_wrapper_details {
    flex-direction: column;
    gap: 20px;
  }

  .product-detail_card_description {
    padding: 0px 20px;
  }

  .product-detail-images__viewport {
    height: 220px;
  }

  .product-detail__data {
    font-size: 1.5rem;
  }

  .product-detail__label {
    font-size: 1rem;
  }

  .offers-page-content {
    margin-bottom: 280px;
  }

  .product-detail_price-button {
    width: 180px;
  }

  .product-detail_price-offer-list {
    grid-template-columns: 1fr;
  }

  .product-detail_price-size-block {
    padding: 0px;
  }

  .product-detail_price-size-block img {
    display: none;
  }
}
.pricing-tabs {
  width: 1200px;
}

.tabs {
  display: flex;
  justify-content: space-around;
  gap: 20px;
}

.tab-btn {
  flex: 1;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
}

.tab-btn span {
  font-size: 14px;
  color: #666;
}

.tab-btn.active {
  background: var(--primary-color);
  color: #fff;
}

.tab-btn.active .offer-text,
.tab-btn.active .offer-price {
  color: #fff;
}

.tab-content {
  display: none;
  background-color: var(--primary-color);
  border-radius: 0 0 12px 12px;
  animation: fadeIn 0.5s ease-in-out;
  padding: 40px;
}

.tab-content.active {
  display: block;
}

.car-image {
  width: 100%;
  height: auto;
}

.offer-card {
  background: #f2f2f2;
  border-radius: 12px 12px 0 0;
  padding: 20px 20px 40px 40px;
  display: flex;
  gap: 10px;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}

.offer-text {
  text-align: left;
  color: #000;
}

.offer-title {
  margin: 0;
}

.offer-name {
  font-weight: 700;
  margin-bottom: 0px;
}

.offer-price {
  color: var(--primary-color);
  font-weight: 400;
  margin: 6px 0px 0px;
}

.offer-price strong {
  font-size: 36px;
  font-weight: 700;
  color: inherit;
}

.offer-price span {
  font-size: 24px;
  font-weight: normal;
  color: inherit;
}

.offer-icon {
  position: absolute;
  top: 0px;
  right: 20px;
}

.offer-icon img {
  width: auto;
  height: 100px;
}

.offer-btn {
  background: var(--primary-color);
  color: #fff;
  padding: 12px 25px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  margin-bottom: 20px;
}

.offer-btn:hover {
  background: var(--primary-color);
}

.offer-content {
  color: white;
  text-align: left;
  padding: 0px 80px;
}

.offer-content h6 {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
}

.offer-content small {
  display: inline-block;
}

.offer-list {
  margin: 0;
  list-style: none;
  border-radius: 12px;
  display: block;
  padding: 0px;
  margin-bottom: 40px;
}

.offer-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 20px;
  font-weight: 600;
  color: #fff;
  display: inline-block;
}

.offer-list li span {
  font-weight: 300;
  font-size: 14px;
}

.offer-list li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Crect width='20' height='20' fill='white' fill-opacity='0.01' style='mix-blend-mode:multiply'/%3E%3Cpath d='M10 1.25C8.26942 1.25 6.57769 1.76318 5.13876 2.72464C3.69983 3.6861 2.57832 5.05267 1.91606 6.65152C1.25379 8.25037 1.08051 10.0097 1.41813 11.707C1.75575 13.4044 2.58911 14.9635 3.81282 16.1872C5.03653 17.4109 6.59563 18.2442 8.29296 18.5819C9.9903 18.9195 11.7496 18.7462 13.3485 18.0839C14.9473 17.4217 16.3139 16.3002 17.2754 14.8612C18.2368 13.4223 18.75 11.7306 18.75 10C18.75 7.67936 17.8281 5.45376 16.1872 3.81282C14.5462 2.17187 12.3206 1.25 10 1.25ZM8.75 13.4942L5.625 10.3692L6.61913 9.375L8.75 11.5058L13.3813 6.875L14.3786 7.86619L8.75 13.4942Z' fill='%23BA9BFF'/%3E%3C/svg%3E");
  position: absolute;
  left: 0;
  top: 3px;
  width: 20px;
  height: 20px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 1440px) {
  .pricing-tabs {
    width: 960px;
    padding: 0 20px;
  }

  .offers-plan-carousel__container {
    width: 100%;
    display: grid;
  }
}

@media (max-width: 992px) {
  .pricing-tabs {
    width: 100%;
  }
  .tab-btn.offer-card .offer-icon {
    display: none;
  }
}

@media (max-width: 768px) {
  .tabs {
    gap: 5px;
  }

  .tab-btn.offer-card .offer-price {
    display: none;
  }

  .offer-card {
    align-items: center;
    padding: 20px;
  }

  .offer-text {
    text-align: center;
  }

  .offer-content {
    padding: 0px;
  }
}
.modal-video {
  position: fixed;
  color: black;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 200;
  padding: 80px 20px;
  background-color: #f9f9f9;
  text-align: center;
  transition:
    transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateY(100vh);
  opacity: 0;
  pointer-events: none;
}

.modal-video.video-visible {
  transform: translateY(0);
  opacity: 1;
  overflow-y: auto;
  pointer-events: auto;
  display: flex;
  justify-content: center;
}

.modal-video .video-btn-close {
  position: absolute;
  top: 50px;
  right: 50px;
}

.modal-video video {
  width: 100%;
  max-width: 1200px;
}
.modal-section__form {
  position: fixed;
  color: black;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 200;
  padding: 120px 20px;
  background-color: #f9f9f9;
  text-align: center;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateY(100vh);
  opacity: 0;
  pointer-events: none;
}

.modal-section__form.form-visible {
  transform: translateY(0);
  opacity: 1;
  overflow-y: auto;
  pointer-events: auto;
}

.modal-section__form .form-btn-close {
  position: absolute;
  top: 50px;
  right: 50px;
}

.modal-section__form-header .modal-section__form-title {
  font-weight: 600;
}

.modal-section__form-header .modal-section__form-subtitle {
  margin-bottom: 40px;
}

.modal-section__form-header ol {
  list-style: none;
  text-align: center;
  padding-left: 0;
  margin: 0 auto 40px;
}

.modal-section__form .hbspt-form {
  display: flex;
  justify-content: center;
}

.modal-section__form form {
  max-width: 460px;
  width: 100%;
}

.modal-section__form form > .hs-form-field {
  margin-bottom: 10px;
}

.modal-section__form form > .hs-form-field input {
  border: 1px solid #dfdfdfff;
}

.modal-section__form form > .legal-consent-container .hs-richtext {
  font-size: 0.8rem;
}

.modal-section__form form > .hs_submit {
  width: 100%;
  display: flex;
  margin-top: 20px;
  flex-direction: column;
  align-items: center;
}
/* ===== MODALE OFFER ===== */
.offer-modal {
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  overflow-y: auto;
}

.offer-modal.active {
  display: flex;
}

.offer-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(3px);
}

.offer-modal__content {
  position: relative;
  background: #fff;
  width: 860px;
  max-width: calc(100% - 20%);
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 12px;
  padding: 3rem 2rem 2rem;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
  z-index: 10000;
  animation: modalFadeIn 0.3s ease;
}

.offer-modal__close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.8rem;
  color: #333;
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.offer-modal__close:hover {
  opacity: 0.6;
}

.offer-modal__body {
  font-size: 1rem;
  line-height: 1.5;
  color: #333;
}

body.modal-open {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0);
}

.info-btn {
  background: #b899fb;
  color: white;
  border: 1px solid #b899fb;
  cursor: pointer;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-size: 12px;
  line-height: 0px;
  padding: 1px;
  position: relative;
  top: -4px;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}