/* =========================================================
   UI 01W — PRODUCT DETAILS
   ========================================================= */

.ds17-product,
.ds17-information,
.ds17-reviews,
.ds17-related {
    color: #171717;
    font-family: Inter, Arial, sans-serif;
}

.ds17-product *,
.ds17-information *,
.ds17-reviews *,
.ds17-related * {
    box-sizing: border-box;
}

.ds17-product a,
.ds17-information a,
.ds17-reviews a,
.ds17-related a {
    color: inherit;
    text-decoration: none;
}

.ds17-product {
    padding: 24px 0 88px;
    background: #fff;
}

.ds17-breadcrumb {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    color: #817970;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ds17-breadcrumb strong {
    min-width: 0;
    overflow: hidden;
    color: #171717;
    text-overflow: ellipsis;
}

.ds17-product__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: clamp(42px, 6.5vw, 100px);
    align-items: start;
}

.ds17-gallery {
    min-width: 0;
}

.ds17-gallery__main {
    overflow: hidden;
    background: #eee8df;
}

.ds17-gallery__slide {
    height: min(76vh, 780px);
    min-height: 600px;
    background: #eee8df;
}

.ds17-gallery__slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
}

.ds17-gallery__thumbs {
    margin-top: 10px;
}

.ds17-gallery__thumbs .slider-nav__item {
    width: 86px !important;
    height: 105px;
    margin-right: 8px;
    padding: 0 !important;
    border: 1px solid transparent !important;
    background: #eee8df;
    overflow: hidden;
}

.ds17-gallery__thumbs .slider-nav__item.slick-current {
    border-color: #171717 !important;
}

.ds17-gallery__thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: .64 !important;
}

.ds17-gallery__thumbs .slick-current img {
    opacity: 1 !important;
}

.ds17-summary {
    position: sticky;
    top: 22px;
    padding-top: 22px;
}

.ds17-summary__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #817970;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ds17-summary__meta a {
    color: #9b762f;
    letter-spacing: .04em;
}

.ds17-summary__meta small {
    color: #817970;
}

.ds17-summary h1 {
    margin: 18px 0 0;
    max-width: 650px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 5vw, 72px);
    line-height: .94;
    font-weight: 400;
    letter-spacing: -.048em;
}

.ds17-price {
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ds17-price strong {
    color: #8f6b27;
    font-size: 22px;
    font-weight: 600;
}

.ds17-price del {
    color: #a49d94;
    font-size: 12px;
}

.ds17-summary__description {
    max-width: 590px;
    margin: 24px 0 0;
    color: #69625a;
    font-size: 13px;
    line-height: 1.75;
}

.ds17-stock {
    margin-top: 22px;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 9px;
}

.ds17-stock > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8f8a82;
}

.ds17-stock > span.is-in {
    background: #617454;
}

.ds17-stock > span.is-out {
    background: #9d5b50;
}

.ds17-stock strong {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ds17-stock small {
    color: #898178;
}

.ds17-variants {
    margin-top: 30px;
    border-top: 1px solid #e5ded5;
}

.ds17-variant-group {
    padding: 20px 0;
    border-bottom: 1px solid #e5ded5;
}

.ds17-variant-group__head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 11px;
}

