/* =========================================================
   JORA TREND - BRIDAL JEWELS
========================================================= */

* {
    box-sizing: border-box;
}


body {
    margin: 0;
}


/* =========================================================
   PAGE
========================================================= */

.bridal-page {

    width: 100%;

    min-height: 100vh;

    background: #f8f5ed;

    padding-bottom: 80px;

}


/* =========================================================
   INTRO
========================================================= */

.bridal-intro {

    max-width: 760px;

    margin: auto;

    padding: 78px 20px 48px;

    text-align: center;

}


.bridal-eyebrow {

    display: inline-block;

    margin-bottom: 16px;

    color: #9a762f;

    font-family: 'Montserrat', sans-serif;

    font-size: 8px;

    font-weight: 600;

    letter-spacing: 3px;

}


.bridal-intro h1 {

    margin: 0;

    color: #023020;

    font-family: 'Cormorant Garamond', serif;

    font-size: 62px;

    font-weight: 400;

    line-height: 0.95;

}


.bridal-intro h1 em {

    color: #9a762f;

    font-style: italic;

}


.bridal-intro p {

    max-width: 550px;

    margin: 20px auto 0;

    color: #727873;

    font-family: 'Montserrat', sans-serif;

    font-size: 14px;

    line-height: 1.9;

}


.bridal-line {

    width: 45px;

    height: 1px;

    margin: 25px auto 0;

    background: #b08a45;

}


/* =========================================================
   PRODUCTS
========================================================= */

.bridal-products {

    width: 100%;

    padding: 0 3%;

}


.bridal-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 34px 28px;

}


/* =========================================================
   CARD
========================================================= */

.bridal-card {

    min-width: 0;

}


/* =========================================================
   IMAGE
========================================================= */

.bridal-image {

    position: relative;

    width: 100%;

    aspect-ratio: 1 / 1.12;

    overflow: hidden;

    background: #ebe6dc;

    border-radius: 10px;

}


.bridal-image img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform 0.7s ease,
        filter 0.5s ease;

}


.bridal-card:hover .bridal-image img {

    transform: scale(1.045);

    filter: brightness(1.03);

}


/* =========================================================
   GOLD SHINE
========================================================= */

.bridal-image::after {

    content: "";

    position: absolute;

    top: 0;

    left: -120%;

    width: 45%;

    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,0.5),
        transparent
    );

    transform: skewX(-18deg);

    pointer-events: none;

}


.bridal-card:hover .bridal-image::after {

    left: 155%;

    transition: left 0.9s ease;

}


/* =========================================================
   WISHLIST
========================================================= */

.bridal-wishlist {

    position: absolute;

    top: 15px;

    right: 15px;

    z-index: 5;

    width: 43px;

    height: 43px;

    border: none;

    border-radius: 50%;

    background: rgba(255,255,255,0.95);

    color: #16201b;

    font-size: 17px;

    cursor: pointer;

    transition: all 0.3s ease;

}


.bridal-wishlist:hover {

    background: #023020;

    color: #d7bc70;

    transform: scale(1.08);

}


/* =========================================================
   BADGE
========================================================= */

.bridal-badge {

    position: absolute;

    top: 0;

    left: 0;

    z-index: 4;

    padding: 10px 14px;

    background: #a57c2e;

    color: #ffffff;

    font-family: 'Montserrat', sans-serif;

    font-size: 7px;

    font-weight: 600;

    letter-spacing: 1.3px;

}


/* =========================================================
   HOVER BUTTON
========================================================= */

.bridal-hover {

    position: absolute;

    bottom: 18px;

    left: 50%;

    z-index: 4;

    opacity: 0;

    transform: translate(-50%, 15px);

    transition: 0.35s ease;

}


.bridal-hover span {

    display: block;

    padding: 12px 21px;

    background: #023020;

    color: #ffffff;

    font-family: 'Montserrat', sans-serif;

    font-size: 7px;

    font-weight: 600;

    letter-spacing: 1.5px;

    white-space: nowrap;

}


.bridal-card:hover .bridal-hover {

    opacity: 1;

    transform: translate(-50%, 0);

}


/* =========================================================
   DETAILS
========================================================= */

.bridal-details {

    padding: 16px 5px 5px;

    text-align: center;

}


.bridal-category {

    display: block;

    margin-bottom: 6px;

    color: #92938e;

    font-family: 'Montserrat', sans-serif;

    font-size: 7px;

    font-weight: 500;

    letter-spacing: 1.5px;

}


.bridal-details h2 {

    margin: 0;

    color: #202923;

    font-family: 'Cormorant Garamond', serif;

    font-size: 22px;

    font-weight: 600;

    line-height: 1.2;

}


.bridal-price {

    margin-top: 8px;

    color: #023020;

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    font-weight: 600;

}


/* =========================================================
   EMPTY
========================================================= */

.bridal-empty {

    grid-column: 1 / -1;

    padding: 100px 20px;

    text-align: center;

}


.bridal-empty i {

    color: #a57c2e;

    font-size: 40px;

}


.bridal-empty h2 {

    margin: 15px 0 6px;

    color: #023020;

    font-family: 'Cormorant Garamond', serif;

    font-size: 33px;

    font-weight: 500;

}


.bridal-empty p {

    color: #777;

    font-family: 'Montserrat', sans-serif;

    font-size: 9px;

}


/* =========================================================
   BRIDAL QUOTE
========================================================= */

.bridal-quote {

    max-width: 900px;

    margin: 90px auto 0;

    padding: 45px 25px;

    text-align: center;

    border-top: 1px solid #ddd4c4;

    border-bottom: 1px solid #ddd4c4;

}


.bridal-quote span {

    color: #9a762f;

    font-family: 'Montserrat', sans-serif;

    font-size: 7px;

    font-weight: 600;

    letter-spacing: 2.5px;

}


.bridal-quote h2 {

    max-width: 650px;

    margin: 14px auto 0;

    color: #023020;

    font-family: 'Cormorant Garamond', serif;

    font-size: 32px;

    font-weight: 400;

    font-style: italic;

    line-height: 1.25;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1200px) {

    .bridal-grid {

        grid-template-columns: repeat(3, 1fr);

    }

}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media (max-width: 850px) {

    .bridal-intro {

        padding-top: 55px;

    }


    .bridal-intro h1 {

        font-size: 50px;

    }


    .bridal-products {

        padding: 0 4%;

    }


    .bridal-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 28px 18px;

    }


    .bridal-quote {

        margin: 65px 25px 0;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 550px) {

    .bridal-intro {

        padding: 45px 18px 30px;

    }


    .bridal-eyebrow {

        font-size: 6px;

        letter-spacing: 2px;

    }


    .bridal-intro h1 {

        font-size: 41px;

    }


    .bridal-intro p {

        font-size: 8px;

    }


    .bridal-products {

        padding: 0 12px;

    }


    .bridal-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 24px 12px;

    }


    .bridal-image {

        border-radius: 8px;

    }


    .bridal-wishlist {

        top: 8px;

        right: 8px;

        width: 34px;

        height: 34px;

        font-size: 13px;

    }


    .bridal-details {

        padding-top: 11px;

    }


    .bridal-category {

        font-size: 5px;

    }


    .bridal-details h2 {

        font-size: 17px;

    }


    .bridal-price {

        font-size: 9px;

    }


    .bridal-hover {

        display: none;

    }


    .bridal-quote {

        margin: 55px 18px 0;

        padding: 32px 15px;

    }


    .bridal-quote h2 {

        font-size: 25px;

    }

}