/* --- VARIABILI CSS --- */

@font-face {
  font-family: zuume-cut-bold; /* set name */
  src: url(../fonts/zuume-cut-bold.woff); /* url of the font */
}

@font-face {
    font-family: zuume-cut;
    src: url(../fonts/zuume-cut-regular.woff);
}

        /*:root {
            --default-bg: #EEEEEE;
            --default-text: #7BC0D6;
            --active-bg: var(--default-bg);
            --active-text: var(--default-text);
            --submenu-text: #222222;
        }*/

        /* --- RESET E STILI BASE --- */
        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            background-color: var(--active-bg);
            color: var(--active-text);
            font-family: 'zuume-cut-bold', Oswald, sans-serif;
            height: 100vh;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: background-color 0.6s ease, color 0.6s ease, opacity 0.6s ease;
            opacity: 0;
        }

        body.page-loaded {
            opacity: 1;
        }

        /* --- HEADER --- */
        header {
            display: flex; justify-content: space-between; align-items: center;
            padding: 30px 50px; position: fixed; top: 0; width: 100%; z-index: 100;
            pointer-events: none;
        }

        .logo {
            font-family: 'zuume-cut-bold', Oswald, sans-serif; font-size: 1.5rem; display: flex; align-items: center; gap: 10px; letter-spacing: 1px; cursor: pointer; pointer-events: auto;
        }
        
        .logo-icon svg { width: 50px; height: 50px; fill: var(--active-text); transition: fill 0.6s ease; }

        /* Definizione dell'animazione */
        @keyframes sbatti {
          0%, 90%, 100% {
            transform: scaleY(1); /* Occhio aperto */
          }
          95% {
            transform: scaleY(0.1); /* Occhio schiacciato (chiuso) */
          }
        }

        /* Classe applicata agli occhi */
        .occhio {
          /* transform-box: fill-box è fondamentale negli SVG per ruotare/scalare
             l'elemento rispetto al suo stesso centro, e non rispetto a tutto l'SVG */
          transform-box: fill-box;
          transform-origin: center;
          
          /* Durata 4 secondi, loop infinito */
          animation: sbatti 4s infinite ease-in-out;
        }






       main {
            display: grid;
            grid-template-columns: none; /* Divide lo schermo */
            height: 90vh;
            width: 100%;
        }

        /* --- COLONNA SINISTRA (FISSA) --- */
        .left-panel {
            display: flex;
            height: 90vh;
            flex-direction: column;
            justify-content: space-between;
            position: relative;
            z-index: 10;
            padding: 0;
        }

        #arrow-color {
            fill: var(--default-text);
            /*transform: rotate(5deg);*/
        }

        .panel{
            display: block;
            /* height: 90vh; */
            position: relative;
            z-index: 10;
            width: 70%;
            margin: 0 auto;
            padding: 0;
        }


        .hero-text {
            line-height: 3.5em;
            padding: 150px 0 0 60px;
        }

        .hero-text h1 {
            font-weight: normal;
            font-size: 4rem;
            font-size: 4.2vw;
            line-height: 4vw;
        }
        
        .hero-text h1 span {
            color: var(--secondary-text);
            display: block;

        }

         .hero-text h2 {
            font-weight: normal;
            font-size: 4rem;
            font-size: 4.2vw;
            line-height: 4vw;
            filter: brightness(60%) hue-rotate(-5deg);
        
        }

        .hero-text p {
            font-family: 'zuume-cut', sans-serif;
            font-size: 1.2rem;
            font-size: 1.3vw;
            letter-spacing: 0.1em;
            font-weight: lighter !important;
            line-height: 1.6;
            max-width: 100%;
        }

        .hero-desc {
            font-size: 0.9rem;
            line-height: 1.6;
            max-width: 100%;
            /*color: #dcb35c;*/
            margin-top: 30px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .content-arrow {
            padding-left: 60px;
        }


        .burger-menu {
            cursor: pointer; width: 50px; height: 25px; display: flex; flex-direction: column; justify-content: space-between; pointer-events: auto;
        }

        .burger-line { width: 100%; height: 8px; background-color: var(--active-text); transition: background-color 0.6s ease; }

        /* --- MENU CENTRALE --- */
        #wheel-container {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            display: flex; justify-content: center; align-items: center; pointer-events: none;
        }

        .wheel-wrapper { position: relative; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }

        .wheel-list {
            list-style: none; position: relative; height: 100%; width: 100%;
            display: flex; flex-direction: column; align-items: center;
        }

        .wheel-item {
            font-family: 'zuume-cut-bold', Oswald, sans-serif; font-size: 14rem; text-transform: uppercase;
            line-height: 1; position: absolute; white-space: nowrap;
            will-change: transform, filter, opacity; cursor: pointer; pointer-events: auto;
        }

        /* --- SOTTOMENU --- */
        .submenu-container {
            position: absolute; top: calc(50% + 90px);; left: 0; width: 100%;
            display: flex; justify-content: center; gap: 30px; z-index: 150;
            pointer-events: none; opacity: 0; transform: translateY(30px);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }

        .submenu-container.show { opacity: 1; pointer-events: auto; transform: translateY(0); }

        .submenu-item {
            font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.3rem;
            color: var(--submenu-text); cursor: pointer;
        }

        /* --- FOOTER --- */
        footer {
            font-family: 'zuume-cut', sans-serif;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            padding: 30px 50px;
            position: fixed;
            bottom: 0;
            width: 100%;
            font-size: 1vw;
            color: var(--active-text);
            z-index: 100;
            transition: color 0.6s ease;
            pointer-events: none;

            letter-spacing: 0.1em;
            line-height: 1.6;

            background: linear-gradient(360deg,
                        color-mix(in srgb, var(--active-bg), transparent 0%) 30%,
                        color-mix(in srgb, var(--active-bg), transparent 100%) 100%);
            opacity: 1;
        }
        
        footer span { pointer-events: auto; cursor: pointer; margin-left: 20px; }
        .social-icons span { margin-left: 0; margin-right: 20px; font-size: 1.2rem;}
        .social-icons span svg{fill: var(--active-text); transition: fill 0.6s ease;}

        /* --- SIDE MENU --- */
        .side-menu {
            position: fixed; top: 0; right: -100%; width: 400px; height: 100%;
            background-color: var(--active-text); z-index: 200;
            transition: right 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), background-color 0.6s ease;
            display: flex; flex-direction: column; justify-content: center; padding: 50px;
        }
        .side-menu.active { right: 0; }
        .side-menu a {
            color: var(--active-bg); text-decoration: none; font-family: 'zuume-cut-bold', Oswald, sans-serif;
            font-size: 2rem !important; letter-spacing:1px; margin-bottom: 20px; opacity: 0; transform: translateX(20px); transition: 0.3s;
        }
        .side-menu.active a { opacity: 1; transform: translateX(0); transition-delay: 0.3s; }
        .close-btn { position: absolute; top: 30px; right: 50px; font-size: 2rem; color: var(--active-bg); cursor: pointer; }
        .side-menu .earthling-logo-side{position:absolute; bottom: 0;}

        @media (max-width: 768px) {

            main {display: flex !important; flex-direction:column; align-items:center;}

            .hero-text {padding: 150px 0 0 0 !important;}

            .hero-text h1,  .hero-text h2 {font-size: 10vw !important; line-height: 10vw!important;}

            .hero-text p {font-size: 3.3vw !important; line-height: 4.3vw !important; max-width: 100% !important;}

            .left-panel, .right-panel {height: auto !important; display: block !important;  scrollbar-width: auto !important; padding: 0 !important;}

			 .left-panel, .right-panel {width:70%;}

            .wheel-item { font-size: 5rem; }
            .submenu-item { font-size: 1rem; gap: 15px;}
            header, footer { padding: 20px; }
            .side-menu { width: 100%; }
        }