/**
 * LAPP AI Photo Booth — stylesheet.
 *
 * ARCHITECTURE NOTE: the shortcode now renders its own trigger button and
 * its own self-built modal dialog (see class-lapp-ai-shortcode.php and
 * templates/ai-booth.php) instead of relying on being placed inside an
 * Elementor Popup — Elementor popups (and lazy-loading caching plugins)
 * could inject their content into the page separately from the main
 * document request, after this plugin's asset-enqueue had already run,
 * leaving a popup with no working JavaScript. `.lapp-ai-booth` is now just
 * a small layout root holding the trigger button and the modal; the actual
 * visual "panel" styling (background, max-width, border-radius, shadow)
 * lives on `.lapp-ai-booth__modal`.
 *
 * RESTYLE NOTE: rebranded to a pink/magenta palette with a numbered
 * 4-step indicator, a dashed-box upload zone, and dropdown-based style
 * selection, matching a reference design while keeping every rule scoped
 * beneath .lapp-ai-booth so nothing here can leak into the active theme or
 * other plugins. The ONE deliberate exception is the `.lapp-ai-booth-modal-open`
 * class documented near the bottom of this file, which is applied to
 * <html>/<body> to lock page scroll while the modal is open — that
 * necessarily has to target an ancestor outside `.lapp-ai-booth` itself.
 *
 * Screen AND modal visibility are both controlled by the native `hidden`
 * attribute, toggled in ai-booth.js. The universal [hidden] override below
 * guarantees that keeps working even for elements (buttons, the stepper,
 * the select, the modal overlay) whose own `display` value would otherwise
 * tie with the browser's default hidden-attribute rule.
 */

 .lapp-ai-booth {
	/* ---- Design tokens (safe to override via theme customization / a
	   filtered inline <style> block). Defined on the outer wrapper so they
	   cascade down into the modal regardless of DOM nesting depth. ---- */
	--lapp-ai-color-primary:#d6217a !important;
	--lapp-ai-color-primary-hover:#b31665 !important;
	--lapp-ai-color-secondary:#7c3aed !important;
	--lapp-ai-color-background:#ffffff !important;
	--lapp-ai-color-surface:#fdf2f8 !important;
	--lapp-ai-color-text:#1a1a2e !important;
	--lapp-ai-color-text-muted:#6b7280 !important;
	--lapp-ai-color-border:#e5c9d8 !important;
	--lapp-ai-color-danger:#b91c1c !important;
	--lapp-ai-color-danger-background:#fef2f2 !important;
	--lapp-ai-radius:12px !important;
	--lapp-ai-spacing:16px !important;
	--lapp-ai-button-height:46px !important;
	--lapp-ai-font-family:'Avenir LT Std', 'Avenir', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;

	display:inline-block !important;
	box-sizing:border-box !important;
	font-family:var(--lapp-ai-font-family) !important;
	font-size:16px !important;
	line-height:1.5 !important;
}

.lapp-ai-booth *,
.lapp-ai-booth *::before,
.lapp-ai-booth *::after {
	box-sizing:inherit !important;
}

/**
 * Guarantees Avenir LT Std (or its fallback stack) is used everywhere
 * inside this plugin, no matter what the active theme's own CSS does.
 * Without this, a theme rule that targets a specific tag or class more
 * specifically than plain inheritance (e.g. a global `h2 { font-family: ... }`
 * or `button { font-family: ... }` rule) could silently win and make some
 * elements "follow the site" instead of using this plugin's font — this
 * closes that gap the same way the universal [hidden] rule above closes
 * the display-attribute gap.
 */
.lapp-ai-booth {
	font-family: var(--lapp-ai-font-family) !important;
}

/**
 * OPTIONAL: only needed if Avenir LT Std is not already loaded elsewhere on
 * this site (e.g. by the active theme, or an Adobe Fonts/Typekit kit).
 * Avenir LT Std is a commercial, licensed typeface — you must supply your
 * own licensed .woff2/.woff files; none are bundled with this plugin.
 * Uncomment and update the src paths below once you have those files
 * uploaded (e.g. to this plugin's assets/fonts/ directory, or anywhere
 * else on your server), or delete this block entirely if the font is
 * already available site-wide.
 */
/*
@font-face {
	font-family: 'Avenir LT Std';
	src: url('/wp-content/plugins/lapp-ai-photo-booth/assets/fonts/AvenirLTStd-Roman.woff2') format('woff2'),
	     url('/wp-content/plugins/lapp-ai-photo-booth/assets/fonts/AvenirLTStd-Roman.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir LT Std';
	src: url('/wp-content/plugins/lapp-ai-photo-booth/assets/fonts/AvenirLTStd-Black.woff2') format('woff2'),
	     url('/wp-content/plugins/lapp-ai-photo-booth/assets/fonts/AvenirLTStd-Black.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
*/

.lapp-ai-booth__trigger {
	margin:0 !important;
}

/* ---------------------------------------------------------------------
   Modal overlay + panel
------------------------------------------------------------------------ */

.lapp-ai-booth__modal-overlay {
	position:fixed !important;
	inset:0 !important;
	z-index:999999 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:20px !important;
	background-color:rgba(26, 26, 46, 0.65) !important;
}

.lapp-ai-booth__modal {
	font-family:var(--lapp-ai-font-family) !important;
	position:relative !important;
	width:100% !important;
	max-width:850px !important;
	max-height:90vh !important;
	overflow:hidden !important;
	background-color:var(--lapp-ai-color-background) !important;
	color:var(--lapp-ai-color-text) !important;
	border-radius:var(--lapp-ai-radius) !important;
	box-shadow:0 20px 60px rgba(0, 0, 0, 0.35) !important;
}

.lapp-ai-booth__upload-experience {
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: #000000 !important;
	margin: 8px 0 14px 0 !important;
}

.lapp-ai-booth__dropzone-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	background: transparent !important;
	border-radius: 0 !important;
	color: #222222 !important;
	margin-bottom: 10px !important;
}

.lapp-ai-booth__dropzone-icon svg {
	display: block !important;
	width: 40px !important;
	height: 40px !important;
}

