/* =========================================================================
 * QuoVadis Core v2.2 — Pagine editoriali / contenuto
 * Stila i pattern delle pagine non-discovery (come-funziona, chi-siamo,
 * contatti, per-le-attività, legal). Caricato globalmente.
 * Selettori a bassa specificità (:where) per non scavalcare home/single.
 * ========================================================================= */

/* --- Ritmo verticale di base delle sezioni ------------------------------ */
:where(.qv-section) { padding-block: var(--qv-sp-8, 4rem); }
:where(.qv-section--cta) { background: var(--qv-bg-alt, #faf9f7); }
.qv-section__head { max-width: 720px; margin: 0 auto var(--qv-sp-6, 2rem); text-align: center; }
.qv-section__sub { color: var(--qv-fg-muted, #525252); font-size: var(--qv-fs-md, 1.125rem); margin: 0; }
.qv-section__note { color: var(--qv-fg-muted, #525252); font-size: var(--qv-fs-sm, 0.875rem); text-align: center; margin-top: var(--qv-sp-4, 1rem); }

/* --- Hero "soft" (pagine editoriali): crema + testo scuro, leggibile ----- */
.qv-hero--soft {
	background: linear-gradient(180deg, var(--qv-green-50, #f0fdf4) 0%, var(--qv-bg-alt, #faf9f7) 100%);
	border-bottom: 1px solid var(--qv-border, #e9e5e0);
	padding-block: var(--qv-sp-8, 4rem);
	text-align: center;
}
.qv-hero--soft .qv-hero__inner { max-width: 820px; margin-inline: auto; }
.qv-hero--soft .qv-hero__eyebrow {
	color: var(--qv-green-700, #15803d); font-weight: var(--qv-fw-bold, 700);
	text-transform: uppercase; letter-spacing: var(--qv-tracking-wide, 0.06em);
	font-size: var(--qv-fs-sm, 0.875rem); margin: 0 0 var(--qv-sp-3, 0.75rem);
}
.qv-hero--soft .qv-hero__title {
	color: var(--qv-fg, #1c1a17); font-size: var(--qv-fs-4xl, 3rem);
	line-height: 1.1; letter-spacing: var(--qv-tracking-tight, -0.02em); margin: 0 0 var(--qv-sp-4, 1rem);
}
.qv-hero--soft .qv-hero__lead { color: var(--qv-fg-muted, #525252); font-size: var(--qv-fs-lg, 1.25rem); margin: 0 auto; max-width: 680px; }
.qv-hero__cta { margin-top: var(--qv-sp-5, 1.5rem); display: flex; gap: var(--qv-sp-3, 0.75rem); justify-content: center; flex-wrap: wrap; }

/* --- Steps "big" (Come funziona) ---------------------------------------- */
.qv-steps-big {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: var(--qv-sp-6, 2rem);
	grid-template-columns: 1fr;
}
@media (min-width: 768px) { .qv-steps-big { grid-template-columns: repeat(3, 1fr); } }
.qv-steps-big__item {
	position: relative;
	background: var(--qv-neutral-0, #fff);
	border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-lg, 16px);
	padding: var(--qv-sp-6, 2rem);
	text-align: center;
	box-shadow: var(--qv-shadow-sm, 0 1px 2px rgba(0,0,0,0.06));
}
.qv-steps-big__num {
	position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--qv-green-600, #16a34a); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-weight: var(--qv-fw-bold, 700); font-size: var(--qv-fs-md, 1.125rem);
	box-shadow: var(--qv-shadow, 0 2px 8px rgba(0,0,0,0.08));
}
.qv-steps-big__icon { color: var(--qv-green-600, #16a34a); margin: var(--qv-sp-3, 0.75rem) auto var(--qv-sp-4, 1rem); width: 88px; }
.qv-steps-big__icon svg { width: 88px; height: 88px; }
.qv-steps-big__title { font-size: var(--qv-fs-lg, 1.25rem); margin: 0 0 var(--qv-sp-2, 0.5rem); }
.qv-steps-big__text { color: var(--qv-fg-muted, #525252); margin: 0; line-height: var(--qv-lh-relaxed, 1.65); }

/* --- FAQ (dl) ----------------------------------------------------------- */
.qv-faq { max-width: 760px; margin: 0 auto; }
.qv-faq__item {
	border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-md, 12px);
	padding: var(--qv-sp-5, 1.5rem);
	margin-bottom: var(--qv-sp-3, 0.75rem);
	background: var(--qv-neutral-0, #fff);
}
.qv-faq__q { font-weight: var(--qv-fw-bold, 700); font-size: var(--qv-fs-md, 1.125rem); color: var(--qv-fg, #1c1a17); margin: 0 0 var(--qv-sp-2, 0.5rem); }
.qv-faq__a { color: var(--qv-fg-muted, #525252); margin: 0; line-height: var(--qv-lh-relaxed, 1.65); }
.qv-faq__a a { color: var(--qv-link, #0067D7); }

/* --- CTA box ------------------------------------------------------------ */
.qv-cta-box {
	max-width: 720px; margin-inline: auto; text-align: center;
	background: var(--qv-neutral-0, #fff);
	border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-xl, 24px);
	padding: var(--qv-sp-7, 3rem) var(--qv-sp-6, 2rem);
	box-shadow: var(--qv-shadow-md, 0 8px 24px rgba(0,0,0,0.08));
}
.qv-cta-box h2 { font-size: var(--qv-fs-3xl, 2.25rem); margin: 0 0 var(--qv-sp-3, 0.75rem); }
.qv-cta-box p { color: var(--qv-fg-muted, #525252); }
.qv-cta-box__actions, .qv-cta-box p:last-child { display: flex; gap: var(--qv-sp-3, 0.75rem); justify-content: center; flex-wrap: wrap; margin-top: var(--qv-sp-4, 1rem); }

/* --- Benefits (Per le attività / Chi siamo) ----------------------------- */
.qv-benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--qv-sp-5, 1.5rem); grid-template-columns: 1fr; }
@media (min-width: 640px) { .qv-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .qv-benefits { grid-template-columns: repeat(3, 1fr); } }
.qv-benefits__item {
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-5, 1.5rem);
}
.qv-benefits__icon { color: var(--qv-green-600, #16a34a); width: 40px; height: 40px; margin-bottom: var(--qv-sp-3, 0.75rem); }
.qv-benefits__icon svg { width: 40px; height: 40px; }
.qv-benefits__item h3 { font-size: var(--qv-fs-lg, 1.25rem); margin: 0 0 var(--qv-sp-2, 0.5rem); }
.qv-benefits__item p { color: var(--qv-fg-muted, #525252); margin: 0; }

/* --- Tier table (pricing B2B) ------------------------------------------- */
.qv-tier-table { width: 100%; border-collapse: separate; border-spacing: 0; max-width: 1000px; margin-inline: auto; }
.qv-tier-table th, .qv-tier-table td { padding: var(--qv-sp-4, 1rem); border-bottom: 1px solid var(--qv-border, #e9e5e0); text-align: left; vertical-align: top; }
.qv-tier-table thead th { background: var(--qv-bg-alt, #faf9f7); font-weight: var(--qv-fw-bold, 700); }
.qv-tier { display: grid; gap: var(--qv-sp-5, 1.5rem); grid-template-columns: 1fr; }
@media (min-width: 768px) { .qv-tier { grid-template-columns: repeat(4, 1fr); } }
.qv-tier__price { font-size: var(--qv-fs-2xl, 1.875rem); font-weight: var(--qv-fw-extra, 800); color: var(--qv-green-700, #15803d); }

/* --- Prose (testi lunghi / legal) --------------------------------------- */
.qv-prose { max-width: 760px; margin-inline: auto; line-height: var(--qv-lh-relaxed, 1.65); color: var(--qv-fg, #1c1a17); }
.qv-prose h2 { margin-top: var(--qv-sp-7, 3rem); }
.qv-prose h3 { margin-top: var(--qv-sp-5, 1.5rem); }
.qv-prose p, .qv-prose li { color: var(--qv-fg-muted, #404040); }
.qv-prose__list { padding-left: var(--qv-sp-5, 1.5rem); }
.qv-prose--legal { font-size: var(--qv-fs-base, 1rem); }

/* --- Form (contatti, candidatura attività) ------------------------------ */
.qv-form-wrap { background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0); border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-6, 2rem); box-shadow: var(--qv-shadow-sm, 0 1px 2px rgba(0,0,0,0.06)); }
.qv-form-wrap--narrow { max-width: 640px; margin-inline: auto; }
.qv-form__fieldset { border: 0; padding: 0; margin: 0 0 var(--qv-sp-5, 1.5rem); }
.qv-form__legend-h2 { font-size: var(--qv-fs-xl, 1.5rem); margin: 0 0 var(--qv-sp-4, 1rem); }
.qv-form__row { margin-bottom: var(--qv-sp-4, 1rem); }
.qv-form__row--consent { display: flex; align-items: flex-start; gap: var(--qv-sp-2, 0.5rem); }
.qv-form__label { display: block; font-weight: var(--qv-fw-semibold, 600); margin-bottom: var(--qv-sp-2, 0.5rem); }
.qv-form__input, .qv-form__select, .qv-form__textarea {
	width: 100%; padding: 0.7rem 0.9rem;
	border: 1px solid var(--qv-border-strong, #d9d4ce); border-radius: var(--qv-r-md, 12px);
	font: inherit; color: var(--qv-fg, #1c1a17); background: var(--qv-neutral-0, #fff);
	transition: border-color var(--qv-tr-fast, 120ms ease), box-shadow var(--qv-tr-fast, 120ms ease);
}
.qv-form__input:focus, .qv-form__select:focus, .qv-form__textarea:focus {
	outline: none; border-color: var(--qv-green-600, #16a34a);
	box-shadow: var(--qv-shadow-focus, 0 0 0 3px rgba(22,163,74,0.30));
}
.qv-form__textarea { min-height: 120px; resize: vertical; }
.qv-form__hint { color: var(--qv-fg-muted, #737373); font-size: var(--qv-fs-sm, 0.875rem); margin-top: var(--qv-sp-1, 0.25rem); }
.qv-form__actions { margin-top: var(--qv-sp-5, 1.5rem); }
.qv-form__feedback { margin-top: var(--qv-sp-3, 0.75rem); font-size: var(--qv-fs-sm, 0.875rem); }
.qv-form__feedback--ok { color: var(--qv-success, #16a34a); }
.qv-form__feedback--error { color: var(--qv-danger, #dc2626); }
.qv-form--inline { display: flex; gap: var(--qv-sp-2, 0.5rem); flex-wrap: wrap; }

/* --- Contatti grid ------------------------------------------------------ */
.qv-contact-grid { display: grid; gap: var(--qv-sp-6, 2rem); grid-template-columns: 1fr; max-width: 1000px; margin-inline: auto; }
@media (min-width: 900px) { .qv-contact-grid { grid-template-columns: 1fr 1.4fr; } }
.qv-contact-grid__info { background: var(--qv-bg-alt, #faf9f7); border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-6, 2rem); }
.qv-contact-grid__email { font-size: var(--qv-fs-lg, 1.25rem); font-weight: var(--qv-fw-semibold, 600); color: var(--qv-link, #0067D7); }
.qv-contact-grid__hint { color: var(--qv-fg-muted, #525252); font-size: var(--qv-fs-sm, 0.875rem); }

/* --- Utility ------------------------------------------------------------ */
.qv-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* --- Esplora: stato prompt (nessuna posizione) -------------------------- */
.qv-results--prompt { padding-block: var(--qv-sp-7, 3rem); }
.qv-results__prompt { max-width: 720px; margin: 0 auto var(--qv-sp-8, 4rem); text-align: center; }
.qv-results__prompt h2 { font-size: var(--qv-fs-2xl, 1.875rem); margin: 0 0 var(--qv-sp-3, 0.75rem); }
.qv-results__prompt p { color: var(--qv-fg-muted, #525252); margin: 0 0 var(--qv-sp-5, 1.5rem); }
.qv-results__inspire-title { text-align: center; margin: 0 0 var(--qv-sp-5, 1.5rem); font-size: var(--qv-fs-xl, 1.5rem); }

/* --- Hero schede single (POI/attività): scrim + testo bianco leggibile --- */
.qv-hero:has(.qv-hero__zona) { position: relative; }
.qv-hero:has(.qv-hero__zona)::after {
	content: ""; position: absolute; inset: 0; z-index: 0;
	background: linear-gradient(180deg, rgba(18,32,22,0.12) 0%, rgba(18,32,22,0.62) 100%);
}
.qv-hero:has(.qv-hero__zona) .qv-hero__inner { position: relative; z-index: 1; }
.qv-hero:has(.qv-hero__zona) .qv-hero__title { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,0.45); }
.qv-hero:has(.qv-hero__zona) .qv-hero__zona {
	color: #fff; font-weight: var(--qv-fw-bold, 700);
	text-transform: uppercase; letter-spacing: var(--qv-tracking-wide, 0.06em);
	font-size: var(--qv-fs-sm, 0.875rem); text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}

/* --- Area account: form login WP nativo stilizzato --------------------- */
.qv-login-form label { display: block; font-weight: var(--qv-fw-semibold, 600); margin-bottom: var(--qv-sp-2, 0.5rem); }
.qv-login-form .login-username, .qv-login-form .login-password, .qv-login-form .login-remember, .qv-login-form .login-submit { margin: 0 0 var(--qv-sp-4, 1rem); }
.qv-login-form input.input, .qv-login-form input[type="text"], .qv-login-form input[type="password"] {
	width: 100%; padding: 0.7rem 0.9rem;
	border: 1px solid var(--qv-border-strong, #d9d4ce); border-radius: var(--qv-r-md, 12px);
	font: inherit; background: var(--qv-neutral-0, #fff);
}
.qv-login-form input.input:focus, .qv-login-form input[type="text"]:focus, .qv-login-form input[type="password"]:focus {
	outline: none; border-color: var(--qv-green-600, #16a34a); box-shadow: var(--qv-shadow-focus, 0 0 0 3px rgba(22,163,74,0.30));
}
.qv-login-form .login-remember label { font-weight: var(--qv-fw-regular, 400); display: flex; align-items: center; gap: var(--qv-sp-2, 0.5rem); }
.qv-login-form .login-remember input { width: auto; }
.qv-login-form #wp-submit {
	width: 100%; padding: 0.8rem 1.2rem; border: 0; cursor: pointer;
	background: var(--qv-green-600, #16a34a); color: #fff; font-weight: var(--qv-fw-bold, 700);
	border-radius: var(--qv-r-md, 12px); font-size: var(--qv-fs-base, 1rem);
}
.qv-login-form #wp-submit:hover { background: var(--qv-green-700, #15803d); }

/* --- Account: giornate salvate ----------------------------------------- */
.qv-account-days { display: grid; gap: var(--qv-sp-3, 0.75rem); grid-template-columns: 1fr; max-width: 720px; margin-inline: auto; }
@media (min-width: 640px) { .qv-account-days { grid-template-columns: repeat(2, 1fr); } }
.qv-account-day {
	display: flex; flex-direction: column; gap: 4px;
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-4, 1rem) var(--qv-sp-5, 1.5rem);
	text-decoration: none; color: var(--qv-fg, #1c1a17);
	transition: border-color var(--qv-tr-fast, 120ms ease), box-shadow var(--qv-tr-fast, 120ms ease);
}
.qv-account-day:hover { border-color: var(--qv-green-600, #16a34a); box-shadow: var(--qv-shadow, 0 2px 8px rgba(0,0,0,0.08)); text-decoration: none; }
.qv-account-day__title { font-weight: var(--qv-fw-bold, 700); font-size: var(--qv-fs-md, 1.125rem); }
.qv-account-day__meta { color: var(--qv-fg-muted, #525252); font-size: var(--qv-fs-sm, 0.875rem); }
.qv-section__note { text-align: center; margin-top: var(--qv-sp-6, 2rem); }

/* --- Header: icona account --------------------------------------------- */
.qv-header__account { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--qv-r-full, 9999px); border: 1px solid var(--qv-border, #e9e5e0); color: var(--qv-fg, #171717); }
.qv-header__account:hover { background: var(--qv-neutral-100, #f5f5f5); border-color: var(--qv-border-strong, #d4d4d4); }

/* --- Account prodotto: tessera, QR, eventi ----------------------------- */
.qv-account-grid { display: grid; gap: var(--qv-sp-5, 1.5rem); margin-bottom: var(--qv-sp-8, 4rem); }
.qv-member-card {
	display: grid; gap: var(--qv-sp-5, 1.5rem);
	grid-template-columns: minmax(0, 1fr);
	background: #0617f5; color: #fff;
	border-radius: var(--qv-r-lg, 16px);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	box-shadow: 0 18px 44px rgba(6,23,245,0.22);
}
@media (min-width: 780px) { .qv-member-card { grid-template-columns: minmax(0, 1fr) 300px; align-items: center; } }
.qv-member-card--inactive { background: #18181b; box-shadow: 0 18px 44px rgba(0,0,0,0.16); }
.qv-member-card__kicker { margin: 0 0 .5rem; color: #bef264; font-weight: 800; text-transform: uppercase; font-size: .82rem; letter-spacing: .06em; }
.qv-member-card h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.4rem); margin: 0 0 .75rem; }
.qv-member-card__status { max-width: 620px; margin: 0 0 1.25rem; color: rgba(255,255,255,.86); line-height: 1.6; }
.qv-member-card__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1.25rem; }
.qv-member-card__meta div { min-width: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; padding: .75rem; }
.qv-member-card__meta dt { color: rgba(255,255,255,.68); font-size: .76rem; text-transform: uppercase; font-weight: 800; }
.qv-member-card__meta dd { margin: .18rem 0 0; color: #fff; font-weight: 800; overflow-wrap: anywhere; }
.qv-member-card__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.qv-member-card .qv-btn--ghost { color: #fff; border-color: rgba(255,255,255,.45); }
.qv-member-card__error { color: #fecaca; min-height: 1.3em; margin: 0 0 .75rem; }
.qv-member-card__qr { justify-self: center; text-align: center; color: rgba(255,255,255,.78); }
.qv-member-card__qr-box {
	width: 280px; max-width: 100%; aspect-ratio: 1;
	display: grid; place-items: center;
	background: #fff; color: #18181b;
	border-radius: 14px; padding: 10px;
	box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.qv-member-card__qr-box canvas { width: 100% !important; height: auto !important; display: block; }
.qv-member-card__qr-box--locked { background: rgba(255,255,255,.12); color: rgba(255,255,255,.72); border: 1px dashed rgba(255,255,255,.32); }
.qv-member-card__qr p { margin: .75rem 0 0; font-size: .88rem; }
.qv-account-panel {
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-5, 1.5rem);
}
.qv-account-panel h2 { margin-top: 0; }
.qv-section__head--account { margin-top: var(--qv-sp-7, 3rem); }
.qv-account-events { margin-top: var(--qv-sp-8, 4rem); }
.qv-account-events__list { max-width: 760px; margin-inline: auto; display: grid; gap: .75rem; }
.qv-account-event {
	display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: 12px; padding: .9rem 1rem;
}
.qv-account-event span { color: var(--qv-fg-muted, #525252); }
@media (max-width: 560px) {
	.qv-member-card__meta { grid-template-columns: 1fr; }
	.qv-member-card__qr-box { width: min(260px, 84vw); }
}

/* --- Scanner esercente -------------------------------------------------- */
.qv-scanner { padding-block: var(--qv-sp-8, 4rem); }
.qv-scanner__grid { display: grid; gap: var(--qv-sp-5, 1.5rem); grid-template-columns: 1fr; max-width: 1100px; margin-inline: auto; }
@media (min-width: 900px) { .qv-scanner__grid { grid-template-columns: minmax(0, 1fr) 380px; } }
.qv-scanner__panel, .qv-scanner__result {
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-5, 1.5rem);
}
.qv-scanner__camera {
	margin: 1rem 0; aspect-ratio: 4 / 3; background: #111827; color: #fff;
	border-radius: 14px; overflow: hidden; display: grid; place-items: center;
}
.qv-scanner__camera video { width: 100%; height: 100%; object-fit: cover; }
.qv-scanner__camera-placeholder { color: rgba(255,255,255,.72); font-weight: 800; }
.qv-scanner__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.qv-scanner__result { align-self: start; border-width: 2px; }
.qv-scanner__result h2 { margin-top: 0; }
.qv-scanner__result--ok { border-color: #16a34a; background: #f0fdf4; }
.qv-scanner__result--warn { border-color: #eab308; background: #fefce8; }
.qv-scanner__result--error { border-color: #dc2626; background: #fef2f2; }
.qv-scanner__result--pending { border-color: #0067D7; background: #eff6ff; }
.qv-scanner__details { display: grid; gap: .6rem; margin: 1rem 0 0; }
.qv-scanner__details div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(0,0,0,.08); padding-top: .6rem; }
.qv-scanner__details dt { font-weight: 800; color: var(--qv-fg-muted, #525252); }
.qv-scanner__details dd { margin: 0; font-weight: 800; text-align: right; }
.qv-scanner-history { max-width: 1100px; margin: var(--qv-sp-6, 2rem) auto 0; }
.qv-scanner-history h2 { margin: 0 0 var(--qv-sp-3, .75rem); }
.qv-scanner-history__list { display: grid; gap: .6rem; }
.qv-scanner-history__item {
	display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: .75rem;
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: 12px; padding: .75rem .9rem; align-items: center;
}
.qv-scanner-history__item span { overflow-wrap: anywhere; }
.qv-scanner-history__item time { color: var(--qv-fg-muted, #525252); font-size: .88rem; }
@media (max-width: 640px) { .qv-scanner-history__item { grid-template-columns: 1fr; } }

/* --- Richiesta tessera -------------------------------------------------- */
.qv-membership-request {
	max-width: 760px; margin: var(--qv-sp-6, 2rem) auto;
	background: var(--qv-neutral-0, #fff); border: 1px solid var(--qv-border, #e9e5e0);
	border-radius: var(--qv-r-lg, 16px); padding: var(--qv-sp-6, 2rem);
	box-shadow: var(--qv-shadow-sm, 0 1px 2px rgba(0,0,0,.06));
}
.qv-membership-request h2 { margin-top: 0; color: #0617f5; }
.qv-membership-request form { display: grid; gap: .9rem; }
