/* ===========================
   CONCEPT ART INTRODUCTION
=========================== */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html {
  scroll-behavior:smooth;
}


body {
  background: linear-gradient(to right, #0a093a, #b9702c);
  background-size: 100% 100%;
  color: #BEFFC5;
  padding: .5em 0;
}

[lang] {
  display: none;
}

[lang]{
    display:block;
}

.lang-switch {
  position: absolute;
  top: 1rem;
  right: 5%;
  margin-bottom: 2%;
  z-index: 1000;
}

.lang-button {
  background-color:  rgb(82, 11, 11);
  border: none;
  padding: 0.5rem 1rem;
  margin: 0 0.5rem;
  cursor: pointer;
  font-family: josefin-sans, sans-serif;
  color: #89ebf1;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.lang-button:hover {
  background-color: #bbb;
}

.footer-links i {
    margin-right: 0.4rem;
}

.site-footer {
    background-color: #350923;
    border: 5px solid #89ebf1;
    margin: 20px;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    color: #e78e8b;
    text-align: center;
    padding: 2rem 1rem;
    font-family: copperplate, serif;
    font-size: 0.95rem;
}

.footer-content {
    margin: 0 auto;
    max-width: 1200px;
}

.footer-links {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1rem;
}


.footer-links a {
    color: #e78e8b;
    text-decoration: none;
    font-family: copperplate, serif;
    font-size: 0.95rem;
    transition: color 0.3s;
}

.footer-links a:hover {
    color: #f371e8;
}

.footer-links i {
    margin-right: 0.4rem;
}

.social-icon {
  width: 20px;   /* Réduit la largeur */
  height: auto;  /* Laisse le ratio intact */
  transition: transform 0.3s, opacity 0.3s;
}

/* ===========================
   LAYOUT CONCEPT ART
=========================== */

.layout{
    display:grid;
    grid-template-columns:280px 1fr;
    width:100%;
    margin:0;
}


.content{
    width:100%;
    margin:0;
    padding:0;
}


.concept-intro{
    max-width:1600px;
    margin:0 auto;
    display:grid;
    padding:90px 70px 60px;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:start;
}

.concept-intro .section-label{
    display:block;
    margin-bottom:20px;
    font-family:josefin-sans,sans-serif;
    letter-spacing:.25em;
    font-size:.9rem;
    text-transform:uppercase;
    color:#d2b58f;
}

.concept-intro h1{
    font-family:tt-modernoir,sans-serif;
    font-size:4.3rem;
    line-height:1.05;
    margin-bottom:45px;
    color:#ead7b8;
}

.concept-intro h1 em{
    font-style:italic;
    color:#d5b894;
}

.concept-intro .intro-text{
    max-width:760px;
}

.concept-intro .intro-text p{
    font-family:josefin-sans,sans-serif;
    font-size:1.15rem;
    line-height:1.9;
    color:#ebe2d2;
}

.concept-intro .intro-text .lead{
    font-size:1.4rem;
    color:white;
}


/* ===========================
   IMAGE CONCEPT ART
=========================== */

.concept-right figure{
    margin:0;
}

.concept-right img{
    width:120%;
    display:block;
    padding: 1em;
}

.concept-right figcaption{
    margin-top:15px;

    font-family:josefin-sans,sans-serif;
    font-size:.95rem;
    line-height:1.6;

    color:#ccbfae;
}


/* ===========================
   THEMES CONCEPT ART
=========================== */

.concept-intro .themes{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
}

.concept-intro .theme-card{
    padding:24px;
    background:rgba(255,255,255,.04);
    border-top:2px solid rgba(255,255,255,.12);
    transition:.3s;
}

.concept-intro .theme-card:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.06);
}

.concept-intro .theme-card h3{
    font-family:josefin-sans,sans-serif;
    font-size:1.1rem;
    text-transform:uppercase;
    margin-bottom:16px;
}

.concept-intro .theme-card p{
    font-family:josefin-sans,sans-serif;
    font-size:1rem;
    line-height:1.8;
    color:#ddd;
}


/* ===========================
   CONCEPT INTRO / ANALYSIS
=========================== */

.analysis.concept{
    display:flex;
    align-items:flex-start;
    gap:50px;
    padding:5rem;
    background: linear-gradient(155deg, var(--theme) 30%, var(--theme2));
    transition: background-color 0.5s ease;

    color:#eadcc8;
}


.analysis.concept .analysis-image,
.analysis.concept .analysis-text{
    flex:1;
}

.analysis#angband {
    --theme: rgb(114, 22, 22);
    --theme2: rgb(177, 113, 39);
}

