/* LUMA client loyalty card — inherits selected studio palette. */
.client-loyalty{padding:28px 0 12px;border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent);margin-bottom:36px}
.client-loyalty .loyalty-tag{font-size:9px;letter-spacing:2.1px;font-weight:800;color:var(--accent);text-transform:uppercase}
.client-loyalty h2{font-family:Georgia,serif;font-size:clamp(27px,6vw,38px);line-height:1.06;font-weight:400;margin:12px 0 10px;color:var(--ink)}
.client-loyalty p{font-size:12px;line-height:1.65;opacity:.77;max-width:440px}
.client-loyal-card{background:color-mix(in srgb,var(--accent) 13%,var(--bg));padding:22px 18px;border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);border-radius:var(--luma-radius,20px);margin:18px 0 14px;position:relative;overflow:hidden}
.client-loyal-card:after{content:'✳';position:absolute;font-size:96px;right:-14px;top:-32px;color:var(--accent);opacity:.13;pointer-events:none}
.client-loyal-card>small{font-size:9px;letter-spacing:1.5px;color:var(--accent);font-weight:800}
.client-loyal-card>strong{font:normal 26px/1.12 Georgia,serif;display:block;margin:14px 0 17px;position:relative;z-index:1}
.client-loyal-stamps{display:flex;gap:7px;max-width:340px;flex-wrap:nowrap}.client-loyal-stamps span{aspect-ratio:1;min-width:0;flex:1;max-width:48px;border:1px solid color-mix(in srgb,var(--accent) 44%,transparent);display:grid;place-items:center;border-radius:50%;color:var(--accent);font-size:16px}.client-loyal-stamps span.done{background:var(--accent);color:var(--bg)}
.client-loyal-stats{display:flex;gap:16px;margin-top:18px;flex-wrap:wrap}.client-loyal-stats div{display:grid;gap:2px}.client-loyal-stats strong{font-size:19px}.client-loyal-stats small{font-size:9px;opacity:.69}
.client-loyal-gifts{display:grid;gap:9px;margin-top:12px}.client-loyal-gift{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--bg) 78%,var(--accent));padding:12px 14px;border-radius:12px;font-size:11px}.client-loyal-gift b{font-size:17px;color:var(--accent)}
.client-loyal-paste,.client-loyal-field{display:grid;gap:6px;font-size:11px;margin-top:10px}.client-loyal-paste input,.client-loyal-field input,.client-loyal-field select{border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:10px;padding:12px;background:transparent;color:var(--ink);font:inherit;min-width:0;width:100%}
.client-loyal-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:10px}.client-loyal-actions button{border:1px solid var(--accent);background:transparent;color:var(--accent);border-radius:999px;padding:10px 16px;font-weight:750;font-size:11px;cursor:pointer}
.client-loyal-info{font-size:11px;line-height:1.6;opacity:.73;margin-top:9px}
.client-loyal-booking{background:color-mix(in srgb,var(--accent) 6%,var(--bg));border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:14px;padding:16px;margin:15px 0}.client-loyal-booking .client-consent{margin-top:12px}.client-loyal-booking .client-consent:first-child{margin-top:0}
.client-loyal-booking .client-consent span{font-size:11px}.client-loyal-booking .client-loyal-field{margin:12px 0}
.client-loyal-summary{font-size:12px;font-weight:800;color:var(--accent);margin:10px 0 0}
@media(max-width:500px){.client-loyal-card{padding:16px}.client-loyal-stamps{gap:5px}.client-loyal-stamps span{font-size:14px}}
