/*
Theme Name: Super Great Custom Wordpress
Author: Bastianus
Version: 1.0
*/

a {
    text-decoration: none;
    color: black
}
* {
    overflow-wrap: break-word;
    padding: 0;
    margin: 0;
    font-family: "latino-gothic-variable", sans-serif;
    font-weight: normal;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
main.preload {
    visibility: hidden;
}
p { -webkit-font-smoothing: antialiased; /* Chrome, Safari */ -moz-osx-font-smoothing: grayscale; /* Firefox */ }
p { text-rendering: optimizeLegibility; }
nav ul {
    list-style: none !important;
    padding: 0;
    margin: 0;
    display: flex;
    text-transform: uppercase;
    padding-top: 1rem;
    padding-bottom: 1rem;
        text-transform: uppercase;
            font-size: clamp(24px, 3vw, 36px);
    line-height: 0.7;
    font-variation-settings: "slnt" 1, "wdth" 1, "wght" 65;
        text-transform: uppercase;
            text-align: center;
            letter-spacing: -0%;
            font-weight: normal !important;
}

/* NAV TOP */

.menu_top div ul{
    display: flex;
    justify-content: space-between;
    background-color: white;
}
.menu_top div ul li:nth-child(2){
    margin-left: 0.5%;
}

.menu_top {
position: fixed;
    top: 0;
    z-index: 999;
    width: 97%;
        max-width: 1720px;
}
h1, h2, h3, h4, h5, h6 {
margin:0;
}
/* ----- MAIN WRAPP AND TEXT STYLING ----- */

.wrapper {
    width: 97%;
    max-width: 1720px;
    margin: auto;
    padding-bottom: 0px;
}
main {
    padding-top:10.7vw !important;
}
main.accueil {
    padding-top:0vw !important;
}

.text-big {
    line-height: 1.22;
    font-variation-settings: "slnt" 1, "wdth" 66, "wght" 65;
    font-size: clamp(23px, 3vw, 36px);

}
.text-small {
    line-height: 1.26;
    font-variation-settings: "slnt" 1, "wdth" 66, "wght" 65;
    font-size: clamp(18px, 2vw, 23px);
}
.title-big {
    font-size: 319px;
    line-height: 0.8;
    font-variation-settings: "slnt" 1, "wdth" 1, "wght" 75;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: -0.2vw;
    
}
.title-small {
    font-size: clamp(24px, 3vw, 36px);
    line-height: 0.7;
    font-variation-settings: "slnt" 1, "wdth" 1, "wght" 65;
        text-transform: uppercase;
            text-align: center;
            letter-spacing: -0%;
            font-weight: normal !important;
}

/* ----- NAV TOP ----- */

/* Display flex et compagnie
Peutêtre pas besoin de burger en mobile je sais pas, à voir


/* ----- NAV BOTTOM ----- */

.footer-menu ul {
    display: flex;
    justify-content: space-between;
}


/* Display flex et compagnie, easy


/* ----- IMAGES AND VIDEOS ----- */
.spectacle-video iframe {
    width: 100%;
  height: auto;
  aspect-ratio: 16/8;
  border-radius: 15px;;
}

.home-cover img, .spectacle-gallery img, .spectacle-video img {
        width: 100%;
    height: auto;
    display: block;
    margin: auto;
    border-radius: 15px;
    aspect-ratio: 16/8;
    object-fit: cover;
    object-position: center+30%;
}
.spectacle-video img {
    object-position: center;
}
.spectacle-video {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    background-color: black;
    border-radius: 15px;
}

.lazy-youtube {
    position: relative;
    cursor: pointer;
    display: inline-block;
    width: 100%;
}

.lazy-youtube img.lazy-thumb {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.lazy-youtube .play-button {
    position: absolute;
    top: 49%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 18%;
    height: 18%;
    background: url('https://upload.wikimedia.org/wikipedia/commons/b/b8/YouTube_play_button_icon_%282013%E2%80%932017%29.svg') no-repeat center center;
    background-size: contain;
    pointer-events: none;
}
/* ------------- SECTION SPONSORS ------------ */


.sponsors {
    display: flex;
    justify-content:center;
    align-items: center;
    margin-bottom: 9vw;
    margin-top: 13vw;
    flex-wrap: wrap;
    filter: grayscale(100%);
    width: 85%;
  margin-right: auto;
  margin-left: auto;
  gap: 45px;
}
.sponsors img {
    max-height: clamp(20px, 8vw, 88px);
    height: auto;
    width: auto;
    flex: 0 0 auto;
}


/* -------- FRONT PAGE --------- */

.hero h1 {
    text-align: center;
        font-variation-settings: "slnt" 1, "wdth" 1, "wght" 75;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: -0.2vw;
     line-height: 0.8;
}
.hero h1 {
    font-size: 28.5vw;
    letter-spacing: -0.2vw;
}
.hero h1 span {
    font-size: 8.2vw;
    position: relative;
    top:-4vw;
}

.intro-text {
    margin-top: 1.3vw;
}

/* ------------ ARCHIVE SPECTACLES ------------ */

.spectacles-list a {
    display: inline-block;
    width: 100%;
}
.spectacle-item {
    position: relative;
}

.hover-preview {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 32vw; /* taille de l'image preview */
    height: auto;
    pointer-events: none;
    opacity: 0;
    transform: translate(0,0) scale(0.95);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 1000;
    
}
.last-dash {
    display: block !important;
    text-align: center;
    line-height: 0.8;
    margin-top: 2.6vw;
    margin-bottom: 2.6vw;
    font-size: 20.042vw;
}

.spectacle-item img {
    border-radius: 8px;
    transition: transform 0.3s ease;
        aspect-ratio: 16/10;
    object-fit: cover;
    object-position: center+30%;
    
}
.spectacle-item h2:hover {
    transform: scale(0.9);
}
.spectacle-item h2 {
    transition: transform 0.3s ease;
}

/* ----------- SINGLE SPECTACLE ------------- */

/* ACCORDEON SPECTACLE */
.spectacle-accordeon .accordion-title {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0px;
    margin-bottom: 2px;
    font-weight: bold;
    border-bottom: 1px solid black;
}

.spectacle-accordeon .accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background-color: #fff;
}

.spectacle-accordeon .accordion-content p,
.spectacle-accordeon .accordion-content a {
    margin-top: 1.3vw;
    margin-bottom: 3.9vw;
    display: inline-block;
}

.spectacle-accordeon .symbol {
    font-size: 3vw;
    font-variation-settings: "slnt" 1, "wdth" 1, "wght" 40;
    text-align: center;
    display: inline-block;

}
.accordion-content a {
    display: block !important;
    margin: 0px !important;
}
.accordion-content a:last-child {
        margin-bottom: 3.9vw !important;
}
.accordion-content a:first-child {
        margin-top: 1.3vw !important;
}
/* SLIDER SPECTACLE PAGE */
/* Flèches blanches semi-transparentes */
.spectacle-gallery .swiper-button-next,
.spectacle-gallery .swiper-button-prev {
   height: 100%;
  width: 12.5%;
  top: 0;
}
.spectacle-gallery .swiper-button-next::after,
.spectacle-gallery .swiper-button-prev::after {
    display: none;
}
/* Pagination dots blancs semi-transparents */
.spectacle-gallery .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5); /* blanc semi-transparent */
    opacity: 1; /* s’assurer que la transparence est contrôlée par rgba */
    width: 10px;
    height: 10px;
}
.spectacle-gallery .swiper-pagination-bullets {
    margin-bottom: 0.5vw;
}

