/* =========================================
   NANO MAHDI - PRODUCT DETAIL PAGE
========================================= */

.product-detail-page {
    padding: 70px 0 110px;
    background: var(--soft-ivory);
}

.product-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 34px;
    color: var(--gray);
    font-size: 10px;
}

.product-breadcrumb a {
    transition: .25s;
}

.product-breadcrumb a:hover {
    color: var(--gold);
}

.product-breadcrumb strong {
    color: var(--black);
    font-weight: 400;
}

.product-detail-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    min-height: 650px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.product-detail-visual {
    position: relative;
    min-height: 650px;
    padding: 60px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(216, 196, 155, .22),
            transparent 42%
        ),
        #e6dfd2;
}

.product-detail-visual::after {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(182, 154, 99, .42);
    pointer-events: none;
}

.detail-index {
    position: absolute;
    top: 38px;
    right: 42px;
    z-index: 3;
    color: #8e8577;
    font-family: Georgia, serif;
    font-size: 9px;
    letter-spacing: 4px;
}

.product-detail-image {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 520px;
    object-fit: contain;
    filter: drop-shadow(0 26px 30px rgba(20, 18, 15, .18));
}

.detail-placeholder {
    position: relative;
    z-index: 2;
    width: 220px;
    height: 350px;
    display: grid;
    place-items: center;
    background: var(--black);
    color: var(--soft-gold);
    font-family: Georgia, serif;
    font-size: 64px;
    box-shadow: 0 25px 55px rgba(0, 0, 0, .18);
}

.product-detail-copy {
    padding: 75px 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #fffdf8;
}

.product-detail-copy h1 {
    margin: 18px 0 14px;
    font-size: clamp(36px, 4vw, 58px);
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: -1px;
}

.detail-price {
    font-size: 24px;
    font-weight: 500;
}

.detail-price small {
    margin-right: 5px;
    color: var(--gray);
    font-size: 11px;
    font-weight: 400;
}

.detail-divider {
    width: 100%;
    height: 1px;
    margin: 28px 0;
    background: var(--line);
}

.detail-description {
    color: #676159;
    font-size: 13px;
    line-height: 2.15;
}

.detail-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 35px 0;
    padding: 22px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.detail-trust div {
    display: flex;
    flex-direction: column;
}

.detail-trust strong {
    font-size: 11px;
}

.detail-trust span {
    color: var(--gray);
    font-size: 9px;
}

.detail-add-button {
    min-height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--black);
    color: white;
    font-size: 12px;
    transition: .3s;
}

.detail-add-button:hover {
    background: #2e2c28;
    transform: translateY(-1px);
}

.detail-cart-link {
    align-self: center;
    margin-top: 18px;
    padding-bottom: 3px;
    color: var(--gray);
    font-size: 10px;
    border-bottom: 1px solid var(--line);
}

.related-products {
    padding: 100px 0;
    background: var(--ivory);
}


/* fix product images on home cards too */

.real-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    padding: 22px;
    background: #e8e1d5;
}


/* responsive */

@media (max-width: 950px) {
    .product-detail-grid {
        grid-template-columns: 1fr;
    }

    .product-detail-copy {
        padding: 55px 35px;
    }
}

@media (max-width: 620px) {
    .product-detail-page {
        padding: 35px 0 75px;
    }

    .product-detail-visual {
        min-height: 430px;
        padding: 35px 20px;
    }

    .product-detail-image {
        height: 350px;
    }

    .product-detail-copy {
        padding: 40px 22px;
    }

    .product-detail-copy h1 {
        font-size: 34px;
    }

    .detail-trust {
        grid-template-columns: 1fr;
    }

    .related-products {
        padding: 70px 0;
    }
}
