/* css file for catalouge of making */

/* ============ 01 section layouts & nav bars ==================*/

body {
    overflow-x: hidden;
}

h4 {
    color: #FF2E00;
    font-family: "snoot.org pixel10";
    font-size: var(--font-size-m);
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 28px */
    margin: var(--spacing-m) 0;
}

#catalogue-home {
     background-color: #121212;
     height: 80vh;
     position: relative;
     overflow: hidden;
}

.background-buttons {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.catalogue-home-texts {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 95vh;
    position: relative;
    z-index: 10;
}

:root {
    --header__height: 3rem !important;
}

header {
   background-color: #F2F2F1 !important;
   height: 0 !important;
   position: relative !important;
}

#dividing-section {
    height: 75vh;
    background: linear-gradient(180deg, #FF2E00 0%, rgba(255, 255, 255, 0.00) 20%);

    padding-top: var(--spacing-l);
    
}

#experiment1,
#experiment3 {
    background-color: #d9d9d9;
    position: relative;
}

#experiment1::after,
#experiment3::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    background-color: #d9d9d9;
    z-index: -1001;
    pointer-events: none;
}

.background-texts {
    display: block;
    position: sticky;
    top: 0;
    color: rgba(239, 239, 239, 0.30);
    font-family: "BBH Sans Bartle";
    font-size: 96px;
    font-style: normal;
    font-weight: 500;
    line-height: 120px;
    pointer-events: none;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-top: 0;
    padding: 0;
    z-index: -100;
    background: linear-gradient(180deg, #FF2E00 0%, rgba(255, 255, 255, 0.00) 25%);
}


.background-texts::first-letter {
    font-family: "Birthstone Bounce";
    font-size: 200px;
    font-weight: 900;
}




/* ============ making navigation ==================*/

.making-nav {
    border-top: 1px solid #000000;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-l);
    flex-wrap: wrap;
    padding-top: var(--spacing-m);
    width: fit-content;
    margin: 0 auto;


}

.making-nav-item {
    padding: 0;
    font-size: var(--font-size-s);
    color: #000000;
    cursor: pointer;
    transition: all 0.3s ease-out;
    position: relative;
    font-family: 'snoot.org pixel10', "DM Mono";
    font-weight: 300;
}

.making-nav-item:hover {
    color: #FF2E00;
}

.making-nav-item.active {
    color: #FF2E00;
    text-decoration: underline;
    font-weight: 500;
}

#making-contents {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--spacing-xl) 0;
}

.making-section {
    min-height: 60vh;
    padding: 0;
    color: #FFF;
    position: relative;
    z-index: 0;
}

.making-section h2 {
    color: #151515;
    font-family: "BBH Sans Bartle";
    font-size: 30px;
    font-weight: 700;
}

.making-section h2 span {
    font-weight: 700;
}

.making-section p {
    font-family: "DM Sans";
    color: #151515;
    font-size: var(--font-size-ms);
}

/* Mobile responsiveness */
@media only screen and (max-width: 768px) {
    .making-nav {
        gap: var(--spacing-m);
    }
}

/* ============ 02 basic font styling ==================*/


.catalogue-title {
    color: #FFF;
    font-family: "DM Sans";
    font-size: var(--font-size-xl);
    font-style: normal;
    font-weight: 400;
    line-height: 60px;
    margin-top: var(--spacing-xxl);
}

.font-nova {
    font-family: "Bona Nova";
    font-weight: 400;
}

.font-alex {
    font-family: "Alex Brush";
    font-weight: 400;
    font-size: var(--font-size-xxl);
}

.font-bounce {
    font-family: "Birthstone Bounce";
    font-weight: 400;
    font-size: var(--font-size-xxl);
}

.font-snell {
    font-family: "Snell Roundhand Script";
    font-weight: 700;
    font-size: var(--font-size-xl);
}

.subtitle {
    padding-top: var(--spacing-m);
    color: #D9D9D9;
    font-family: "DM Sans";
    font-size: var(--font-size-m);
    font-weight: 400;
    line-height: 0px;
}