.spectacle-gallery .swiper-pagination-bullet-active {
    background: rgba(255, 255, 255, 0.9); /* plus visible pour le bullet actif */
}

.accordion-content a:link, .accordion-content a:visited {
        line-height: 1.26;
    font-variation-settings: "slnt" 1, "wdth" 66, "wght" 65;
    font-size: clamp(18px, 2vw, 23px);
}
.accordion-content a:hover, .accordion-content a:active {
    text-decoration: underline;
}

.spectacle-gallery .swiper-slide {
    position: relative;
}

.cover-credit, .spectacle-gallery .swiper-slide .photo-credit {
    position: absolute;
    bottom: 5px;
    left: 5px;
    font-size: 16px;
    color: #ffffffbc;
    padding: 0.8vw 12px;
    border-radius: 3px;
}
.home-cover {
    position: relative;
}


/*------------- css classique --------------*/

.title-big.soustitre {
/*margin-top: 1.3vw !important;*/
position: relative;
top: -0.6vw;
margin-bottom: 1vw;
}
.title-big.soustitre {
    text-transform: lowercase;
}
.spectacle-description {
    margin-top: 1.3vw;
    margin-bottom: 6.5vw;
}
.spectacle-accordeon {
        margin-bottom: 1.3vw;
}
/* ------------ CONTACT PAGE -------------- */

.page-title-contact {
        font-size: 19vw;
    line-height: 0.8;
    font-variation-settings: "slnt" 1, "wdth" 1, "wght" 75;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: -0.2vw;
        margin-bottom: 6.5vw;
}

