body.dmd-picker-open {
    overflow: hidden;
}

.dmd-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px 18px 72px;
    color: #2f2a25;
}

.dmd-hero {
    display: grid;
    grid-template-columns: minmax(280px, 46%) 1fr;
    gap: 48px;
    align-items: center;
}

.dmd-hero__image {
    background: #f7f4ef;
    border-radius: 24px;
    overflow: hidden;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dmd-hero__image img {
    width: 100%;
    height: auto;
    display: block;
}

.dmd-placeholder-image {
    width: 100%;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8a8176;
    font-size: 18px;
}

.dmd-dev-badge {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #f0ebe4;
    color: #6d6258;
    font-size: 13px;
    font-weight: 700;
}

.dmd-hero h1 {
    margin: 0 0 16px;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.15;
    font-weight: 600;
}

.dmd-description {
    max-width: 620px;
    margin-bottom: 22px;
    color: #5c544c;
    font-size: 17px;
    line-height: 1.8;
}

.dmd-description p {
    margin: 0 0 12px;
}

.dmd-deal-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 26px;
}

.dmd-deal-summary span {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fbfaf8;
    border: 1px solid #eee7dd;
    color: #5a5148;
    font-size: 14px;
}

.dmd-open-picker,
.dmd-add-disabled {
    appearance: none;
    border: 0;
    border-radius: 999px;
    background: #2f2a25;
    color: #fff;
    min-height: 48px;
    padding: 0 28px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.dmd-open-picker:hover {
    opacity: .9;
}

.dmd-warning,
.dmd-admin-warning,
.dmd-mvp-note {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff8e5;
    border: 1px solid #f0d58c;
    color: #6e5510;
}

.dmd-admin-warning,
.dmd-mvp-note {
    margin: 28px 0 0;
}

.dmd-admin-warning code {
    direction: ltr;
    display: inline-block;
    white-space: normal;
}

.dmd-mvp-note {
    background: #f6f7f7;
    border-color: #dcdcde;
    color: #50575e;
}

.dmd-picker {
    position: fixed;
    inset: 0;
    z-index: 999999;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s ease;
}

.dmd-picker--open {
    pointer-events: auto;
    opacity: 1;
}

.dmd-picker__overlay {
    position: absolute;
    inset: 0;
    background: rgba(28, 24, 20, .45);
}

.dmd-picker__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(560px, 94vw);
    height: 100%;
    background: #fff;
    box-shadow: -8px 0 28px rgba(0, 0, 0, .16);
    display: grid;
    grid-template-rows: auto 1fr auto;
    transform: translateX(100%);
    transition: transform .25s ease;
}

.dmd-picker--open .dmd-picker__panel {
    transform: translateX(0);
}

.dmd-picker__header,
.dmd-picker__footer {
    padding: 18px 20px;
    background: #fff;
    border-bottom: 1px solid #eee7dd;
}

.dmd-picker__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.dmd-picker__header strong,
.dmd-picker__header span {
    display: block;
}

.dmd-picker__header strong {
    font-size: 18px;
    margin-bottom: 4px;
}

.dmd-picker__header span {
    color: #766c62;
    font-size: 14px;
}

.dmd-picker__close {
    width: 38px;
    height: 38px;
    border: 1px solid #eee7dd;
    border-radius: 50%;
    background: #fbfaf8;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.dmd-picker__items {
    overflow: auto;
    padding: 14px 16px 18px;
    background: #fbfaf8;
}

.dmd-item {
    display: grid;
    grid-template-columns: 74px 1fr auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #eee7dd;
}

.dmd-item__image {
    width: 74px;
    height: 74px;
    border-radius: 12px;
    overflow: hidden;
    background: #f7f4ef;
}

.dmd-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dmd-item__body h3 {
    margin: 0 0 7px;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
}

.dmd-item__meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: #81776d;
    font-size: 12px;
}

.dmd-qty {
    display: inline-grid;
    grid-template-columns: 34px 48px 34px;
    align-items: center;
    border: 1px solid #e8dfd5;
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}

.dmd-qty button,
.dmd-qty input {
    width: 100%;
    height: 34px;
    border: 0;
    background: transparent;
    text-align: center;
}

.dmd-qty button {
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
}

.dmd-qty input {
    border-left: 1px solid #e8dfd5;
    border-right: 1px solid #e8dfd5;
    font-size: 14px;
}

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

