/* Viloer Decoy Bundle — base structural styles */
.vdb-wrapper * { box-sizing: border-box; }
.vdb-header-title { font-family: 'Inter', sans-serif; margin: 0 0 8px; }
.vdb-header-sub   { font-family: 'Inter', sans-serif; margin: 0; }

/* Cards flex container */
.vdb-cards { display: flex; align-items: stretch; }
.vdb-cards > .vdb-card { flex: 1; min-width: 0; }

/* Card */
.vdb-card { position: relative; background: #fff; cursor: pointer; transition: all .25s ease; }
.vdb-card-top { display: flex; justify-content: space-between; align-items: flex-start; }
.vdb-card-left { display: flex; align-items: flex-start; gap: 12px; }
.vdb-card-info { display: flex; flex-direction: column; gap: 4px; }
.vdb-card-title { font-family: 'Inter', sans-serif; }
.vdb-card-subtitle { font-family: 'Inter', sans-serif; display: inline-block; width: fit-content; }

/* Radio */
.vdb-radio { flex-shrink: 0; display: inline-block; border-radius: 50%; border: 2px solid; position: relative; margin-top: 4px; }
.vdb-radio::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(0); width: 55%; height: 55%; border-radius: 50%; transition: transform .2s ease; }
.vdb-card.is-active .vdb-radio::after { transform: translate(-50%,-50%) scale(1); }

/* Prices */
.vdb-card-right { text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.vdb-price-orig { text-decoration: line-through; }
.vdb-price-sale { font-family: 'Inter', sans-serif; }
.vdb-per-item   { font-family: 'Inter', sans-serif; }

/* Product images */
.vdb-prod-images { display: flex; align-items: center; justify-content: flex-end; }
.vdb-prod-img img { display: block; object-fit: contain; }

/* Badge */
.vdb-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); font-family: 'Inter', sans-serif; letter-spacing: 1px; text-transform: uppercase; white-space: nowrap; z-index: 2; }

/* Variations */
.vdb-var-divider { border-top: 1px solid; margin: 16px 0; }
.vdb-var-label   { font-family: 'Inter', sans-serif; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.vdb-var-selects { display: flex; }
.vdb-var-select  { flex: 1; font-family: 'Inter', sans-serif; appearance: none; -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; cursor: pointer; outline: none; }

/* CTA */
.vdb-cta-wrap { margin-top: 20px; }
.vdb-cta { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; font-family: 'Inter', sans-serif; letter-spacing: 2px; text-transform: uppercase; border: none; cursor: pointer; }
.vdb-cta:disabled { opacity: .6; cursor: not-allowed; }

/* Spinner */
.vdb-spinner { display: none; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%; animation: vdbSpin .6s linear infinite; }
.vdb-cta.is-loading .vdb-spinner { display: inline-block; }
.vdb-cta.is-loading .vdb-cta-text { display: none; }
.vdb-cta.is-loading i { display: none; }
@keyframes vdbSpin { to { transform: rotate(360deg); } }

/* Payment */
.vdb-payment { margin-top: 16px; }
