/* ────────────────────────────────────────────
   ADQ Area Soci — Frontend CSS v2.1
   Font: Montserrat | Green #51AD32 | Blue #1292EE
   max font-weight: 500
──────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap');

:root {
	--adq-green:   #51AD32;
	--adq-green-d: #3d8a24;
	--adq-blue:    #1292EE;
	--adq-blue-d:  #0a78cc;
	--adq-dark:    #222222;
	--adq-mid:     #555555;
	--adq-muted:   #888888;
	--adq-light:   #f5f8f3;
	--adq-border:  #d8e4d2;
	--adq-white:   #ffffff;
	--adq-radius:  5px;
	--adq-font:    'Montserrat', sans-serif;
}

/* ─── Reset ──────────────────────────────── */
.adq-area-wrap,
.adq-area-wrap *,
.adq-login-card,
.adq-login-card * {
	box-sizing: border-box;
	font-family: var(--adq-font);
	font-weight: 400;
}

/* ═══════════════════════════════════════════
   PAYWALL
═══════════════════════════════════════════ */
.adq-content-preview {
	opacity: .85;
	-webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
	        mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
}
.adq-paywall {
	text-align: center;
	padding: 2.25rem 1.5rem 2rem;
	margin: 1.5rem 0 2rem;
	background: var(--adq-light);
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
}
.adq-paywall-icon { font-size: 2.4rem; margin-bottom: .6rem; line-height: 1; }
.adq-paywall-msg  { font-size: .95rem; color: var(--adq-mid); margin: 0 0 1.25rem; line-height: 1.6; }
.adq-paywall-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Bottoni paywall */
.adq-paywall-btn {
	display: inline-block;
	padding: 9px 26px;
	border-radius: var(--adq-radius);
	border: 1.5px solid var(--adq-green);
	background: transparent;
	color: var(--adq-green) !important;
	font-family: var(--adq-font);
	font-weight: 500;
	font-size: .88rem;
	text-decoration: none !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	transition: background .18s, color .18s;
	cursor: pointer;
}
.adq-paywall-btn:hover {
	background: var(--adq-green);
	color: var(--adq-white) !important;
}
.adq-paywall-btn-outline {
	border-color: var(--adq-mid);
	color: var(--adq-mid) !important;
}
.adq-paywall-btn-outline:hover {
	background: var(--adq-mid);
	color: var(--adq-white) !important;
}

/* ═══════════════════════════════════════════
   HERO (non loggato / non socio)
═══════════════════════════════════════════ */
.adq-area-wrap { max-width: 900px; margin: 0 auto; }
.adq-area-hero {
	text-align: center;
	padding: 3.5rem 2rem;
	background: var(--adq-light);
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
}
.adq-area-lock   { font-size: 3rem; margin-bottom: .8rem; line-height: 1; }
.adq-area-hero h2 { margin: 0 0 .75rem; font-size: 1.5rem; font-weight: 500; color: var(--adq-dark); }
.adq-area-hero p  { color: var(--adq-mid); margin-bottom: 1.75rem; font-size: .95rem; line-height: 1.7; }
.adq-area-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Bottone primario sito-style */
.adq-btn,
.adq-btn-primary {
	display: inline-block;
	padding: 9px 26px;
	border-radius: var(--adq-radius);
	border: 1.5px solid var(--adq-green);
	background: transparent;
	color: var(--adq-green) !important;
	font-family: var(--adq-font);
	font-weight: 500;
	font-size: .88rem;
	text-decoration: none !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	transition: background .18s, color .18s;
	cursor: pointer;
	line-height: 1.4;
}
.adq-btn:hover,
.adq-btn-primary:hover {
	background: var(--adq-green);
	color: var(--adq-white) !important;
}
.adq-btn-outline {
	border-color: var(--adq-mid);
	color: var(--adq-mid) !important;
}
.adq-btn-outline:hover {
	background: var(--adq-mid);
	color: var(--adq-white) !important;
}

/* ═══════════════════════════════════════════
   DASHBOARD SOCIO
═══════════════════════════════════════════ */

