.product-details--dine-in {
    .product-details__title {
        display: none;
    }

    .product-details__images-container {
        padding: 0;
    }
}

.product-details__name {
    font: 700 20px/1.2 'Crimson Pro';
    color: var(--color-black-bean);
    margin-bottom: 16px;
}

/* ===== Website Product Details Layout =====
 *
 * Website-specific layout for the product details page.
 * Shared customization styles are in product_customization.css.
 */

.product-details__layout {
    display: grid;
    grid-template-columns: 52fr 60fr;
    grid-template-rows: auto 1fr;
    gap: 40px 80px;
    margin-bottom: 80px;
    margin-top: 24px;

    @media (max-width: 1100px) {
        gap: 24px 40px;
    }

    @media (max-width: 768px) {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 16px;
        margin-top: 16px;
        margin-bottom: 96px; /* room for fixed bottom bar */
    }
}

.product-details__layout--hide {
    display: none;
}

/* ===== Title (direct grid child) ===== */
.product-details__title {
    font: 700 40px/1 "Crimson Pro";
    display: flex;
    flex-flow: column;
    gap: 8px;
    grid-column: 2;
    grid-row: 1;
    padding-right: calc(100vw / 12);
    min-width: 0;

    @media (max-width: 768px) {
        grid-column: 1;
        grid-row: auto;
        font-size: 24px;
        padding-right: 0;
        padding: 0 16px;
        padding-top: 16px;
    }
}

/* ===== Product Images ===== */
.product-details__images-container {
    display: flex;
    flex-flow: column;
    gap: 24px;
    grid-column: 1;
    grid-row: 1 / span 2;
    min-width: 0;
    max-width: 100%;

    @media (max-width: 768px) {
        grid-column: 1;
        grid-row: auto;
        padding: 0 16px;
        gap: 16px;
    }
}

.product-details__image {
    display: none;
    width: 100%;
    border-radius: 12px;

    @media (max-width: 768px) {
        border-radius: 8px;
    }
}

.product-details__image--active {
    display: block;
}

.product-details__thumbnails-container {
    display: flex;
    gap: 16px;
    height: 80px;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--color-cream) transparent;

    @media (max-width: 768px) {
        padding: 5px;
        width: 100%;
        height: 72px;
        overflow-x: auto;
        justify-content: flex-start;
    }
}

.product-details__thumbnails-container--hide {
    display: none;
}

.product-details__thumbnail {
    height: 100%;
    width: auto;
    flex-shrink: 0;
    border-radius: 8px;
    cursor: pointer;
}

.product-details__thumbnail--active {
    outline: 2px solid var(--color-olive);
    outline-offset: 2px;
}

.product-details__details {
    display: flex;
    flex-flow: column;
    gap: 24px;
    padding-right: clamp(0px, calc(100vw / 12), 48px);
    grid-column: 2;
    grid-row: 2;

    @media (max-width: 768px) {
        grid-column: 1;
        grid-row: auto;
        padding-right: 0;
        gap: 16px;
    }
}

.product-details__schedule {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font: 15px/1 "Jost";
    color: var(--color-dark-grey);
}

.product-details__badge {
    border: 1px solid var(--color-dark-grey);
    border-radius: 8px;
    background-color: var(--color-ice);
    margin-top: 8px;
    padding: 4px 7px;
}

.product-details__badge--red {
    border-color: var(--color-terracotta);
    background-color: var(--color-terracotta);
    color: white;
}

.product-details__badge-subtitle {
    color: var(--color-red);
}

.product-details__description {
    @media (max-width: 768px) {
        padding: 16px;
        background-color: var(--color-vanilla);
        border-radius: 8px;
    }
}

.product-details__price {
    font: 600 16px/1 'Jost';

    @media (max-width: 1100px) {
        margin-left: auto;
        text-align: right;
    }

    @media (max-width: 768px) {
        margin-left: auto;
        text-align: right;
        font: 600 16px/1.4 "Jost";
    }
}

/* ===== Product Order Section ==== */
.product-details__order-section {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--color-olive);
    border-radius: 8px;
    padding: 20px;
    box-shadow: var(--shadow-default);
    background-color: white;

    @media (max-width: 1100px) {
        flex-wrap: wrap;
    }

    @media (max-width: 768px) {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        border: none;
        border-top: 1px solid var(--color-ice);
        padding: 12px 16px;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
        z-index: 100;
        gap: 8px;

        > .product-details__order-buttons {
            flex: 1;
        }
    }
}

.product-details__order-buttons {
    display: flex;
    gap: 12px;
    margin-left: auto;

    > .button {
        flex: 1;
        white-space: nowrap;
        text-align: center;
    }

    @media (max-width: 1100px) {
        flex: 1 0 100%;
    }
}

.product-details__cta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 14px 20px;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;

    .product-details__quantity-editor {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
    }

    .product-details__quantity-input {
        width: 25px;
        text-align: center;
        font: 600 18px/1.4 'Jost';
        border: none;
        background: transparent;
        cursor: default;
        pointer-events: none;
        -moz-appearance: textfield;
        appearance: textfield;

        &::-webkit-outer-spin-button,
        &::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
    }
}



.product-explore-more {
    @media (max-width: 768px) {
        padding: 0 16px;
    }
}

.product-details__add-btn {
    width: 100%;
    text-align: center;
    flex: 1;
    white-space: nowrap;
}