.dmd-picker__footer {
    border-top: 1px solid #eee7dd;
    border-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.dmd-picker__status strong,
.dmd-picker__status span {
    display: block;
}

.dmd-picker__status strong {
    margin-bottom: 4px;
}

.dmd-picker__status span {
    color: #766c62;
    font-size: 14px;
}

.dmd-picker--active-deal .dmd-picker__status span {
    color: #0b7a35;
    font-weight: 700;
}

.dmd-add-disabled {
    opacity: .45;
    cursor: not-allowed;
    white-space: nowrap;
}

.dmd-add-disabled--ready {
    opacity: .75;
}

.dmd-empty {
    padding: 24px;
    text-align: center;
    color: #81776d;
}

@media (max-width: 780px) {
    .dmd-page {
        padding-top: 24px;
    }

    .dmd-hero {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .dmd-hero__image,
    .dmd-placeholder-image {
        min-height: 260px;
    }

    .dmd-item {
        grid-template-columns: 64px 1fr;
    }

    .dmd-item__image {
        width: 64px;
        height: 64px;
    }

    .dmd-qty {
        grid-column: 1 / -1;
        justify-self: end;
    }

    .dmd-picker__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .dmd-add-disabled {
        width: 100%;
    }
}

.dmd-item__warning {
    color: #9a5a2f;
    font-weight: 700;
}

.dmd-qty button:disabled,
.dmd-qty input:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.dmd-add-disabled--ready {
    opacity: 1;
    cursor: pointer;
}

.dmd-product-entry {
    margin: 18px 0 22px;
}

.dmd-product-entry .dmd-open-picker {
    width: 100%;
    max-width: 360px;
}

.dmd-product-entry__note {
    margin: 10px 0 0;
    color: #766c62;
    font-size: 14px;
    line-height: 1.6;
}

.dmd-loop-mix-button {
    text-align: center;
}


.dmd-picker .added_to_cart.wc-forward,
.dmd-picker .wc-forward {
    display: none !important;
}

.dmd-open-picker-button {
    cursor: pointer;
}

.dmd-cart-toast {
    position: fixed;
    top: 96px;
    left: 24px;
    z-index: 999999;
    max-width: 360px;
    padding: 16px 18px;
    border: 1px solid #eee4d8;
    border-radius: 2px;
    background: #fff;
    color: #2c2723;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .12);
    font-size: 15px;
    line-height: 1.5;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity .2s ease, transform .2s ease;
}

.dmd-cart-toast--visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 767px) {
    .dmd-cart-toast {
        top: 78px;
        right: 16px;
        left: 16px;
        max-width: none;
        text-align: center;
    }
}


/* MVP 3.9 - compact theme-style cart notice for mix deals. */
.add-to-cart-notice--container.dmd-theme-notice {
    position: fixed;
    top: 64px;
    left: 22px;
    z-index: 999999;
    width: 286px;
    max-width: calc(100vw - 28px);
    background: #fff;
    border: 1px solid #eee4d8;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.11);
    padding: 11px 13px 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-7px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    direction: rtl;
    text-align: right;
}

.add-to-cart-notice--container.dmd-theme-notice.active:not(.hidden) {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.add-to-cart-notice--container.dmd-theme-notice h3 {
    display: block;
    margin: 0 0 8px;
    padding: 0;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 500;
    color: #2b2621;
    text-align: right;
}

.add-to-cart-notice--container.dmd-theme-notice .product-container {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 9px;
}

.add-to-cart-notice--container.dmd-theme-notice .product-image {
    flex: 0 0 48px;
}

.add-to-cart-notice--container.dmd-theme-notice .product-image img {
    display: block;
    width: 48px;
    height: 56px;
    object-fit: cover;
    background: #f7f5f2;
}

.add-to-cart-notice--container.dmd-theme-notice .product-title {
    min-width: 0;
    flex: 1 1 auto;
}

.add-to-cart-notice--container.dmd-theme-notice .product-title .title,
.add-to-cart-notice--container.dmd-theme-notice .product-title .title a {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    color: #2b2621;
    text-decoration: none;
}

.add-to-cart-notice--container.dmd-theme-notice .variation {
    margin-top: 3px;
    color: #7d7065;
    font-size: 12.5px;
    line-height: 1.35;
}

.add-to-cart-notice--container.dmd-theme-notice .product-price {
    display: none;
}

@media (max-width: 767px) {
    .add-to-cart-notice--container.dmd-theme-notice {
        top: 62px;
        left: 10px;
        right: auto;
        width: 270px;
        max-width: calc(100vw - 20px);
        padding: 10px 12px;
    }

    .add-to-cart-notice--container.dmd-theme-notice h3 {
        font-size: 14px;
    }

    .add-to-cart-notice--container.dmd-theme-notice .product-title .title,
    .add-to-cart-notice--container.dmd-theme-notice .product-title .title a {
        font-size: 13.5px;
    }
}

/* MVP 4.2 - picker price display + cleaner close button */
.dmd-picker__close {
    width: 34px;
    height: 34px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4d443c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 30px;
    line-height: 1;
    font-weight: 300;
}

.dmd-picker__close:hover {
    color: #2f2a25;
    opacity: .85;
}

.dmd-item__pricing {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 8px;
    margin-top: 4px;
    color: #6f665e;
}

.dmd-item__discount-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    padding: 2px 7px;
    border-radius: 999px;
    background: #2f2a25;
    color: #fff;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 600;
}

.dmd-item__price-line {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
}

.dmd-item__price-line--old span {
    color: #8a8178;
}

.dmd-item__price-line--old del {
    color: #8a8178;
    text-decoration-thickness: 1px;
}

.dmd-item__price-line--new span,
.dmd-item__price-line--new strong {
    color: #e53935 !important;
    font-weight: 700;
}

@media (max-width: 780px) {
    .dmd-item__pricing {
        gap: 4px 7px;
    }

    .dmd-item__discount-badge {
        font-size: 10.5px;
        padding: 2px 6px;
    }

    .dmd-item__price-line {
        font-size: 11.5px;
    }
}


/* MVP 4.6 - wrapper product should use the mix picker CTA, not theme inquiry/WhatsApp fallback. */
body.dmd-wrapper-product-page .whatsapp-link,
body.dmd-wrapper-product-page a.whatsapp-link,
body.dmd-wrapper-product-page .product_meta + .whatsapp-link,
body.dmd-wrapper-product-page .single_add_to_cart_button:not(.dmd-open-picker),
body.dmd-wrapper-product-page form.cart {
    display: none !important;
}


/* MVP 5.1 - mix-deal display in cart and mini-cart rows. */
.dmd-cart-item-deal-name,
.dmd-cart-price__deal-name {
    display: block;
    margin-top: 4px;
    color: #7d7065;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
}

.dmd-cart-price,
.dmd-cart-item-data-price {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    flex-wrap: wrap;
    direction: rtl;
}

.dmd-cart-price {
    line-height: 1.35;
}

.dmd-cart-price__old,
.dmd-cart-price__old del {
    color: #8a8178;
    font-size: 12px;
    font-weight: 400;
    text-decoration-thickness: 1px;
}

.dmd-cart-price__new,
.dmd-cart-price__new * {
    color: #e53935 !important;
    font-size: 13px;
    font-weight: 700;
}

.dmd-cart-price--subtotal {
    justify-content: flex-start;
}

.dmd-widget-cart-quantity {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    flex-wrap: wrap;
    direction: rtl;
}

.dmd-widget-cart-quantity__qty {
    color: #2f2a25;
    font-size: 12px;
    font-weight: 500;
}

.dmd-widget-cart-quantity .dmd-cart-price {
    display: inline-flex;
}

.woocommerce-mini-cart .dmd-cart-item-deal-name,
.widget_shopping_cart_content .dmd-cart-item-deal-name {
    margin-top: 3px;
    font-size: 11.5px;
}

.woocommerce-mini-cart .dmd-cart-price__new,
.widget_shopping_cart_content .dmd-cart-price__new {
    font-size: 12.5px;
}


/* MVP 5.2 - explicit before/now labels for mix-deal cart prices. */
.dmd-cart-price__label {
    color: #7d7065;
    font-size: 11.5px;
    font-weight: 500;
    margin-inline-end: 2px;
}

.dmd-cart-price__new .dmd-cart-price__label {
    color: #e53935 !important;
    font-weight: 600;
}

.woocommerce-mini-cart .dmd-cart-price__label,
.widget_shopping_cart_content .dmd-cart-price__label {
    font-size: 11px;
}

/* MVP 5.5 - locked cart quantity for mix deal items. */
.dmd-locked-cart-quantity {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 28px;
    padding: 3px 10px;
    border: 1px solid #e8dfd5;
    border-radius: 999px;
    background: #fbfaf8;
    color: #2f2a25;
    font-weight: 500;
}


/* MVP 5.6 - mix deal edit link in cart/minicart. */
.dmd-cart-item-deal-name {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.35;
    color: #8a7d72;
}

.dmd-cart-item-deal-name .dmd-cart-item-deal-link {
    color: #8a7d72;
    text-decoration: none;
}

.dmd-cart-item-deal-name .dmd-cart-item-deal-link:hover {
    color: #2f2a25;
    text-decoration: underline;
}


/* MVP 5.7 - keep mix deal cart prices visibly discounted after fragments/refresh. */
.dmd-cart-item-deal-link {
    color: #7d7065;
    text-decoration: none;
}

.dmd-cart-item-deal-link:hover {
    color: #2f2a25;
    text-decoration: underline;
}


/* MVP 5.8 - force discounted cart price red after theme mini-cart refreshes. */
.dmd-cart-price .dmd-cart-price__new,
.dmd-cart-price .dmd-cart-price__new *,
.dmd-cart-item-data-price .dmd-cart-price__new,
.dmd-cart-item-data-price .dmd-cart-price__new *,
.woocommerce-mini-cart .dmd-cart-price .dmd-cart-price__new,
.woocommerce-mini-cart .dmd-cart-price .dmd-cart-price__new *,
.widget_shopping_cart_content .dmd-cart-price .dmd-cart-price__new,
.widget_shopping_cart_content .dmd-cart-price .dmd-cart-price__new *,
.woocommerce-cart-form .dmd-cart-price .dmd-cart-price__new,
.woocommerce-cart-form .dmd-cart-price .dmd-cart-price__new *,
.cart_totals .dmd-cart-price .dmd-cart-price__new,
.cart_totals .dmd-cart-price .dmd-cart-price__new *,
.dmd-cart-price__new .amount,
.dmd-cart-price__new .woocommerce-Price-amount,
.dmd-cart-price__new .woocommerce-Price-currencySymbol,
.dmd-cart-price__new bdi {
    color: #e53935 !important;
}

.dmd-cart-price .dmd-cart-price__new,
.dmd-cart-item-data-price .dmd-cart-price__new {
    font-weight: 700 !important;
}