/* ── Topbar ── */
.adq-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 14px 20px;
	background: var(--adq-dark);
	border-radius: var(--adq-radius);
	margin-bottom: 20px;
}
.adq-topbar-left {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.adq-badge {
	background: var(--adq-green);
	color: var(--adq-white);
	font-size: .72rem;
	font-weight: 500;
	padding: 3px 11px;
	border-radius: 20px;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.adq-topbar-name {
	color: var(--adq-white);
	font-size: .92rem;
	font-weight: 500;
}
.adq-topbar-since {
	color: #aaaaaa;
	font-size: .8rem;
}
.adq-btn-link {
	color: var(--adq-white) !important;
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none !important;
	border: 1px solid rgba(255,255,255,.35);
	padding: 5px 14px;
	border-radius: var(--adq-radius);
	transition: border-color .15s, background .15s;
}
.adq-btn-link:hover {
	border-color: var(--adq-white);
	background: rgba(255,255,255,.1);
}

/* ── Notice ── */
.adq-notice {
	padding: 11px 16px;
	border-radius: var(--adq-radius);
	font-size: .9rem;
	margin-bottom: 18px;
}
.adq-notice--success {
	background: #edfae6;
	color: var(--adq-green-d);
	border: 1px solid var(--adq-border);
}

/* ── Tabs ── */
.adq-tabs {
	display: flex;
	gap: 8px;
	border-bottom: 2px solid var(--adq-border);
	padding-bottom: 24px;
	margin-bottom: 24px;
}
.adq-tab {
	padding: 10px 30px 14px;
	background: none;
	border: none;
	border-bottom: none;
	font-family: var(--adq-font);
	font-size: .88rem;
	font-weight: 500;
	color: var(--adq-muted);
	letter-spacing: .03em;
	cursor: pointer;
	transition: color .15s, border-color .15s;
}
.adq-tab:hover { color: var(--adq-dark); }
.adq-tab--active {
	color: var(--adq-green);
}

/* ── Panels ── */
.adq-panel--hidden { display: none; }

/* ── Heading weights ── */
.adq-area-wrap h1,
.adq-area-wrap h2,
.adq-area-wrap h3,
.adq-area-wrap h4,
.adq-area-wrap h5,
.adq-area-wrap h6 { font-weight: 500 !important; }

/* ── Documenti ── */
.adq-docs-empty {
	color: var(--adq-muted);
	font-size: .92rem;
	padding: 12px 0;
}
.adq-doc-category { margin-bottom: 28px; }
.adq-doc-cat-title {
	font-size: .72rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--adq-muted);
	margin: 0 0 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--adq-border);
}
.adq-doc-list { list-style: none; margin: 0; padding: 0; }
.adq-doc-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
	margin-bottom: 8px;
	background: var(--adq-white);
	transition: border-color .15s, box-shadow .15s;
}
.adq-doc-item:hover {
	border-color: var(--adq-green);
	box-shadow: 0 2px 8px rgba(81,173,50,.08);
}
.adq-doc-icon  { font-size: 1.3rem; flex-shrink: 0; line-height: 1; }
.adq-doc-title { flex: 1; font-size: .92rem; font-weight: 500; color: var(--adq-dark); }
.adq-doc-date  { font-size: .76rem; color: var(--adq-muted); white-space: nowrap; }
.adq-doc-download {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 16px;
	border: 1.5px solid var(--adq-green);
	border-radius: var(--adq-radius);
	background: transparent;
	color: var(--adq-green) !important;
	font-size: .78rem;
	font-weight: 500;
	text-decoration: none !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background .15s, color .15s;
}
.adq-doc-download:hover {
	background: var(--adq-green);
	color: var(--adq-white) !important;
}

