/* Somi Beauty Salon: "Get the app" popup */
.sap{--sap-night:#180c24;--sap-royal:#2a103b;--sap-plum:#47185a;--sap-purple:#612179;--sap-gold:#cfad76;--sap-ivory:#faf7f4;--sap-ink:#25202a;--sap-muted:#6c6271;position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--font-body,'Manrope',system-ui,sans-serif);color:var(--sap-ink)}
.sap[hidden]{display:none}
.sap *,.sap *:before,.sap *:after{box-sizing:border-box}
.sap-backdrop{position:absolute;inset:0;background:rgba(18,8,28,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.sap-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;grid-template-columns:300px 1fr;background:var(--sap-ivory);border-radius:28px;box-shadow:0 50px 120px -40px rgba(10,4,18,.8),0 0 0 1px rgba(207,173,118,.25);opacity:0;transform:translateY(18px) scale(.97);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.sap.is-open .sap-backdrop{opacity:1}
.sap.is-open .sap-card{opacity:1;transform:none}

/* left: brand panel */
.sap-hero{position:relative;overflow:hidden;padding:34px 28px 30px;color:#fff;background:radial-gradient(120% 80% at 20% 0%,#5a2475 0%,var(--sap-royal) 52%,var(--sap-night) 100%);display:flex;flex-direction:column;gap:18px}
.sap-hero:after{content:"";position:absolute;inset:14px;border:1px solid rgba(207,173,118,.28);border-radius:18px;pointer-events:none}
.sap-hero:before{content:"";position:absolute;width:260px;height:260px;right:-120px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(207,173,118,.28),transparent 68%)}
.sap-icon{width:76px;height:76px;border-radius:20px;box-shadow:0 16px 36px -10px rgba(0,0,0,.6),0 0 0 1px rgba(207,173,118,.5)}
.sap-eyebrow{margin:6px 0 0;font:600 10.5px/1.4 var(--font-body,'Manrope',sans-serif);letter-spacing:.24em;text-transform:uppercase;color:var(--sap-gold)}
.sap-title{margin:0;font:500 38px/1.04 var(--font-display,'Cormorant Garamond',Georgia,serif);letter-spacing:.005em}
.sap-title em{font-style:italic;color:var(--sap-gold)}
.sap-phone{position:relative;margin-top:auto;align-self:flex-start;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.82)}
.sap-phone b{display:block;color:#fff;font-weight:600}
.sap-phone i{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:rgba(207,173,118,.16);color:var(--sap-gold)}

/* right: benefits and downloads */
.sap-body{padding:34px 34px 26px;display:flex;flex-direction:column;gap:20px}
.sap-lead{margin:0 34px 0 0;font-size:15px;line-height:1.6;color:var(--sap-muted)}
.sap-list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.sap-list li{display:flex;gap:13px;align-items:flex-start;font-size:14.5px;line-height:1.45}
.sap-list b{display:block;font-weight:600;color:var(--sap-ink)}
.sap-list span{color:var(--sap-muted);font-size:13px}
.sap-li-ic{width:36px;height:36px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:#f1e9f3;color:var(--sap-purple)}
.sap-li-ic svg,.sap-phone svg{width:18px;height:18px}
.sap-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.sap-btn{flex:1 1 200px;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:16px;text-decoration:none;font:inherit;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s;border:1px solid transparent}
.sap-btn svg{width:24px;height:24px;flex:0 0 auto}
.sap-btn small{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.sap-btn strong{display:block;font-size:15.5px;font-weight:600;line-height:1.2}
.sap-btn-main{color:#fff;background:linear-gradient(135deg,var(--sap-royal),var(--sap-purple));box-shadow:0 16px 30px -14px rgba(97,33,121,.7)}
.sap-btn-main:hover{transform:translateY(-2px);box-shadow:0 20px 36px -14px rgba(97,33,121,.8);color:#fff}
.sap-btn-main svg{color:var(--sap-gold)}
.sap-btn-soon{color:var(--sap-muted);background:#fff;border-color:#e8dfea;cursor:default}
.sap-note{margin:-6px 0 0;font-size:12px;line-height:1.5;color:var(--sap-muted)}
.sap-qr{display:flex;gap:16px;align-items:center;padding:14px;border-radius:18px;background:#fff;border:1px solid #ece3ee}
.sap-qr[hidden]{display:none}
.sap-qr canvas,.sap-qr img{width:104px;height:104px;flex:0 0 auto;border-radius:10px;image-rendering:pixelated}
.sap-qr p{margin:0;font-size:13px;line-height:1.5;color:var(--sap-muted)}
.sap-qr p b{display:block;margin-bottom:3px;font-size:14.5px;color:var(--sap-ink)}
.sap-later{align-self:center;margin-top:-4px;background:none;border:0;padding:6px 10px;font:600 11px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--sap-muted);cursor:pointer}
.sap-later:hover{color:var(--sap-purple)}
.sap-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--sap-ink);background:rgba(255,255,255,.85);border:1px solid #e8dfea;transition:background .2s,transform .2s}
.sap-close:hover{background:#fff;transform:rotate(90deg)}
.sap-close svg{width:16px;height:16px}

.sap :focus-visible{outline:2px solid var(--sap-gold);outline-offset:3px}

/* footer link */
.footer-app{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:10px 16px 10px 10px;border-radius:14px;border:1px solid rgba(207,173,118,.4);color:#fff;text-decoration:none;font-size:13px;line-height:1.3;transition:background .25s,border-color .25s}
.footer-app:hover{background:rgba(207,173,118,.1);border-color:rgba(207,173,118,.7);color:#fff}
.footer-app img{width:34px;height:34px;border-radius:9px}
.footer-app small{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#cfad76}

/* phones: a sheet from the bottom */
@media (max-width:720px){
  .sap{padding:0;align-items:flex-end}
  .sap-card{grid-template-columns:minmax(0,1fr);overflow-x:hidden;border-radius:26px 26px 0 0;max-height:92vh;transform:translateY(40px)}
  .sap-hero{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;padding:24px 22px 22px}
  .sap-hero:after{inset:10px}
  .sap-icon{width:58px;height:58px;border-radius:16px}
  .sap-hero-text{flex:1;min-width:0;padding-right:34px}
  .sap-title{font-size:29px}
  .sap-eyebrow{margin:0 0 4px}
  .sap-phone{display:none}
  .sap-body{padding:22px 20px calc(18px + env(safe-area-inset-bottom));gap:16px}
  .sap-lead{font-size:14px;margin-right:0}
  .sap-title{overflow-wrap:anywhere}
  .sap-list{gap:10px}
  .sap-list span{display:none}
  .sap-li-ic{width:32px;height:32px;border-radius:10px}
  .sap-close{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#fff}
}
@media (prefers-reduced-motion:reduce){.sap-card,.sap-backdrop{transition:none}}
.sap .sap-card:focus,.sap .sap-card:focus-visible{outline:none}