#experiment4 .background-texts,
#experiment2 .background-texts {
    
    color: rgba(217, 217, 217, 0.40);

}

.small-texts {
    color: #D9D9D9;
    font-family: "DM Sans";
    font-size: var(--font-size-s);
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}


#dividing-section p{
    color: black;
    font-size: var(--font-size-s);
    text-align: center;

}

#dividing-section .pixel-text {
    font-size: var(--font-size-m);
    line-height: 1px;
}

figcaption {
    color: var(--color-3);
    font-family: "DM Mono";
    font-size: var(--font-size-xs);
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-top: 1rem;
}
figcaption a {
 font-size: var(--font-size-xs) !important;
}

.divider-text {

    display: flex;
    text-align: center;
    justify-items: center;

}



/* ============ 03 layouts ============== */

h2 {
    width: 100%;
}

.making-section-header {
    position: relative;
    z-index: -1000;
    border-radius: 47px;
    background: #D9D9D9;
    box-shadow: -10px -10px 25px 0 #EFEFEF, 10px 10px 25px 0 rgba(115, 115, 127, 0.30);
    padding: var(--spacing-xs) var(--spacing-l);
}

.making-section-header-white {
    position: relative;
    z-index: -1000;
    border-radius: 47px;
    background: #E8E8E8;
    box-shadow: -10px -10px 25px 0 #FFF, 10px 10px 25px 0 rgba(115, 115, 127, 0.30);
    padding: var(--spacing-xs) var(--spacing-l);
}

.underbg {
    position: relative !important;
    z-index: -1000 !important;
}

.making-section-header-white p,
.making-section-header p {
    color: #FF2E00;
    font-family: "snoot.org pixel10";
    font-size: var(--font-size-m);
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 35px */
}

.making-section .texts-contents {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    flex-shrink: 0;
}


/* ============ 04 scroll-to-top button ============== */

.scroll-to-top-making {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: #ffffff79;
    border: none;
    border-radius: 50%;
    color: #FF2E00;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    pointer-events: none;
    padding: 0;
    transition: opacity 0.6s cubic-bezier(0.85, 0, 0.15, 1), transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
}

/* Safari-specific: use ease-in-out since Safari ignores cubic-bezier */
@supports (-webkit-appearance: none) {
    .scroll-to-top-making {
        transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
    }
}

.scroll-to-top-making svg {
    width: 24px;
    height: 24px;
}

.scroll-to-top-making.visible {
    display: flex !important;
    opacity: 1;
    pointer-events: auto;
}

.scroll-to-top-making:hover {
    background-color: #FF2E00;
    color: #EFEFEF;
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}


/* =============== 05 img styles ===============  */

.file-img-style {
    width: 704.759px;
    height: 439.951px;
    transform: rotate(14.626deg);
}

/* =============== 06 background buttons positioning ===============  */

@keyframes pulse-scale {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.85);
    }
}

.background-buttons button {
    position: absolute;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    pointer-events: auto;
}

.background-buttons:not(.overlay-buttons) button:not(#shape-blue):not(#shape-button) {
    animation: pulse-scale 2s ease-in-out infinite;
}

.background-buttons:not(.overlay-buttons) button:hover {
    animation: none;
    transform: scale(0.85);
}

.background-buttons.overlay-buttons button:hover {
    transform: scale(0.85);
}

.background-buttons button img {
    width: 100%;
    height: 100%;
    display: block;
}

#shape-blue {
    top: 5%;
    left: 0%;
    width: 220px;
    height: 200px;
}

#shape-flower {
    top: 18%;
    left: 22%;
    width: 50px;
    height: 50px;
}

#shape-pink {
    top: 45%;
    right: 8%;
    width: 70px;
    height: 70px;
}

#shape-dynamic {
    top: 30%;
    left: 15%;
    width: 180px;
    height: 180px;
}

#catalogue-home #shape-dynamic {
    left: auto;
    left: 40%;
}

#shape-green {
    top: 20%;
    right: 15%;
    transform: translateX(-50%);
    width: 150px;
    height: 150px;
}

