.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);}
.package-card{background:var(--surface-elevated);border-radius:var(--radius-lg);padding:var(--space-5);border:2px solid transparent;cursor:pointer;transition:all 0.2s;position:relative;}
.package-card:hover{border-color:var(--primary);transform:translateY(-2px);}
.package-card--selected{border-color:var(--primary);background:rgba(59,130,246,0.1);}
.package-card__badge{position:absolute;top:-10px;right:20px;background:var(--primary);color:white;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;}
.package-card__title{margin:0 0 var(--space-2);font-size:1.25rem;}
.package-card__price{display:flex;align-items:baseline;gap:var(--space-1);}
.package-card__amount{font-size:1.75rem;font-weight:700;color:var(--primary);}
.package-card__per{color:var(--text-muted);font-size:0.875rem;}
.package-card__features{list-style:none;padding:0;margin:0 0 var(--space-4);}
.package-card__features li{padding:var(--space-1) 0;color:var(--text-secondary);font-size:0.875rem;}
.package-card__features li::before{content:"✓ ";color:var(--success);}
.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);}
.room-card{background:var(--surface-elevated);border-radius:var(--radius-lg);padding:var(--space-4);border:2px solid transparent;cursor:pointer;transition:all 0.2s;}
.room-card:hover{border-color:var(--primary);}
.room-card--selected{border-color:var(--primary);background:rgba(59,130,246,0.1);}
.room-card__price{font-weight:700;color:var(--primary);}

/* Upgrade Options */
.upgrade-options{margin:var(--space-4) 0;padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);}
.upgrade-group{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);}
.upgrade-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.upgrade-group__header{margin-bottom:var(--space-3);font-size:0.875rem;color:var(--text-muted);}
.upgrade-group__base{font-weight:500;}
.upgrade-group__options{display:flex;flex-wrap:wrap;gap:var(--space-2);}
.upgrade-option{cursor:pointer;flex:0 0 auto;}
.upgrade-option input{position:absolute;opacity:0;pointer-events:none;}
.upgrade-option__box{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all 0.15s;font-size:0.875rem;}
.upgrade-option:hover .upgrade-option__box{border-color:var(--primary);background:rgba(0,212,255,0.05);}
.upgrade-option input:checked+.upgrade-option__box{border-color:var(--primary);background:var(--primary);color:var(--bg-darkest);}
.upgrade-option input:checked+.upgrade-option__box .upgrade-option__price{color:var(--bg-darkest);}
.upgrade-option__name{font-weight:500;}
.upgrade-option__price{color:var(--success);font-weight:600;}

/* =============================================================================
   STANDALONE ADD-ONS
   ============================================================================= */

.upgrade-group--standalone {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.upgrade-group__title {
    font-weight: 600;
    color: #f59e0b;
    font-size: 0.875rem;
}

.standalone-addons {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.standalone-addon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}

.standalone-addon__info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.standalone-addon__name {
    font-weight: 500;
    color: #fff;
}

.standalone-addon__price {
    font-size: 0.75rem;
    color: #00d4ff;
}

.standalone-addon__controls {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.standalone-addon .quantity-stepper {
    display: flex;
    align-items: center;
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
}

.standalone-addon .stepper-btn {
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    color: #00d4ff;
    font-size: 1.25rem;
    cursor: pointer;
    transition: background 0.2s;
}

.standalone-addon .stepper-btn:hover:not(:disabled) {
    background: rgba(0, 212, 255, 0.2);
}

.standalone-addon .stepper-btn:disabled {
    color: rgba(255, 255, 255, 0.3);
    cursor: not-allowed;
}

.standalone-addon .stepper-value {
    min-width: 32px;
    text-align: center;
    font-weight: 600;
    color: #fff;
}

.standalone-addon__total {
    min-width: 70px;
    text-align: right;
    font-weight: 600;
    color: #10b981;
}