/* In-site login / register */
.sn-auth{ display:flex; justify-content:center; padding:8px 0 40px; }
.sn-auth__card{ width:100%; max-width:440px; background:#fff; border:1px solid rgba(184,135,58,.35); border-top:4px solid #7A1F3D; border-radius:6px; padding:36px 32px 32px; box-shadow:0 18px 40px -22px rgba(122,31,61,.35); }
.sn-auth__eyebrow{ margin:0 0 6px; font-size:11px; letter-spacing:3px; font-weight:600; color:#B8873A; text-align:center; }
.sn-auth__title{ margin:0 0 6px; font-family:'Playfair Display',serif; font-size:30px; line-height:1.2; color:#7A1F3D; text-align:center; }
.sn-auth__sub{ margin:0 0 22px; text-align:center; color:#6b5d57; font-size:14px; }
.sn-auth__tabs{ display:flex; margin:22px 0 20px; border-bottom:1px solid rgba(184,135,58,.35); }
.sn-auth__tab{ flex:1; background:none; border:0; border-bottom:3px solid transparent; margin-bottom:-1px; padding:12px 8px; font:600 13px 'Work Sans',sans-serif; letter-spacing:2px; text-transform:uppercase; color:#8a7a72; cursor:pointer; }
.sn-auth__tab.is-active{ color:#7A1F3D; border-bottom-color:#7A1F3D; }
.sn-auth__tab:hover{ color:#B8873A; }
.sn-auth__alert{ background:#F0D3DE; color:#7A1F3D; border-left:3px solid #7A1F3D; padding:10px 14px; font-size:14px; margin-bottom:16px; border-radius:3px; }
.sn-auth__form{ display:none; }
.sn-auth__form.is-active{ display:block; }
.sn-auth__form label{ display:block; margin:0 0 16px; font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:#2B2320; }
.sn-auth__form input[type=text], .sn-auth__form input[type=email], .sn-auth__form input[type=password]{ display:block; width:100%; box-sizing:border-box; margin-top:6px; padding:12px 14px; background:#FBF6EF; border:1px solid rgba(184,135,58,.5); border-radius:4px; font:400 15px 'Work Sans',sans-serif; color:#2B2320; text-transform:none; letter-spacing:0; }
.sn-auth__form input:focus{ outline:0; border-color:#7A1F3D; box-shadow:0 0 0 3px rgba(122,31,61,.15); }
.sn-auth__form small{ display:block; margin-top:4px; font-weight:400; text-transform:none; letter-spacing:0; color:#8a7a72; }
.sn-auth__row{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; font-size:13px; }
.sn-auth__form .sn-auth__check{ display:flex; align-items:center; gap:8px; margin:0; font-weight:400; text-transform:none; letter-spacing:0; font-size:13px; }
.sn-auth__hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.sn-auth__btn{ display:block; width:100%; box-sizing:border-box; text-align:center; background:#7A1F3D; color:#FBF6EF !important; border:1px solid #7A1F3D; border-radius:4px; padding:13px 18px; font:600 13px 'Work Sans',sans-serif; letter-spacing:2px; text-transform:uppercase; cursor:pointer; margin-top:6px; transition:background .15s,color .15s; }
.sn-auth__btn:hover{ background:#B8873A; border-color:#B8873A; }
.sn-auth__btn--ghost{ background:transparent; color:#7A1F3D !important; margin-top:12px; }
.sn-auth__btn--ghost:hover{ background:#7A1F3D; color:#FBF6EF !important; border-color:#7A1F3D; }
@media (max-width:520px){ .sn-auth__card{ padding:28px 20px 24px; } .sn-auth__title{ font-size:26px; } }
.sn-auth__social{ margin:0 0 18px; }
.sn-auth__social .nsl-container{ margin:0 0 4px; }
.sn-auth__or{ display:flex; align-items:center; gap:12px; margin-top:14px; color:#8a7a72; font-size:11px; letter-spacing:2px; text-transform:uppercase; }
.sn-auth__or:before,.sn-auth__or:after{ content:''; flex:1; height:1px; background:rgba(184,135,58,.35); }
