.lm-packages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.lm-package {
    position: relative;
    border: 1px solid #cfd7e1;
    padding: 16px;
    background: #f8fafc;
    cursor: pointer;
    min-height: 150px;
    border-radius: 8px;
}
.lm-package input { position: absolute; opacity: 0; pointer-events: none; }
.lm-package-title { font-size: 16px; font-weight: 900; margin-bottom: 6px; color: #1f344d; }
.lm-package-price { font-size: 20px; font-weight: 900; color: #1d4ed8; margin-bottom: 6px; }
.lm-package-desc { color: #4b5563; line-height: 1.4; min-height: 38px; }
.lm-package-meta { margin-top: 10px; color: #111827; font-size: 12px; display: grid; gap: 3px; }
.lm-package:has(input:checked), .lm-package.is-selected {
    background: #eff6ff;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .20);
}
.lm-promotions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.lm-promotion-card { border: 1px solid #cfd7e1; background: #fff; border-radius: 8px; padding: 14px; min-height: 170px; display: flex; flex-direction: column; gap: 10px; }
.lm-promotion-card.is-selected { background: #f0fdf4; border-color: #22c55e; box-shadow: 0 0 0 2px rgba(34, 197, 94, .16); }
.lm-promotion-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 900; color: #1f344d; cursor: pointer; }
.lm-promotion-check input { margin-top: 2px; }
.lm-promotion-desc { color: #4b5563; line-height: 1.4; min-height: 42px; }
.lm-promotion-duration { margin-top: auto; }
.lm-promotion-duration select { width: 100%; height: 38px; border: 1px solid #cfd7e1; border-radius: 7px; padding: 0 10px; background: #fff; }
.lm-promotion-duration select:disabled { background: #eef2f7; color: #94a3b8; cursor: not-allowed; }
.lm-promotion-price-note { font-weight: 800; color: #1d4ed8; font-size: 12px; min-height: 16px; }
.lm-promotion-warning { display: none; color: #991b1b; font-size: 12px; line-height: 1.35; }
@media (max-width: 980px) {
    .lm-packages, .lm-promotions { grid-template-columns: 1fr; }
}
