/*-----------------------------------------------------------------------------------
	the D.O.N.U.T.
	About: We are a new place for independent ventures in art, architecture and design located at Schöntalstrasse 21 in the heart of Zürich. D.O.N.U.T. stands for many things, but first and foremost it is a homebase to our family, our guests and contributors, our residents, and YOU.

	Author: Origianl (Marc Droz), Laura Schwarz
	Version: 2.0
	Built with Blocs
-----------------------------------------------------------------------------------*/

/* = Web Fonts
-------------------------------------------------------------- */

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on December 14, 2024 */



@font-face {
    font-family: 'Pitch-BoldItalic';
    src: url('/assets/fonts/Pitch-BoldItalic/pitch-bold-italic.woff2') format('woff2'),
         url('/assets/fonts/Pitch-BoldItalic/pitch-bolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

        /* Farbpalette
        #FFC3F4 pink
        #3D215E violet
        #00A314 green
        */

        /* Allgemeine Styles */
        body {
            margin: 0;
            padding: 0;
            display:block;
            height: 100vh;
            background-color: white;
            font-family: 'Pitch-BoldItalic', sans-serif;
            overflow-x: hidden;
            padding-top: 100px;
            color: #00A139;
        }

        .font-col-lila{
            color:#3D215E!important;
        }
        .font-col-pink{
            color:#FFC3F4!important;
        }

        .link{
            color:#00A139!important;
            text-decoration:underline!important;
        }
        .link:hover{
            color:#3D215E!important;
        }
        .typo-m{
            font-size:30px;
            line-height: 1em;
        }
        .typo-big-style{
            line-height:1.2em;
            font-size:43px;
        }


        .bloc-lg{
            padding:100px 20px;
        }
        .bloc-md{
            padding:50px 20px;
        }




        .bloc {
            margin-left: 20%;
            margin-right: 20%;
        }

        /* Header Styles */
        .site-header {
            position: absolute; /* */
            top: 20px;
            left: 10px;
            right: 0;
            height: 90px;
            background: ; /* white */
            z-index: 1000;
           /* box-shadow: 0 2px 10px rgba(0,0,0,0.1); */
            display: flex;
            align-items: center;
        }

        .header-container {
            width: 100%;
            max-width: 1200px;
            padding: 0 20px;

            display: flex;
            justify-content: space-between;
            align-items: center;
            position: relative;
        }

      /*  .home-button {
            font-size: 16px;
            color: #000;
            text-decoration: none;
            padding: 8px 12px;
            border-radius: 4px;
            transition: background 0.2s;
        }

        .home-button:hover {
            background: #f5f5f5;
            text-decoration: underline;
        } */

        .logo {
            /* Fixed dimensions with aspect ratio */
            width: 180px; /* Ideal base width */
            height: auto; /* Maintain aspect ratio */
            max-height: 80px; /* Your desired max height */
            
            /* Modern image handling */
            object-fit: contain;
            aspect-ratio: 1400/640; /* Based on your denut-logo-4-350x135.png */
            
            /* Performance optimization */
            image-rendering: -webkit-optimize-contrast;
            image-rendering: crisp-edges;
            
            /* Smooth scaling */
            transition: width 0.3s ease;

        }

        /* –––––––– CAROUSEL –––––––– */
                
        .carousel {
            perspective: 1000px;
            width: 100%;
            height: 60vh;
            position: relative;
            margin: 40px 0;
        }

        .carousel-container {
            width: 100%;
            height: 100%; /* auto macht isometrisch*/
            position: absolute;
            transform-style: preserve-3d;
            transition: transform 0.6s ease-in-out;
        }

        .carousel-item {
            position: absolute;
            width: 200px;
            height: 250px;
            left: 50%;
            top: 40%;
            margin-left: -100px;
            margin-top: -125px;
            text-align: center;
            transform-style: preserve-3d;
            transition: all 0.6s ease-in-out;
        }

        .image-container {
            width: 100%;
            height: 100%;
            transform-style: preserve-3d;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }

        .image-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform-style: preserve-3d;
            backface-visibility: hidden;
        }


        .info {
            position: relative;
            bottom: auto;
            width: 100%;
            background: white;
            color: #3D215E;
            text-align: left;
            padding: 10px;
            box-sizing: border-box;
            transform: translateZ(0px);
        }

        .info h2, .info p {
            margin: 0;
            font-size: 12px;
        }

        .info h2 {
            font-size: 16px;
            color: #3D215E;
        }

        .info p {
            color: #00A314;
        }

        .info .chair-details {
            color: #FFC3F4;
        }

        /* Hover Effekt */
        .hover-content {
            position: absolute;
            top: -5px;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.5s, visibility 0.5s;
            transform: translateZ(50px);
        }

        .designer-image {
            position: relative;
            top: 0px;
            left: 50%;
            transform: translateX(-50%);
            width: 55%;
            height: auto;
            overflow: hidden;
           /* background: #fff;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); */
        }

        .designer-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .description {
            color: #FFC3F4;
            visibility: hidden;
        }

        .carousel-item:hover .hover-content {
            opacity: 1;
            visibility: visible;
        }

        /* Navigation */
        .nav-button {
            position: absolute;
            top: 100%;
            transform: translateY(-50%);
            background: #3D215E;
            color: white;
            border: none;
            padding: 10px 20px;
            cursor: pointer;
            font-family: inherit;
            text-decoration: underline 2px solid;
            font-size: 18px;
            z-index: 10;
            transition: background 0.3s;
        }

        .nav-button:hover {
            background: rgba(0, 0, 0, 0.8);
        }

        .prev-button {
            left: 20px;
        }

        .next-button {
            right: 20px;
        }

        /* Mobile Navigation */
        .mobile-nav {
            display: none;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 20;
            width: 40px;
            height: 40px;
            background: rgba(61, 33, 94, 0.7);
            color: white;
            border: none;
            border-radius: 50%;
            font-size: 20px;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: background 0.3s;
        }

        .mobile-nav:hover {
            background: rgba(61, 33, 94, 1);
        }

        .mobile-prev {
            left: 10px;
        }

        .mobile-next {
            right: 10px;
        }

        /* Chair List */
        .chair-list {
            position: absolute;
            left: 180px;
            padding-left: 20px;
            transform: translateX(-50%);
            z-index: 10;
            background: rgba(255, 255, 255, 0.8);
            padding: 10px;
            border-radius: 5px;
        }

        .chair-list ul {
            list-style: none;
            margin: 0;
            padding: 0;
            gap: 10px;
        }

        .chair-list li {
            margin: 5px 0;
        }

        .chair-list a {
            text-decoration: none;
            color: #00A314;
            font-size: 1.25em;
            padding: 5px 10px;
            border-radius: 3px;
            transition: color 0.3s;
        }

        .chair-list a:hover {
            color: #3D215E;
            text-decoration: underline 2px solid;
        }

        .lauftext {
            
            position: absolute;
            font-family: 'Pitch-BoldItalic';
            color: #00A314;
            font-size: 2em;
            padding-left: 20%;
            padding-right: 20%;
        }


        /*––––––––––––––– Pop-up Styles –––––––––––––––*/
        .popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(#00A314 0.95);
            z-index: 2000;
            display: none;
            justify-content: center;
            align-items: center;
            backdrop-filter: blur(5px);
           /* background-color: #00A139 ; */
        }

        .popup-container {
            position: relative;
            width: 80%;
            max-width: 100%;
            max-height: 90%;
            background-color: white ;
            padding: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            overflow-y: auto;
            border: 0px solid #3D215E;
            border-radius: 10px;
        }

        .popup-close {
            position: absolute;
            top: 10px;
            right: 10px;
            background: none;
            border: none;
          /*  font-family: 'Pitch-BoldItalic'; */
            font-size: 40px;
            cursor: pointer;
            color: #3D215E;
            transition: color 0.3s;
        }

        .popup-close:hover {
            color: #FFC3F4;
        }

        .popup-content {
            display:grid; /* flex before > zweispaltiges layout */
            gap: 30px;
        }

        .popup-image-container {
            flex: 1;
            display: flex;
            flex-direction: row; /* column wie vorher*/
            gap: 0px;
        }

        .popup-image-container img {
            width: 100%;
            height: auto;
            object-fit: contain;
            max-height: 600px; /* 300px*/
        }

        .popup-text-container {
            flex: 1;
            max-width: 70%;
            padding-left: 20%;
            padding-right: 20%;
        }
            /* Designer */
        .popup-text-container h2 {
            font-size: 32px;
            margin-bottom: 0px;
            margin-top: 5px;
            color: #00A314;
        }
            /* Chair*/
        .popup-text-container h3 {
            font-size: 42px;
            margin-top: 10px;
            margin-bottom: 30px;
        }

        .popup-section {
            margin-bottom: 25px;
        }

            /* Bio, Inspiration, etc.*/
        .popup-section h4 { 
            font-size: 18px;
            margin-bottom: 5px;
            text-decoration: none;
        }

        .popup-section div {
            font-size: 24px;
            margin-top: 5px;
            line-height: 1.5;
        }

 /*––––––––––––––– Social Icons –––––––––––––––*/

        .social-icons {
            display: flex;
            gap: 15px;
            margin-top: 10px;
        }

        .social-icons a {
            color: #3D215E;
            font-size: 24px;
            transition: color 0.3s;
        }

        .social-icons a:hover {
            color: #FFC3F4;
        }

        .instagram-icon::before {
            content: "Instagram";
            margin-right: 5px;
        }

        .website-icon::before {
            content: "🌐";
            margin-right: 5px;
        }

/*––––––––––––––– Responsive Anpassungen –––––––––––––––*/

        @media (max-width: 768px) {


            .popup-container {
                width: 100%;
                padding: 20px;
            }
            
            .popup-content {
                flex-direction: column;
            }
            
            .popup-image-container {
                flex-direction: row;
            }
            
            .popup-image-container img {
                max-height: 150px;
            }

            /* Hide the popup overlay completely */
            .popup-overlay {
                display: none !important;
            }
            
            /* Disable click events on carousel items */
            .carousel-item {
                pointer-events: none;
            }
            
            /* Make sure info remains visible */
            .info {
                opacity: 1 !important;
                visibility: visible !important;
                position: static;
                transform: none;
    }
        }

        /* Mobile Styles */
        @media (max-width: 768px) {
           .container {
            padding-bottom: 10px;
           }
           
            .nav-button {
                display: none;
            }
            
            .mobile-nav {
                display: flex;
            }
            
            .chair-list {
                position: static;
                left: auto;
                transform: none;
                width: 100%;
                box-sizing: border-box;
                margin-bottom: 20px;
                text-align: center;
                display: block;
                padding: 10px;
            }
            
            .chair-list ul {
                display: none;
                flex-wrap: wrap;
                justify-content: center;
            }
            
            .chair-list li {
                margin: 5px;
            }
            
            .chair-list a {
                font-size: 0.9em;
                white-space: nowrap;
            }
            
            .lauftext {
                font-size: 1.2em;
                padding-left: 20px;
                padding-right: 20px;
            }
            
            .carousel {
                height: 70vh;
            }
            
            /* Für mobile Ansicht, zeigen wir ein 2D-Karussell */
            .carousel-container {
                display: flex;
                flex-direction: row;
                transform-style: flat;
                overflow-x: hidden;
            }
            
            .carousel-item {
                position: absolute;
                width: 280px;
                height: 350px;
                top: 50%;
                left: 50%;
                margin-left: -140px;
                margin-top: -175px;
                opacity: 0;
                transition: opacity 0.4s ease;
            }
            
            .carousel-item.active {
                opacity: 1;
            }
            
            .info {
                bottom: -60px;
            }
            
            .info h2 {
                font-size: 18px;
            }
            
            .info p {
                font-size: 16px;
            }
        }