.lapp-ai-booth__modal-close {
    font-family: var(--lapp-ai-font-family) !important;
    position: absolute !important;
    font-weight: 600;
    top: 10px !important;
    right: 10px !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border: none !important;
    border-radius: none;
    box-shadow: none !important;
    background-color: none !important;
    color: #000000 !important;
    font-size: 25px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.lapp-ai-booth__modal-close:hover {
	font-family: var(--lapp-ai-font-family) !important;
	background-color: none !important;
	box-shadow: none !important;
}

.lapp-ai-booth__modal-close:focus-visible {
	font-family: var(--lapp-ai-font-family) !important;
	outline:3px solid var(--lapp-ai-color-secondary) !important;
	outline-offset:2px !important;
}

.lapp-ai-booth__inner {
	font-family:var(--lapp-ai-font-family) !important;
	padding:calc(var(--lapp-ai-spacing) * 1.5) !important;
	max-height:90vh !important;
	overflow-y:auto !important;
	overflow-x:hidden !important;
	position:relative !important;
}

.lapp-ai-booth__screen {
	font-family:var(--lapp-ai-font-family) !important;
	display:block !important;
	width:100% !important;
}

.lapp-ai-booth__screen[hidden] {
	font-family:var(--lapp-ai-font-family) !important;
	display:none !important;
}

/**
 * Universal safety net for the native `hidden` attribute: guarantees any
 * element this plugin toggles `hidden` on actually disappears, even when
 * that element's own class also declares a non-`none` `display` value
 * (buttons, the stepper's <ol>, the select, the modal overlay, etc.) that
 * would otherwise tie in specificity with the browser's built-in [hidden]
 * rule.
 */
.lapp-ai-booth [hidden] {
	display: none !important;
}

.lapp-ai-booth__title-row {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
	align-items:baseline !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin:0 0 calc(var(--lapp-ai-spacing) / 2) 0 !important;
	padding-right:280px !important;
}

.lapp-ai-booth__title-row .lapp-ai-booth__kicker,
.lapp-ai-booth__title-row .lapp-ai-booth__heading {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 !important;
}

.lapp-ai-booth__kicker {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 2px 0 !important;
	font-size:0.75rem !important;
	font-weight:700 !important;
	letter-spacing:0.04em !important;
	text-transform:uppercase !important;
	color:var(--lapp-ai-color-primary) !important;
}

.lapp-ai-booth__heading {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 calc(var(--lapp-ai-spacing) / 2) 0 !important;
	font-size:1.5rem !important;
	font-weight:500 !important;
	letter-spacing:0.01em !important;
	text-transform:uppercase !important;
	color:var(--lapp-ai-color-text) !important;
}

.lapp-ai-booth__heading--error {
	font-family:var(--lapp-ai-font-family) !important;
	color:var(--lapp-ai-color-danger) !important;
}

.lapp-ai-booth__description,
.lapp-ai-booth__guidance {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 var(--lapp-ai-spacing) 0 !important;
	color:var(--lapp-ai-color-text) !important;
}

.lapp-ai-booth__guidance {
	font-family:var(--lapp-ai-font-family) !important;
	color:var(--lapp-ai-color-text-muted) !important;
	font-size:0.9rem !important;
}

/* ---------------------------------------------------------------------
   4-step indicator
------------------------------------------------------------------------ */

.lapp-ai-booth__stepper {
	position:absolute !important;
	top:calc(var(--lapp-ai-spacing) * 1.5) !important;
	/* 50px extra clearance keeps this clear of .lapp-ai-booth__modal-close,
	   which sits at top:10px/right:10px and is 36px wide (spans out to
	   right:46px from the modal edge). */
	right:calc(var(--lapp-ai-spacing) * 1.5 + 50px) !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
}

.lapp-ai-booth__stepper-item {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
}

.lapp-ai-booth__stepper-dot {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:32px !important;
	height:32px !important;
	padding:0 !important;
	border-radius:50% !important;
	background-color:var(--lapp-ai-color-background) !important;
	border:2px solid var(--lapp-ai-color-border) !important;
	color:var(--lapp-ai-color-text-muted) !important;
	font-size:0.85rem !important;
	font-weight:700 !important;
	line-height:1 !important;
	text-align:center !important;
}

.lapp-ai-booth__stepper-item--active .lapp-ai-booth__stepper-dot,
.lapp-ai-booth__stepper-item--completed .lapp-ai-booth__stepper-dot {
	font-family:var(--lapp-ai-font-family) !important;
	background-color:var(--lapp-ai-color-primary) !important;
	border-color:var(--lapp-ai-color-primary) !important;
	color:#ffffff !important;
}

.lapp-ai-booth__stepper-connector {
	font-family:var(--lapp-ai-font-family) !important;
	width:32px !important;
	height:2px !important;
	background-color:var(--lapp-ai-color-border) !important;
	margin:0 4px !important;
}

.lapp-ai-booth__stepper-item--completed + .lapp-ai-booth__stepper-connector {
	font-family:var(--lapp-ai-font-family) !important;
	background-color:var(--lapp-ai-color-primary) !important;
}

/* ---------------------------------------------------------------------
   Buttons
------------------------------------------------------------------------ */

.lapp-ai-booth__button {
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:var(--lapp-ai-button-height) !important;
	padding:0 calc(var(--lapp-ai-spacing) * 1.25) !important;
	border-radius:0 !important;
	border:1px solid transparent !important;
	font-family:var(--lapp-ai-font-family) !important;
	font-size:1rem !important;
	font-weight:700 !important;
	cursor:pointer !important;
	touch-action:manipulation !important;
	max-width:100% !important;
	white-space:normal !important;
}

.lapp-ai-booth__button--primary {
	font-family:var(--lapp-ai-font-family) !important;
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
}

.lapp-ai-booth__button--primary:hover:not(:disabled) {
	font-family: var(--lapp-ai-font-family) !important;
	background-color:#c1006a !important;
	border-color:#c1006a !important;
}

.lapp-ai-booth__button--secondary {
	font-family:var(--lapp-ai-font-family) !important;
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
}

.lapp-ai-booth__button--secondary:hover:not(:disabled) {
	font-family: var(--lapp-ai-font-family) !important;
	background-color:#c1006a !important;
	border-color:#c1006a !important;
}

.lapp-ai-booth__button--tertiary {
	font-family:var(--lapp-ai-font-family) !important;
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
}

.lapp-ai-booth__button--tertiary:hover:not(:disabled) {
	font-family: var(--lapp-ai-font-family) !important;
	background-color:#c1006a !important;
	border-color:#c1006a !important;
}

.lapp-ai-booth__button:disabled {
	font-family: var(--lapp-ai-font-family) !important;
	opacity:0.5 !important;
	cursor:not-allowed !important;
}

.lapp-ai-booth__button:focus-visible {
	font-family: var(--lapp-ai-font-family) !important;
	outline:3px solid var(--lapp-ai-color-secondary) !important;
	outline-offset:2px !important;
}

.lapp-ai-booth__nav {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
	flex-wrap:wrap !important;
	gap:calc(var(--lapp-ai-spacing) / 2) !important;
	margin-top:calc(var(--lapp-ai-spacing) * 1.5) !important;
}

.lapp-ai-booth__nav--single {
	font-family:var(--lapp-ai-font-family) !important;
	justify-content: center !important;
}

.lapp-ai-booth__nav--result {
	font-family:var(--lapp-ai-font-family) !important;
	flex-direction:column !important;
}

@media (min-width:480px) {
	.lapp-ai-booth__nav--result {
	font-family: var(--lapp-ai-font-family) !important;
		flex-direction:row !important;
	}
}

.lapp-ai-booth__nav--result .lapp-ai-booth__button {
	font-family:var(--lapp-ai-font-family) !important;
	flex:1 1 auto !important;
}

/* ---------------------------------------------------------------------
   Step 1: Upload
------------------------------------------------------------------------ */

.lapp-ai-booth__file-input {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0, 0, 0, 0) !important;
	white-space:nowrap !important;
	border:0 !important;
}

.lapp-ai-booth__dropzone {
    font-family: var(--lapp-ai-font-family) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: calc(var(--lapp-ai-spacing) * 2) var(--lapp-ai-spacing) !important;
    border: 2px dashed #B7B7B7 !important;
    border-radius: var(--lapp-ai-radius) !important;
    background-color: #D9D9D9 !important;
    text-align: center !important;
    cursor: pointer !important;
    width: 100% !important;
}

.lapp-ai-booth__dropzone:focus-visible {
	font-family: var(--lapp-ai-font-family) !important;
	outline:3px solid var(--lapp-ai-color-secondary) !important;
	outline-offset:2px !important;
}

.lapp-ai-booth__dropzone--dragover {
	font-family:var(--lapp-ai-font-family) !important;
	border-color:var(--lapp-ai-color-primary) !important;
	background-color:#fce7f3 !important;
}


.lapp-ai-booth__dropzone-text {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 !important;
	font-weight:700 !important;
}

.lapp-ai-booth__dropzone-requirements {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 8px 0 !important;
	color:var(--lapp-ai-color-text-muted) !important;
	font-size:0.8rem !important;
}

.lapp-ai-booth__preview {
	font-family:var(--lapp-ai-font-family) !important;
	width:100% !important;
	max-width:320px !important;
	margin:0 auto !important;
	border-radius:var(--lapp-ai-radius) !important;
	overflow:hidden !important;
	border:1px solid var(--lapp-ai-color-border) !important;
}

.lapp-ai-booth__preview-image {
	font-family:var(--lapp-ai-font-family) !important;
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	height:auto !important;
}

.lapp-ai-booth__upload-area {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	gap:var(--lapp-ai-spacing) !important;
	margin-bottom:var(--lapp-ai-spacing) !important;
}

.lapp-ai-booth__validation-message {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 var(--lapp-ai-spacing) 0 !important;
	padding:calc(var(--lapp-ai-spacing) / 2) var(--lapp-ai-spacing) !important;
	border-radius:var(--lapp-ai-radius) !important;
	background-color:var(--lapp-ai-color-danger-background) !important;
	color:var(--lapp-ai-color-danger) !important;
	font-size:0.9rem !important;
}

.lapp-ai-booth__checkbox-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #000 !important;
}

.lapp-ai-booth__checkbox {
	font-family:var(--lapp-ai-font-family) !important;
	flex:0 0 auto !important;
	width:20px !important;
	height:20px !important;
	accent-color:var(--lapp-ai-color-primary) !important;
}

.lapp-ai-booth__checkbox:focus-visible {
	font-family: var(--lapp-ai-font-family) !important;
	outline:3px solid var(--lapp-ai-color-secondary) !important;
	outline-offset:2px !important;
}

/* ---------------------------------------------------------------------
   Step 2: Options (style dropdown + contact fields)
------------------------------------------------------------------------ */

.lapp-ai-booth__review-photo {
	width:140px !important;
	border-radius:var(--lapp-ai-radius) !important;
	overflow:hidden !important;
	border:1px solid var(--lapp-ai-color-border) !important;
	margin-bottom:var(--lapp-ai-spacing) !important;
}

.lapp-ai-booth__review-photo--small {
	font-family:var(--lapp-ai-font-family) !important;
	width:80px !important;
	margin:0 auto var(--lapp-ai-spacing) auto !important;
}

.lapp-ai-booth__review-photo-image {
	font-family:var(--lapp-ai-font-family) !important;
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	height:auto !important;
}

.lapp-ai-booth__field {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
	flex-direction:column !important;
	gap:4px !important;
	margin-bottom:var(--lapp-ai-spacing) !important;
}

.lapp-ai-booth__field-row {
	font-family:var(--lapp-ai-font-family) !important;
	display:grid !important;
	grid-template-columns:1fr !important;
	gap:var(--lapp-ai-spacing) !important;
}

@media (min-width:480px) {
	.lapp-ai-booth__field-row {
	font-family: var(--lapp-ai-font-family) !important;
		grid-template-columns:1fr 1fr !important;
	}
}

