/*
 * premium.css — Second Spot "Orchid" system
 * Loaded after theme.css on every customer page; wins over the legacy layers.
 *
 * Palette (sampled from the logo):
 *   porcelain  #FFFAFC   page
 *   blush line #F0DDE8   hairlines
 *   aubergine  #25102F   ink
 *   mauve      #85708F   secondary text
 *   brand      ultraviolet #4F2EF2 → orchid #B91FD1 → rose #FF2D78
 *   accent     #C4166E   links / small emphasis (AA on white)
 * Type: system UI stack only (the CSP does not allow external font hosts).
 */

:root{
  --ss-bg:#FFFAFC; --ss-surface:#FFFFFF; --ss-tint:#FFF3F8;
  --ss-line:#F0DDE8; --ss-line-2:#E6CCDB;
  --ss-ink:#25102F; --ss-ink-2:#5B4766; --ss-mute:#85708F;
  --ss-accent:#C4166E; --ss-accent-ink:#9B0F55;
  --ss-brand:linear-gradient(115deg,#4F2EF2 0%,#B91FD1 54%,#FF2D78 100%);
  --ss-focus:0 0 0 4px rgba(185,31,209,.16);
  --ss-shadow-card:0 1px 2px rgba(37,16,47,.04),0 18px 48px -18px rgba(120,30,120,.22);
  --ss-font:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  /* re-point legacy tokens so older rules inherit the new palette */
  --c-bg:var(--ss-bg); --c-text:var(--ss-ink); --c-muted:var(--ss-mute);
  --c-border:var(--ss-line); --c-fill:var(--ss-tint);
  --pink:var(--ss-accent); --pink-d:var(--ss-accent-ink); --pink-l:var(--ss-tint); --pink-line:var(--ss-line);
  --ink:var(--ss-ink); --ink2:var(--ss-mute);
}

html,body{background:var(--ss-bg)!important;color:var(--ss-ink)!important;font-family:var(--ss-font)!important;
  font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{
  background:radial-gradient(900px 420px at 50% -8%,rgba(185,31,209,.075),transparent 66%)!important}
::selection{background:rgba(185,31,209,.18)}
:focus-visible{outline:2px solid #B91FD1!important;outline-offset:2px}
a{color:inherit}
.muted{color:var(--ss-mute)!important}

/* ── Navigation ─────────────────────────────────────────────────────────── */
.nav{background:rgba(255,250,252,.86)!important;border-bottom:1px solid var(--ss-line)!important;box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(160%)!important;-webkit-backdrop-filter:blur(18px) saturate(160%)!important;
  padding:12px clamp(16px,4vw,40px)!important;min-height:68px}
.nav .brand{gap:0!important}
.nav .brand [data-site-logo],.nav .brand [data-site-name],.nav .brand .dot{display:none!important}
.nav .brand .ss-logo-link{display:inline-flex;align-items:center;line-height:0;border-radius:10px}
.nav .brand .ss-logo{height:34px!important;width:auto!important;max-width:none!important;border-radius:0!important;
  padding:0!important;background:none!important;box-shadow:none!important;object-fit:contain!important;display:block}
.nav-links{gap:4px!important}
.nav-links a{position:relative;color:var(--ss-ink-2)!important;background:transparent!important;box-shadow:none!important;
  border-radius:10px!important;padding:9px 14px!important;font-size:14px!important;font-weight:600!important;letter-spacing:-.005em;
  transition:color .15s,background-color .15s!important}
.nav-links a:hover{color:var(--ss-ink)!important;background:var(--ss-tint)!important}
.nav .nav-links a.active,.nav .nav-links a:hover{box-shadow:none!important}
.nav .nav-links a.active{color:var(--ss-ink)!important;background:transparent!important}
.nav-links a.active::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;background:var(--ss-brand)}
@media (max-width:640px){
  .nav{flex-direction:column!important;align-items:center!important;gap:8px!important;padding:12px 12px 6px!important}
  .nav .brand .ss-logo{height:30px!important}
  .nav-links{width:100%!important;background:none!important;border:0!important;padding:0!important;
    justify-content:space-between!important;flex-wrap:nowrap!important;gap:0!important}
  .nav-links a{flex:1 1 0!important;text-align:center!important;padding:10px 2px!important;font-size:13px!important}
  .nav-links a.active::after{left:22%;right:22%}
}

/* ── Hero (sub-pages) ───────────────────────────────────────────────────── */
.hero{padding:44px 0 22px!important}
.hero .ss-hero-icon{display:block;width:76px;height:76px;margin:0 auto 14px;object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(150,30,170,.22))}
.hero h1{font-size:clamp(30px,5.2vw,44px)!important;font-weight:780!important;letter-spacing:-.035em!important;line-height:1.08!important;
  color:var(--ss-ink)!important;-webkit-text-fill-color:var(--ss-ink)!important;background:none!important;margin-bottom:10px!important}
.hero p{color:var(--ss-mute)!important;font-size:16px!important;line-height:1.6!important}
@media (max-width:640px){.hero{padding:26px 0 12px!important}.hero .ss-hero-icon{width:60px;height:60px}.hero h1{font-size:28px!important}}

/* ── Index: banner hero ─────────────────────────────────────────────────── */
.ss-banner-wrap{max-width:1100px;margin:0 auto;padding:22px 18px 0}
.ss-banner{display:block;position:relative;border-radius:28px;overflow:hidden;line-height:0;background:#FFE9F2;
  border:1px solid var(--ss-line);
  box-shadow:0 1px 2px rgba(37,16,47,.05),0 30px 70px -30px rgba(150,30,170,.38)}
.ss-banner img{width:100%;height:auto;display:block;aspect-ratio:2/1}
.ss-banner:focus-visible{outline-offset:4px}
.ss-intro{max-width:760px;margin:0 auto;padding:34px 18px 4px;text-align:center}
.ss-intro h1{font-size:clamp(26px,4.4vw,38px);font-weight:780;letter-spacing:-.035em;line-height:1.12;margin:0 0 10px;
  color:var(--ss-ink)!important;-webkit-text-fill-color:var(--ss-ink)!important;background:none!important}
.ss-intro .ss-tag{font-size:17px;color:var(--ss-ink-2);margin:0 0 10px;font-weight:550}
.ss-intro .ss-sub{font-size:14.5px;line-height:1.65;color:var(--ss-mute);max-width:600px;margin:0 auto}
@media (max-width:640px){
  .ss-banner-wrap{padding:14px 12px 0}.ss-banner{border-radius:20px}
  .ss-intro{padding:24px 16px 0}.ss-intro .ss-tag{font-size:15.5px}
}

/* ── Cards ──────────────────────────────────────────────────────────────── */
.card{background:var(--ss-surface)!important;border:1px solid var(--ss-line)!important;border-radius:22px!important;
  box-shadow:var(--ss-shadow-card)!important;padding:26px!important}
.card::before{display:none!important}
.card+.card{margin-top:18px!important}
@media (max-width:640px){.card{padding:20px 16px!important;border-radius:20px!important}}
.card>.row>strong,.card>strong{font-size:17px;font-weight:700;letter-spacing:-.015em}
.divider{height:1px!important;background:var(--ss-line)!important;margin:18px 0!important}
.qr{background:var(--ss-tint)!important;border:1px solid var(--ss-line)!important;border-radius:20px!important}
.qr img{background:#fff;padding:8px;border:0!important;border-radius:14px!important;box-shadow:0 0 0 1px var(--ss-line),0 14px 30px -12px rgba(120,30,120,.3)!important}

/* ── Forms ──────────────────────────────────────────────────────────────── */
.label{font-size:13px!important;font-weight:650!important;color:var(--ss-ink-2)!important;text-transform:none!important;letter-spacing:0!important;margin:16px 0 7px!important}
input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),select,textarea{
  background:#fff!important;border:1.5px solid var(--ss-line-2)!important;border-radius:14px!important;color:var(--ss-ink)!important;
  padding:12px 15px!important;font-size:15px!important;transition:border-color .15s,box-shadow .15s!important}
input:not([type="file"]):not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{border-color:#D5B2C9!important}
input:not([type="file"]):not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{
  border-color:#B91FD1!important;box-shadow:var(--ss-focus)!important;background:#fff!important}
input::placeholder,textarea::placeholder{color:#B6A2BD!important}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn{background:var(--ss-brand)!important;background-size:140% 100%!important;background-position:0 0!important;color:#fff!important;
  border-radius:14px!important;font-weight:700!important;letter-spacing:-.005em!important;padding:14px 22px!important;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 14px 28px -12px rgba(150,30,190,.55)!important;
  transition:background-position .35s,transform .15s,box-shadow .2s,filter .2s!important}
.btn:hover{background:var(--ss-brand)!important;background-size:140% 100%!important;background-position:100% 0!important;filter:none!important;
  transform:translateY(-1px)!important;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 18px 34px -12px rgba(150,30,190,.62)!important}
.btn:active{transform:translateY(0)!important}
.btn.ghost{background:#fff!important;color:var(--ss-ink)!important;border:1.5px solid var(--ss-line-2)!important;box-shadow:none!important}
.btn.ghost:hover{background:var(--ss-tint)!important;border-color:#D5B2C9!important;box-shadow:none!important;transform:none!important}

/* ── Chips, amounts ─────────────────────────────────────────────────────── */
.badge{background:var(--ss-tint)!important;color:var(--ss-accent-ink)!important;border:1px solid var(--ss-line)!important;font-weight:650!important}
.tag{color:var(--ss-accent-ink)!important;background:var(--ss-tint)!important;border:1px solid var(--ss-line)!important}
.amount{font-variant-numeric:tabular-nums;font-weight:780!important;letter-spacing:-.025em;color:var(--ss-ink)!important;
  -webkit-text-fill-color:var(--ss-ink)!important;background:none!important}
.spinner{border-color:var(--ss-line)!important;border-top-color:#B91FD1!important}
.table th{background:var(--ss-tint)!important;color:var(--ss-mute)!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important;font-weight:650!important}
.table tr:hover td{background:#FFF8FB!important}

/* ── Dropdowns ──────────────────────────────────────────────────────────── */
.svc-dd-btn{border:1.5px solid var(--ss-line-2)!important;border-radius:14px!important;background:#fff!important;color:var(--ss-ink)!important}
.svc-dd-btn:hover{border-color:#D5B2C9!important}
.svc-dd-caret{color:var(--ss-mute)!important}
.svc-dd-menu{border:1px solid var(--ss-line)!important;border-radius:18px!important;box-shadow:0 24px 60px -20px rgba(80,20,90,.35)!important}
.svc-dd-item{border-bottom:1px solid #FBEFF5!important}
.svc-dd-item:hover{background:var(--ss-tint)!important}
.svc-dd-id{color:var(--ss-mute)!important;font-weight:600;font-variant-numeric:tabular-nums}
.svc-dd-price{color:var(--ss-accent)!important;font-weight:750!important;font-variant-numeric:tabular-nums}
.svc-dd-search{background:var(--ss-tint)!important}
#svc-desc{border:1px solid var(--ss-line)!important;background:var(--ss-bg)!important;border-radius:14px!important}

/* ── Guide modal + success card ─────────────────────────────────────────── */
#guide-overlay{background:rgba(37,16,47,.5)!important;backdrop-filter:blur(6px)!important}
#guide-overlay>div{border-radius:26px!important;border:1px solid var(--ss-line);box-shadow:0 40px 90px -30px rgba(60,10,80,.6)!important}
#guide-overlay .ss-guide-icon{display:block;width:56px;height:56px;margin:0 0 10px;object-fit:contain}
#guide-overlay button{background:var(--ss-brand)!important;border-radius:14px!important;box-shadow:0 14px 28px -12px rgba(150,30,190,.55)!important}
#guide-overlay [style*="FEF2F2"]{background:var(--ss-tint)!important;color:#7A0F45!important;border:1px solid var(--ss-line)}
#guide-overlay div[style*="color:#E1306C"]{color:var(--ss-accent)!important}
#guide-overlay button{color:#fff!important}
#done-card>div{border:1px solid var(--ss-line)!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,var(--ss-tint))!important;box-shadow:var(--ss-shadow-card)!important}
#refill-result>div{border:1px solid var(--ss-line)!important;border-radius:22px!important;box-shadow:var(--ss-shadow-card)!important}

/* ── Index long-form copy ───────────────────────────────────────────────── */
section.container a[href="/tutorial"]{color:var(--ss-accent)!important}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.footer{background:transparent!important;border-top:1px solid var(--ss-line)!important;color:var(--ss-mute)!important;margin-top:56px!important;padding:34px 18px 40px!important}
.footer .ss-foot{display:flex;flex-direction:column;align-items:center;gap:12px}
.footer .ss-foot img{width:44px;height:44px;object-fit:contain}
.footer .ss-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;font-size:13.5px;font-weight:600}
.footer .ss-foot nav a{color:var(--ss-ink-2)!important}
.footer .ss-foot nav a:hover{color:var(--ss-accent)!important}
.footer .ss-foot small{font-size:12.5px;color:var(--ss-mute)}

/* ── 404 ────────────────────────────────────────────────────────────────── */
.ss-404-icon{display:block;width:96px;height:96px;margin:0 auto 12px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(150,30,170,.25))}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
