@font-face {
    font-family: 'satoshi';
    src: url('../fonts/Satoshi-Variable.ttf') format('truetype');
}

@font-face {
    font-family: 'druk-bold';
    src: url('../fonts/DrukWide-Bold-Trial.otf') format('opentype');
}

@font-face {
    font-family: 'druk-super';
    src: url('../fonts/DrukWide-Super-Trial.otf') format('opentype');
}


* {
    box-sizing: border-box;
}




/* GLOBAL */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: rgb(0, 0, 0);
    color: white
}

p {
    font-family: 'satoshi';
    font-weight: 400;
    font-size: 1.05rem;
    line-height: normal;
    color: #FFFE03;
}


/* TITOLO CON BORDO*/

:root {
    /* Valori di fallback se JS non carica */
    --outline-radius: 0.8vw;
    --outline-blur: 0.4vw;
}



h1 {
    font-family: 'druk-super';
    font-size: 10vw;
    /* Dimensione ottimale */
    color: black;
    filter: url(#round-outline-adaptive);
    line-height: 1;
    letter-spacing: 0.02em;
    /* Spazio extra per far respirare il bordo */
    display: inline-block;
    white-space: nowrap;
    position: relative;
    z-index: 10;
    overflow: visible;
    text-align: start;
}

/*================================================================*/

h2 {
    font-family: 'druk-super';
    font-weight: 1000;
    font-size: 1.75vw;
    line-height: normal;
    color: #FFFE03;
}

h3 {
    font-family: 'satoshi';
    font-weight: 900;
    font-size: 1.5vw;
    line-height: normal;
    color: #FFFE03;
}





.img_aboutus {
    width: 100%;
    height: auto;
}




/* traccia testo */
.big-title-yellow-shadow {
    font-size: 4rem;
    font-weight: bold;
    text-shadow: 4px 4px 0px #FFFE03;
    margin-bottom: 2rem;
    line-height: 1.1;
}







a.layout-section {
    display: flex;
    /* Maintain row behavior if bootstrap row uses flex */
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease;
}

a.layout-section:hover {
    transform: scale(1.01);
    cursor: pointer;
}








.text-yellow {
    color: var(--theme-yellow);
}


/* Outline Title Style for "ABOUT US" if needed, or just Big Yellow */
.big-outline-title {
    font-size: 6rem;
    font-weight: 900;
    color: transparent;
    -webkit-text-stroke: 2px var(--theme-yellow);
    line-height: 0.8;
    text-transform: uppercase;
}

.section-title {
    font-size: 3rem;
    font-weight: 900;
    color: var(--theme-yellow);
    text-transform: uppercase;
    margin-bottom: 2rem;
    line-height: 1;
}

.text-highlight {
    color: var(--theme-yellow);
    font-weight: bold;
    font-size: 1.1rem;
}

.recode-logo-text {
    font-size: 5rem;
    font-weight: 900;
    color: var(--theme-yellow);
    line-height: 0.9;
    margin-bottom: 1rem;
    /* Ensure bold font */
}

.step-title {
    font-weight: 900;
    font-size: 1.2rem;
    color: white;
    align-items: center;
    justify-content: center;
    /* Or yellow based on preference, screenshot looks yellow/white mix */
}

.step-text {
    color: var(--theme-yellow);
    font-weight: 500;
    align-items: center;
    justify-content: center;
}


mark.costom-color {
    color: #FFFE03;
    background: transparent;
}




.img-cover {
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: cover;
    margin-bottom: 2rem;
    display: block;
}

/* linea orizzontale */
hr {
    color: #FFFE03;
    opacity: 1;
    height: 1.5px;
    border: none;
    background-color: #FFFE03;
    margin-top: 2.5vh;
    margin-bottom: 6vh;

    /* Make line extend full width of the page */
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
}








/* Override Italic to be White Text */
em,
i,
cite,
dfn,
address {
    color: white !important;
    font-style: normal !important;
}

a {
    color: black;
    text-decoration: none;
}


/* MARGINI BLOCCHI*/
.large-margin {
    margin-left: 165px;
    margin-right: 165px;
}

.no-margin {
    margin-left: 0;
    margin-right: 0;
}

.small-margin {
    /* Placeholder for logic if needed, or define a smaller value e.g. 50px */
    margin-left: 50px;
    margin-right: 50px;
}

@media screen and (max-width: 768px) {
    .footer-container {
        flex-direction: column;
    }

    .footer-col-left,
    .footer-col-right {
        width: 100%;
        margin-bottom: 2rem;
    }

    .footer-info-grid {
        flex-direction: column;
    }

    .footer-contacts,
    .footer-identity {
        width: 100%;
        margin-bottom: 2rem;
    }
}

@media (max-width: 768px) {
    :root {
        --outline-radius: 1vw;
        /* Più visibile su schermi piccoli */
        --outline-blur: 0.5vw;
    }

    html {
        scroll-behavior: smooth;
    }



}