/* AlVi experience enhancements. Enqueue after premium.css. */
body.av-site.av-experience-modal-open,
body.av-experience-modal-open:has(.av-site) { overflow: hidden; }

.av-site .av-inquiry-dialog,
.av-site .av-lightbox {
	color-scheme: dark;
	box-sizing: border-box;
	position: fixed;
	inset: 0;
	margin: auto;
	width: min(640px, calc(100% - 32px));
	max-width: calc(100% - 32px);
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	padding: clamp(16px, 3vw, 24px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	border: 1px solid var(--av-gold, #d8b06c);
	border-radius: 12px;
	background: var(--av-bg, #0c0b09);
	color: var(--av-fg, #f4eee4);
	font: 400 15px/1.6 var(--av-sans, sans-serif);
	box-shadow: 0 32px 100px #0009;
}
.av-site .av-inquiry-dialog::backdrop,
.av-site .av-lightbox::backdrop { background: rgb(0 0 0 / 76%); backdrop-filter: blur(7px); }
.av-site .av-inquiry-dialog[open],
.av-site .av-lightbox[open] { animation: avExperienceEnter .18s ease-out; }
.av-site .av-experience-dialog__head {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--av-line-2, #665139);
}
.av-site .av-experience-dialog__title {
	margin: 0;
	color: var(--av-gold-2, #efd6a4);
	font: 600 clamp(26px, 4vw, 34px)/1.1 var(--av-serif, Georgia, serif);
	min-width: 0;
	overflow-wrap: anywhere;
}
.av-site .av-experience-button,
.av-site .av-password__toggle,
.av-site .av-lightbox__trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	min-height: 44px;
	max-width: 100%;
	padding: 11px 18px;
	border: 1px solid var(--av-gold, #d8b06c);
	border-radius: 8px;
	background: var(--av-surface, #17140f);
	color: var(--av-fg, #f4eee4);
	font: 600 14px/1.5 var(--av-sans, sans-serif);
	text-align: center;
	white-space: normal;
	text-decoration: none;
	cursor: pointer;
	touch-action: manipulation;
	transition: background-color .18s ease, border-color .18s ease;
}
.av-site .av-experience-button--primary {
	background: var(--av-gold-grad, #d8b06c);
	color: #1a140a;
}
.av-site .av-experience-button:hover,
.av-site .av-password__toggle:hover,
.av-site .av-lightbox__trigger:hover { background: var(--av-surface-2, #1f1b15); border-color: var(--av-gold-2, #efd6a4); }
.av-site .av-experience-button--primary:hover { background: var(--av-gold-2, #efd6a4); }
.av-site .av-experience-button:disabled,
.av-site .av-experience-button[aria-disabled="true"] { cursor: not-allowed; opacity: .65; }
.av-site .av-experience-dialog__close { flex: 0 0 auto; padding: 8px 12px; }
.av-site .av-inquiry-dialog :focus-visible,
.av-site .av-lightbox :focus-visible,
.av-site .av-password__toggle:focus-visible,
.av-site .av-lightbox__trigger:focus-visible,
.av-site .av-inquiry-teaser :focus-visible {
	outline: 3px solid var(--av-gold-2, #efd6a4);
	outline-offset: 3px;
}
.av-site .av-inquiry-teaser {
	padding: 20px 0;
	border: 0;
	border-top: 1px solid var(--av-line-2, #665139);
	border-radius: 0;
	background: transparent;
}
.av-site .av-inquiry-teaser p { margin: 0 0 14px; line-height: 1.6; color: var(--av-fg, #f4eee4); }
.av-site .av-inquiry-teaser .av-inquiry-teaser__title { color: var(--av-gold-2, #efd6a4); font: 600 32px/1.15 var(--av-serif, Georgia, serif); }
.av-site .av-inquiry-dialog .av-inquiry-form { padding: 0; gap: 12px; border: 0; border-radius: 0; background: transparent; }
.av-site .av-inquiry-form { min-width: 0; }
.av-site .av-inquiry-entry,
.av-site .av-inquiry-review { display: grid; gap: 12px; min-width: 0; }
.av-site .av-inquiry-step-title { margin: 0; font: 600 17px/1.4 var(--av-sans, sans-serif); color: var(--av-fg, #f4eee4); }
.av-site .av-inquiry-progress { display: flex; gap: 12px; list-style: none; padding: 0; margin: 0 0 8px; }
.av-site .av-inquiry-progress li { flex: 1; padding: 6px 0; border-bottom: 2px solid #756956; color: var(--av-fg, #f4eee4); font-size: 13px; }
.av-site .av-inquiry-progress [aria-current="step"] { border-color: var(--av-gold, #d8b06c); color: var(--av-gold-2, #efd6a4); font-weight: 700; }
.av-site .av-inquiry-form label { color: var(--av-fg, #f4eee4); gap: 5px; font-size: 13px; }
.av-site .av-inquiry-form .av-form__grid { gap: 12px; }
.av-site .av-inquiry-dialog .av-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.av-site .av-inquiry-form label { min-width: 0; }
.av-site .av-inquiry-form input,
.av-site .av-inquiry-form textarea { min-width: 0; min-height: 44px; padding: 10px 12px; border-radius: 7px; border-color: #88775e; }
/* iOS Safari: native date/time fields keep their own intrinsic width (overflowing the dialog), centre the value and collapse when empty. */
@supports (-webkit-touch-callout: none) {
	.av-site .av-inquiry-form input:is([type="date"], [type="time"]) { -webkit-appearance: none; appearance: none; display: block; width: 100%; max-width: 100%; min-height: 44px; text-align: left; }
	.av-site .av-inquiry-form input::-webkit-date-and-time-value { min-height: 1.4em; text-align: left; }
}
.av-site .av-inquiry-form textarea { height: 88px; min-height: 88px; }
.av-site .av-inquiry-form input::placeholder,
.av-site .av-inquiry-form textarea::placeholder { color: #c5baaa; opacity: 1; }
.av-site .av-inquiry-form [aria-invalid="true"] { border-color: var(--av-red, #ff8f84); }
.av-site .av-inquiry-error { display: block; color: var(--av-red, #ff8f84); font-size: 13px; line-height: 1.5; }
.av-site .av-inquiry-notice,
.av-site .av-inquiry-recipient,
.av-site .av-inquiry-status { margin: 0; color: var(--av-fg, #f4eee4); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.av-site .av-inquiry-status:empty { display: none; }
.av-site .av-inquiry-recipient { color: var(--av-gold-2, #efd6a4); }
.av-site .av-inquiry-done { margin: 0; padding: 18px 20px; border: 1px solid var(--av-line-2, #665139); border-radius: 12px; color: var(--av-fg, #f4eee4); font-size: 15px; line-height: 1.55; background: rgba(212, 165, 116, .08); }
.av-site .av-inquiry-summary { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.av-site .av-inquiry-summary > div { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 12px; padding: 8px 0; }
.av-site .av-inquiry-summary > div + div { border-top: 1px solid var(--av-line-2, #665139); }
.av-site .av-inquiry-summary dt { color: var(--av-gold-2, #efd6a4); font-size: 13px; }
.av-site .av-inquiry-summary dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.av-site .av-inquiry-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.av-site .av-inquiry-actions .av-btn { min-height: 44px; white-space: normal; line-height: 1.5; padding: 10px 18px; }
.av-site .av-inquiry-manual { display: grid; gap: 8px; }
.av-site .av-inquiry-manual__text { width: 100%; }

/* In-field eye toggle; the wrapped input keeps its label and auth handlers. */
.av-site .av-password { position: relative; display: block; }
.av-site .av-password > input { width: 100%; padding-right: 52px !important; box-sizing: border-box; }
.av-site .av-password .av-password__toggle { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); display: grid; place-items: center; width: 44px; height: 44px; min-height: 0; padding: 0; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--av-2, #c0beb2); }
.av-site .av-password .av-password__toggle:hover, .av-site .av-password .av-password__toggle[aria-pressed="true"] { color: var(--av-gold-2, #f0d8aa); }
.av-site .av-password .av-password__toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.av-site .av-password .av-password__toggle:focus-visible { outline-offset: -6px; }

.av-site .av-lightbox { width: min(1100px, calc(100% - 32px)); }
.av-site .av-lightbox__image { display: block; width: 100%; height: auto; max-height: 60vh; max-height: 60dvh; object-fit: contain; background: #080706; border-radius: 10px; }
.av-site .av-lightbox__caption { margin: 16px 0; color: var(--av-fg, #f4eee4); overflow-wrap: anywhere; }
.av-site .av-lightbox__status { color: var(--av-red, #ff8f84); }
.av-site .av-lightbox__status:empty { display: none; }
.av-site .av-lightbox__controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.av-site .av-lightbox__counter { margin: 0; color: var(--av-gold-2, #efd6a4); font-variant-numeric: tabular-nums; }
.av-site .av-lightbox-thumbnail { position: relative; }
.av-site .av-lightbox-thumbnail img { cursor: zoom-in; }
.av-site .av-lightbox__trigger { position: absolute; right: 12px; bottom: 12px; background: #0c0b09; color: #f4eee4; box-shadow: 0 2px 14px #0008; }
.av-site .av-lightbox__trigger:focus-visible { outline-offset: -5px; }
@media (hover: hover) and (pointer: fine) {
	.av-site .av-lightbox__trigger { right: 8px; bottom: 8px; min-height: 34px; padding: 6px 12px; font-size: 12px; border-color: #d8b06c80; opacity: 0; transition: opacity .2s ease; }
	.av-site .av-lightbox-thumbnail:hover .av-lightbox__trigger, .av-site .av-lightbox__trigger:focus-visible { opacity: 1; }
}

@media (max-width: 540px) {
	.av-site .av-inquiry-dialog,
	.av-site .av-lightbox { width: calc(100% - 16px); max-width: calc(100% - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 16px 12px max(16px, env(safe-area-inset-bottom)); border-radius: 10px; }
	.av-site .av-experience-dialog__head { gap: 8px; }
	.av-site .av-experience-dialog__close { margin-left: auto; }
	.av-site .av-inquiry-dialog .av-form__grid { grid-template-columns: minmax(0, 1fr); }
	.av-site .av-inquiry-summary > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	.av-site .av-inquiry-actions { flex-direction: column; align-items: stretch; }
	.av-site .av-inquiry-actions > button,
	.av-site .av-inquiry-teaser > button { width: 100%; }
	.av-site .av-lightbox__counter { width: 100%; order: -1; text-align: center; }
	.av-site .av-lightbox__controls > button { flex: 1; padding-inline: 12px; }
}
@keyframes avExperienceEnter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
	.av-site .av-inquiry-dialog[open],
	.av-site .av-lightbox[open] { animation: none; }
	.av-site .av-inquiry-form *,
	.av-site .av-inquiry-teaser *,
	.av-site .av-password__toggle,
	.av-site .av-lightbox__trigger { transition: none; }
	.av-site .av-inquiry-actions .av-btn:hover { transform: none; }
	.av-site .av-lightbox-thumbnail img { transition: none; }
	.av-site .av-lightbox-thumbnail:hover img { transform: none; }
}