.ds17-variant-group__head span {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ds17-variant-group__head small {
    color: #837b72;
    font-size: 9px;
}

.ds17-variant-values {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.ds17-variant-values .variant_val {
    min-width: 44px;
    height: 36px;
    padding: 0 12px !important;
    border: 1px solid #ded7ce !important;
    background: #fff;
    color: #171717;
    font-size: 10px;
    cursor: pointer;
}

.ds17-variant-values .variant_val.selected {
    border: 1px solid #171717 !important;
    background: #171717;
    color: #fff;
}

.ds17-buy {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 10px;
}

.ds17-qty {
    height: 50px;
    display: grid !important;
    grid-template-columns: 34px 1fr 34px;
    align-items: stretch !important;
    border: 1px solid #dcd5cc;
}

.ds17-qty button,
.ds17-qty input {
    min-width: 0;
    border: 0;
    background: transparent;
    color: #171717;
    text-align: center;
}

.ds17-qty button {
    cursor: pointer;
    font-size: 18px;
}

.ds17-qty input {
    width: 100%;
    padding: 0;
    font-size: 12px;
    font-weight: 700;
    appearance: textfield;
}

.ds17-qty input::-webkit-inner-spin-button,
.ds17-qty input::-webkit-outer-spin-button {
    appearance: none;
    margin: 0;
}

.ds17-add {
    min-height: 50px;
    border: 0;
    background: #171717;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
}

.ds17-add:hover:not(:disabled) {
    background: #8e703a;
}

.ds17-add:disabled {
    background: #d9d2c9;
    color: #736c64;
    cursor: not-allowed;
}

.ds17-actions {
    margin-top: 16px;
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
}

.ds17-actions a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ds17-actions .material-symbols-outlined {
    font-size: 17px;
}

.ds17-assurance {
    margin-top: 33px;
    border-top: 1px solid #e5ded5;
}

.ds17-assurance > div {
    padding: 15px 0;
    border-bottom: 1px solid #e5ded5;
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
}

.ds17-assurance .material-symbols-outlined {
    color: #9a783b;
    font-size: 20px;
}

.ds17-assurance strong {
    display: block;
    font-size: 9px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ds17-assurance small {
    display: block;
    margin-top: 3px;
    color: #827a71;
    font-size: 9px;
    line-height: 1.5;
}

.ds17-information {
    padding: 85px 0 92px;
    background: #f6f1ea;
}

.ds17-section-head {
    margin-bottom: 34px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 28px;
}

.ds17-section-head p {
    margin: 0 0 9px;
    color: #7e766d;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.ds17-section-head h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.3vw, 62px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.04em;
}

.ds17-information__grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: clamp(35px, 7vw, 110px);
    align-items: start;
}

.ds17-richtext {
    min-width: 0;
}

.ds17-richtext h3,
.ds17-policy h3 {
    margin: 0 0 18px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ds17-richtext > div {
    color: #5f5952;
    font-size: 12px;
    line-height: 1.8;
}

.ds17-richtext > div h1,
.ds17-richtext > div h2,
.ds17-richtext > div h3,
.ds17-richtext > div h4 {
    margin: 26px 0 10px;
    color: #171717;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: -.02em;
    text-transform: none;
}

.ds17-richtext > div p {
    margin: 0 0 12px;
}

.ds17-information__side {
    display: grid;
    gap: 36px;
}

.ds17-policy {
    padding-top: 20px;
    border-top: 1px solid #dcd4ca;
}

.ds17-policy > div {
    min-height: 45px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    border-bottom: 1px solid #dcd4ca;
}

.ds17-policy span {
    color: #7a7269;
    font-size: 9px;
    text-transform: uppercase;
}

.ds17-policy strong {
    font-size: 10px;
}

.ds17-reviews {
    padding: 85px 0 92px;
    background: #fff;
}

.ds17-rating-summary {
    display: grid;
    justify-items: end;
}

.ds17-rating-summary strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 35px;
    font-weight: 400;
}

.ds17-rating-summary span {
    margin-top: 2px;
    color: #dfa124;
    letter-spacing: 2px;
}

.ds17-rating-summary small {
    margin-top: 5px;
    color: #817970;
    font-size: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ds17-review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
}

.ds17-review-card {
    min-height: 190px;
    padding: 23px;
    background: #f6f1ea;
}

.ds17-review-card > div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.ds17-review-card strong {
    font-size: 10px;
}

.ds17-review-card span {
    display: flex;
}

.ds17-review-card b {
    color: #d2ccc4;
    font-size: 11px;
}

.ds17-review-card b.is-active {
    color: #e0a12a;
}

.ds17-review-card p {
    margin: 22px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.45;
}

.ds17-review-permission {
    margin-top: 34px;
}

.ds17-review-permission > p {
    margin: 0;
    color: #736c64;
    font-size: 11px;
}

.ds17-review-permission > p a {
    border-bottom: 1px solid currentColor;
    color: #171717;
}

.ds17-review-form {
    max-width: 720px;
    padding: 28px;
    background: #f6f1ea;
}

.ds17-review-form label {
    display: block;
    margin-bottom: 8px;
    padding: 0;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ds17-review-form > div + div {
    margin-top: 18px;
}

.ds17-rating-input {
    display: flex;
    gap: 3px;
}

.ds17-rating-input .star {
    padding: 0;
    border: 0;
    background: transparent;
    color: #c9c2b9;
    font-size: 23px;
    cursor: pointer;
}

.ds17-rating-input .star.selected,
.ds17-rating-input .star.text-warning {
    color: #e0a12a !important;
}

.ds17-review-form textarea {
    width: 100%;
    padding: 13px;
    border: 1px solid #d9d1c7;
    outline: 0;
    background: #fff;
    resize: vertical;
}

.ds17-review-form > button {
    min-height: 44px;
    margin-top: 17px;
    padding: 0 18px;
    border: 0;
    background: #171717;
    color: #fff;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
}

.ds17-related {
    padding: 85px 0 95px;
    background: #f6f1ea;
}

.ds17-text-link {
    padding-bottom: 3px;
    border-bottom: 1px solid currentColor;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ds17-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ds17-related-grid .ds-product-card {
    min-width: 0;
}

.ds17-related-grid .ds-product-card__media {
    aspect-ratio: 3 / 4;
    background: #e8e0d6;
    overflow: hidden;
}

.ds17-related-grid .ds-product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

@media (max-width: 1000px) {
    .ds17-product__grid {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .ds17-summary {
        position: static;
    }

    .ds17-gallery__slide {
        min-height: 530px;
    }

    .ds17-review-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ds17-related-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 720px) {
    .ds17-product {
        padding-top: 8px;
        padding-bottom: 62px;
    }

    .ds17-product__grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ds17-gallery__slide {
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .ds17-summary {
        padding-top: 0;
    }

    .ds17-summary h1 {
        font-size: 48px;
    }

    .ds17-buy {
        grid-template-columns: 100px 1fr;
    }

    .ds17-information,
    .ds17-reviews,
    .ds17-related {
        padding: 62px 0;
    }

    .ds17-information__grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .ds17-review-grid {
        grid-template-columns: 1fr;
    }

    .ds17-rating-summary {
        display: none;
    }

    .ds17-related-grid {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }
}

@media (max-width: 460px) {
    .ds17-summary h1 {
        font-size: 42px;
    }

    .ds17-summary__meta {
        align-items: flex-start;
    }

    .ds17-buy {
        grid-template-columns: 94px minmax(0, 1fr);
    }

    .ds17-actions {
        display: grid;
    }

    .ds17-related-grid .ds-product-card__name {
        font-size: 17px;
    }
}
