/* ── Ponente Popup ───────────────────────────────────────────────────────── */

.ponente-popup-overlay {
	position:        fixed;
	inset:           0;
	background:      rgba(0, 0, 0, 0.82);
	backdrop-filter: blur(3px);
	z-index:         999;
	display:         flex;
	align-items:     flex-end;
	justify-content: center;
	opacity:         0;
	visibility:      hidden;
	transition:      opacity 0.3s ease, visibility 0.3s ease;
}

.ponente-popup-overlay.is-open {
	opacity:    1;
	visibility: visible;
}

/* Sheet dal basso su mobile */
.ponente-popup {
	background:    #1e2133;
	border-top:    1px solid #252836;
	border-radius: 20px 20px 0 0;
	padding:       1.75rem 1.5rem 2.75rem;
	width:         100%;
	max-width:     520px;
	position:      relative;
	transform:     translateY(100%);
	transition:    transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.ponente-popup-overlay.is-open .ponente-popup {
	transform: translateY(0);
}

/* ── Drag handle (cosmetic) */
.ponente-popup::before {
	content:       '';
	display:       block;
	width:         40px;
	height:        4px;
	border-radius: 2px;
	background:    #2e2e2e;
	margin:        0 auto 1.5rem;
}

/* ── Close button */
.popup-close-btn {
	position:   absolute;
	top:        1rem;
	right:      1rem;
	background: none;
	border:     none;
	color:      #555;
	font-size:  1.1rem;
	cursor:     pointer;
	padding:    0.25rem 0.5rem;
	line-height: 1;
	transition:  color 0.15s;
}

.popup-close-btn:hover { color: #c9a84c; }

/* ── Copy */
.popup-eyebrow {
	font-size:      0.68rem;
	font-weight:    600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color:          #c9a84c;
	margin:         0 0 0.5rem;
}

.popup-title {
	font-size:   1.35rem;
	font-weight: 600;
	color:       #f5f0e8;
	line-height: 1.25;
	margin:      0 0 0.75rem;
}

.popup-text {
	font-size:   0.85rem;
	font-weight: 300;
	color:       #8a7a5a;
	line-height: 1.65;
	margin:      0 0 1.5rem;
}

/* ── Form */
.popup-form {
	display:        flex;
	flex-direction: column;
	gap:            0.625rem;
}

.popup-email-input {
	width:       100%;
	padding:     0.85rem 1rem;
	background:  #1a1a1a;
	border:      1px solid #2a2a2a;
	border-radius: 8px;
	color:       #f5f0e8;
	font-family: 'Poppins', sans-serif;
	font-size:   0.9rem;
	outline:     none;
	transition:  border-color 0.2s;
	-webkit-appearance: none;
}

.popup-email-input:focus      { border-color: #c9a84c; }
.popup-email-input::placeholder { color: #3a3a3a; }

.popup-submit-btn {
	width:          100%;
	padding:        0.85rem;
	background:     #c9a84c;
	border:         none;
	border-radius:  8px;
	color:          var(--bg);
	font-family:    'Poppins', sans-serif;
	font-size:      0.9rem;
	font-weight:    600;
	letter-spacing: 0.04em;
	cursor:         pointer;
	transition:     opacity 0.2s;
}

.popup-submit-btn:hover    { opacity: 0.9; }
.popup-submit-btn:disabled { opacity: 0.45; cursor: default; }

.popup-skip-btn {
	background:  none;
	border:      none;
	color:       #3a3a3a;
	font-family: 'Poppins', sans-serif;
	font-size:   0.78rem;
	cursor:      pointer;
	text-align:  center;
	padding:     0.35rem;
	transition:  color 0.15s;
}

.popup-skip-btn:hover { color: #8a7a5a; }

/* ── Success state */
.popup-success {
	text-align: center;
	padding:    1rem 0 0.5rem;
}

.popup-success-title {
	font-size:   1.1rem;
	font-weight: 600;
	color:       #c9a84c;
	margin:      0 0 0.5rem;
}

.popup-success-text {
	font-size:   0.85rem;
	font-weight: 300;
	color:       #8a7a5a;
	margin:      0;
}

/* ── Desktop: modal centrata ─────────────────────────────────────────────── */

@media (min-width: 520px) {
	.ponente-popup-overlay {
		align-items: center;
		padding:     1rem;
	}

	.ponente-popup {
		border-top:    none;
		border:        1px solid #252836;
		border-radius: 16px;
		transform:     translateY(16px) scale(0.97);
		transition:    transform 0.32s cubic-bezier(0.4, 0, 0.2, 1),
		               opacity  0.32s ease;
		opacity: 0;
	}

	.ponente-popup::before { display: none; }

	.ponente-popup-overlay.is-open .ponente-popup {
		transform: translateY(0) scale(1);
		opacity:   1;
	}
}
