/* Spaarpunten */
.sd-pt-earn { margin: .35rem 0 0; font-size: .9rem; color: var(--wp--preset--color--accent-4); }
.sd-pt-earn span, .sd-pt-thanks span { color: var(--sd-gold); }
.sd-pt-earn strong { color: var(--sd-ink); }

.sd-pt-cartbar { display: flex; align-items: center; gap: .9rem; margin: 0 0 1.4rem; padding: .85rem 1.1rem; border-radius: 12px; background-color: var(--sd-night); background-image: var(--sd-stars); color: rgba(244,246,250,.88) !important; text-decoration: none !important; font-size: .95rem; line-height: 1.45; }
a.sd-pt-cartbar { transition: transform .15s ease, box-shadow .15s ease; }
a.sd-pt-cartbar:hover { transform: translateY(-1px); box-shadow: 0 14px 30px -18px rgba(15,22,48,.8); }
.sd-pt-cartbar strong { color: var(--sd-gold-light); }
.sd-pt-cartbar a { color: var(--sd-gold-light); font-weight: 800; }
.sd-pt-icon { flex: none; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--sd-gold); color: var(--sd-night); font-size: 1.1rem; }
.sd-pt-go { flex: none; margin-left: auto; padding: .5rem .9rem; border-radius: 8px; background: var(--sd-gold); color: var(--sd-night); font-weight: 800; white-space: nowrap; }
@media (max-width: 640px) {
	.sd-pt-cartbar { flex-wrap: wrap; }
	.sd-pt-go { margin-left: 3.1rem; }
}

.sd-pt-thanks, .sd-pt-dash { padding: .8rem 1rem; border-radius: 10px; background: #EEF1F8; border: 1px solid var(--wp--preset--color--accent-6); }

/* Mijn account > Spaarpunten */
.sd-pt-balance { position: relative; overflow: hidden; padding: 1.6rem 1.8rem; border-radius: 16px; background-color: var(--sd-night); background-image: var(--sd-stars); color: rgba(244,246,250,.85); }
.sd-pt-kicker { display: block; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--sd-gold); }
.sd-pt-big { font-family: var(--wp--preset--font-family--cinzel); font-size: clamp(2.6rem, 6vw, 3.6rem); line-height: 1.1; margin-right: .4rem; color: var(--sd-gold-light); }
.sd-pt-bar { height: 8px; margin: 1rem 0 .5rem; max-width: 420px; border-radius: 99px; background: rgba(244,246,250,.15); overflow: hidden; }
.sd-pt-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--sd-gold), var(--sd-gold-light)); }
.sd-pt-balance p { margin: .3rem 0 0; font-size: .92rem; }
.sd-pt-balance .woocommerce-Price-amount { color: var(--sd-gold-light); font-weight: 800; }
.sd-pt-how { opacity: .7; }

.sd-pt-h { margin: 2rem 0 .8rem; font-size: 1.3rem; }
.sd-pt-rewards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.sd-pt-reward { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; padding: 1.2rem; border-radius: 14px; background: #fff; border: 1px solid var(--wp--preset--color--accent-6); }
.sd-pt-reward.is-available { border-color: var(--sd-gold); box-shadow: 0 10px 24px -18px rgba(15,22,48,.6); }
.sd-pt-reward-value { font-family: var(--wp--preset--font-family--cinzel); font-size: 2rem; font-weight: 700; line-height: 1.1; color: var(--sd-night); }
.sd-pt-reward-label { font-weight: 700; color: var(--sd-ink); }
.sd-pt-reward-cost { margin-top: .5rem; font-weight: 800; color: #8E6418; }
.sd-pt-reward-min { font-size: .82rem; color: var(--wp--preset--color--accent-4); }
.sd-pt-reward .sd-pt-form { margin-top: auto; padding-top: .9rem; }
.sd-pt-reward-lock { margin-top: auto; padding-top: .9rem; font-size: .85rem; font-weight: 700; color: var(--wp--preset--color--accent-4); }

.sd-pt-codes { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.sd-pt-codes li { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding: .8rem 1rem; border-radius: 10px; background: #EEF1F8; }
.sd-pt-codes code { padding: .25rem .6rem; border-radius: 6px; background: #fff; border: 1px dashed var(--sd-gold); font-weight: 800; letter-spacing: .05em; }
.sd-pt-codes .sd-pt-form { margin-left: auto; }
.sd-pt .is-small { padding: .45rem .9rem; font-size: .85rem; }

.sd-pt-log td { padding: .55rem .6rem; font-size: .9rem; }
.sd-pt-log td:first-child { white-space: nowrap; color: var(--wp--preset--color--accent-4); }
.sd-pt-n { text-align: right; font-weight: 800; white-space: nowrap; }
.sd-pt-n.is-plus { color: var(--wp--preset--color--emerald); }
.sd-pt-n.is-min { color: var(--wp--preset--color--ruby); }

/* Winkelwagen en afrekenen: wat de bestelling oplevert */
.sd-pt-ordermeta { display: flex; flex-wrap: nowrap !important; align-items: center; gap: .55rem; margin: .4rem 0; padding: .6rem .8rem !important; border-radius: 8px; background: #EEF1F8; font-size: .9rem; color: var(--sd-ink); }
.sd-pt-ordermeta-icon { flex: none; color: var(--sd-gold); }
.sd-pt-ordermeta > span:last-child { flex: 1; min-width: 0; }
.sd-pt-minicart { margin: 0 0 1rem; }
