/*-----------------------------------------------------------------------------------
	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 */

:root {
  --donut-pink: #FFC3F4; /* global scope */
  --donut-lila: #3D215E; /* global scope */
  --donut-green: #00A139; /* global scope */
}

@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: 400, normal;
    font-style: normal;

}

        /* Farbpalette
        var(--donut-pink) pink
        var(--donut-lila) 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: var(--donut-green);
        }

        .font-col-lila{
            color:var(--donut-lila)!important;
        }
        .font-col-pink{
            color:var(--donut-pink)!important;
        }

        .link{
            color:var(--donut-green)!important;
            text-decoration:underline!important;
        }
        .link:hover{
            color:var(--donut-lila)!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: 0; /* allow full viewport */
            right: 0;
            padding-left: 20px;
            padding-right: 20px;
            height: 90px;
            background: transparent;
            z-index: 1000;
            display: flex;
            align-items: center;
            overflow: visible; /* ensure logo isn't clipped */
        }

        .header-container {
            width: 100%;
            max-width: 1200px;
            padding: 0 20px;
            margin: 0 auto; /* center container */

            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: var(--donut-lila);
            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: var(--donut-lila);
        }

        .info p {
            color: #00A314;
        }

        .info .chair-details {
            color: var(--donut-pink);
        }

        /* Hover Effekt */
        .hover-content {
            position: absolute;
            top: 0px;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.5s, visibility 0.5s;
            transform: translateZ(0px);
            mix-blend-mode: multiply;
            background-color: var(--donut-pink);
        }

        .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: var(--donut-pink);
            visibility: hidden;
        }

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

        /* Navigation */
        .nav-button {
            position: absolute;
            top: 120%;
            transform: translateY(-50%);
            background: var(--donut-green);
            color: white;
            border: none;
            border-radius: 50%;
            padding: 10px 18px;
            cursor: pointer;
            font-family: inherit;
            font-size: 25px;
            z-index: 10;
            transition: background 0.3s;
        }

        .nav-button:hover {
            background: var(--donut-pink);
        }

        .prev-button {
            left: 25%;
        }

        .next-button {
            right: 25%;
        }

        /* 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: var(--donut-lila);
            text-decoration: underline 2px solid;
        }

        .lauftext {
            /* Make outro flow with the document to avoid overlap with accordion */
            position: relative;
            font-family: 'Pitch-BoldItalic';
            color: #00A314;
            font-size: 2em;
            margin: 150px 20% 0px 20%;
            padding: 0;
            box-sizing: border-box;
        }


        /*––––––––––––––– 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: var(--donut-green) ; */
        }

        .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 var(--donut-lila);
            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: var(--donut-lila);
            transition: color 0.3s;
        }

        .popup-close:hover {
            color: var(--donut-pink);
        }

        .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;
        }

/*––––––––––––––– Accordion Styles –––––––––––––––*/

.designer-accordion {
    width: 100%;
    max-width: 1100px;
    margin: 40px auto 80px;
    box-sizing: border-box;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: left; /* center items horizontally */
}

.designer-accordion-item {
    border: 3px 0 3px 0 solid #00A314;
   /* border-bottom: 3px solid var(--donut-green);  --- IGNORE ---*/
    border-top: 3px solid var(--donut-pink);
    margin-bottom: 0px;
    overflow: hidden;
    background: #fff;
    width: 100%;
    max-width: 1000px; /* constrain each item so they appear centered */
}

.designer-accordion-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 16px;
    background: #fff;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 1.7rem;
}

.designer-accordion-header:hover {
    background: var(--donut-pink);
}
/* Left side container */
.designer-accordion-header .header-left {
    flex: 1;
    text-align: left;
}

/* Right side container */
.designer-accordion-header .header-right {
   /* flex: 1; */
    text-align: right;
}

.designer-accordion-header .designer-name {
    font-weight:  400, normal;
    color: var(--donut-green);
    text-align: left;
}

.designer-accordion-header .chair-title {
    color: var(--donut-lila);
    text-align: right;
}

.designer-accordion-panel {
    display: none;
    padding: 0 20px;
}

.designer-accordion-item.open .designer-accordion-panel {
    display: block;
    padding: 18px 20px 28px 20px;
}

.panel-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 20px;
    align-items: start;
}

.panel-images img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 12px;
    object-fit: cover;
}

.panel-portrait { max-height: 280px; }
.panel-chair { max-height: 420px; }

@media (max-width: 768px) {
    .panel-grid { grid-template-columns: 1fr; }
    .designer-accordion { padding: 0 10px; }
}

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

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

        .social-icons a {
            color: var(--donut-lila);
            font-size: 24px;
            transition: color 0.3s;
        }

        .social-icons a:hover {
            color: var(--donut-pink);
        }

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

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

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

        @media (max-width: 768px) {

            .designer-accordion-header {
    flex-direction: column;        /* statt nebeneinander */
    align-items: flex-start;       /* linksbündig */
    text-align: left;              /* Text links ausrichten */
    gap: 4px;                      /* kleiner Abstand zwischen Name & Chair */
  }

  .designer-accordion-header .header-left,
  .designer-accordion-header .header-right {
    text-align: left;
    width: 100%;
  }

  .designer-accordion-header .chair-title {
    color: var(--donut-lila);
    font-size: 1.2rem;
  }

            .designer-accordion-header {
                font-size: 1.3rem;
            }
             .popup-section div {
            font-size: 1.2rem;
            }

             .typo-big-style{
            font-size: 1.6rem;
        }

            .designer-accordion {
             font-size: 0.9rem;
        }

            .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.2rem;
                margin: 0px;
                padding: 0 10px;
            }
            
            .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;
            }
        }