/* ── Profilo ── */
.adq-profile-section {
	background: var(--adq-white);
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
	padding: 24px 28px;
	margin-bottom: 20px;
}
.adq-profile-section h3 {
	margin: 0 0 20px;
	font-size: 1rem;
	font-weight: 500;
	color: var(--adq-dark);
	padding-bottom: 10px;
	border-bottom: 1px solid var(--adq-border);
}
.adq-profile-row {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}
.adq-profile-field {
	flex: 1;
	min-width: 200px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.adq-profile-field label {
	font-size: .8rem;
	font-weight: 500;
	color: var(--adq-mid);
	text-transform: uppercase;
	letter-spacing: .05em;
}
.adq-profile-field input {
	padding: 9px 12px;
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
	font-family: var(--adq-font);
	font-size: .92rem;
	color: var(--adq-dark);
	background: var(--adq-light);
	outline: none;
	transition: border-color .15s, box-shadow .15s;
	width: 100%;
}
.adq-profile-field input:focus {
	border-color: var(--adq-green);
	box-shadow: 0 0 0 3px rgba(81,173,50,.1);
	background: var(--adq-white);
}
.adq-profile-hint {
	font-size: .76rem;
	font-weight: 400;
	color: var(--adq-muted);
	text-transform: none;
	letter-spacing: 0;
}
.adq-profile-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 4px;
}
.adq-msg--ok  { font-size: .85rem; color: var(--adq-green-d); font-weight: 500; }
.adq-msg--err { font-size: .85rem; color: #cc2222; font-weight: 500; }

/* ═══════════════════════════════════════════
   LOGIN FORM / CAMBIO PASSWORD
═══════════════════════════════════════════ */
.adq-login-card {
	max-width: 420px;
	margin: 2rem auto;
	background: var(--adq-white);
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
	padding: 2.5rem 2.25rem 2rem;
	box-shadow: 0 4px 20px rgba(81,173,50,.07);
	text-align: center;
}
.adq-login-logo     { font-size: 2.6rem; margin-bottom: .7rem; line-height: 1; }
.adq-login-title    { margin: 0 0 .4rem; font-size: 1.4rem; font-weight: 500; color: var(--adq-dark); }
.adq-login-subtitle { color: var(--adq-muted); margin: 0 0 1.5rem; font-size: .88rem; line-height: 1.6; }
.adq-login-error {
	background: #fff0f0;
	color: #cc2222;
	border: 1px solid #f5c2c2;
	border-radius: var(--adq-radius);
	padding: 10px 14px;
	margin-bottom: 1.2rem;
	font-size: .88rem;
	text-align: left;
}
.adq-login-form { text-align: left; }
.adq-login-field { margin-bottom: 1rem; }
.adq-login-field label {
	display: block;
	font-size: .78rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--adq-mid);
	margin-bottom: 5px;
}
.adq-login-field input[type="text"],
.adq-login-field input[type="password"] {
	width: 100%;
	padding: 10px 12px;
	border: 1.5px solid var(--adq-border);
	border-radius: var(--adq-radius);
	font-family: var(--adq-font);
	font-size: .92rem;
	background: var(--adq-light);
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}
.adq-login-field input:focus {
	border-color: var(--adq-green);
	box-shadow: 0 0 0 3px rgba(81,173,50,.1);
	background: var(--adq-white);
}
.adq-login-remember {
	margin-bottom: 1.4rem;
	font-size: .85rem;
	color: var(--adq-mid);
}
.adq-login-remember input { margin-right: 5px; vertical-align: middle; accent-color: var(--adq-green); }
.adq-login-submit {
	width: 100%;
	padding: 11px;
	border: 1.5px solid var(--adq-green);
	border-radius: var(--adq-radius);
	background: transparent;
	color: var(--adq-green);
	font-family: var(--adq-font);
	font-size: .88rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .18s, color .18s;
}
.adq-login-submit:hover {
	background: var(--adq-green);
	color: var(--adq-white);
}
.adq-login-forgot {
	margin-top: .75rem;
	text-align: right;
	font-size: .82rem;
}
.adq-login-forgot a {
	color: var(--adq-muted);
	text-decoration: none;
}
.adq-login-forgot a:hover { color: var(--adq-green); text-decoration: underline; }
.adq-login-footer {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--adq-border);
	font-size: .82rem;
	color: var(--adq-muted);
}
.adq-login-footer a {
	color: var(--adq-green);
	font-weight: 500;
	text-decoration: none;
}
.adq-login-footer a:hover { text-decoration: underline; }
.adq-pw-hint {
	font-size: .75rem;
	font-weight: 400;
	color: var(--adq-muted);
	text-transform: none;
	letter-spacing: 0;
}
.adq-pw-success {
	background: #edfae6;
	color: var(--adq-green-d);
	border: 1px solid var(--adq-border);
	border-radius: var(--adq-radius);
	padding: 12px 16px;
	margin-bottom: 1.25rem;
	font-size: .9rem;
	font-weight: 500;
}

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 640px) {
	.adq-topbar { flex-direction: column; align-items: flex-start; gap: 12px; }
	.adq-btn-link { align-self: flex-start; }
	.adq-tabs { overflow-x: auto; }
	.adq-tab  { padding: 10px 16px; font-size: .82rem; }
	.adq-doc-item { flex-wrap: wrap; gap: 8px; }
	.adq-doc-date     { order: 3; }
	.adq-doc-download { order: 4; width: 100%; justify-content: center; }
	.adq-profile-section { padding: 18px 16px; }
	.adq-profile-row  { flex-direction: column; gap: 14px; }
	.adq-login-card   { padding: 2rem 1.25rem 1.5rem; }
}

/* Nascondi icona e titolo nel box login e non-socio */
.adq-login-logo,
.adq-login-title,
.adq-area-lock,
.adq-area-hero h2 { display: none !important; }