#shape-ellipse {
    z-index: 1000;
    bottom: -10px;
    right: 20%;
    width: 130px;
    height: 130px;
}

#shape-button {
    bottom: 20%;
    right: 0%;
    width: 105px;
    height: 105px;
}


/* ===================== 07 Interactive Canvas ======================= */

.interactive-canvas-container {
    position: relative;
    display: inline-block;
    width: 100%;
}

.overlay-buttons {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 90%;
    
    z-index: 10;
    pointer-events: auto;
}

.overlay-buttons button {
    position: absolute;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    pointer-events: auto;
}

.overlay-buttons button:hover {
    transform: scale(0.85);
}

.overlay-buttons button img {
    width: 90%;
    height: 100%;
    display: block;
}

#canvas-shape-blue {
    top: 25%;
    left: 8%;
    width: 220px;
    height: 200px;
}

#canvas-shape-flower {
    top: 48%;
    left: 22%;
    width: 80px;
    height: 80px;
}

#canvas-shape-pink {
    top: 53%;
    right: 8%;
    width: 90px;
    height: 90px;
}

#canvas-shape-dynamic {
    top: 60%;
    left: 28%;
    width: 200px;
    height: 200px;
}

#canvas-shape-green {
    top: 30%;
    right: 10%;
    transform: translateX(-50%);
    width: 180px;
    height: 180px;
}

#canvas-shape-ellipse {
    z-index: 1000;
    bottom: 10%;
    right: 20%;
    width: 130px;
    height: 130px;
}

#canvas-shape-button {
    bottom: 20%;
    right: 0%;
    width: 0px;
    height: 0px;
}

/* Elastic button styles */
@keyframes elastic-pressed {
  0% {
    transform: translate(0.0px, 0.0px);
  }
  8% {
    transform: translate(0.0px, 6.6px);
  }
  17% {
    transform: translate(0.0px, 7.8px);
  }
  25% {
    transform: translate(0.0px, 5.5px);
  }
  33% {
    transform: translate(0.0px, 5.5px);
  }
  42% {
    transform: translate(0.0px, 6.3px);
  }
  50% {
    transform: translate(0.0px, 6.1px);
  }
  58% {
    transform: translate(0.0px, 5.9px);
  }
  67% {
    transform: translate(0.0px, 6.0px);
  }
  75% {
    transform: translate(0.0px, 6.0px);
  }
  83% {
    transform: translate(0.0px, 6.0px);
  }
  92% {
    transform: translate(0.0px, 6.0px);
  }
  100% {
    transform: translate(0.0px, 6.0px);
  }
}

.button-1 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 60px;
  border-radius: 12px;
  background-color: rgba(200, 200, 200, 1);
  border: 2px solid rgba(255, 255, 255, 1);
  box-shadow: 0px 6px 0px 0px rgba(255, 255, 255, 1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
  pointer-events: auto;
  margin-left: -150px;
  margin-top: -30px;
}

.button-1[data-state="pressed"] {
  background-color: rgba(200, 200, 200, 1);
  border: 2px solid rgba(255, 255, 255, 1);
  transform: translate(0px, 6px);
  box-shadow: none;
  transition: all 100ms cubic-bezier(0.175, 0.885, 0.32, 1.275) 0ms;
}

.button-1[data-state="released"] {
  background-color: rgba(231, 126, 69, 1);
  border: 2px solid rgba(180, 80, 30, 1);
  box-shadow: 0px 6px 0px 0px rgba(180, 80, 30, 1);
  transition: all 100ms ease-out 0ms;
}

/* ===================== 08 Background image styling ======================= */
/* 
#tracing-img1 {
    height: 400px;
    background-image: url(/assets/images/tracing-paper-1.png);
    mix-blend-mode: exclusion;
    background-size: contain;
    background-repeat: no-repeat;
}

#tracing-img2 {
    height: 400px;
    background-image: url(/assets/images/tracing-paper-2.png);
    mix-blend-mode: exclusion;
    background-size: contain;
    background-repeat: no-repeat;
} */