.contact-page {
    text-align: center;
    margin: auto;
}
.contact-page img {

    width: 100%;
    height: auto;
    display: block;
    margin: auto;
    border-radius: 15px;
    aspect-ratio: 9/15;
    object-fit: cover;
    object-position: center+30%;
            margin-bottom: 6.5vw;
                    margin-top: 6.5vw;
}
.contact-nom-compagnie h2{
    text-transform: uppercase;
    font-variation-settings: "slnt" 1, "wdth" 1, "wght" 75;
    font-size: 62px;
    margin-bottom: 1.3vw;
}
.contact-coordonnees {
    margin-bottom: 2.6vw;
}
.contact-links {
        margin-bottom: 8vw;
}
.contact-links p {
    display: inline;
}
.contact-links p a:hover{
    text-decoration: underline;
}
.wrappcontact {
    width: 480px;
    margin-left: auto;
    margin-right: auto;
}
.bottom-contact-wrapp {

    width: 80%;
    margin: auto;
        margin-bottom: 2.6vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;

}
.bottom-contact-wrapp div {
    width: 270px;
    margin-bottom: 6.5vw;
}


/* ------------- VERSION MOBILE ------------- */

@media (max-width: 768px) {
.wrapper {
    width: 92%;
    margin: auto;
    padding-top: 12.5vw !important;
}
.menu_top {
    width: 92%;
}
.spectacle-video iframe {
  aspect-ratio: 16/9;
border-radius: 3vw;
}
.spectacle-video {
    border-radius: 3vw;
}
.lazy-youtube img.lazy-thumb {
      aspect-ratio: 16/9;
          border-radius: 3vw;
}

.home-cover img, .spectacle-gallery img, .spectacle-video img {
    /*aspect-ratio: 11/15;*/
    aspect-ratio: 16/19;
    border-radius: 3vw;
    object-position: right;
}
.sponsors img {
    max-height: clamp(32px, 8vw, 100px);
}
.sponsors {
    width: 100%;
    gap:25px;
}
footer.wrapper {
    padding-top: 0px !important;
}
.hero h1 {
    font-size: 27vw;
    margin-bottom: 3.9vw;
}
.hero h1 span {
    font-size: 12vw;
    position: relative;
    top:-8vw;
}
.intro-text {
  margin-top: 3.9vw;
}
.sponsors {
    margin-bottom: 19.5vw;
    margin-top: 19.5vw;
}
main.accueil {
    padding-top: 10vw !important;
}
.cover-credit, .spectacle-gallery .swiper-slide .photo-credit {
    position: absolute;
    top: 5px;
    font-size: 14px;
    color: #ffffffbc;
    padding: 0.8vw 10px;
    border-radius: 3px;
    text-align: center;
    width: 92%;
}
.cover-credit {
        bottom: 5px;
        top: inherit;
}
.spectacle-gallery {
    margin-bottom: 3.9vw;
}
.spectacle-gallery .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    margin-bottom: 0vw;
}
.spectacle-description {
    margin-top: 0px;
    margin-bottom: 16.5vw;
}
.spectacle-accordeon .symbol {
    font-size: 32px;
}
.spectacle-accordeon .accordion-content p, .spectacle-accordeon .accordion-content a {
  margin-top: 3.9vw;
  margin-bottom: 11.7vw;
}
.spectacle-accordeon {
  margin-bottom: 3.9vw;
}
.spectacle-title {
    margin-bottom: 3.9vw;
}
.title-big.soustitre {
  margin-bottom: 3.9vw;
}
.accordion-content p{
width: 100%;
  overflow: scroll;
  text-wrap: nowrap;
}
main.archives {
    min-height: calc(100vh - 126px);
}
.wrappcontact {
        width: 100%;
}
.contact-nom-compagnie h2 {
    font-size: 11.8vw;
}
.page-title-contact {
    font-size: 29.5vw;
}
.bottom-contact-wrapp {
    flex-direction: column;
    width: 100%;
}

.bottom-contact-wrapp div {
    width: 270px;
    margin-bottom: 6.5vw;
}
.contact-links {
  margin-bottom: 16.5vw;
  text-align: center;
}
.contact-artiste {
    margin-bottom: 22.5vw !important;
}
.contact-links p a{
    text-decoration: underline;
}

.contact-nom-compagnie h2 {
  margin-bottom: 3.9vw;
}
.contact-coordonnees {
    margin-bottom: 3.9vw;
}
main.quatre {
    height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.menu_top div ul li:nth-child(2){
    margin-left: 1.5%;
}

}

h1.quatrecentquatre {
    font-size: 44vw;
}
main.quatre {
    height: 66vh;
    display: flex;
    justify-content: center;
    align-items: center;
}


@media (min-width: 1720px) {
    .hero h1 {
    font-size: 498px;
}
}


.soutiens {
    width: 100%;
    text-align: center;
    margin-bottom: 1.3vw;
}


.spectacle-item a {
    border-bottom: 2px solid black;
}
.spectacle-item a:nth-last-child {
    border-bottom: 0px solid black;
}