.lapp-ai-booth__field-row .lapp-ai-booth__field {
	font-family:var(--lapp-ai-font-family) !important;
	margin-bottom:0 !important;
}

.lapp-ai-booth__field-label {
	font-family:var(--lapp-ai-font-family) !important;
	font-weight:600 !important;
	font-size:0.9rem !important;
	color:var(--lapp-ai-color-text) !important;
}

.lapp-ai-booth__text-input,
.lapp-ai-booth__select {
	font-family:var(--lapp-ai-font-family) !important;
	width:100% !important;
	min-height:var(--lapp-ai-button-height) !important;
	padding:0 calc(var(--lapp-ai-spacing) * 0.75) !important;
	border:1px solid var(--lapp-ai-color-border) !important;
	border-radius:var(--lapp-ai-radius) !important;
	background-color:var(--lapp-ai-color-background) !important;
	color:var(--lapp-ai-color-text) !important;
	font-size:1rem !important;
}

.lapp-ai-booth__select {
	font-family:var(--lapp-ai-font-family) !important;
	appearance:auto !important;
}

.lapp-ai-booth__text-input:focus-visible,
.lapp-ai-booth__select:focus-visible {
	font-family: var(--lapp-ai-font-family) !important;
	outline:3px solid var(--lapp-ai-color-secondary) !important;
	outline-offset:2px !important;
	border-color:var(--lapp-ai-color-secondary) !important;
}

.lapp-ai-booth__field-hint {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 !important;
	color:var(--lapp-ai-color-text-muted) !important;
	font-size:0.8rem !important;
}

.lapp-ai-booth__style-preview {
	font-family:var(--lapp-ai-font-family) !important;
	display:flex !important;
	align-items:center !important;
	gap:10px !important;
	padding:calc(var(--lapp-ai-spacing) / 2) !important;
	margin-bottom:var(--lapp-ai-spacing) !important;
	background-color:var(--lapp-ai-color-surface) !important;
	border-radius:var(--lapp-ai-radius) !important;
}

.lapp-ai-booth__style-preview-description {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 !important;
	color:var(--lapp-ai-color-text-muted) !important;
	font-size:0.85rem !important;
}

.lapp-ai-booth__template-thumb {
	font-family:var(--lapp-ai-font-family) !important;
	flex:0 0 auto !important;
	width:56px !important;
	aspect-ratio:1 / 1 !important;
	border-radius:var(--lapp-ai-radius) !important;
	background:linear-gradient(135deg, var(--lapp-ai-color-primary), var(--lapp-ai-color-secondary)) !important;
	overflow:hidden !important;
}

.lapp-ai-booth__template-thumb--small {
	font-family:var(--lapp-ai-font-family) !important;
	width:56px !important;
}

/* ---------------------------------------------------------------------
   Step 3: Processing
------------------------------------------------------------------------ */

.lapp-ai-booth__processing-summary {
	text-align:center !important;
	margin-bottom:var(--lapp-ai-spacing) !important;
}

.lapp-ai-booth__processing-template {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 !important;
	font-weight:700 !important;
	color:var(--lapp-ai-color-text-muted) !important;
}

.lapp-ai-booth__spinner {
	font-family:var(--lapp-ai-font-family) !important;
	width:48px !important;
	height:48px !important;
	margin:0 auto calc(var(--lapp-ai-spacing) * 1.5) auto !important;
	border-radius:50% !important;
	border:4px solid var(--lapp-ai-color-border) !important;
	border-top-color:var(--lapp-ai-color-primary) !important;
	animation:lapp-ai-booth-spin 0.9s linear infinite !important;
}

@keyframes lapp-ai-booth-spin {
	to {
		transform:rotate(360deg) !important;
	}
}

.lapp-ai-booth__processing-message {
	font-family:var(--lapp-ai-font-family) !important;
	text-align:center !important;
	font-weight:600 !important;
	color:var(--lapp-ai-color-text) !important;
	min-height:1.5em !important;
}

@media (prefers-reduced-motion:reduce) {
	.lapp-ai-booth__spinner {
	font-family: var(--lapp-ai-font-family) !important;
		animation-duration:2.4s !important;
	}
}

/* ---------------------------------------------------------------------
   Step 4: Result
------------------------------------------------------------------------ */

.lapp-ai-booth__result-image-wrap {
	position:relative !important;
	width:100% !important;
	max-width:360px !important;
	margin:0 auto var(--lapp-ai-spacing) auto !important;
	border-radius:var(--lapp-ai-radius) !important;
	overflow:hidden !important;
	border:1px solid var(--lapp-ai-color-border) !important;
}

.lapp-ai-booth__result-image {
	font-family:var(--lapp-ai-font-family) !important;
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	height:auto !important;
}

.lapp-ai-booth__result-overlay {
	font-family:var(--lapp-ai-font-family) !important;
	position:absolute !important;
	bottom:8px !important;
	right:8px !important;
	background-color:rgba(26, 26, 46, 0.75) !important;
	color:#ffffff !important;
	font-size:0.75rem !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	letter-spacing:0.02em !important;
	padding:4px 10px !important;
	border-radius:999px !important;
}

.lapp-ai-booth__result-notice {
	font-family:var(--lapp-ai-font-family) !important;
	text-align:center !important;
	color:var(--lapp-ai-color-text-muted) !important;
	font-size:0.85rem !important;
	margin:0 0 var(--lapp-ai-spacing) 0 !important;
}

/* ---------------------------------------------------------------------
   Shared: visually-hidden live region
------------------------------------------------------------------------ */

.lapp-ai-booth__status {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0, 0, 0, 0) !important;
	white-space:nowrap !important;
	border:0 !important;
}

/* ---------------------------------------------------------------------
   Small-viewport adjustments (mobile, inside our own modal)
------------------------------------------------------------------------ */

@media (max-width:600px) {
	.lapp-ai-booth__modal {
	font-family: var(--lapp-ai-font-family) !important;
		max-width:100% !important;
	}

	.lapp-ai-booth__modal-overlay {
	font-family:var(--lapp-ai-font-family) !important;
		padding:8px !important;
	}

	.lapp-ai-booth__inner {
	font-family:var(--lapp-ai-font-family) !important;
		padding:var(--lapp-ai-spacing) !important;
	}

	.lapp-ai-booth__nav {
	font-family:var(--lapp-ai-font-family) !important;
		flex-direction:column !important;
	}

	.lapp-ai-booth__nav .lapp-ai-booth__button {
	font-family:var(--lapp-ai-font-family) !important;
		width:100% !important;
	}

	.lapp-ai-booth__stepper-connector {
	font-family:var(--lapp-ai-font-family) !important;
		width:20px !important;
	}

	.lapp-ai-booth__stepper {
	font-family:var(--lapp-ai-font-family) !important;
		position:static !important;
		margin:0 0 calc(var(--lapp-ai-spacing) * 1.5) 0 !important;
	}

	.lapp-ai-booth__title-row {
	font-family:var(--lapp-ai-font-family) !important;
		padding-right:0 !important;
	}
}

/* ---------------------------------------------------------------------
   Body scroll lock while the modal is open.

   This is the ONE deliberate exception to every other rule in this file
   being scoped beneath .lapp-ai-booth: locking page scroll while our modal
   is open necessarily has to target <html>/<body>, which are ancestors of
   our wrapper, not descendants. ai-booth.js adds this class to
   document.documentElement when the modal opens and removes it when the
   modal closes; it never touches any other element or attribute outside
   our own wrapper.
------------------------------------------------------------------------ */

html.lapp-ai-booth-modal-open,
html.lapp-ai-booth-modal-open body {
	overflow:hidden !important;
}


/* =======================================================================
   PER-ITEM OVERRIDES
   ---------------------------------------------------------------------
   Every button and every text element below also carries one of these
   unique classes, in addition to its normal shared class (e.g. every
   button still has .lapp-ai-booth__button and a --primary/--secondary/
   --tertiary variant, which is why removing one of these rules, or
   leaving it empty, never breaks anything -- the shared class above still
   provides the default look). Edit any rule below to restyle JUST that
   one specific button or piece of text, independently of every other one.
   ======================================================================= */

/* ---- Buttons (one rule per button, matching its data-lapp-ai-action) ---- */

