/* BOYA Iran Pro 2.9.0 — full-width slides and polished single-product sections. */

/* Slider images uploaded from BOYA Core fill the entire slide. */
.boya-slide {
    display: none;
    grid-template-columns: minmax(0, 1fr);
    isolation: isolate;
}
.boya-slide.is-active { display: grid; }
.boya-slide::before {
    z-index: 1;
    background:
        linear-gradient(to left, rgba(4, 18, 34, .94) 0%, rgba(4, 18, 34, .76) 38%, rgba(4, 18, 34, .22) 72%, rgba(4, 18, 34, .06) 100%),
        linear-gradient(#ffffff08 1px, transparent 1px),
        linear-gradient(90deg, #ffffff08 1px, transparent 1px);
    background-size: auto, 42px 42px, 42px 42px;
}
.boya-slide .boya-hero-copy {
    width: min(58%, 680px);
    position: relative;
    z-index: 3;
}
.boya-slide .boya-hero-media {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
}
.boya-slide .boya-hero-media > img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    filter: none;
}
.boya-slide .boya-orbit { display: none; }

/* Product trust information shown before the add-to-cart form. */
.single-product .boya-product-assurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin: 20px 0;
    padding: 10px;
    border: 1px solid #cfe3f5;
    border-radius: 17px;
    background: linear-gradient(145deg, #f4faff, #fff);
}
.single-product .boya-product-assurance > div {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 10px;
    padding: 11px;
    border-radius: 12px;
    background: #fff;
}
.single-product .boya-product-assurance i {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 10px;
    background: #eaf5ff;
    color: var(--boya-blue);
    font-size: 17px;
    font-style: normal;
    font-weight: 900;
}
.single-product .boya-product-assurance span { display: flex; min-width: 0; flex-direction: column; }
.single-product .boya-product-assurance b { color: var(--boya-navy); font-size: 11px; line-height: 1.7; }
.single-product .boya-product-assurance small { color: var(--boya-muted); font-size: 8px; line-height: 1.8; }

/* Related and upsell products always occupy the full product-page width. */
.single-product .related.products,
.single-product .upsells.products {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin: 38px 0 5px;
    padding: 26px;
    border: 1px solid var(--boya-line);
    border-radius: 22px;
    background: #f6f9fc;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
    margin: 0 0 22px;
    color: var(--boya-navy);
    font-size: 23px;
}
.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 16px;
}
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
    width: auto !important;
    min-width: 0;
}

@media (max-width: 900px) {
    .boya-slide .boya-hero-copy { width: min(70%, 620px); }
    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
    .boya-slide { min-height: 520px; }
    .boya-slide::before {
        background: linear-gradient(0deg, rgba(4, 18, 34, .96) 0%, rgba(4, 18, 34, .78) 47%, rgba(4, 18, 34, .18) 100%);
    }
    .boya-slide .boya-hero-copy {
        align-self: end;
        width: 100%;
        padding: 30px 22px 58px;
    }
    .boya-slide .boya-hero-media > img { object-position: center; }
    .single-product .boya-product-assurance { grid-template-columns: 1fr; gap: 6px; padding: 8px; }
    .single-product .boya-product-assurance > div { padding: 9px; }
    .single-product .related.products,
    .single-product .upsells.products { margin-top: 25px; padding: 15px 10px; border-radius: 17px; }
    .single-product .related.products > h2,
    .single-product .upsells.products > h2 { padding-inline: 5px; font-size: 19px; }
    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products { gap: 9px; }
}
