/*
Theme Name: Bijoux Child
Theme URI: https://bijoux.vamtam.com
Description: Child theme for Bijoux
Author: VamTam
Author URI: https://vamtam.com
Template: bijoux
Version: 1.0.0
Text Domain: bijoux-child
*/

/* Custom Site Background Color */
body {
    background-color: #ffffff !important;
}
.site, 
#page, 
.main-wrapper, 
#main {
    background-color: transparent !important;
}

/* Custom Fonts */
@font-face {
    font-family: 'OFL Sorts Mill Goudy';
    src: url('fonts/OFLGoudyStMTT.ttf') format('truetype'),
         url('fonts/OFLGoudyStM.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'OFL Sorts Mill Goudy';
    src: url('fonts/OFLGoudyStMTT-Italic.ttf') format('truetype'),
         url('fonts/OFLGoudyStM-Italic.otf') format('opentype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/* -----------------------------------------
   Modern Background Grid Lines Animation
   ----------------------------------------- */
.vamtam-custom-bg-grid {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    display: flex;
    justify-content: space-evenly;
    pointer-events: none;
    overflow: hidden;
}

.vamtam-grid-line {
    width: 1px;
    height: 100%;
    /* Subtle light grey color matching the screenshot */
    background-color: rgba(0, 0, 0, 0.03);
    transform-origin: top;
    opacity: 0;
    animation: gridLineDrop 1.6s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

@keyframes gridLineDrop {
    0% {
        transform: scaleY(0);
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        transform: scaleY(1);
        opacity: 1;
    }
}

/* Staggered grid line animation delays for a cascading effect */
.vamtam-grid-line:nth-child(1) { animation-delay: 0.1s; }
.vamtam-grid-line:nth-child(2) { animation-delay: 0.25s; }
.vamtam-grid-line:nth-child(3) { animation-delay: 0.4s; }
.vamtam-grid-line:nth-child(4) { animation-delay: 0.55s; }

/* Scale up buttons with the force-o class by 1.5x */
.elementor-widget-button.force-o {
    transform: scale(1.5);
    transform-origin: center center;
}

/* -----------------------------------------
   Custom Transparent Carousel Design
   ----------------------------------------- */
   
/* Design the very long, thin elegant arrows */
.custom-bijoux-carousel .elementor-swiper-button {
    font-size: 0 !important;
    color: transparent !important;
    width: 60px !important;
    height: 1px !important;
    background-color: #1c2630 !important; /* Elegant dark blue/grey */
    position: absolute;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-radius: 0 !important;
    transition: all 0.3s ease;
    opacity: 1 !important;
    box-shadow: none !important;
}

/* Creating the arrow heads */
.custom-bijoux-carousel .elementor-swiper-button::after {
    content: '';
    position: absolute;
    top: -4px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #1c2630;
    border-right: 1px solid #1c2630;
    transition: all 0.3s ease;
}

/* Left Arrow Layout */
.custom-bijoux-carousel .elementor-swiper-button-prev {
    left: -70px !important; /* Push outside */
}
.custom-bijoux-carousel .elementor-swiper-button-prev::after {
    left: 0;
    transform: rotate(-135deg);
}

/* Right Arrow Layout */
.custom-bijoux-carousel .elementor-swiper-button-next {
    right: -70px !important; /* Push outside */
}
.custom-bijoux-carousel .elementor-swiper-button-next::after {
    right: 0;
    transform: rotate(45deg);
}

/* Hover effect on arrows (Yellow) */
.custom-bijoux-carousel .elementor-swiper-button:hover {
    background-color: #efbf04 !important;
}
.custom-bijoux-carousel .elementor-swiper-button:hover::after {
    border-color: #efbf04 !important;
}

/* Force Typography to match the photo */
.custom-bijoux-carousel .elementor-post__title,
.custom-bijoux-carousel .elementor-post__title a,
.custom-bijoux-carousel .elementor-heading-title {
    font-family: 'OFL Sorts Mill Goudy', serif !important;
    font-weight: normal;
    color: #1a1a1a;
    text-align: left;
}

.custom-bijoux-carousel .elementor-post__excerpt p,
.custom-bijoux-carousel .elementor-post__excerpt {
    font-size: 15px;
    color: #999999;
    text-align: left;
    margin-top: -10px;
}

/* Force Media Carousel Override: Move overlay text BELOW the image statically */
.custom-bijoux-carousel .elementor-carousel-image {
    display: flex !important;
    align-items: flex-end;
    background-size: contain !important;
    background-color: transparent !important;
    height: 400px; /* Force an appropriate height for product images */
}

.custom-bijoux-carousel .elementor-carousel-image-overlay {
    position: relative !important;
    opacity: 1 !important;
    background-color: transparent !important;
    transform: none !important;
    top: auto !important;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    height: auto !important;
    padding: 20px 0 0 0 !important;
    width: 100% !important;
}

.custom-bijoux-carousel .elementor-carousel-image-title {
    font-family: 'OFL Sorts Mill Goudy', serif !important;
    font-size: 28px !important;
    font-weight: normal !important;
    color: #1a1a1a !important;
    margin-bottom: 5px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-align: left !important;
}

.custom-bijoux-carousel .elementor-carousel-image-desc {
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    color: #999999 !important;
    font-weight: lighter !important;
    text-align: left !important;
}

/* -----------------------------------------
   Bespoke Azur Elementor Widget CSS
   ----------------------------------------- */
.azur-slide {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.azur-slide-image {
    width: 100%;
    /* Enforce perfect square geometry (1:1) natively */
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: flex-end; /* All images sit rigidly on an absolute baseline */
    justify-content: center;
    margin-bottom: 25px; /* Spacing between image baseline and the Title */
}

.azur-slide-image img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.azur-slide-content {
    padding-left: 50px; /* Décalage des textes vers la droite */
}

.azur-slide-title {
    font-family: 'OFL Sorts Mill Goudy', serif;
    font-size: 32px; /* Pixel Perfect Match */
    font-weight: normal;
    color: #1a1a1a;
    margin: 0 0 5px 0 !important;
}

.azur-slide-desc {
    font-family: 'OFL Sorts Mill Goudy', serif;
    font-style: normal; /* Restored to non-italic */
    font-size: 16px; /* Pixel Perfect */
    color: #888888;
    margin: 0 !important;
}

.azur-swiper-button-prev,
.azur-swiper-button-next {
    font-size: 0 !important;
    color: transparent !important;
    width: 60px !important;
    height: 1px !important;
    background-color: #1c2630 !important;
    position: absolute;
    /* top dynamic relative to image is generated by widget inline CSS */
    top: 50%;
    transform: translateY(-50%) !important;
    border-radius: 0 !important;
    transition: all 0.3s ease;
    opacity: 1 !important;
    z-index: 10;
    cursor: pointer;
}

.azur-swiper-button-prev { left: 0px !important; }
.azur-swiper-button-next { right: 0px !important; }

.azur-swiper-button-prev::after,
.azur-swiper-button-next::after {
    content: '';
    position: absolute;
    top: -4.5px; /* Center the 10px shape on the 1px line */
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    transition: all 0.3s ease;
}

.azur-swiper-button-prev::after {
    left: 0;
    border-right: 10px solid #1c2630;
}

.azur-swiper-button-next::after {
    right: 0;
    border-left: 10px solid #1c2630;
}

.azur-swiper-button-prev:hover,
.azur-swiper-button-next:hover {
    background-color: #efbf04 !important;
}

/* Ensure hover only colors the back of the solid triangle */
.azur-swiper-button-prev:hover::after {
    border-right-color: #efbf04 !important;
}
.azur-swiper-button-next:hover::after {
    border-left-color: #efbf04 !important;
}

/* -----------------------------------------
   Bespoke Azur Newsletter Elementor Widget
   ----------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700;900&display=swap');

.azur-newsletter-container {
    text-align: center;
    padding: 60px 15px; /* Grand espacement vertical */
    font-family: 'Montserrat', sans-serif;
}
.azur-nl-pre-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 20px;
    text-transform: uppercase;
    color: #1a1a1a;
}
.azur-nl-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 95px; /* Dimensions massives exactes du screenshot */
    font-weight: 900; /* Goutte d'encre maximum (Black) */
    margin: 0 0 70px 0; /* Grand blanc avant l'input */
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: -5px; /* Fusion optique des lettres */
    color: #111111;
}

/* Responsivité de l'énorme titre */
@media (max-width: 768px) {
    .azur-nl-title {
        font-size: 55px;
        letter-spacing: -3px;
        margin-bottom: 40px;
    }
}

.azur-nl-form {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.azur-nl-input-wrapper {
    width: 90%; 
    max-width: 850px;
    margin-bottom: 50px;
}
.azur-newsletter-container .azur-nl-input {
    width: 100% !important;
    border: none !important;
    border-bottom: 1px solid #dfdfdf !important; 
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 15px 0 30px 0 !important; 
    background: transparent !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 24px !important; 
    font-weight: 300 !important;
    color: #111 !important;
    transition: all 0.3s ease !important;
}
.azur-newsletter-container .azur-nl-input::placeholder {
    color: #b0b0b0 !important; 
    font-weight: 300 !important;
}
.azur-newsletter-container .azur-nl-input:focus {
    outline: none !important;
    border-bottom-color: #111 !important;
}
.azur-nl-submit-wrapper {
    width: 100%;
}
.azur-newsletter-container .azur-nl-submit {
    background-color: #efbf04 !important; 
    color: #000000 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 20px 85px !important; 
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}
.azur-newsletter-container .azur-nl-submit:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
}
.azur-nl-message {
    margin-top: 15px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: bold;
}

/* -----------------------------------------
   Global Footer Override (Child Theme)
   ----------------------------------------- */
footer, 
.elementor-location-footer, 
.vamtam-footer, 
#colophon,
[data-elementor-type="footer"] {
    background-color: #ffffff !important;
}
