/* ===========================================
   Self-hosted Poppins fonts
   =========================================== */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 300;
    src: url('/assets/fonts/Poppins-Light.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    src: url('/assets/fonts/Poppins-Regular.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    src: url('/assets/fonts/Poppins-Medium.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    src: url('/assets/fonts/Poppins-SemiBold.ttf') format('truetype');
    font-display: swap;
}

/* ===========================================
   v4o-base.css – Stili globali e reset
   =========================================== */

/* Reset base */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Font globale e impostazioni di base */
body {
    font-family: 'Poppins', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.5;
    background-color: #000;
    color: #eef6fb;
    overflow-x: hidden;
}

/* Heading di base – peso ridotto per eleganza */
h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

/* Link di base */
a {
    text-decoration: none;
    color: inherit;
}

/* Liste */
ul, ol {
    list-style: none;
}

/* Immagini responsive */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Pulsanti di base (solo reset) */
button {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

/* ===========================================
   REGOLE GLOBALI DI CENTRATURA E LARGHEZZA
   =========================================== */
.v4o-header-inner,
.v4o-footer-inner,
.v4o-home-hero .container,
.v4o-hero-inner,
.content-section .container,
.team-section .container,
.news-carousel .carousel-container,
.testimonials-carousel .carousel-container,
.v4o-cards,
.v4o-opportunity-cards,
.v4o-cards-grid,
.v4o-test-inner,
.v4o-punch-inner,
.two-columns {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Padding laterale per evitare aderenza ai bordi su schermi piccoli */
.v4o-header-inner,
.v4o-footer-inner,
.v4o-home-hero .container,
.v4o-hero-inner,
.content-section .container,
.team-section .container,
.news-carousel .carousel-container,
.testimonials-carousel .carousel-container,
.v4o-cards,
.v4o-opportunity-cards,
.v4o-cards-grid,
.v4o-test-inner,
.v4o-punch-inner,
.two-columns {
    padding-left: 1rem;
    padding-right: 1rem;
}