/* SPoints Loyalty — Account Page Styles
   Seletores com alta especificidade para não ser sobrescrito pelo tema */

/* ── Paleta Sensoriale ─────────────────────────────── */
body .spoints-account,
.woocommerce-account .spoints-account {
    padding: 8px 0 24px;
    font-family: inherit;
}

/* ── Hero Banner ───────────────────────────────────── */
body .spoints-hero,
.woocommerce-account .spoints-hero {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    background: linear-gradient(135deg, #1e90d4 0%, #0e6fb0 100%) !important;
    border-radius: 14px !important;
    padding: 22px 26px !important;
    margin-bottom: 20px !important;
    color: #fff !important;
    flex-wrap: wrap !important;
    border: none !important;
    box-sizing: border-box !important;
}

body .spoints-hero__icon,
.woocommerce-account .spoints-hero__icon {
    font-size: 32px !important;
    line-height: 1 !important;
    display: block !important;
}

body .spoints-hero__text,
.woocommerce-account .spoints-hero__text {
    flex: 1 !important;
    min-width: 140px !important;
}

body .spoints-hero__text h2,
.woocommerce-account .spoints-hero__text h2 {
    margin: 0 0 2px !important;
    color: #fff !important;
    font-size: 1.25em !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

body .spoints-hero__text p,
.woocommerce-account .spoints-hero__text p {
    margin: 0 !important;
    opacity: .85 !important;
    font-size: .88em !important;
    color: #fff !important;
}

body .spoints-hero__balance,
.woocommerce-account .spoints-hero__balance {
    text-align: right !important;
    background: rgba(255,255,255,.2) !important;
    border-radius: 10px !important;
    padding: 10px 18px !important;
    border: none !important;
}

body .spoints-hero__pts,
.woocommerce-account .spoints-hero__pts {
    display: block !important;
    font-size: 2em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .spoints-hero__pts-label,
.woocommerce-account .spoints-hero__pts-label {
    font-size: .75em !important;
    opacity: .85 !important;
    color: #fff !important;
    display: block !important;
    margin-top: 4px !important;
}

/* ── Grid de Tiles ─────────────────────────────────── */
body .spoints-grid,
.woocommerce-account .spoints-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    margin-bottom: 28px !important;
}

@media (max-width: 480px) {
    body .spoints-grid,
    .woocommerce-account .spoints-grid {
        grid-template-columns: 1fr !important;
    }
}

body .spoints-tile,
.woocommerce-account .spoints-tile {
    border-radius: 14px !important;
    padding: 20px 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
    box-sizing: border-box !important;
}

body .spoints-tile:hover,
.woocommerce-account .spoints-tile:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.10) !important;
}

body .spoints-tile::after,
.woocommerce-account .spoints-tile::after {
    content: "" !important;
    position: absolute !important;
    right: -18px !important;
    bottom: -18px !important;
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    opacity: .18 !important;
}

