/* Purchase layout changes are limited to the product detail page. */
#product-info .z-product-breadcrumb { margin-bottom: 24px; }
#product-info .z-product-layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 52px);
}
#product-info .z-product-main-image {
    position: relative;
    min-height: 0;
    aspect-ratio: 1;
    padding: 12px;
    overflow: hidden;
    border-radius: 0;
    background: #f4f3f0;
}
#product-info .z-product-main-image img {
    max-width: none;
    max-height: none;
    height: 100%;
    mix-blend-mode: normal;
}
#product-info .z-product-thumbnail {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
    padding: 5px;
}
#product-info .z-product-thumbnails { margin-top: 10px; gap: 8px; }
#product-info .z-product-details { padding-top: 0; }
#product-info .z-product-eyebrow { margin-bottom: 8px; }
#product-info .z-product-details h1 { font-size: clamp(30px, 2.7vw, 40px); }
#product-info .z-product-price { margin-top: 14px; gap: 5px 10px; }
#product-info .z-product-intro { margin-top: 14px; font-size: 14px; line-height: 1.5; }
#product-info .z-product-perks { margin-top: 16px; gap: 8px; }
#product-info .z-product-perks > div { padding: 10px; gap: 8px; }
#product-info .z-product-options { margin-top: 16px; padding-top: 16px; }
#product-info .z-product-option-heading { margin-bottom: 8px; }
#product-info .z-product-color-options { gap: 8px; }
#product-info .z-product-color-card { padding: 8px; }
#product-info .z-product-color-image { height: 64px; }
#product-info .z-product-color-name { font-size: 11px; }
#product-info .z-product-color input:focus-visible + .z-product-color-card {
    outline: 2px solid #111;
    outline-offset: 3px;
}
#product-info .z-product-buy {
    grid-template-columns: 100px minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    margin-top: 16px;
}
#product-info .z-product-quantity { grid-template-columns: 30px 1fr 30px; height: 48px; }
#product-info .z-product-add,
#product-info .z-product-buy-now {
    height: 48px;
    min-width: 0;
    border: 1px solid #111;
    border-radius: 0;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
#product-info .z-product-add { background: #fff; color: #111; }
#product-info .z-product-add:hover { background: #f2f1ee; }
#product-info .z-product-buy-now { background: #111; color: #fff; }
#product-info .z-product-buy-now:hover { background: #333; }
#product-info .z-product-buy-now:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
#product-info .z-product-buy button:disabled { cursor: wait; opacity: .65; }
#product-info .z-product-delivery { margin-top: 12px; padding: 10px 12px; }
#product-info #product-purchase-message { color: #b42318; margin: 10px 0; }
#product-info #product-purchase-message:empty { display: none; }
#product-info .z-detail-magnifier {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #f4f3f0;
    background-repeat: no-repeat;
    box-shadow: 0 0 0 1px rgba(0,0,0,.18), 0 8px 24px rgba(0,0,0,.22);
}
#product-info .z-detail-magnifier[hidden] { display: none; }
@media (hover: hover) and (pointer: fine) {
    #product-info #z-product-main-image { cursor: zoom-in; }
}
@media (max-width: 900px) {
    #product-info .z-product-layout { display: flex; flex-direction: column; gap: 0; }
    #product-info .z-product-details { display: contents; }
    #product-info .z-product-details > * { order: 6; width: 100%; }
    #product-info .z-product-eyebrow { order: 0; }
    #product-info .z-product-details h1 { order: 1; margin-bottom: 16px; }
    #product-info .z-product-gallery { order: 2; width: 100%; margin-bottom: 16px; }
    #product-info .z-product-price { order: 3; margin-top: 0; }
    #product-info .z-product-intro { order: 4; }
    #product-info .z-product-perks { order: 5; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #product-info .z-product-buy { grid-template-columns: 100px minmax(0, 1fr); }
    #product-info .z-product-buy-now { grid-column: 1 / -1; height: 58px; font-size: 13px; }
}
