/* Venue Deal Builder — Frontend */
.vdb-deal-form {
    direction: rtl;
    text-align: right;
    margin-bottom: 20px;
    margin-right: 10px;
    background-color: #18191f;
}

/* ---------- Discount price badge ---------- */
.vdb-price-row {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    direction: rtl;
    padding: 8px 10px 4px;
}

.vdb-sale-price-badge {
    background: linear-gradient(to left, #e3b407, #ffeecb 81.975%);
    border-radius: 8px;
    padding: 5px;
    height: 29px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
    font-weight: 300;
    color: #000;
    line-height: 28px;
    white-space: nowrap;
}

.vdb-sale-price-badge .woocommerce-Price-amount,
.vdb-sale-price-badge bdi {
    color: #000;
}

.vdb-regular-price-strike {
    font-size: 16px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: line-through;
    line-height: 28px;
    white-space: nowrap;
    opacity: 0.7;
}

.vdb-regular-price-strike .woocommerce-Price-amount,
.vdb-regular-price-strike bdi {
    color: rgba(255, 255, 255, 0.7);
}

/* Hide the default WC price elements for deal products — VDB badge replaces them */
.vdb-is-deal .quickviewwoo-price,
.vdb-is-deal .masala-price { display: none !important; }

/* ---------- Groups list ---------- */
.vdb-groups-list {
    display: flex;
    flex-direction: column;
    gap: 19px;
}

/* ---------- Single group ---------- */
.vdb-group {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

/* ---------- Separator between groups ---------- */
.vdb-group-separator {
    height: 1px;
    background: rgba(255,255,255,0.25);
    width: 100%;
}

/* ---------- Group title ---------- */
.vdb-group-title {
    text-align: right;
    padding-right: 8px;
    /* no margin-bottom — gap:5px on .vdb-group handles spacing to options */
}

.vdb-group-title-text {
    display: inline-block;
    position: relative;
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    color: #fff;
    margin-bottom: 8px;
}

/* pp-title-line.svg underline — 4px below text baseline */
.vdb-group-title-text::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 10px;
    bottom: -4px;
    right: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: contain;
    /* background-image injected via PHP */
}

/* ---------- Options 2-column grid ---------- */
.vdb-options {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 4px 0;
    padding: 8px;
}

/* ---------- Option item (label) ---------- */
.vdb-option {
    display: flex;
    width: 100%;
    cursor: pointer;
    padding: 4px 0;
}

/* Completely remove native radio/checkbox from rendering */
.vdb-input {
    display: none !important;
}

/* Body fills width */
.vdb-option-body {
    display: flex;
    flex-direction: column;
    gap: 0px;
    width: 100%;
}

/* Title row: checkbox (RIGHT) + name (LEFT) in RTL flex */
.vdb-option-row {
    display: flex;
    align-items: center;
    gap: 5px;
    direction: rtl;
    min-height: 28px;
}

/* Product name */
.vdb-option-name {
    font-size: 20px;
    font-weight: 400;
    color: rgba(255,255,255,0.9);
    line-height: 28px;
    text-align: right;
    flex: 1;
    min-width: 0;
}

.vdb-option-name--bold {
    font-weight: 700;
}

/* Checkbox — DOM first = visually RIGHT in RTL */
.vdb-check-box {
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    /* background-image: vdb-unchecked.svg injected via PHP */
}

/* Checked state */
.vdb-option:has(.vdb-input:checked) .vdb-check-box {
    /* background-image: pp-checked.svg injected via PHP */
}

/* Sub-text line beneath product name — matches Figma "Product Size" row */
.vdb-option-subtext {
    font-size: 14px;
    font-weight: 400;
    color: rgba(255,255,255,0.9);
    line-height: 20px;
    text-align: right;
    direction: rtl;
    padding-right: 25px; /* aligns with name left edge: checkbox(20px) + gap(5px) */
}

/* ---------- Error state ---------- */
.vdb-group-error {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px;
    border-radius: 8px;
    direction: rtl;
    color: #ea4335;
    font-size: 20px;
    margin-top: 6px;
}

.vdb-group-error svg {
    flex-shrink: 0;
    display: block;
}

/* ---------- Included items section ---------- */
.vdb-included-section {
    margin-top: 20px;
}

/* Pre-checked: always show green checkmark */
.vdb-check-box--checked {
    /* background-image: pp-checked.svg injected via PHP */
}

.vdb-included-item {
    display: flex;
    padding: 4px 0;
}

@keyframes vdb-shake {
    0%, 100% { transform: translateX(0); }
    20%       { transform: translateX(-6px); }
    40%       { transform: translateX(6px); }
    60%       { transform: translateX(-4px); }
    80%       { transform: translateX(4px); }
}

.vdb-btn-shake {
    animation: vdb-shake 0.5s ease-in-out !important;
}

@media (max-width: 480px) {
    .vdb-options {
        grid-template-columns: 1fr;
    }
}
