/* Silver v0.9.18 — split-screen auth (sign in / sign up / lost + reset password). */

body.slv-auth-body{
	margin:0;
	background:#f6f5f7;
}
/* Kill any theme chrome that slips through on auth pages. */
body.slv-auth-body .slv-header,
body.slv-auth-body .slv-topbar,
body.slv-auth-body .slv-footer{
	display:none!important;
}
body.slv-auth-body #content,
body.slv-auth-body .site-content,
body.slv-auth-body .slv-page{
	margin:0!important;
	padding:0!important;
	max-width:none!important;
	width:100%!important;
}

.slv-auth{
	display:grid;
	grid-template-columns:minmax(380px,520px) minmax(0,1fr);
	min-height:100vh;
	min-height:100dvh;
	font-family:var(--slv-body,Inter,sans-serif);
}

/* ============ Left rail ============ */
.slv-auth__rail{
	position:relative;
	overflow:hidden;
	background:
		linear-gradient(200deg,rgba(255,77,147,.12),rgba(13,10,14,0) 40%),
		linear-gradient(340deg,rgba(111,99,255,.14),rgba(13,10,14,0) 45%),
		#0d0a0e;
	color:#fff;
	isolation:isolate;
}
.slv-auth__rail:before{
	content:"";
	position:absolute;
	inset:0;
	z-index:0;
	background:
		repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 88px),
		repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 88px);
	pointer-events:none;
}
.slv-auth__rail-glow{
	position:absolute;
	z-index:0;
	left:-30%;
	bottom:-35%;
	width:120%;
	height:75%;
	background:radial-gradient(closest-side,rgba(255,77,147,.16),rgba(111,99,255,.08) 55%,transparent 75%);
	filter:blur(10px);
	pointer-events:none;
}
.slv-auth__rail-inner{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	min-height:100%;
	padding:40px 44px 32px;
}
.slv-auth__brand{
	display:inline-flex;
	align-items:center;
	gap:12px;
	width:fit-content;
	text-decoration:none;
	color:#fff;
}
.slv-auth__brand img{
	display:block;
	max-height:40px;
	width:auto;
}
.slv-auth__brand-mark{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	border-radius:10px;
	background:linear-gradient(135deg,var(--slv-pink,#ff4d93),#ff7a3d);
	font-family:var(--slv-display,Sora,sans-serif);
	font-size:16px;
	font-weight:800;
	text-transform:uppercase;
}
.slv-auth__brand-name{
	font-family:var(--slv-display,Sora,sans-serif);
	font-size:20px;
	font-weight:800;
	letter-spacing:-.01em;
}
.slv-auth__pitch{
	max-width:340px;
	margin:auto 0;
	padding:48px 0;
}
.slv-auth__eyebrow{
	margin:0 0 14px;
	font-size:12px;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--slv-pink,#ff4d93);
}
.slv-auth__eyebrow--orange{
	color:#ff7a1a;
}
.slv-auth__headline{
	margin:0 0 20px;
	font-family:var(--slv-display,Sora,sans-serif);
	font-size:clamp(34px,3.4vw,46px);
	font-weight:800;
	line-height:1.06;
	letter-spacing:-.02em;
	color:#fff;
}
.slv-auth__headline em{
	font-style:normal;
	color:var(--slv-pink,#ff4d93);
}
.slv-auth--register .slv-auth__headline em{
	color:#ff7a1a;
}
.slv-auth__sub{
	margin:0;
	font-size:15px;
	line-height:1.55;
	color:rgba(255,255,255,.72);
}
.slv-auth__stats{
	display:flex;
	gap:34px;
	margin:36px 0 0;
}
.slv-auth__stats div{margin:0;}
.slv-auth__stats dt{
	font-family:var(--slv-display,Sora,sans-serif);
	font-size:20px;
	font-weight:800;
	color:#fff;
}
.slv-auth__stats dd{
	margin:4px 0 0;
	font-size:12px;
	color:rgba(255,255,255,.6);
}
.slv-auth__bullets{
	display:grid;
	gap:16px;
	margin:34px 0 0;
	padding:0;
	list-style:none;
}
.slv-auth__bullets li{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:14px;
	color:rgba(255,255,255,.86);
}
.slv-auth__bullet-ico{
	display:grid;
	place-items:center;
	flex-shrink:0;
	width:32px;
	height:32px;
	border-radius:50%;
	background:rgba(255,122,26,.14);
	border:1px solid rgba(255,122,26,.4);
	color:#ff8c33;
}
.slv-auth__bullet-ico .slv-ico{width:14px;height:14px;}
.slv-auth__copy{
	margin:0;
	font-size:11px;
	color:rgba(255,255,255,.45);
}

/* Floating product tiles — kept in safe zones so they never overlap the copy. */
.slv-auth__tiles{
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
}
.slv-auth-tile{
	position:absolute;
	display:block;
	width:88px;
	height:88px;
	overflow:hidden;
	border-radius:20px;
	box-shadow:0 18px 34px rgba(0,0,0,.5);
	opacity:.92;
	transform:rotate(-8deg);
	animation:slv-auth-float 7s ease-in-out infinite;
}
.slv-auth-tile__img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.slv-auth-tile__ph{
	display:grid;
	place-items:center;
	width:100%;
	height:100%;
	background:linear-gradient(135deg,#2a2036,#171221);
	color:var(--slv-pink,#ff4d93);
}
.slv-auth-tile__ph .slv-ico{width:26px;height:26px;}
.slv-auth-tile--1{top:9%;right:10%;transform:rotate(8deg);animation-delay:-1s;}
.slv-auth-tile--2{top:36%;right:4%;width:76px;height:76px;transform:rotate(-10deg);animation-delay:-3s;}
.slv-auth-tile--3{bottom:26%;right:14%;width:96px;height:96px;transform:rotate(6deg);animation-delay:-5s;}
.slv-auth-tile--4{bottom:7%;right:34%;width:72px;height:72px;transform:rotate(-7deg);animation-delay:-2s;}
.slv-auth-tile--5{top:16%;left:56%;width:64px;height:64px;transform:rotate(10deg);animation-delay:-4s;opacity:.6;}
@keyframes slv-auth-float{
	0%,100%{margin-top:0;}
	50%{margin-top:-12px;}
}
@media(prefers-reduced-motion:reduce){
	.slv-auth-tile{animation:none;}
}

/* ============ Right panel ============ */
.slv-auth__main{
	display:flex;
	flex-direction:column;
	min-width:0;
	background:#f6f5f7;
}
.slv-auth__topbar{
	display:flex;
	align-items:center;
	gap:16px;
	height:72px;
	padding:0 40px;
	background:#fff;
	border-bottom:1px solid #ebe9ee;
	font-size:14px;
}
.slv-auth__topbar-title{color:#4b4a55;}
.slv-auth__topbar-switch{color:#6b6a75;}
.slv-auth__topbar-switch a{
	font-weight:700;
	color:var(--slv-pink,#ff4d93);
	text-decoration:none;
}
.slv-auth__topbar-switch a:hover{text-decoration:underline;}
.slv-auth__panel{
	display:flex;
	flex-direction:column;
	justify-content:center;
	flex:1;
	width:min(100% - 48px,460px);
	margin:0 auto;
	padding:40px 0 48px;
}
.slv-auth__head h1{
	margin:0 0 8px;
	font-family:var(--slv-display,Sora,sans-serif);
	font-size:32px;
	font-weight:800;
	letter-spacing:-.02em;
	color:#131218;
}
.slv-auth__head p{
	margin:0 0 26px;
	font-size:15px;
	color:#6b6a75;
}

/* Notices */
.slv-auth__notices{margin:0 0 4px;}
.slv-auth__notices .woocommerce-error,
.slv-auth__notices .woocommerce-message,
.slv-auth__notices .woocommerce-info{
	margin:0 0 18px;
	padding:12px 16px;
	border:0;
	border-radius:12px;
	background:#fdecef;
	color:#b3123c;
	font-size:14px;
	list-style:none;
}
.slv-auth__notices .woocommerce-message,
.slv-auth__notices .woocommerce-info{
	background:#e9f8ee;
	color:#0c7a37;
}
.slv-auth__notices .woocommerce-error li{margin:0;padding:2px 0;list-style:none;}
.slv-auth__notices .woocommerce-error a,
.slv-auth__notices .woocommerce-message a{color:inherit;font-weight:700;}

/* Card */
.slv-auth__card{
	margin:0;
	padding:28px;
	border-radius:20px;
	background:#fff;
	box-shadow:0 18px 45px rgba(19,18,24,.08);
}
.slv-auth__field{margin:0 0 18px;}
.slv-auth__field label,
.slv-auth__field-head label{
	display:block;
	margin-bottom:8px;
	font-size:12px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#2b2a33;
}
.slv-auth__field-head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
}
.slv-auth__forgot{
	font-size:12px;
	font-weight:700;
	color:var(--slv-pink,#ff4d93);
	text-decoration:none;
}
.slv-auth__forgot:hover{text-decoration:underline;}
.slv-auth__input{
	position:relative;
	display:flex;
	align-items:center;
}
.slv-auth__input > .slv-ico{
	position:absolute;
	left:14px;
	width:16px;
	height:16px;
	color:#a3a1ad;
	pointer-events:none;
}
.slv-auth__input input{
	width:100%;
	height:48px;
	padding:0 46px 0 42px;
	border:1px solid #e7e5ec;
	border-radius:10px;
	background:#f4f3f6;
	font-size:15px;
	font-family:inherit;
	color:#131218;
	transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.slv-auth__input input::placeholder{color:#a8a6b2;}
.slv-auth__input input:focus{
	outline:none;
	background:#fff;
	border-color:var(--slv-pink,#ff4d93);
	box-shadow:0 0 0 3px rgba(255,77,147,.14);
}
.slv-auth__eye{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:8px;
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	padding:0;
	border:0;
	border-radius:8px;
	background:transparent;
	color:#8f8d9a;
	cursor:pointer;
}
.slv-auth__eye:hover{color:#131218;background:#eceaf0;}
.slv-auth__eye .slv-ico{width:16px;height:16px;}
.slv-auth__hint{
	margin:0 0 18px;
	font-size:13px;
	color:#6b6a75;
}

/* Checkbox */
.slv-auth__check{
	display:flex;
	align-items:center;
	gap:10px;
	margin:2px 0 20px;
	cursor:pointer;
	font-size:14px;
	color:#4b4a55;
}
.slv-auth__check input{
	position:absolute;
	opacity:0;
	width:1px;
	height:1px;
}
.slv-auth__check-box{
	flex-shrink:0;
	width:19px;
	height:19px;
	border-radius:50%;
	border:2px solid #cfcdd8;
	background:#fff;
	transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.slv-auth__check input:focus-visible + .slv-auth__check-box{
	box-shadow:0 0 0 3px rgba(255,77,147,.2);
}
.slv-auth__check input:checked + .slv-auth__check-box{
	border-color:var(--slv-pink,#ff4d93);
	background:radial-gradient(circle,var(--slv-pink,#ff4d93) 0 45%,#fff 50%);
}
.slv-auth__check-text a{
	font-weight:700;
	color:var(--slv-pink,#ff4d93);
	text-decoration:none;
}
.slv-auth__check-text a:hover{text-decoration:underline;}

/* Submit */
.slv-auth__submit-row{margin:0;}
.slv-auth__submit{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	width:100%;
	height:50px;
	padding:0 18px;
	border:0;
	border-radius:12px;
	background:linear-gradient(90deg,var(--slv-pink,#ff4d93) 0%,#ff7a3d 100%);
	color:#fff;
	font-family:inherit;
	font-size:15px;
	font-weight:800;
	cursor:pointer;
	transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,opacity .14s ease;
}
.slv-auth__submit .slv-ico{width:16px;height:16px;transition:transform .14s ease;}
.slv-auth__submit:hover{
	filter:brightness(1.05);
	box-shadow:0 10px 24px rgba(255,77,147,.32);
}
.slv-auth__submit:hover .slv-ico{transform:translateX(3px);}
.slv-auth__submit:active{transform:translateY(1px);}
.slv-auth__submit[disabled]{
	background:#f8c7da;
	color:#fff;
	cursor:not-allowed;
	box-shadow:none;
	filter:none;
}

/* Trust badges + legal */
.slv-auth__trust{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:26px;
	margin:22px 0 0;
	padding:0;
	list-style:none;
}
.slv-auth__trust li{
	display:inline-flex;
	align-items:center;
	gap:7px;
	font-size:12.5px;
	font-weight:600;
	color:#55535f;
}
.slv-auth__trust .slv-ico{
	width:14px;
	height:14px;
	color:#ff7a1a;
}
.slv-auth__trust li + li .slv-ico{color:var(--slv-pink,#ff4d93);}
.slv-auth__legal{
	margin:14px 0 0;
	text-align:center;
	font-size:12.5px;
	color:#77757f;
}
.slv-auth__legal a{
	font-weight:700;
	color:var(--slv-pink,#ff4d93);
	text-decoration:none;
}
.slv-auth__legal a:hover{text-decoration:underline;}

/* Anything a plugin injects via WC form hooks inherits a sane look. */
.slv-auth__card p:not([class]){margin:0 0 16px;font-size:14px;color:#4b4a55;}
.slv-auth__card input[type="text"]:not(.slv-auth__input input),
.slv-auth__card input[type="email"]:not(.slv-auth__input input){max-width:100%;}

/* ============ Responsive ============ */
@media(max-width:1100px){
	.slv-auth{grid-template-columns:minmax(320px,420px) minmax(0,1fr);}
	.slv-auth__rail-inner{padding:32px 32px 26px;}
	.slv-auth-tile--5{display:none;}
}
@media(max-width:860px){
	.slv-auth{
		display:flex;
		flex-direction:column;
		min-height:100vh;
	}
	.slv-auth__rail{display:none;}
	.slv-auth__main{flex:1;}
	.slv-auth__topbar{padding:0 20px;}
	.slv-auth__panel{padding:28px 0 40px;}
	.slv-auth__head h1{font-size:27px;}
	.slv-auth__card{padding:22px;border-radius:16px;}
}

/* ================= v0.9.19 ================= */

/* Bigger brand on the rail. */
.slv-auth__brand img{max-height:80px;}
.slv-auth__brand-mark{width:56px;height:56px;border-radius:14px;font-size:24px;}
.slv-auth__brand-name{font-size:28px;}

/* Topbar: return-to-website link; brand shows on mobile. */
.slv-auth__topbar-left{
	display:flex;
	align-items:center;
	gap:16px;
	min-width:0;
}
.slv-auth__topbar-brand{
	display:inline-flex;
	align-items:center;
	gap:10px;
	flex-shrink:0;
	text-decoration:none;
	color:#131218;
}
.slv-auth__topbar-brand img{
	display:block;
	max-height:48px;
	width:auto;
}
.slv-auth__topbar-brand .slv-auth__brand-mark{
	width:40px;
	height:40px;
	border-radius:11px;
	font-size:18px;
}
.slv-auth__topbar-back{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	font-weight:600;
	color:#4b4a55;
	text-decoration:none;
	white-space:nowrap;
}
.slv-auth__topbar-back:hover{color:var(--slv-pink,#ff4d93);}

/* Name + surname side by side. */
.slv-auth__field-cols{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}
.slv-auth__field-cols .slv-auth__field{margin-bottom:18px;}

/* Card wrapper so the penguin can perch on the card. */
.slv-auth__card-wrap{position:relative;}
.slv-auth__card-wrap .slv-auth__card{position:relative;z-index:1;}

/* The Silver penguin. */
.slv-auth__mascot{
	position:relative;
	display:block;
	width:92px;
	height:84px;
	margin:0 0 20px;
	pointer-events:none;
	transform:none;
	filter:drop-shadow(0 10px 16px rgba(0,0,0,.35));
}
.slv-auth__mascot svg{display:block;width:100%;height:100%;}
.slv-mascot__flip{
	transition:transform .28s cubic-bezier(.34,1.56,.64,1);
	transform-origin:30px 58px;
}
.slv-mascot__flip--r{transform-origin:90px 58px;}
.slv-mascot__pupil{transition:opacity .15s ease;}
/* Password focused -> flippers swing up over the eyes. */
.slv-auth.is-peekaboo .slv-mascot__flip--l{transform:rotate(118deg) translate(2px,-6px);}
.slv-auth.is-peekaboo .slv-mascot__flip--r{transform:rotate(-118deg) translate(-2px,-6px);}
.slv-auth.is-peekaboo .slv-mascot__pupil{opacity:0;}
@media(prefers-reduced-motion:reduce){
	.slv-mascot__flip,.slv-mascot__pupil{transition:none;}
}

/* Confirm-password mismatch hint. */
.slv-auth__input.is-mismatch input{
	border-color:#e11d48;
	box-shadow:0 0 0 3px rgba(225,29,72,.12);
}

@media(max-width:860px){
	/* Mobile: header with the logo, like the site. */
	.slv-auth__topbar{height:68px;}
	.slv-auth__topbar-brand{display:inline-flex;}
}
@media(max-width:440px){
	.slv-auth__topbar-back-text{display:none;}
	.slv-auth__field-cols{grid-template-columns:1fr;gap:0;}
}

/* ============================================================================
   Silver v0.9.35 — auth refresh: back-to-site link lives in the panel head,
   the login/register switch lives inside the form card, the topbar is
   logo-only (bigger logo), the mascot gets guaranteed headroom, and the
   password eye buttons are vertically locked to the input center.
   ============================================================================ */
.slv-auth__back{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 0 16px;
	font-size:13px;
	font-weight:700;
	color:#6b6a75;
	text-decoration:none;
}
.slv-auth__back:hover{color:var(--slv-pink,#ff4d93);}
.slv-auth__back span{font-size:15px;line-height:1;}
.slv-auth__switch{
	margin:18px 0 0;
	padding-top:16px;
	border-top:1px solid #efedf3;
	text-align:center;
	font-size:13.5px;
	color:#6b6a75;
}
.slv-auth__switch a{
	font-weight:800;
	color:var(--slv-pink,#ff4d93);
	text-decoration:none;
}
.slv-auth__switch a:hover{text-decoration:underline;}
.slv-auth__brand-name--dark{color:#131218;}
@media(max-width:440px){
	.slv-auth__topbar-brand img{max-height:40px;}
}

/* Silver v0.9.37 — penguin redesign: it PEEKS from behind the card's right
   edge, half tucked behind (z0 under the card's z1), tilted -12deg. The
   horizontal clip stops the overhang creating scrollbars on phones. */
.slv-auth__mascot:after{content:none;}
.slv-auth__main{overflow-x:clip;}

/* ============================================================================
   Silver v0.9.38 — penguin lives in the dark rail above the pitch headline,
   in normal flow: no absolute positioning, no overlap, nothing to break.
   The stubborn SPACE ABOVE THE CARD: WooCommerce prints an empty
   woocommerce-notices-wrapper div there and global (Porto) styles give it
   margins — killed below, plus tighter head spacing.
   ============================================================================ */
.slv-auth .woocommerce-notices-wrapper:empty{display:none!important;margin:0!important;padding:0!important;}
.slv-auth__notices:empty{display:none;}
.slv-auth__head p{margin-bottom:18px;}

/* Silver v0.9.81 — the switch line's base margin+padding+divider stacked on
   the inline gap, detaching it ~50px from the form on fresh CSS.
   The inline 14px is now the ONLY gap. */
.slv-auth__switch{margin-top:0!important;padding-top:0!important;border-top:0!important;}

/* Silver v0.9.83 — Chrome placed the switch (a BFC) beside a preceding
   float; Firefox dropped it below. clear:both + full width removes float
   interaction entirely in every engine. */
.slv-auth__switch{clear:both!important;float:none!important;width:100%!important;}
.slv-auth__card::after{content:"";display:block;clear:both;}
