/* Makesake Books — Personalised Hero Section
   Purple/black theme, Fredoka font. Enqueue this file + the Fredoka
   Google Font in functions.php (see functions-snippet.php). */

.msb-hero{
	--msb-ink:#0A0A0F;
	--msb-ink-soft:#4A4750;
	--msb-muted:#847F91;
	--msb-purple:#6B3FD4;
	--msb-purple-dark:#54309F;
	--msb-pink:#FDDFDD;
	--msb-orange:#EE7B22;
	--msb-green:#60AD56;
	--msb-panel:#14101F;
	--msb-radius:22px;

	background:#FFFFFF;
	color:var(--msb-ink);
	font-family:'Fredoka', sans-serif;
	-webkit-font-smoothing:antialiased;
}

.msb-hero *{ box-sizing:border-box; }

.msb-hero-inner{
	max-width:1240px;
	margin:0 auto;
	padding:0 32px 0;
}

.msb-hero-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px;
	align-items:center;
}

.msb-kicker{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:.74rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.07em;
	color:var(--msb-purple-dark);
	background:var(--msb-pink);
	padding:8px 15px;
	border-radius:100px;
	margin-bottom:26px;
}
.msb-kicker svg{ width:13px; height:13px; }

.msb-hero h1{
	font-weight:600;
	font-size:clamp(2.4rem, 4vw, 3.55rem);
	line-height:1.09;
	letter-spacing:-0.015em;
	margin:0 0 24px;
	color:var(--msb-ink);
}
.msb-hero h1 em{ font-style:normal; font-weight:600; color:var(--msb-purple); }

.msb-sub{
	font-size:1.12rem;
	font-weight:400;
	line-height:1.62;
	color:var(--msb-ink-soft);
	max-width:490px;
	margin:0 0 20px;
}

.msb-rep-list{
	list-style:none;
	padding:0;
	margin:0 0 34px;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.msb-rep-list li{
	font-size:.84rem;
	font-weight:500;
	color:var(--msb-ink-soft);
	background:#F5F2FB;
	border:1px solid rgba(107,63,212,0.15);
	padding:7px 13px;
	border-radius:100px;
}

.msb-cta-row{
	display:flex;
	align-items:center;
	gap:22px;
	margin-bottom:38px;
	flex-wrap:wrap;
}

.msb-btn-primary{
	font-family:'Fredoka', sans-serif;
	font-weight:600;
	font-size:1rem;
	color:#fff;
	background:var(--msb-purple);
	border:none;
	padding:16px 30px;
	border-radius:100px;
	cursor:pointer;
	display:inline-block;
	text-decoration:none;
	box-shadow:0 10px 24px -10px rgba(107,63,212,0.55);
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.msb-btn-primary:hover{ background:var(--msb-purple-dark); transform:translateY(-1px); box-shadow:0 14px 28px -10px rgba(84,48,159,0.55); color:#fff; }
.msb-btn-primary:focus-visible{ outline:3px solid var(--msb-orange); outline-offset:3px; }

.msb-btn-ghost{
	font-family:'Fredoka', sans-serif;
	font-weight:500;
	font-size:.98rem;
	color:var(--msb-ink);
	background:none;
	border:none;
	cursor:pointer;
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 2px;
	border-bottom:1.5px solid var(--msb-ink);
	text-decoration:none;
}
.msb-btn-ghost:hover{ color:var(--msb-purple); border-color:var(--msb-purple); }
.msb-btn-ghost:focus-visible{ outline:3px solid var(--msb-orange); outline-offset:4px; }

.msb-trust{
	display:flex;
	flex-wrap:wrap;
	gap:10px 22px;
	font-size:.86rem;
	font-weight:500;
	color:var(--msb-muted);
}
.msb-trust span{ display:flex; align-items:center; gap:8px; }
.msb-trust b{ color:var(--msb-ink-soft); font-weight:600; }
.msb-dot{ width:5px; height:5px; border-radius:50%; background:var(--msb-muted); flex:none; }
.msb-dot-orange{ background:var(--msb-orange); }
.msb-dot-green{ background:var(--msb-green); }

.msb-visual{ position:relative; }

.msb-hero-image-frame{
	position:relative;
	width:fit-content;
	max-width:100%;
	margin:0 auto;
	background:var(--msb-panel);
	border-radius:var(--msb-radius);
	padding:16px;
	box-shadow:0 30px 60px -30px rgba(10,10,15,0.45);
}
.msb-hero-image-frame img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:500px;
	border-radius:14px;
}

.msb-image-caption{
	display:flex;
	align-items:center;
	gap:8px;
	padding:14px 6px 4px;
	font-size:.85rem;
	font-weight:500;
	color:#fff;
}
.msb-image-caption svg{ width:15px; height:15px; color:var(--msb-pink); flex:none; }

.msb-upload-card{
	position:absolute;
	right:-28px;
	bottom:-30px;
	width:190px;
	background:#fff;
	border-radius:16px;
	padding:12px;
	box-shadow:0 20px 40px -18px rgba(10,10,15,0.35);
	transform:rotate(7deg);
}
.msb-upload-card img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
	border-radius:10px;
	display:block;
}
.msb-upload-label{
	font-size:.66rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.05em;
	color:var(--msb-muted);
	margin-bottom:6px;
}
.msb-upload-row{
	display:flex;
	align-items:center;
	gap:6px;
	margin-top:9px;
	font-size:.72rem;
	font-weight:600;
	color:var(--msb-ink-soft);
}
.msb-upload-status{ color:var(--msb-green); }
.msb-upload-row svg{ width:13px; height:13px; flex:none; }

@media (max-width:880px){
	.msb-hero-grid{ grid-template-columns:1fr; gap:70px; }
	.msb-sub{ max-width:none; }
	.msb-upload-card{ right:-14px; bottom:-26px; width:150px; }
}

@media (prefers-reduced-motion: reduce){
	.msb-btn-primary, .msb-btn-ghost{ transition:none; }
}
