/* MIP Members: barra utente, invito area riservata, pagine account */
:root {
	--mip-blue: var(--e-global-color-primary, #1C9CD8);
	--mip-dark: var(--e-global-color-secondary, #0A0F16);
	--mip-text: var(--e-global-color-text, #1C1C1C);
	--mip-magenta: var(--e-global-color-accent, #BE3265);
	--mip-orange: #F49B00;
	--mip-ink-soft: #6B6B6B;
	--mip-paper: #F7F5F1;
	--mip-line: #E4E0D8;
	--mip-title-font: "DX Rigraf", "Outfit", sans-serif;
	--mip-body-font: "Outfit", sans-serif;
}

/* Barra utente */
.mip-topbar {
	background: var(--mip-dark);
	color: #fff;
	font-family: var(--mip-body-font);
	font-size: 13px;
	line-height: 1;
	position: relative;
	z-index: 1000;
}
.mip-topbar__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	min-height: 36px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.mip-topbar a { color: #fff; text-decoration: none; }
.mip-topbar a:hover, .mip-topbar a:focus-visible { color: var(--mip-blue); }
.mip-topbar__label { font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 11px; opacity: .85; }
.mip-topbar__links { display: flex; align-items: center; gap: 18px; }
.mip-topbar__hello { opacity: .7; }
.mip-topbar .mip-topbar__cta {
	background: var(--mip-magenta);
	padding: 7px 14px;
	border-radius: 999px;
	font-weight: 600;
}
.mip-topbar .mip-topbar__cta:hover, .mip-topbar .mip-topbar__cta:focus-visible { background: #E0497F; color: #fff; }
@media (max-width: 600px) {
	.mip-topbar__label { display: none; }
	.mip-topbar__inner { justify-content: flex-end; padding: 0 16px; }
	.mip-topbar__hello { display: none; }
	.mip-topbar__links { gap: 14px; }
}

/* Pulsanti */
.mip-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 26px;
	border-radius: 999px;
	border: 2px solid transparent;
	font-family: var(--mip-body-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.mip-btn--primary { background: var(--mip-magenta); color: #fff; }
.mip-btn--primary:hover, .mip-btn--primary:focus-visible { background: #E0497F; color: #fff; }
.mip-btn--ghost { background: transparent; color: var(--mip-dark); border-color: var(--mip-dark); }
.mip-btn--ghost:hover, .mip-btn--ghost:focus-visible { background: var(--mip-dark); color: #fff; }
.mip-btn--block { width: 100%; }

/* Invito area riservata */
.mip-gate { padding: 72px 24px 96px; background: var(--mip-paper); }
.mip-gate__box {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
	background: #fff;
	border-radius: 24px;
	padding: 56px 40px;
	box-shadow: 0 20px 60px rgba(10, 15, 22, .08);
	border-top: 6px solid var(--mip-blue);
}
.mip-gate__eyebrow {
	display: inline-block;
	font-family: var(--mip-body-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mip-magenta);
	margin-bottom: 12px;
}
.mip-gate__title {
	font-family: var(--mip-title-font);
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.1;
	color: var(--mip-dark);
	margin: 0 0 16px;
}
.mip-gate__text { font-family: var(--mip-body-font); font-size: 17px; line-height: 1.6; color: var(--mip-ink-soft); margin: 0 auto 32px; max-width: 560px; }
.mip-gate__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
@media (max-width: 600px) {
	.mip-gate { padding: 48px 16px 64px; }
	.mip-gate__box { padding: 40px 20px; }
	.mip-gate__actions .mip-btn { width: 100%; }
}

/* Pagine account */
.mip-auth, .mip-account {
	font-family: var(--mip-body-font);
	color: var(--mip-text);
	padding: 56px 16px 96px;
}
.mip-auth { max-width: 480px; margin: 0 auto; }
.mip-auth--wide { max-width: 680px; }
.mip-account { max-width: 1040px; margin: 0 auto; display: grid; gap: 24px; }
.mip-card {
	background: #fff;
	border: 1px solid var(--mip-line);
	border-radius: 20px;
	padding: 40px;
	box-shadow: 0 12px 40px rgba(10, 15, 22, .05);
}
.mip-card__title { font-family: var(--mip-title-font); font-size: 34px; line-height: 1.1; color: var(--mip-dark); margin: 0 0 10px; }
.mip-card__subtitle { font-family: var(--mip-title-font); font-size: 22px; color: var(--mip-dark); margin: 0 0 20px; }
.mip-card__lead { color: var(--mip-ink-soft); font-size: 16px; line-height: 1.55; margin: 0 0 24px; }
.mip-card__foot { margin: 24px 0 0; font-size: 15px; color: var(--mip-ink-soft); text-align: center; }
.mip-card a:not(.mip-btn), .mip-alert a { color: var(--mip-magenta); }

.mip-form { display: grid; gap: 18px; }
.mip-form p { margin: 0; }
.mip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mip-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; color: var(--mip-dark); }
.mip-field small { display: block; margin-top: 6px; color: var(--mip-ink-soft); font-size: 13px; font-weight: 400; }
.mip-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	font: inherit;
	font-size: 16px;
	border: 1px solid #CFCAC0;
	border-radius: 10px;
	background: #fff;
	color: var(--mip-text);
}
.mip-field input:focus { outline: none; border-color: var(--mip-blue); box-shadow: 0 0 0 3px rgba(28, 156, 216, .2); }
.mip-pass { position: relative; display: block; }
.mip-pass input { padding-right: 72px; }
.mip-pass__toggle {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	background: none; border: 0; padding: 6px 10px; font: inherit; font-size: 13px; font-weight: 600;
	color: var(--mip-blue); cursor: pointer;
}
.mip-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; }
.mip-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; cursor: pointer; }
.mip-check input { margin-top: 3px; accent-color: var(--mip-magenta); }
.mip-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.mip-alert { border-radius: 10px; padding: 14px 16px; font-size: 15px; line-height: 1.5; margin-bottom: 18px; }
.mip-alert--error { background: #FCEBF1; color: #8A1C44; border: 1px solid #F3C3D4; }
.mip-alert--ok { background: #E8F5FC; color: #0E5C82; border: 1px solid #BFE3F5; }

.mip-account__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.mip-account__head .mip-card__lead { margin: 0; }
.mip-account__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.mip-paths { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.mip-paths a {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	padding: 18px 20px; border-radius: 14px; background: var(--mip-paper);
	color: var(--mip-dark) !important; text-decoration: none; font-weight: 600;
	transition: background-color .2s, color .2s;
}
.mip-paths a:hover, .mip-paths a:focus-visible { background: var(--mip-blue); color: #fff !important; }

@media (max-width: 800px) {
	.mip-account__cols, .mip-paths { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.mip-card { padding: 28px 20px; }
	.mip-grid { grid-template-columns: 1fr; }
	.mip-card__title { font-size: 28px; }
}
