/* =========================
   1. Widget Styles
   ========================= */
#localloyalty-widget {
    position: fixed; bottom: 20px; right: 20px;
    background: #0073e6; color: #fff;
    padding: 12px 18px; border-radius: 8px;
    font-weight: 700; cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    z-index: 9999; transition: background .3s;
    text-decoration: none;
}
#localloyalty-widget:hover { background: #005bb5; }

/* =========================
   2. Cart Notice Styles
   ========================= */
.localloyalty-cart-notice {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 16px; margin: 15px 0 25px;
    border-radius: 10px; background: #eef6ff;
    border: 1px solid #c9ddff; color: #1c3d6f;
    font-size: 15px; line-height: 1.4;
}
.localloyalty-cart-notice .localloyalty-icon { font-size: 24px; }
.localloyalty-cart-notice a { font-weight: 600; color: #005bb5; }
.localloyalty-cart-notice a:hover { color: #003f82; text-decoration: underline; }

/* =========================
   3. Dashboard Styles
   ========================= */
.localloyalty-dash.dash-card {
    margin: 20px 0; padding: 16px 18px; border: 1px solid #e7ebf0;
    border-radius: 10px; background: #fff;
}
.localloyalty-title { margin: 0 0 12px; font-size: 18px; font-weight: 600; }
.localloyalty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.localloyalty-stat { text-align: center; padding: 8px; background: #f8fbff; border: 1px solid #e3e9f2; border-radius: 8px; }
.localloyalty-stat .label { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.localloyalty-stat .value { font-size: 20px; font-weight: 700; }

.localloyalty-hr { margin: 20px 0; border: 0; border-top: 1px solid #eee; }
.localloyalty-h4 { margin: 0 0 10px; font-size: 15px; }
.localloyalty-reward-list { list-style: none; margin: 0; padding: 0; }
.localloyalty-reward-item { margin-bottom: 8px; font-size: 14px; display: flex; align-items: center; }
.localloyalty-reward-item.localloyalty-unlocked { color: #2c9f45; font-weight: bold; }
.localloyalty-reward-item.localloyalty-locked { color: #555; }
.localloyalty-reward-item .localloyalty-icon { margin-right: 8px; font-size: 16px; }
.localloyalty-status-text { font-size: 11px; color: #999; margin-left: auto; font-weight: normal; }
.localloyalty-badge { font-size: 11px; background: #e6f6e6; color: #006400; padding: 2px 6px; border-radius: 4px; margin-left: auto; font-weight: bold; }
.localloyalty-footer-note { font-size: 12px; color: #888; margin-top: 12px; border-top: 1px dashed #eee; padding-top: 8px; }