/* Welcome screen: "Get Started" */
.lapp-ai-booth__button--item-start {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: "Select Photo" */
.lapp-ai-booth__button--item-select-photo {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: "Replace Photo" */
.lapp-ai-booth__button--item-replace-photo {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: "Back" */
.lapp-ai-booth__button--item-upload-back {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: "Next" */
.lapp-ai-booth__button--item-upload-continue {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "Try Again" (style list failed to load) */
.lapp-ai-booth__button--item-templates-retry {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "Back" */
.lapp-ai-booth__button--item-options-back {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "Generate Image" */
.lapp-ai-booth__button--item-generate {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen: "Check Again" */
.lapp-ai-booth__button--item-processing-check-again {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen: "Start Over" */
.lapp-ai-booth__button--item-processing-start-over {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Result screen: "Download Image" */
.lapp-ai-booth__button--item-download {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Result screen: "Create Another" */
.lapp-ai-booth__button--item-create-another {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Result screen: "Done" */
.lapp-ai-booth__button--item-done {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Error screen: "Try Again" */
.lapp-ai-booth__button--item-error-try-again {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* Error screen: "Start Over" */
.lapp-ai-booth__button--item-error-start-over {
	background-color:#e3007d !important;
	color:#ffffff !important;
	border-color:#e3007d !important;
	border-radius:0 !important;
	font-family:var(--lapp-ai-font-family) !important;
}

/* ---- Text elements (headings, kickers, descriptions, labels, etc.) ---- */

/* Welcome screen heading: "Create Your AI Photo" */
.lapp-ai-booth__heading--welcome {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Welcome screen description text */
.lapp-ai-booth__description--welcome {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen kicker: "Create Your Own" */
.lapp-ai-booth__kicker--upload {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen heading: "Upload Photo" */


/* Upload screen guidance text */
.lapp-ai-booth__guidance--upload {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen dropzone: "Click or drag to upload" */
.lapp-ai-booth__dropzone-text--upload {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen dropzone requirements line */
.lapp-ai-booth__dropzone-requirements--upload {
	font-family:var(--lapp-ai-font-family) !important;
	font-weight:400 !important;
	font-size: 14px !important;
}

/* Upload screen: required processing-consent row */
.lapp-ai-booth__checkbox-row--consent-required {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: required processing-consent checkbox itself */
.lapp-ai-booth__checkbox--consent-required {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: required processing-consent label text */
.lapp-ai-booth__checkbox-label--consent-required {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: terms-of-use row */
.lapp-ai-booth__checkbox-row--consent-terms {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: terms-of-use checkbox itself */
.lapp-ai-booth__checkbox--consent-terms {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Upload screen: terms-of-use label text/link */
.lapp-ai-booth__checkbox-label--consent-terms {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen kicker: "Create Your Own" */
.lapp-ai-booth__kicker--options {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen heading: "Options" */
.lapp-ai-booth__heading--options {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "Choose your AI style" label */
.lapp-ai-booth__field-label--template {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "First Name" label */
.lapp-ai-booth__field-label--first-name {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "Last Name" label */
.lapp-ai-booth__field-label--last-name {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: "Email Address" label */
.lapp-ai-booth__field-label--email {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: email hint text */
.lapp-ai-booth__field-hint--email {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: marketing-consent row */
.lapp-ai-booth__checkbox-row--consent-marketing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: marketing-consent checkbox itself */
.lapp-ai-booth__checkbox--consent-marketing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Options screen: marketing-consent label text */
.lapp-ai-booth__checkbox-label--consent-marketing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen kicker: "Create Your Own" */
.lapp-ai-booth__kicker--processing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen heading: "Processing" */
.lapp-ai-booth__heading--processing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen: selected style name text */
.lapp-ai-booth__processing-template--processing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen: rotating status message text */
.lapp-ai-booth__processing-message--processing {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Processing screen: "taking longer than expected" text */
.lapp-ai-booth__description--processing-timeout {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Result screen kicker: "Create Your Own" */
.lapp-ai-booth__kicker--result {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Result screen heading: "Final Product" */
.lapp-ai-booth__heading--result {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Result screen: "temporarily available" notice text */
.lapp-ai-booth__result-notice--result {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Error screen heading text */
.lapp-ai-booth__heading--error-title {
	font-family:var(--lapp-ai-font-family) !important;
}

/* Error screen message text */
.lapp-ai-booth__description--error {
	font-family:var(--lapp-ai-font-family) !important;
}

/* ---- Shared checkbox-label base class (the <span> next to each checkbox) ---- */
.lapp-ai-booth__checkbox-label {
	font-family:var(--lapp-ai-font-family) !important;
}

/* =======================================================================
   FINAL CLIENT STYLING — 2026-09-03
   ======================================================================= */

/* Modal panel background */
.lapp-ai-booth {
	--lapp-ai-color-primary:#E6007D !important;
	--lapp-ai-color-primary-hover:#c5006c !important;
	--lapp-ai-color-background:#EFEFEF !important;
}

.lapp-ai-booth__modal {
	background-color:#EFEFEF !important;
}

/* All booth action buttons */
.lapp-ai-booth__button,
.lapp-ai-booth__button--primary,
.lapp-ai-booth__button--secondary,
.lapp-ai-booth__button--tertiary {
	background-color:#E6007D !important;
	border-color:#E6007D !important;
	color:#ffffff !important;
	font-family:'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-weight:400 !important;
	font-style:normal !important; /* Avenir LT Std 55 Roman */
	font-size:15px !important;
	line-height:100% !important;
	letter-spacing:0 !important;
	text-align:center !important;
	leading-trim:none;
}

.lapp-ai-booth__button:hover:not(:disabled),
.lapp-ai-booth__button--primary:hover:not(:disabled),
.lapp-ai-booth__button--secondary:hover:not(:disabled),
.lapp-ai-booth__button--tertiary:hover:not(:disabled) {
	background-color:#c5006c !important;
	border-color:#c5006c !important;
}

/* Close control is also a button, so keep it on-brand. */


.lapp-ai-booth__modal-close:hover {
	background-color:none !important;
}

/* Put “Create Your Own” above the current screen title, matching reference. */
.lapp-ai-booth__title-row {
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	justify-content:flex-start !important;
	gap:7px !important;
}

/* “Create Your Own” */
.lapp-ai-booth__kicker,
.lapp-ai-booth__kicker--upload,
.lapp-ai-booth__kicker--options,
.lapp-ai-booth__kicker--processing {
	font-family:'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-weight:700 !important;
	font-style:normal !important; /* Avenir LT Std 85 Heavy */
	font-size:16px !important;
	line-height:105% !important;
	letter-spacing:-0.02em !important;
	text-transform:none !important;
	color:#E6007D !important;
	margin:0 !important;
	leading-trim:none;
}

/* Upload Photo / Options / Processing */
.lapp-ai-booth__heading--upload,
.lapp-ai-booth__heading--options,
.lapp-ai-booth__heading--processing {
	font-family:'Brandon Grotesque', 'Arial Black', Arial, sans-serif !important;
	font-weight:500 !important;
	font-style:normal !important; /* Brandon Grotesque Black face */
	font-size:24px !important;
	line-height:74% !important;
	letter-spacing:-0.02em !important;
	text-transform:uppercase !important;
	margin:0 !important;
	leading-trim:none;
}

/* Keep checkbox and its copy vertically centered. */
.lapp-ai-booth__checkbox-row {
	display:flex !important;
	align-items:center !important;
	justify-content:flex-start !important;
}

.lapp-ai-booth__checkbox {
	margin:0 !important;
	align-self:center !important;
}

.lapp-ai-booth__checkbox-label {
	display:inline-flex !important;
	align-items:center !important;
	min-height:20px !important;
	line-height:1.35 !important;
}

/* Terms of use must read as a real, obvious clickable link. */
.lapp-ai-booth__checkbox-label--consent-terms a {
	color:#009FD6 !important;
	text-decoration:underline !important;
	text-underline-offset:2px !important;
	cursor:pointer !important;
	pointer-events:auto !important;
}

/* Step number circles — true visual centering + requested typography. */
.lapp-ai-booth__stepper-dot {
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:0 !important;
	font-family:'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-weight:700 !important;
	font-style:normal !important; /* Avenir LT Std 85 Heavy */
	font-size:16px !important;
	line-height:105% !important;
	letter-spacing:-0.02em !important;
	text-align:center !important;
	text-indent:0 !important;
	leading-trim:none;
}


/* ==========================================================================\n   2026-09-07 final requested styling overrides\n   Keep this block last so plugin rules do not fight each other.\n   ========================================================================== */


.lapp-ai-booth__heading--welcome {
	font-family:var(--lapp-ai-font-family) !important;
	font-size:48px !important;
	line-height:50px !important;
}

.lapp-ai-booth__kicker {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 2px 0 !important;
	font-weight:700 !important;
	font-size:16px !important;
	letter-spacing:0.04em !important;
	text-transform:uppercase !important;
	color:var(--lapp-ai-color-primary) !important;
}

.lapp-ai-booth__heading {
	font-family:var(--lapp-ai-font-family) !important;
	margin:0 0 calc(var(--lapp-ai-spacing) / 2) 0 !important;
	font-size:24px !important;
	font-weight:500 !important;
	letter-spacing:0.01em !important;
	text-transform:uppercase !important;
	color:var(--lapp-ai-color-text) !important;
}

.lapp-ai-booth__text-input,
.lapp-ai-booth__select {
	font-family:var(--lapp-ai-font-family) !important;
	width:100% !important;
	min-height:var(--lapp-ai-button-height) !important;
	padding:0 calc(var(--lapp-ai-spacing) * 0.75) !important;
	border:1px solid var(--lapp-ai-color-border) !important;
	border-radius:var(--lapp-ai-radius) !important;
	background-color:var(--lapp-ai-color-background) !important;
	color:var(--lapp-ai-color-text) !important;
	font-size:13px !important;
}

.lapp-ai-booth__field-label {
	font-family:var(--lapp-ai-font-family) !important;
	font-weight:700 !important;
	font-size:13px !important;
	color:var(--lapp-ai-color-text) !important;
}



.lapp-ai-booth__checkbox-label {
	display:inline-flex !important;
	align-items:center !important;
	flex-wrap:wrap !important;
	min-height:20px !important;
	line-height:1.35 !important;
}

/* Specific step headings must use Brandon Grotesque, not the generic Avenir heading rule. */
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--upload,
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--options,
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--processing {
	font-family:'Brandon Grotesque', 'Arial Black', Arial, sans-serif !important;
	font-weight:500 !important;
	font-style:normal !important;
	font-size:24px !important;
	line-height:74% !important;
	letter-spacing:-0.02em !important;
	text-transform:uppercase !important;
	margin:0 !important;
}

/* Create Your Own stays in Avenir and in title case. */
.lapp-ai-booth .lapp-ai-booth__kicker--upload,
.lapp-ai-booth .lapp-ai-booth__kicker--options,
.lapp-ai-booth .lapp-ai-booth__kicker--processing {
	font-family:'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-weight:700 !important;
	font-style:normal !important;
	font-size:16px !important;
	line-height:105% !important;
	letter-spacing:-0.02em !important;
	text-transform:none !important;
	color:#E6007D !important;
	margin:0 !important;
}

/* Terms link is independent from the checkbox label so it remains clickable. */
.lapp-ai-booth__checkbox-label--consent-terms a,
.lapp-ai-booth__terms-link {
	color:#009FD6 !important;
	text-decoration:underline !important;
	text-underline-offset:2px !important;
	cursor:pointer !important;
	pointer-events:auto !important;
	position:relative !important;
	z-index:2 !important;
}


/* =======================================================================
   TERMS CONSENT ROW FIX — 2026-09-07
   Keep both consent rows at the same 13px size and ensure the Terms link
   cannot be overridden by Elementor/global label/link styles.
   ======================================================================= */
.lapp-ai-booth .lapp-ai-booth__checkbox-row--consent-required,
.lapp-ai-booth .lapp-ai-booth__checkbox-row--consent-terms {
	font-family:var(--lapp-ai-font-family) !important;
	font-size:13px !important;
	line-height:1.35 !important;
	align-items:center !important;
	justify-content: center !important;
}

.lapp-ai-booth .lapp-ai-booth__checkbox-row--consent-required .lapp-ai-booth__checkbox-label,
.lapp-ai-booth .lapp-ai-booth__checkbox-row--consent-terms .lapp-ai-booth__checkbox-label,
.lapp-ai-booth .lapp-ai-booth__checkbox-row--consent-terms .lapp-ai-booth__terms-prefix,
.lapp-ai-booth .lapp-ai-booth__checkbox-row--consent-terms .lapp-ai-booth__terms-period {
	font-family:var(--lapp-ai-font-family) !important;
	font-size:13px !important;
	font-weight:400 !important;
	font-style:normal !important;
	line-height:1.35 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	color:#000 !important;
	margin:0 !important;
	padding:0 !important;
	justify-content: center !important;
}

.lapp-ai-booth .lapp-ai-booth__checkbox-label--consent-terms {
	display:flex !important;
	align-items:center !important;
	flex-wrap:wrap !important;
	gap:4px !important;
	min-height:20px !important;
	position:relative !important;
	z-index:10 !important;
	pointer-events:auto !important;
}

.lapp-ai-booth .lapp-ai-booth__checkbox-label--consent-terms .lapp-ai-booth__terms-prefix {
	cursor:pointer !important;
}

.lapp-ai-booth .lapp-ai-booth__checkbox-label--consent-terms .lapp-ai-booth__terms-link,
.lapp-ai-booth a.lapp-ai-booth__terms-link,
.lapp-ai-booth a.lapp-ai-booth__terms-link:link,
.lapp-ai-booth a.lapp-ai-booth__terms-link:visited,
.lapp-ai-booth a.lapp-ai-booth__terms-link:hover,
.lapp-ai-booth a.lapp-ai-booth__terms-link:focus,
.lapp-ai-booth a.lapp-ai-booth__terms-link:active {
	font-family:var(--lapp-ai-font-family) !important;
	font-size:13px !important;
	font-weight:400 !important;
	font-style:normal !important;
	line-height:1.35 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	color:#009FD6 !important;
	text-decoration:underline !important;
	text-decoration-color:#009FD6 !important;
	text-underline-offset:2px !important;
	cursor:pointer !important;
	pointer-events:auto !important;
	position:relative !important;
	z-index:20 !important;
	margin:0 !important;
	padding:0 !important;
}


/* ==========================================================================
   PROMPT FLOW — 2026-09-14
   Step 2 now uses Area of Interest -> dependent prompt choice.
   ========================================================================== */

.lapp-ai-booth__screen--options {
	min-height: 430px !important;
	position: relative !important;
}

.lapp-ai-booth__prompt-options {
	width: 100% !important;
	max-width: 280px !important;
	margin: 64px auto 90px !important;
}

.lapp-ai-booth__prompt-options .lapp-ai-booth__field {
	margin-bottom: 14px !important;
}

.lapp-ai-booth__prompt-options .lapp-ai-booth__field-label {
	display: block !important;
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #000000 !important;
	margin: 0 0 7px 0 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.lapp-ai-booth__prompt-options .lapp-ai-booth__select {
	width: 100% !important;
	min-height: 34px !important;
	height: 34px !important;
	padding: 0 10px !important;
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: #222222 !important;
	background-color: #ffffff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 0 !important;
}

.lapp-ai-booth__templates-status,
.lapp-ai-booth__prompt-options .lapp-ai-booth__spinner,
.lapp-ai-booth__prompt-options .lapp-ai-booth__button--item-templates-retry {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

.lapp-ai-booth__nav--options {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	margin: 0 !important;
}

.lapp-ai-booth__button--icon-back {
	position: absolute !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 34px !important;
	min-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	color: #000000 !important;
	font-size: 24px !important;
	line-height: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.lapp-ai-booth__button--icon-back:hover:not(:disabled) {
	background: transparent !important;
	border-color: transparent !important;
	color: #E6007D !important;
}

.lapp-ai-booth__button--item-generate {
	min-width: 165px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
}

.lapp-ai-booth__generate-icon {
	font-size: 13px !important;
	line-height: 1 !important;
}

.lapp-ai-booth__button--item-generate:disabled {
	opacity: .42 !important;
	cursor: not-allowed !important;
}

@media (max-width: 600px) {
	.lapp-ai-booth__screen--options {
		min-height: 390px !important;
	}
	.lapp-ai-booth__prompt-options {
		margin-top: 54px !important;
		max-width: 100% !important;
	}
}


/* Prompt dropdown visibility safety */
.lapp-ai-booth__field--prompt-choice:not([hidden]) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}



/* ==========================================================================
   FINAL HEADING WEIGHT FIX
   Keep this as the last heading rule in the stylesheet.
   ========================================================================== */
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--upload,
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--options,
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--processing {
	font-family: 'Brandon Grotesque', 'Arial Black', Arial, sans-serif !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: 24px !important;
	line-height: 74% !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}


/* ==========================================================================
   FINAL DESIGN MATCH OVERRIDES — 2026-09-14
   Stepper colors + centered upload experience text
   Keep this block LAST in the stylesheet.
   ========================================================================== */

/* --------------------------------------------------------------------------
   STEP PROGRESS
   Active/completed: #E6007D
   Inactive: #B7B7B7
   Number text: white, 16px
   -------------------------------------------------------------------------- */

.lapp-ai-booth__stepper-dot {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 32px !important;
	height: 32px !important;

	padding: 0 !important;
	margin: 0 !important;

	border: none !important;
	border-radius: 50% !important;

	background-color: #B7B7B7 !important;
	color: #FFFFFF !important;

	font-family: 'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;

	text-align: center !important;
	text-indent: 0 !important;
}

/* Active step */
.lapp-ai-booth__stepper-item--active .lapp-ai-booth__stepper-dot {
	background-color: #E6007D !important;
	border-color: #E6007D !important;
	color: #FFFFFF !important;
}

/* Completed steps */
.lapp-ai-booth__stepper-item--completed .lapp-ai-booth__stepper-dot {
	background-color: #E6007D !important;
	border-color: #E6007D !important;
	color: #FFFFFF !important;
}

/* Inactive steps */
.lapp-ai-booth__stepper-item:not(.lapp-ai-booth__stepper-item--active):not(.lapp-ai-booth__stepper-item--completed) .lapp-ai-booth__stepper-dot {
	background-color: #B7B7B7 !important;
	border-color: #B7B7B7 !important;
	color: #FFFFFF !important;
}

/* Connector line */
.lapp-ai-booth__stepper-connector {
	width: 32px !important;
	height: 2px !important;
	margin: 0 4px !important;
	background-color: #B7B7B7 !important;
}

/* Connector after completed step */
.lapp-ai-booth__stepper-item--completed + .lapp-ai-booth__stepper-connector {
	background-color: #E6007D !important;
}


/* --------------------------------------------------------------------------
   "Experience AI filters for yourself."
   Centered above the dropzone
   -------------------------------------------------------------------------- */

.lapp-ai-booth__upload-experience {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;

	margin: 0 0 16px 0 !important;
	padding: 0 !important;

	font-family: 'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;

	color: #000000 !important;
	text-align: center !important;
}

/* If upload-experience is still inside title-row, force it to span full modal width.
   Best result is still to place it outside title-row in ai-booth.php, directly above
   the upload area. */
.lapp-ai-booth__title-row .lapp-ai-booth__upload-experience {
	width: 100% !important;
	text-align: center !important;
	align-self: stretch !important;
}


/* --------------------------------------------------------------------------
   Keep upload heading weight stable
   -------------------------------------------------------------------------- */

.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--upload,
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--options,
.lapp-ai-booth .lapp-ai-booth__heading.lapp-ai-booth__heading--processing {
	font-family: 'Brandon Grotesque', 'Arial Black', Arial, sans-serif !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: 24px !important;
	line-height: 74% !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}


/* ==========================================================================
   STEP 3 CONTACT DETAILS — SAFE FRONTEND-ONLY ADDITION
   ========================================================================== */

.lapp-ai-booth__screen--processing {
	min-height: 410px !important;
}

.lapp-ai-booth__processing-form,
.lapp-ai-booth__processing-generation {
	width: 100% !important;
	max-width: 480px !important;
	margin: 34px auto 0 !important;
}

.lapp-ai-booth__processing-intro {
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: #000000 !important;
	margin: 0 0 18px 0 !important;
}

.lapp-ai-booth__processing-name-row {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
	margin-bottom: 14px !important;
}

.lapp-ai-booth__processing-name-row .lapp-ai-booth__field {
	margin-bottom: 0 !important;
}

.lapp-ai-booth__processing-form .lapp-ai-booth__field-label {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #000000 !important;
	margin-bottom: 6px !important;
}

.lapp-ai-booth__processing-form .lapp-ai-booth__text-input {
	width: 100% !important;
	min-height: 38px !important;
	height: 38px !important;
	padding: 0 10px !important;
	border: 1px solid #B7B7B7 !important;
	border-radius: 0 !important;
	background: #FFFFFF !important;
	color: #000000 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}

.lapp-ai-booth__processing-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin-top: 28px !important;
}

.lapp-ai-booth__button--processing-back {
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	color: #000000 !important;
	box-shadow: none !important;
	font-size: 24px !important;
}

.lapp-ai-booth__button--processing-back:hover:not(:disabled) {
	background: transparent !important;
	border-color: transparent !important;
	color: #E6007D !important;
}

.lapp-ai-booth__button--item-processing-submit {
	min-width: 105px !important;
	margin-left: auto !important;
}

.lapp-ai-booth__email-error {
	margin: 7px 0 0 !important;
	padding: 7px 10px !important;
	font-size: 12px !important;
}

.lapp-ai-booth__processing-generation {
	text-align: center !important;
}

.lapp-ai-booth__processing-intro--active {
	text-align: center !important;
}

@media (max-width: 600px) {
	.lapp-ai-booth__processing-form,
	.lapp-ai-booth__processing-generation {
		max-width: 100% !important;
		margin-top: 26px !important;
	}
	.lapp-ai-booth__processing-name-row {
		grid-template-columns: 1fr !important;
	}
}


/* ==========================================================================
   FINAL CONTACT INPUT TEXT VISIBILITY FIX — 2026-09-14
   Keep this block LAST in the stylesheet.
   ========================================================================== */

/* Typed values */
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input,
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="text"],
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="email"] {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	caret-color: #000000 !important;
	opacity: 1 !important;
}

/* Placeholder values */
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input::placeholder,
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="text"]::placeholder,
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="email"]::placeholder {
	color: #777777 !important;
	-webkit-text-fill-color: #777777 !important;
	opacity: 1 !important;
}

/* Chrome / Safari autofill */
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input:-webkit-autofill,
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input:-webkit-autofill:hover,
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input:-webkit-autofill:focus,
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="text"]:-webkit-autofill,
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="email"]:-webkit-autofill {
	-webkit-text-fill-color: #000000 !important;
	caret-color: #000000 !important;
	transition: background-color 9999s ease-out 0s !important;
}

/* Make sure focus state does not override the entered text */
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input:focus,
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input:focus-visible {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	caret-color: #000000 !important;
	opacity: 1 !important;
}

/* =========================================================
   STEP 3 CONTACT FORM — POPPINS TEST
   ========================================================= */

.lapp-ai-booth .lapp-ai-booth__processing-form,
.lapp-ai-booth .lapp-ai-booth__processing-form *,
.lapp-ai-booth .lapp-ai-booth__processing-form input,
.lapp-ai-booth .lapp-ai-booth__processing-form label {
	font-family: 'Poppins', Arial, sans-serif !important;
}

/* Typed input text */
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__text-input,
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="text"],
.lapp-ai-booth .lapp-ai-booth__processing-form input[type="email"] {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	caret-color: #000000 !important;
	opacity: 1 !important;
}

/* Placeholder */
.lapp-ai-booth .lapp-ai-booth__processing-form input::placeholder {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: #777777 !important;
	-webkit-text-fill-color: #777777 !important;
	opacity: 1 !important;
}

/* Labels */
.lapp-ai-booth .lapp-ai-booth__processing-form .lapp-ai-booth__field-label {
	font-family: 'Poppins', Arial, sans-serif !important;
	font-weight: 600 !important;
}

/* ==========================================================================
   FINAL PROCESSING + RESULT GALLERY LAYOUT — 2026-09-14
   Keep this block LAST in the stylesheet.
   ========================================================================== */

.lapp-ai-booth__modal {
	max-width: 1120px !important;
	background-color: #EFEFEF !important;
}

.lapp-ai-booth__processing-layout,
.lapp-ai-booth__result-layout {
	display: grid !important;
	grid-template-columns: 250px minmax(0, 1fr) !important;
	gap: 34px !important;
	align-items: start !important;
	margin-top: 22px !important;
}

.lapp-ai-booth__gallery {
	width: 250px !important;
	max-width: 250px !important;
}

.lapp-ai-booth__gallery-frame {
	position: relative !important;
	width: 250px !important;
	height: 250px !important;
	border-radius: 30px !important;
	overflow: hidden !important;
	background: #DCDCDC !important;
}

.lapp-ai-booth__gallery-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.lapp-ai-booth__gallery-nav {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	border: none !important;
	background: rgba(0, 0, 0, 0.2) !important;
	color: #FFFFFF !important;
	font-size: 28px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	z-index: 2 !important;
}

.lapp-ai-booth__gallery-nav--prev {
	left: 8px !important;
}

.lapp-ai-booth__gallery-nav--next {
	right: 8px !important;
}

.lapp-ai-booth__gallery-nav:hover {
	background: rgba(0, 0, 0, 0.4) !important;
	color: #FFFFFF !important;
}

.lapp-ai-booth__gallery-caption {
	margin: 12px 0 0 0 !important;
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: #000000 !important;
	text-align: center !important;
}

.lapp-ai-booth__processing-form {
	max-width: 450px !important;
}

.lapp-ai-booth__processing-main,
.lapp-ai-booth__result-main {
	min-width: 0 !important;
}

.lapp-ai-booth__processing-stage,
.lapp-ai-booth__result-image-wrap {
	width: 100% !important;
	max-width: 712px !important;
	min-height: 422px !important;
	border: 1px solid #CFCFCF !important;
	background: #FFFFFF !important;
}

.lapp-ai-booth__processing-stage {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 28px !important;
}

.lapp-ai-booth__processing-stage--timeout {
	justify-content: center !important;
}

.lapp-ai-booth__processing-intro--active {
	text-align: center !important;
	margin: 0 0 10px 0 !important;
}

.lapp-ai-booth__processing-template--processing {
	margin: 0 0 18px 0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
}

.lapp-ai-booth__processing-message--processing {
	max-width: 320px !important;
	margin: 12px auto 0 !important;
	text-align: center !important;
}

.lapp-ai-booth__nav--processing-timeout {
	display: flex !important;
	gap: 12px !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	margin-top: 18px !important;
}

.lapp-ai-booth__result-image-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
}

.lapp-ai-booth__result-image {
	display: block !important;
	width: 100% !important;
	height: 422px !important;
	object-fit: contain !important;
	background: #FFFFFF !important;
	border: none !important;
}

.lapp-ai-booth__result-notice--result {
	max-width: 712px !important;
	margin: 14px 0 0 0 !important;
}

.lapp-ai-booth__nav--result {
	justify-content: flex-start !important;
	gap: 12px !important;
	margin-top: 18px !important;
}

.lapp-ai-booth__nav--result .lapp-ai-booth__button {
	min-width: 170px !important;
}

.lapp-ai-booth__result-overlay,
.lapp-ai-booth__button--item-create-another {
	display: none !important;
}

@media (max-width: 980px) {
	.lapp-ai-booth__modal {
		max-width: 96vw !important;
	}

	.lapp-ai-booth__processing-layout,
	.lapp-ai-booth__result-layout {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}

	.lapp-ai-booth__gallery {
		width: 250px !important;
		max-width: 250px !important;
		margin: 0 auto !important;
	}

	.lapp-ai-booth__processing-stage,
	.lapp-ai-booth__result-image-wrap {
		max-width: 100% !important;
		min-height: 320px !important;
	}

	.lapp-ai-booth__result-image {
		height: auto !important;
		max-height: 422px !important;
	}
}


/* ==========================================================================
   FIGMA FINAL PRODUCT / PROCESSING LAYOUT FIX — 2026-09-14
   This block intentionally overrides the previous gallery/result sizing.
   Keep it LAST.
   ========================================================================== */

/* Keep the content as two columns on desktop/tablet. */
.lapp-ai-booth .lapp-ai-booth__processing-layout,
.lapp-ai-booth .lapp-ai-booth__result-layout {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	gap: 48px !important;
	width: 100% !important;
	max-width: 640px !important;
	margin: 24px auto 0 !important;
}

/* LEFT: gallery must always be exactly 250 × 250. */
.lapp-ai-booth .lapp-ai-booth__gallery {
	flex: 0 0 250px !important;
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
	margin: 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-frame {
	position: relative !important;
	display: block !important;
	flex: none !important;
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
	height: 250px !important;
	min-height: 250px !important;
	max-height: 250px !important;
	aspect-ratio: auto !important;
	overflow: hidden !important;
	border-radius: 30px !important;
	background: #D9D9D9 !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-image,
.lapp-ai-booth .lapp-ai-booth__gallery-frame img {
	display: block !important;
	position: static !important;
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
	height: 250px !important;
	min-height: 250px !important;
	max-height: 250px !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 30px !important;
}

/* Slider arrows: black, visible, clickable, vertically centered. */
.lapp-ai-booth .lapp-ai-booth__gallery-nav {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 20 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	min-width: 34px !important;
	max-width: 34px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	font-family: Arial, sans-serif !important;
	font-size: 34px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	opacity: 1 !important;
	visibility: visible !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-nav--prev {
	left: 5px !important;
	right: auto !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-nav--next {
	right: 5px !important;
	left: auto !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-nav:hover,
.lapp-ai-booth .lapp-ai-booth__gallery-nav:focus,
.lapp-ai-booth .lapp-ai-booth__gallery-nav:active {
	background: transparent !important;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-caption {
	width: 250px !important;
	margin: 10px 0 0 !important;
	text-align: center !important;
	color: #000000 !important;
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

/* RIGHT: processing/result area follows the Figma portrait proportion. */
.lapp-ai-booth .lapp-ai-booth__processing-main,
.lapp-ai-booth .lapp-ai-booth__result-main {
	flex: 0 0 226px !important;
	width: 226px !important;
	min-width: 226px !important;
	max-width: 226px !important;
	margin: 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__processing-stage,
.lapp-ai-booth .lapp-ai-booth__result-image-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 226px !important;
	min-width: 226px !important;
	max-width: 226px !important;
	height: 302px !important;
	min-height: 302px !important;
	max-height: 302px !important;
	aspect-ratio: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #CFCFCF !important;
	border-radius: 0 !important;
	background: #FFFFFF !important;
}

.lapp-ai-booth .lapp-ai-booth__processing-stage {
	padding: 20px !important;
	text-align: center !important;
}

/* Generated image exactly 226 × 302. */
.lapp-ai-booth .lapp-ai-booth__result-image,
.lapp-ai-booth .lapp-ai-booth__result-image-wrap img {
	display: block !important;
	position: static !important;
	width: 226px !important;
	min-width: 226px !important;
	max-width: 226px !important;
	height: 302px !important;
	min-height: 302px !important;
	max-height: 302px !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Keep only Download + Done below the generated image. */
.lapp-ai-booth .lapp-ai-booth__nav--result {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	width: 226px !important;
	margin: 14px 0 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__nav--result .lapp-ai-booth__button {
	width: 100% !important;
	min-width: 0 !important;
}

/* The old mock tag and Create Another stay removed/hidden. */
.lapp-ai-booth .lapp-ai-booth__result-overlay,
.lapp-ai-booth .lapp-ai-booth__button--item-create-another {
	display: none !important;
}

/* Notice follows the right column width. */
.lapp-ai-booth .lapp-ai-booth__result-notice--result {
	width: 226px !important;
	max-width: 226px !important;
	margin: 10px 0 0 !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

/* Processing copy should stay inside its right-hand card. */
.lapp-ai-booth .lapp-ai-booth__processing-intro--active,
.lapp-ai-booth .lapp-ai-booth__processing-template--processing,
.lapp-ai-booth .lapp-ai-booth__processing-message--processing {
	width: 100% !important;
	max-width: 190px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

/* Remove the old breakpoint that stacked these columns too early.
   Only stack on genuinely small mobile screens. */
@media (max-width: 650px) {
	.lapp-ai-booth .lapp-ai-booth__processing-layout,
	.lapp-ai-booth .lapp-ai-booth__result-layout {
		flex-direction: column !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 24px !important;
		max-width: 100% !important;
	}

	.lapp-ai-booth .lapp-ai-booth__gallery,
	.lapp-ai-booth .lapp-ai-booth__processing-main,
	.lapp-ai-booth .lapp-ai-booth__result-main {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}


/* ==========================================================================
   FIGMA REFINEMENT — 2026-09-14
   Reduce empty modal space, enlarge gallery slightly, allow generated image
   to keep its natural aspect ratio, and move result buttons below both columns.
   Keep this block LAST.
   ========================================================================== */

/* Modal closer to the Figma proportions instead of the very wide desktop panel. */
.lapp-ai-booth .lapp-ai-booth__modal {
	max-width: 780px !important;
	width: calc(100% - 32px) !important;
}

/* Give the result/processing content a compact centered footprint. */
.lapp-ai-booth .lapp-ai-booth__processing-layout,
.lapp-ai-booth .lapp-ai-booth__result-layout {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 82px !important;
	width: 100% !important;
	max-width: 680px !important;
	margin: 24px auto 0 !important;
}

/* LEFT GALLERY — slightly larger than before. */
.lapp-ai-booth .lapp-ai-booth__gallery {
	flex: 0 0 280px !important;
	width: 280px !important;
	min-width: 280px !important;
	max-width: 280px !important;
	margin: 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-frame {
	width: 280px !important;
	min-width: 280px !important;
	max-width: 280px !important;
	height: 280px !important;
	min-height: 280px !important;
	max-height: 280px !important;
	border-radius: 30px !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-image,
.lapp-ai-booth .lapp-ai-booth__gallery-frame img {
	width: 280px !important;
	min-width: 280px !important;
	max-width: 280px !important;
	height: 280px !important;
	min-height: 280px !important;
	max-height: 280px !important;
	object-fit: cover !important;
	border-radius: 30px !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-caption {
	width: 280px !important;
	margin-top: 10px !important;
	text-align: center !important;
}

/* Keep slider arrows black and easy to click. */
.lapp-ai-booth .lapp-ai-booth__gallery-nav {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	background: rgba(255,255,255,.72) !important;
	border-radius: 50% !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	font-size: 27px !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-nav:hover,
.lapp-ai-booth .lapp-ai-booth__gallery-nav:focus {
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	background: rgba(255,255,255,.95) !important;
}

/* RIGHT SIDE — don't crop the generated result. */
.lapp-ai-booth .lapp-ai-booth__processing-main,
.lapp-ai-booth .lapp-ai-booth__result-main {
	flex: 0 0 250px !important;
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
}

.lapp-ai-booth .lapp-ai-booth__processing-stage {
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
	height: 300px !important;
	min-height: 300px !important;
	max-height: 300px !important;
}

/* Generated-image wrapper is flexible; image keeps its natural aspect ratio. */
.lapp-ai-booth .lapp-ai-booth__result-image-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 250px !important;
	min-width: 250px !important;
	max-width: 250px !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	border: none !important;
	background: transparent !important;
}

.lapp-ai-booth .lapp-ai-booth__result-image,
.lapp-ai-booth .lapp-ai-booth__result-image-wrap img {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 250px !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: 330px !important;
	object-fit: contain !important;
	object-position: center !important;
	margin: 0 auto !important;
	border: 1px solid #CFCFCF !important;
}

/* Notice stays directly below the generated image. */
.lapp-ai-booth .lapp-ai-booth__result-notice--result {
	width: 250px !important;
	max-width: 250px !important;
	margin: 10px 0 0 !important;
	text-align: left !important;
}

/* Result actions span the modal bottom rather than belonging to right column. */
.lapp-ai-booth .lapp-ai-booth__nav--result {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 26px auto 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__nav--result .lapp-ai-booth__button {
	width: auto !important;
	min-width: 170px !important;
	max-width: none !important;
}

/* Keep desktop left/right layout until actual small mobile width. */
@media (max-width: 720px) {
	.lapp-ai-booth .lapp-ai-booth__processing-layout,
	.lapp-ai-booth .lapp-ai-booth__result-layout {
		gap: 32px !important;
	}
}

@media (max-width: 620px) {
	.lapp-ai-booth .lapp-ai-booth__processing-layout,
	.lapp-ai-booth .lapp-ai-booth__result-layout {
		flex-direction: column !important;
		align-items: center !important;
		gap: 24px !important;
	}

	.lapp-ai-booth .lapp-ai-booth__nav--result {
		flex-direction: column !important;
	}

	.lapp-ai-booth .lapp-ai-booth__nav--result .lapp-ai-booth__button {
		width: 100% !important;
		max-width: 280px !important;
	}
}


/* ==========================================================================
   FIGMA REFINEMENT 4 — 2026-09-14
   Final Product / Processing alignment and proportions.
   Keep this block LAST in the stylesheet.
   ========================================================================== */

/* Modal should remain compact at 800px max, never stretched wider. */
.lapp-ai-booth .lapp-ai-booth__modal {
	width: calc(100% - 32px) !important;
	max-width: 800px !important;
}

/* Match kicker + heading spacing to the earlier steps. */
.lapp-ai-booth [data-lapp-ai-screen="result"] .lapp-ai-booth__title-row,
.lapp-ai-booth [data-lapp-ai-screen="processing"] .lapp-ai-booth__title-row {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 7px !important;
	margin: 0 0 16px 0 !important;
	padding-right: 280px !important;
}

.lapp-ai-booth [data-lapp-ai-screen="result"] .lapp-ai-booth__kicker--result,
.lapp-ai-booth [data-lapp-ai-screen="processing"] .lapp-ai-booth__kicker--processing {
	font-family: 'Avenir LT Std', 'Avenir', Arial, sans-serif !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: 16px !important;
	line-height: 105% !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	color: #E6007D !important;
	margin: 0 !important;
}

.lapp-ai-booth [data-lapp-ai-screen="result"] .lapp-ai-booth__heading--result,
.lapp-ai-booth [data-lapp-ai-screen="processing"] .lapp-ai-booth__heading--processing {
	font-family: 'Brandon Grotesque', 'Arial Black', Arial, sans-serif !important;
	font-weight: 500 !important;
	font-style: normal !important;
	font-size: 24px !important;
	line-height: 74% !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}

/* Two visual containers should fill the modal more naturally. */
.lapp-ai-booth .lapp-ai-booth__processing-layout,
.lapp-ai-booth .lapp-ai-booth__result-layout {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 58px !important;
	width: 100% !important;
	max-width: 690px !important;
	margin: 22px auto 0 !important;
}

/* LEFT: enlarge gallery to reduce unused white space. */
.lapp-ai-booth .lapp-ai-booth__gallery {
	flex: 0 0 310px !important;
	width: 310px !important;
	min-width: 310px !important;
	max-width: 310px !important;
	margin: 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-frame {
	width: 310px !important;
	min-width: 310px !important;
	max-width: 310px !important;
	height: 310px !important;
	min-height: 310px !important;
	max-height: 310px !important;
	border-radius: 30px !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-image,
.lapp-ai-booth .lapp-ai-booth__gallery-frame img {
	width: 310px !important;
	min-width: 310px !important;
	max-width: 310px !important;
	height: 310px !important;
	min-height: 310px !important;
	max-height: 310px !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 30px !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-caption {
	width: 310px !important;
	margin: 10px 0 0 !important;
	text-align: center !important;
	font-size: 13px !important;
	color: #000000 !important;
}

/* Slider arrows: black and obvious, but not bulky. */
.lapp-ai-booth .lapp-ai-booth__gallery-nav {
	width: 32px !important;
	min-width: 32px !important;
	height: 32px !important;
	min-height: 32px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.82) !important;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
	font-size: 27px !important;
	font-weight: 400 !important;
	box-shadow: none !important;
}

.lapp-ai-booth .lapp-ai-booth__gallery-nav:hover,
.lapp-ai-booth .lapp-ai-booth__gallery-nav:focus {
	background: rgba(255,255,255,.98) !important;
	color: #000000 !important;
	-webkit-text-fill-color: #000000 !important;
}

/* RIGHT: allow generated image to be larger while preserving its natural ratio. */
.lapp-ai-booth .lapp-ai-booth__processing-main,
.lapp-ai-booth .lapp-ai-booth__result-main {
	flex: 0 0 285px !important;
	width: 285px !important;
	min-width: 285px !important;
	max-width: 285px !important;
	margin: 0 !important;
}

/* Processing area should not show a white card/background. */
.lapp-ai-booth .lapp-ai-booth__processing-stage {
	width: 285px !important;
	min-width: 285px !important;
	max-width: 285px !important;
	height: 310px !important;
	min-height: 310px !important;
	max-height: 310px !important;
	padding: 20px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Generated result: bigger, natural aspect ratio, no forced crop. */
.lapp-ai-booth .lapp-ai-booth__result-image-wrap {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	width: 285px !important;
	min-width: 285px !important;
	max-width: 285px !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

.lapp-ai-booth .lapp-ai-booth__result-image,
.lapp-ai-booth .lapp-ai-booth__result-image-wrap img {
	display: block !important;
	width: auto !important;
	max-width: 285px !important;
	height: auto !important;
	max-height: 350px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center top !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 1px solid #CFCFCF !important;
}

/* Notice belongs beneath BOTH columns and above the two result buttons. */
.lapp-ai-booth .lapp-ai-booth__result-notice--result {
	display: block !important;
	width: 100% !important;
	max-width: 640px !important;
	margin: 22px auto 0 !important;
	padding: 0 !important;
	font-family: var(--lapp-ai-font-family) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: var(--lapp-ai-color-text-muted) !important;
	text-align: center !important;
}

/* Download + Done: side-by-side, centered at the bottom of the modal. */
.lapp-ai-booth .lapp-ai-booth__nav--result {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	width: 100% !important;
	margin: 16px auto 0 !important;
}

.lapp-ai-booth .lapp-ai-booth__nav--result .lapp-ai-booth__button {
	flex: 0 0 auto !important;
	width: 180px !important;
	min-width: 180px !important;
	max-width: 180px !important;
	margin: 0 !important;
}

/* Keep old hidden elements hidden. */
.lapp-ai-booth .lapp-ai-booth__result-overlay,
.lapp-ai-booth .lapp-ai-booth__button--item-create-another {
	display: none !important;
}

/* Responsive only when the modal genuinely no longer has room for two columns. */
@media (max-width: 760px) {
	.lapp-ai-booth .lapp-ai-booth__processing-layout,
	.lapp-ai-booth .lapp-ai-booth__result-layout {
		gap: 28px !important;
		max-width: 100% !important;
	}

	.lapp-ai-booth .lapp-ai-booth__gallery {
		flex-basis: 280px !important;
		width: 280px !important;
		min-width: 280px !important;
		max-width: 280px !important;
	}

	.lapp-ai-booth .lapp-ai-booth__gallery-frame,
	.lapp-ai-booth .lapp-ai-booth__gallery-image,
	.lapp-ai-booth .lapp-ai-booth__gallery-frame img {
		width: 280px !important;
		min-width: 280px !important;
		max-width: 280px !important;
		height: 280px !important;
		min-height: 280px !important;
		max-height: 280px !important;
	}

	.lapp-ai-booth .lapp-ai-booth__gallery-caption {
		width: 280px !important;
	}

	.lapp-ai-booth .lapp-ai-booth__processing-main,
	.lapp-ai-booth .lapp-ai-booth__result-main,
	.lapp-ai-booth .lapp-ai-booth__processing-stage,
	.lapp-ai-booth .lapp-ai-booth__result-image-wrap {
		flex-basis: 250px !important;
		width: 250px !important;
		min-width: 250px !important;
		max-width: 250px !important;
	}
}

@media (max-width: 620px) {
	.lapp-ai-booth [data-lapp-ai-screen="result"] .lapp-ai-booth__title-row,
	.lapp-ai-booth [data-lapp-ai-screen="processing"] .lapp-ai-booth__title-row {
		padding-right: 0 !important;
	}

	.lapp-ai-booth .lapp-ai-booth__processing-layout,
	.lapp-ai-booth .lapp-ai-booth__result-layout {
		flex-direction: column !important;
		align-items: center !important;
		gap: 24px !important;
	}

	.lapp-ai-booth .lapp-ai-booth__nav--result {
		flex-wrap: wrap !important;
	}

	.lapp-ai-booth .lapp-ai-booth__nav--result .lapp-ai-booth__button {
		width: 170px !important;
		min-width: 170px !important;
		max-width: 170px !important;
	}
}


/* ==========================================================================
   STEP 3 CAPTCHA — 2026-09-15
   ========================================================================== */
.lapp-ai-booth__captcha-wrap {
	width: 100% !important;
	margin: 18px 0 0 !important;
}

.lapp-ai-booth__captcha {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	min-height: 65px !important;
}

.lapp-ai-booth__captcha-error {
	margin: 8px 0 0 !important;
	font-size: 12px !important;
}

@media (max-width: 600px) {
	.lapp-ai-booth__captcha {
		justify-content: center !important;
	}
}