.analysis#celestial {
    --theme: rgb(28, 68, 75);
    --theme2: rgb(61, 143, 129);
}

.analysis#escape {
    --theme: rgb(51, 30, 65);
    --theme2: rgb(158, 77, 118);
}

.analysis#river {
    --theme: rgb(50, 25, 58);
    --theme2: rgb(224, 214, 116);
}

.analysis#study-church {
    --theme:  rgb(50, 25, 58);
    --theme2: rgb(224, 214, 116);
}

.analysis#study-artdeco {
    --theme:  rgb(50, 25, 58);
    --theme2: rgb(224, 214, 116);
}

.analysis#city {
    --theme: rgb(83, 45, 23);
    --theme2: rgb(153, 119, 27);
}

.analysis#city-3d {
    --theme: rgb(88, 60, 43);
    --theme2: rgb(155, 130, 67);
}

.analysis#temple {
    --theme: rgb(46, 24, 6);
    --theme2: rgb(94, 53, 34);
}

.analysis#temple-concept {
    --theme: rgb(34, 20, 39);
    --theme2: rgb(90, 58, 73);
}

.analysis#temple-stars {
    --theme: rgb(23, 19, 70);
    --theme2: rgb(182, 90, 174);
}


/* ===========================
   IMAGE
=========================== */

.desc-text,
.analysis-fr,
.analysis-en,
.intro-text,
.intro-text.active {
    display:none;
}

.desc-text.active,
.analysis-fr.active,
.analysis-en.active,
.intro-text.active {
    display:block;
}

.analysis.concept .analysis-image{
    margin:0;
}


.analysis.concept .analysis-image h2{
    font-family:tt-modernoir,sans-serif;
    font-size:3.2em;
    margin-bottom:1em;
}


.analysis.concept .analysis-image img{
    display:block;
    width:100%;
    max-width:900px;
    height:auto;
}


.analysis.concept figcaption{
    margin-top:15px;
    font-family:josefin-sans,sans-serif;
    font-size:1.1em;
    color:#d8c2a0;
}

.angband {
  background-color: linear-gradient;
}

/* ===========================
   TEXTE ANALYSE
=========================== */

.analysis.concept .analysis-text{
    padding-top:30px;
}


.analysis.concept .analysis-text p{
    font-family:josefin-sans,sans-serif;
    font-size:1.1em;
    line-height:1.8;
    color:#eee3d0;
    margin-top:25px;
    margin-bottom:25px;
}



/* ===========================
   SIDEBAR FUTURE VIGNETTES
=========================== */


.sidebar{
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
    width:280px;
    border-right:1px solid #ddd;
}

.thumb{
    font-family: tt-modernoir, sans-serif;
    background:#345043;
    display:block;
    padding:30px;
    color:#b5dde9;
    text-decoration:none;
    border-bottom:1px solid #eee;
    transition:
        background .35s,
        border-color .35s,
        color .35s;
}

.thumb span{
    display:block;
    font-family:tt-modernoir, sans-serif;
    font-size:2.5rem;
    line-height:1;
    color:#94d1d5;
    margin-bottom:15px;
}

.thumb p {
  font-family: josefin-sans, sans-serif;
  font-size: 1.2em;
  color:#c7b7e0;
}

.thumb h3 {
  font-size: 1.5em;
  letter-spacing: 0.04em;
  color:#c9d1ee;
}

.thumb:hover{
    background:#484392;
}

.thumb.active{
    background:#925643;
    color:#c77d1b;
}


/* ===========================
   RESPONSIVE
=========================== */

