/* ============================================================
   DMS Loyalty — frontend
   ============================================================ */

/* ---------- Encart resume Dashboard Mon Compte ---------- */
.dms-loyalty-dashboard-card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.18), rgba(212, 175, 55, 0.05));
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 0.75rem;
    margin-bottom: 1.5rem;
}
.dms-loyalty-dashboard-card__icon {
    font-size: 2rem;
    line-height: 1;
    color: #d4af37;
    flex-shrink: 0;
}
.dms-loyalty-dashboard-card__body { flex: 1; }
.dms-loyalty-dashboard-card__label {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.7rem;
    color: #9a9e97;
}
.dms-loyalty-dashboard-card__balance {
    margin: 0.15rem 0 0.4rem;
    font-size: 1.5rem;
    line-height: 1.2;
}
.dms-loyalty-dashboard-card__balance strong { color: #d4af37; font-size: 1.85rem; }
.dms-loyalty-dashboard-card__balance span  { font-size: 0.95rem; opacity: 0.7; }
.dms-loyalty-dashboard-card__balance em    { font-style: normal; font-size: 0.9rem; color: #c4c8c1; margin-left: 0.5rem; }
.dms-loyalty-dashboard-card__cta { margin: 0; }
.dms-loyalty-dashboard-card__link {
    color: #d4af37;
    font-weight: 600;
    text-decoration: none;
}
.dms-loyalty-dashboard-card__link:hover { text-decoration: underline; }

/* ---------- Widget cart / checkout ---------- */
.dms-loyalty-widget {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: rgba(212, 175, 55, 0.08);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 0.75rem;
    margin: 1rem 0 1.5rem;
}
.dms-loyalty-widget__icon {
    font-size: 1.5rem;
    line-height: 1;
    color: #d4af37;
}
.dms-loyalty-widget__body { flex: 1; }
.dms-loyalty-widget__title { margin: 0 0 0.25rem; font-size: 0.95rem; }
.dms-loyalty-widget__cta a { color: #d4af37; font-weight: 600; text-decoration: none; }
.dms-loyalty-widget__cta a:hover { text-decoration: underline; }
.dms-loyalty-widget__hint { margin: 0; font-size: 0.8125rem; color: #9a9e97; }

.dms-loyalty-hint {
    padding: 0.75rem 1rem;
    background: rgba(212, 175, 55, 0.05);
    border-left: 3px solid #d4af37;
    margin: 1rem 0;
    font-size: 0.9rem;
}
.dms-loyalty-hint a { color: #d4af37; font-weight: 600; }

/* ---------- Mon Compte > Mes points ---------- */
.dms-loyalty-account__hero {
    text-align: center;
    padding: 2rem 1rem;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15), rgba(212, 175, 55, 0.05));
    border-radius: 1rem;
    margin-bottom: 2rem;
}
.dms-loyalty-account__label {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    color: #9a9e97;
}
.dms-loyalty-account__balance {
    margin: 0.25rem 0;
    font-size: 3rem;
    line-height: 1;
    color: #d4af37;
}
.dms-loyalty-account__balance span { font-size: 1rem; color: inherit; opacity: 0.7; }
.dms-loyalty-account__equivalent {
    margin: 0.5rem 0 0;
    color: #c4c8c1;
    font-size: 0.95rem;
}

.dms-loyalty-account__rules {
    background: #242a24;
    border: 1px solid #4a5447;
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}
.dms-loyalty-account__rules h3 { margin: 0 0 0.5rem; }
.dms-loyalty-account__rules ul { margin: 0; padding-left: 1.25rem; }
.dms-loyalty-account__rules li { margin: 0.25rem 0; }

.dms-loyalty-account__redeem {
    background: #242a24;
    border: 1px solid #4a5447;
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
}
.dms-loyalty-account__redeem h3 { margin: 0 0 0.75rem; }
.dms-loyalty-account__redeem--locked { opacity: 0.7; }

.dms-loyalty-account__redeem-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
.dms-loyalty-account__redeem-form label { flex-basis: 100%; font-size: 0.85rem; color: #9a9e97; }
.dms-loyalty-account__redeem-form input[type="number"] {
    width: 140px;
    padding: 0.5rem 0.75rem;
    border: 1px solid #4a5447;
    border-radius: 0.4rem;
    background: #1a1f1a;
    color: #f5f2e8;
}
.dms-loyalty-account__redeem-eq {
    color: #d4af37;
    font-weight: 600;
}
.dms-loyalty-account__redeem-form button {
    margin-left: auto;
    padding: 0.6rem 1.25rem;
    background: #d4af37;
    color: #1a1f1a;
    border: none;
    border-radius: 0.4rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}
.dms-loyalty-account__redeem-form button:hover { background: #c9a227; }
.dms-loyalty-account__redeem-form button:disabled { opacity: 0.5; cursor: wait; }

.dms-loyalty-account__redeem-result {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 0.5rem;
}
.dms-loyalty-account__redeem-result--success {
    background: rgba(0, 200, 100, 0.1);
    border: 1px solid rgba(0, 200, 100, 0.3);
}
.dms-loyalty-account__redeem-result--error {
    background: rgba(220, 60, 60, 0.1);
    border: 1px solid rgba(220, 60, 60, 0.3);
    color: #ff8a8a;
}
.dms-loyalty-account__redeem-result code {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background: rgba(212, 175, 55, 0.15);
    border: 1px dashed #d4af37;
    color: #d4af37;
    font-weight: 700;
    border-radius: 0.25rem;
    margin: 0 0.25rem;
}

.dms-loyalty-account__history-title { margin-top: 2rem; }

.dms-loyalty-account__history {
    width: 100%;
    border-collapse: collapse;
}
.dms-loyalty-account__history th,
.dms-loyalty-account__history td {
    padding: 0.6rem 0.5rem;
    border-bottom: 1px solid #4a5447;
    text-align: left;
    font-size: 0.9rem;
    vertical-align: top;
}
.dms-loyalty-account__history th {
    color: #9a9e97;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.7rem;
}
.dms-loyalty-account__history-pts { text-align: right; }
.dms-loyalty-account__pts--in  { color: #4ade80; font-weight: 700; }
.dms-loyalty-account__pts--out { color: #f87171; font-weight: 700; }

.dms-loyalty-account__pagination {
    display: flex;
    gap: 0.25rem;
    justify-content: center;
    margin-top: 1rem;
}
.dms-loyalty-account__pagination a {
    padding: 0.4rem 0.7rem;
    border: 1px solid #4a5447;
    border-radius: 0.3rem;
    text-decoration: none;
    color: #c4c8c1;
}
.dms-loyalty-account__pagination a.is-active {
    background: #d4af37;
    border-color: #d4af37;
    color: #1a1f1a;
    font-weight: 700;
}

@media (max-width: 600px) {
    .dms-loyalty-account__history th,
    .dms-loyalty-account__history td { padding: 0.5rem 0.25rem; font-size: 0.8125rem; }
    .dms-loyalty-account__redeem-form button { margin-left: 0; width: 100%; }
}