/* Tile azul */
body .spoints-tile--blue,
.woocommerce-account .spoints-tile--blue {
    background: #dff0fb !important;
    border: 2px solid #b3d9f5 !important;
}
body .spoints-tile--blue::after,
.woocommerce-account .spoints-tile--blue::after { background: #1e90d4 !important; }
body .spoints-tile--blue .spoints-tile__value,
.woocommerce-account .spoints-tile--blue .spoints-tile__value { color: #1e90d4 !important; }
body .spoints-tile--blue .spoints-tile__label,
.woocommerce-account .spoints-tile--blue .spoints-tile__label { color: #1e90d4 !important; }

/* Tile verde */
body .spoints-tile--green,
.woocommerce-account .spoints-tile--green {
    background: #d6f5dc !important;
    border: 2px solid #9de8ab !important;
}
body .spoints-tile--green::after,
.woocommerce-account .spoints-tile--green::after { background: #39d459 !important; }
body .spoints-tile--green .spoints-tile__value,
.woocommerce-account .spoints-tile--green .spoints-tile__value { color: #1aad38 !important; }
body .spoints-tile--green .spoints-tile__label,
.woocommerce-account .spoints-tile--green .spoints-tile__label { color: #1aad38 !important; }

/* Tile teal */
body .spoints-tile--teal,
.woocommerce-account .spoints-tile--teal {
    background: #d0f5f1 !important;
    border: 2px solid #7dd8ce !important;
}
body .spoints-tile--teal::after,
.woocommerce-account .spoints-tile--teal::after { background: #0fb8a0 !important; }
body .spoints-tile--teal .spoints-tile__value,
.woocommerce-account .spoints-tile--teal .spoints-tile__value { color: #0a9282 !important; }
body .spoints-tile--teal .spoints-tile__label,
.woocommerce-account .spoints-tile--teal .spoints-tile__label { color: #0a9282 !important; }

/* Tile sky */
body .spoints-tile--sky,
.woocommerce-account .spoints-tile--sky {
    background: #d6f2fa !important;
    border: 2px solid #8ddcef !important;
}
body .spoints-tile--sky::after,
.woocommerce-account .spoints-tile--sky::after { background: #54c5e8 !important; }
body .spoints-tile--sky .spoints-tile__value,
.woocommerce-account .spoints-tile--sky .spoints-tile__value { color: #1a9ec0 !important; }
body .spoints-tile--sky .spoints-tile__label,
.woocommerce-account .spoints-tile--sky .spoints-tile__label { color: #1a9ec0 !important; }

/* Valores e labels dos tiles */
body .spoints-tile__value,
.woocommerce-account .spoints-tile__value {
    font-size: 1.9em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
    display: block !important;
}

body .spoints-tile__label,
.woocommerce-account .spoints-tile__label {
    font-size: .72em !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    display: block !important;
}

body .spoints-tile__sub,
.woocommerce-account .spoints-tile__sub {
    font-size: .8em !important;
    color: #5a6a7a !important;
    margin-top: 2px !important;
    display: block !important;
}

/* ── Histórico ─────────────────────────────────────── */
body .spoints-history,
.woocommerce-account .spoints-history {
    background: #fff !important;
    border: 2px solid #b3d9f5 !important;
    border-radius: 14px !important;
    padding: 20px 22px !important;
    box-sizing: border-box !important;
}

body .spoints-history__title,
.woocommerce-account .spoints-history__title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    font-size: 1.05em !important;
    color: #1a2535 !important;
    font-weight: 700 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* Empty state */
body .spoints-empty-state,
.woocommerce-account .spoints-empty-state {
    text-align: center !important;
    padding: 32px 16px !important;
    color: #8a9bb0 !important;
}

body .spoints-empty-state__icon,
.woocommerce-account .spoints-empty-state__icon {
    font-size: 2.8em !important;
    margin-bottom: 10px !important;
    display: block !important;
}

body .spoints-empty-state p,
.woocommerce-account .spoints-empty-state p {
    margin: 4px 0 !important;
    font-size: .92em !important;
    color: #8a9bb0 !important;
}

/* Tabela */
body .spoints-table-wrap,
.woocommerce-account .spoints-table-wrap {
    overflow-x: auto !important;
    border-radius: 8px !important;
}

body .spoints-table,
.woocommerce-account .spoints-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: .9em !important;
}

body .spoints-table thead tr,
.woocommerce-account .spoints-table thead tr {
    background: linear-gradient(90deg, #dff0fb, #d6f5dc) !important;
}

body .spoints-table th,
.woocommerce-account .spoints-table th {
    padding: 10px 12px !important;
    text-align: left !important;
    font-weight: 700 !important;
    font-size: .78em !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    color: #2c3e50 !important;
    border-bottom: 2px solid #b3d9f5 !important;
    background: none !important;
}

body .spoints-table td,
.woocommerce-account .spoints-table td {
    padding: 10px 12px !important;
    border-bottom: 1px solid #edf2f7 !important;
    vertical-align: middle !important;
    color: #2c3e50 !important;
    background: none !important;
}

body .spoints-table tbody tr:last-child td,
.woocommerce-account .spoints-table tbody tr:last-child td {
    border-bottom: none !important;
}

body .spoints-table tbody tr:hover td,
.woocommerce-account .spoints-table tbody tr:hover td {
    background: #f7fbff !important;
}

/* Badges */
body .spoints-badge,
.woocommerce-account .spoints-badge {
    display: inline-block !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    font-size: .78em !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

body .spoints-type--earn,   .woocommerce-account .spoints-type--earn   { background: #d6f5dc !important; color: #1aad38 !important; }
body .spoints-type--redeem, .woocommerce-account .spoints-type--redeem { background: #dff0fb !important; color: #1e90d4 !important; }
body .spoints-type--expire, .woocommerce-account .spoints-type--expire { background: #fde8e8 !important; color: #c0392b !important; }
body .spoints-type--adjust, .woocommerce-account .spoints-type--adjust { background: #fff8d6 !important; color: #b8860b !important; }

/* Pontos +/- */
body .spoints-pts,
.woocommerce-account .spoints-pts {
    font-weight: 800 !important;
    font-size: 1em !important;
}
body .spoints-pts--pos, .woocommerce-account .spoints-pts--pos { color: #1aad38 !important; }
body .spoints-pts--neg, .woocommerce-account .spoints-pts--neg { color: #c0392b !important; }