@media screen and (max-width: 768px) {

  html{font-size:15px;}
body{overflow-x:hidden;}

    .concept-intro {
        display: flex;
        flex-direction: column;
        padding: 30px 20px;
    }

    .concept-left {
        width: 100%;
    }

    .concept-right {
        width: 100%;
        margin-top: 30px;
    }

    .concept-right img {
        width: 100%;
        height: auto;
    }

    .layout {
        display: flex;
        flex-direction: column;
    }

    figure {
        margin: 0;
    }

    .content {
    width: 100%;
    order: 2;
    padding-top: 110px;
    box-sizing: border-box;
}

    .sidebar {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: auto;

    display: flex;
    flex-direction: row;

    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;

    z-index: 9999;

    border: none;
    border-bottom: 1px solid rgba(255,255,255,.2);

    background: #06041f;

    scrollbar-width: thin;
}

    .thumb {
        flex: 0 0 180px;
        padding: 18px;
        border-right: 1px solid rgba(255,255,255,.15);
        border-bottom: none;
    }

    .content {
        width: 100%;
        order: 2;
        padding-top: 110px;
        box-sizing: border-box;
    }

        .thumb h3{
        font-size:1.4rem;
        line-height:1.25;
        }

        .thumb p{
        font-size:.9rem;
        }

        .content {
            width: 100%;
            order: 2;
        }

        .concept-intro .concept-left h1 {
            font-size: 3.6em !important;
            line-height: 1.15;
            margin-bottom: 25px;
        }
      
        .concept-intro .intro-text p {
            font-size: 0.9em !important;
            line-height: 1.8;
            margin-bottom:25px;
        }

        .concept-intro .intro-text .lead {
            font-size: 1em !important;
        }


    .analysis {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .analysis-image {
        width: 100%;
        margin: 0;
        order: 1;
    }

    .analysis-image img {
        width: 100%;
        height: auto;
    }

    .analysis-text {
        width: 100%;
        order: 2;
    }

    .analysis-text p {
        font-size: 1.1em;
        line-height: 1.7;
    }

     .analysis.concept .analysis-image h2 {
    font-size: 2em;
    line-height: 1.2;
}

}

/* =====================================================
   TABLETTE — CONCEPT ART
   ===================================================== */

@media screen and (min-width: 769px) and (max-width: 1250px) {

    /* =====================================================
   TABLETTE — HEADER CONCEPT ART
   ===================================================== */

.concept-intro {
    display: flex;
    flex-direction: row;
    align-items: center;

    width: 100%;

    padding: 80px 5% 50px;

    box-sizing: border-box;

    gap: 4%;
}


/* -------------------------------------------------
   TEXTE — 1/3
   ------------------------------------------------- */

.concept-left {
    width: 32%;
    flex: 0 0 32%;
}


/* -------------------------------------------------
   IMAGE — 2/3
   ------------------------------------------------- */

.concept-right {
    width: 64%;
    flex: 0 0 64%;
    margin-top: 0;
}

.concept-right img {
    display: block;
    width: 100%;
    height: auto;
}


/* -------------------------------------------------
   TITRE
   ------------------------------------------------- */

.concept-intro .concept-left h1 {
    font-size: 3.5em;
    line-height: 1.1;
    margin-bottom: 20px;
}


/* -------------------------------------------------
   TEXTE
   ------------------------------------------------- */

.concept-intro .intro-text p {
    font-size: 0.9em;
    line-height: 1.65;
    margin-bottom: 18px;
}

.concept-intro .intro-text .lead {
    font-size: 1em;
}

    /* =====================================================
   TABLETTE — SIDEBAR
   ===================================================== */

    /* -------------------------------------------------
       LAYOUT
       ------------------------------------------------- */

    .layout {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }


    /* -------------------------------------------------
       VIGNETTES
       ------------------------------------------------- */

    .sidebar {
        width: 170px;
        flex: 0 0 170px;

        box-sizing: border-box;
    }


    .thumb {
        padding: 12px;
    }

    .thumb h3 {
        font-size: 1.2rem;
        line-height: 1.2;
    }

    .thumb p {
        font-size: 0.8rem;
        line-height: 1.4;
    }


    /* -------------------------------------------------
       CONTENU
       ------------------------------------------------- */

    .content {
        width: calc(100% - 170px);
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }


    /* -------------------------------------------------
       SECTIONS
       ------------------------------------------------- */

    .analysis.concept {
        display: flex;
        flex-direction: column;

        width: 100%;
        margin: 0;
        padding: 40px 4%;

        box-sizing: border-box;
    }


    /* -------------------------------------------------
   IMAGE
   ------------------------------------------------- */

.analysis.concept .analysis-image {
    width: 100%;
    margin: 0;
    padding: 0;
}

.analysis.concept .analysis-image img {
    display: block;
    width: 100%;
    height: auto;
}


/* -------------------------------------------------
   TITRE AU-DESSUS DE L'IMAGE
   ------------------------------------------------- */

.analysis.concept .desc-text {
    margin: 0;
    padding: 0;
}

.analysis.concept .desc-text h2 {
    font-size: 1.6em;
    line-height: 1.2;
    margin: 0 0 10px 0;
}


/* -------------------------------------------------
   TEXTE SOUS L'IMAGE
   ------------------------------------------------- */

.analysis.concept .analysis-text {
    width: 100%;
    margin: 0;
    padding: 0;
}

.analysis.concept .analysis-text p {
    font-size: 0.95em;
    line-height: 1.7;
    margin-top: 0;
}

    /* -------------------------------------------------
       TITRE DE L'IMAGE
       ------------------------------------------------- */

    .analysis.concept .desc-text h2 {
        font-size: 1.6em;
        line-height: 1.2;
        margin-bottom: 20px;
    }
}