/* AI CV Builder - scoped styles. No external fonts or frameworks. */
.aicvb-app {
	--aicvb-brand: #2457d6;
	--aicvb-brand-dark: #173fa8;
	--aicvb-text: #18212f;
	--aicvb-muted: #667085;
	--aicvb-bg: #f5f7fb;
	--aicvb-card: #fff;
	--aicvb-border: #dfe4ec;
	--aicvb-danger: #c53939;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
	padding: 32px;
	color: var(--aicvb-text);
	background: var(--aicvb-bg);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	line-height: 1.55;
}

.aicvb-app *, .aicvb-app *::before, .aicvb-app *::after { box-sizing: border-box; }
.aicvb-app [hidden] { display: none !important; }
.aicvb-shell { width: 100%; max-width: 1440px; min-width: 0; margin: 0 auto; }
.aicvb-intro { max-width: 780px; margin: 0 auto 38px; text-align: center; }
.aicvb-eyebrow, .aicvb-step-kicker {
	display: block;
	margin-bottom: 9px;
	color: var(--aicvb-brand);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.aicvb-intro h2 { margin: 0; color: var(--aicvb-text); font-size: clamp(31px, 4vw, 50px); line-height: 1.12; letter-spacing: -.04em; }
.aicvb-intro p { max-width: 650px; margin: 15px auto 0; color: var(--aicvb-muted); font-size: 17px; }
.aicvb-stage { animation: aicvb-fade .28s ease; }
@keyframes aicvb-fade { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.aicvb-stage-heading { margin-bottom: 24px; text-align: center; }
.aicvb-stage-heading h3 { margin: 0 0 5px; font-size: clamp(24px, 3vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
.aicvb-stage-heading p { margin: 0; color: var(--aicvb-muted); }
.aicvb-stage-heading--row { display: flex; align-items: end; justify-content: space-between; gap: 24px; text-align: left; }
.aicvb-stage-heading--row p { text-align: right; }

.aicvb-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.aicvb-format-card, .aicvb-template-card {
	appearance: none;
	position: relative;
	margin: 0;
	border: 1px solid var(--aicvb-border);
	border-radius: 18px;
	background: var(--aicvb-card);
	color: var(--aicvb-text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.aicvb-format-card { display: flex; min-height: 300px; padding: 28px; flex-direction: column; align-items: flex-start; }
.aicvb-format-card:hover, .aicvb-format-card:focus-visible, .aicvb-template-card:hover, .aicvb-template-card:focus-visible {
	outline: none;
	border-color: var(--aicvb-brand);
	box-shadow: 0 18px 50px rgba(29, 55, 107, .13);
	transform: translateY(-4px);
}
.aicvb-format-icon { display: grid; width: 58px; height: 58px; margin-bottom: 36px; place-items: center; border-radius: 15px; background: color-mix(in srgb, var(--aicvb-brand) 11%, white); color: var(--aicvb-brand); font-size: 19px; font-weight: 900; }
.aicvb-format-copy { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; }
.aicvb-format-copy strong { font-size: 22px; letter-spacing: -.02em; }
.aicvb-format-copy small { padding: 4px 8px; border-radius: 999px; background: #f0f3f8; color: var(--aicvb-muted); font-size: 11px; font-weight: 700; }
.aicvb-format-description { display: block; margin: 13px 0 25px; color: var(--aicvb-muted); }
.aicvb-card-link { margin-top: auto; color: var(--aicvb-brand); font-weight: 800; }

.aicvb-template-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.aicvb-template-card { padding: 13px 13px 17px; text-align: center; }
.aicvb-template-card > strong, .aicvb-template-card > small { display: block; }
.aicvb-template-card > strong { margin-top: 13px; font-size: 16px; }
.aicvb-template-card > small { margin-top: 2px; color: var(--aicvb-muted); font-size: 12px; }
.aicvb-template-paper { position: relative; display: block; height: 250px; overflow: hidden; border: 1px solid #dce2ea; border-radius: 6px; background: #fff; box-shadow: 0 7px 18px rgba(18, 34, 66, .08); }
.aicvb-template-paper i { position: absolute; display: block; background: #dfe5ec; }
.aicvb-mini-head { top: 20px; left: 18px; width: 57%; height: 11px; background: #254fbd !important; }
.aicvb-mini-photo { top: 17px; right: 17px; width: 28px; height: 28px; border-radius: 50%; }
.aicvb-mini-line { left: 18px; height: 5px; border-radius: 4px; }
.aicvb-mini-line--1 { top: 53px; width: 70%; }
.aicvb-mini-line--2 { top: 67px; width: 50%; }
.aicvb-mini-line--3 { top: 104px; width: 65%; }
.aicvb-mini-line--4 { top: 118px; width: 58%; }
.aicvb-mini-side { right: 16px; bottom: 20px; width: 28%; height: 125px; background: #eef3ff !important; }
.aicvb-template-paper > span { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(13, 28, 56, .78); color: #fff; font-size: 13px; font-weight: 800; opacity: 0; transform: translateY(6px); transition: .2s ease; }
.aicvb-template-card:hover .aicvb-template-paper > span, .aicvb-template-card:focus-visible .aicvb-template-paper > span { opacity: 1; transform: none; }
.aicvb-mini--executive { border-top: 42px solid #172641; }
.aicvb-mini--executive .aicvb-mini-head { top: 10px; background: #c29a4a !important; }
.aicvb-mini--creative { border-left: 42px solid #6c4de6; }
.aicvb-mini--creative .aicvb-mini-head { background: #f04c83 !important; }
.aicvb-mini--minimal .aicvb-mini-head { height: 5px; background: #1b1b1b !important; }
.aicvb-mini--minimal .aicvb-mini-photo, .aicvb-mini--classic .aicvb-mini-photo { display: none; }
.aicvb-mini--tech { background: linear-gradient(135deg, #f8f6ff, #fff 42%); }
.aicvb-mini--tech .aicvb-mini-head { background: #7147e8 !important; }
.aicvb-mini--classic { font-family: Georgia, serif; }
.aicvb-mini--classic .aicvb-mini-head { left: 20%; width: 60%; background: #222 !important; }
.aicvb-mini--classic .aicvb-mini-side { display: none; }
.aicvb-mini--bold { border-top: 58px solid #111827; }
.aicvb-mini--bold .aicvb-mini-head { top: 15px; background: #22c4a8 !important; }
.aicvb-mini--compact .aicvb-mini-side { left: 15px; right: auto; width: 34%; height: 160px; }
.aicvb-mini--compact .aicvb-mini-line { left: 48%; }
.aicvb-mini--sidebar { border-left: 55px solid #1d2939; }
.aicvb-mini--graduate .aicvb-mini-head { background: #14866d !important; }
.aicvb-mini--graduate { border-bottom: 8px solid #14866d; }

.aicvb-link-button { appearance: none; padding: 0; border: 0; background: none; color: var(--aicvb-brand); font: inherit; font-weight: 750; cursor: pointer; }
.aicvb-link-button:hover, .aicvb-link-button:focus-visible { color: var(--aicvb-brand-dark); text-decoration: underline; }
.aicvb-stage-heading .aicvb-link-button { display: block; margin-bottom: 20px; }
.aicvb-button, .aicvb-add-button, .aicvb-icon-button {
	appearance: none;
	border: 1px solid transparent;
	font: inherit;
	font-weight: 760;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.aicvb-button { min-height: 42px; padding: 9px 15px; border-radius: 10px; }
.aicvb-button:active, .aicvb-add-button:active { transform: translateY(1px); }
.aicvb-button--primary { border-color: var(--aicvb-brand); background: var(--aicvb-brand); color: #fff; }
.aicvb-button--primary:hover, .aicvb-button--primary:focus-visible { border-color: var(--aicvb-brand-dark); background: var(--aicvb-brand-dark); }
.aicvb-button--secondary { border-color: color-mix(in srgb, var(--aicvb-brand) 32%, white); background: color-mix(in srgb, var(--aicvb-brand) 8%, white); color: var(--aicvb-brand-dark); }
.aicvb-button--secondary:hover, .aicvb-button--secondary:focus-visible { border-color: var(--aicvb-brand); }
.aicvb-button--quiet { border-color: var(--aicvb-border); background: #fff; color: var(--aicvb-text); }
.aicvb-button--quiet:hover, .aicvb-button--quiet:focus-visible { border-color: #abb6c6; background: #f8fafc; }
.aicvb-button:disabled { opacity: .55; cursor: wait; }
.aicvb-builder-toolbar { display: flex; margin-bottom: 18px; align-items: center; justify-content: space-between; gap: 20px; }
.aicvb-builder-toolbar strong { display: block; margin-top: 5px; }
.aicvb-toolbar-actions, .aicvb-preview-actions, .aicvb-output-actions { display: flex; align-items: center; gap: 8px; }

.aicvb-form-steps { display: grid; margin-bottom: 16px; grid-template-columns: repeat(6, 1fr); overflow: hidden; border: 1px solid var(--aicvb-border); border-radius: 14px; background: var(--aicvb-card); }
.aicvb-form-steps button { appearance: none; display: flex; min-width: 0; padding: 12px 8px; align-items: center; justify-content: center; gap: 7px; border: 0; border-right: 1px solid var(--aicvb-border); background: transparent; color: var(--aicvb-muted); font: inherit; font-size: 12px; font-weight: 720; cursor: pointer; }
.aicvb-form-steps button:last-child { border-right: 0; }
.aicvb-form-steps button span { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid #cbd3df; border-radius: 50%; font-size: 11px; }
.aicvb-form-steps button.is-active { background: color-mix(in srgb, var(--aicvb-brand) 7%, white); color: var(--aicvb-brand-dark); }
.aicvb-form-steps button.is-active span, .aicvb-form-steps button.is-complete span { border-color: var(--aicvb-brand); background: var(--aicvb-brand); color: #fff; }

.aicvb-workspace { display: grid; grid-template-columns: minmax(390px, 470px) minmax(0, 1fr); align-items: start; gap: 18px; }
.aicvb-form-column { border: 1px solid var(--aicvb-border); border-radius: 18px; background: var(--aicvb-card); box-shadow: 0 10px 35px rgba(20, 40, 75, .06); }
.aicvb-form { padding: 25px; }
.aicvb-form-step { min-height: 550px; }
.aicvb-form-heading { display: flex; margin-bottom: 25px; align-items: flex-start; gap: 12px; }
.aicvb-form-heading > span { display: grid; width: 37px; height: 37px; flex: 0 0 37px; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--aicvb-brand) 10%, white); color: var(--aicvb-brand); font-size: 12px; font-weight: 900; }
.aicvb-form-heading h3 { margin: 0; font-size: 20px; line-height: 1.25; }
.aicvb-form-heading p { margin: 4px 0 0; color: var(--aicvb-muted); font-size: 12px; }
.aicvb-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.aicvb-field { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.aicvb-field--full { grid-column: 1 / -1; }
.aicvb-field > span { color: #344054; font-size: 12px; font-weight: 750; }
.aicvb-field > span b { color: var(--aicvb-danger); }
.aicvb-field > span em { color: #8993a2; font-size: 10px; font-style: normal; font-weight: 500; }
.aicvb-field input, .aicvb-field textarea, .aicvb-field select, .aicvb-style-grid input, .aicvb-style-grid select {
	width: 100%;
	margin: 0;
	border: 1px solid #cfd6e1;
	border-radius: 9px;
	outline: none;
	background: #fff;
	color: var(--aicvb-text);
	font: inherit;
	font-size: 13px;
	box-shadow: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.aicvb-field input, .aicvb-field select { height: 42px; padding: 8px 11px; }
.aicvb-field textarea { min-height: 96px; padding: 10px 11px; resize: vertical; }
.aicvb-field input:focus, .aicvb-field textarea:focus, .aicvb-field select:focus, .aicvb-style-grid input:focus, .aicvb-style-grid select:focus { border-color: var(--aicvb-brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--aicvb-brand) 12%, transparent); }
.aicvb-field input:invalid:not(:placeholder-shown), .aicvb-field textarea:invalid:not(:placeholder-shown) { border-color: #e39292; }
.aicvb-field > small { align-self: flex-end; color: var(--aicvb-muted); font-size: 10px; }
.aicvb-check { display: flex; min-height: 42px; align-items: center; gap: 8px; color: #344054; font-size: 12px; font-weight: 700; cursor: pointer; }
.aicvb-check input { width: 17px; height: 17px; margin: 0; accent-color: var(--aicvb-brand); }
.aicvb-app[data-format="europass"] .aicvb-language-standard { display: none; }
.aicvb-app:not([data-format="europass"]) .aicvb-language-cefr { display: none; }
.aicvb-photo-field { display: grid; margin-bottom: 20px; grid-template-columns: 64px 1fr auto; align-items: center; gap: 13px; }
.aicvb-photo-preview { display: grid; width: 64px; height: 64px; overflow: hidden; place-items: center; border: 1px dashed #9eaabd; border-radius: 15px; background: #f8fafc; color: var(--aicvb-brand); font-size: 25px; }
.aicvb-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.aicvb-photo-field label { display: flex; flex-direction: column; cursor: pointer; }
.aicvb-photo-field label small { color: var(--aicvb-muted); font-size: 10px; }
.aicvb-photo-field input { width: 100%; margin-top: 5px; font-size: 10px; }
.aicvb-europass-only { display: contents; }
.aicvb-app:not([data-format="europass"]) .aicvb-europass-only { display: none; }
.aicvb-smart-row { display: flex; margin-top: 15px; align-items: center; gap: 12px; }
.aicvb-smart-row > span { color: var(--aicvb-muted); font-size: 10px; }
.aicvb-subheading { margin: 28px 0 12px; padding-top: 20px; border-top: 1px solid var(--aicvb-border); font-size: 14px; }
.aicvb-repeater { display: grid; gap: 12px; }
.aicvb-repeater-item { position: relative; padding: 16px; border: 1px solid var(--aicvb-border); border-radius: 12px; background: #fbfcfe; }
.aicvb-repeater-item__head { display: flex; margin-bottom: 13px; align-items: center; justify-content: space-between; }
.aicvb-repeater-item__head strong { font-size: 13px; }
.aicvb-remove-item { appearance: none; padding: 3px 7px; border: 0; background: transparent; color: var(--aicvb-danger); font: inherit; font-size: 11px; cursor: pointer; }
.aicvb-repeater-item .aicvb-fields { gap: 11px; }
.aicvb-add-button { width: 100%; margin-top: 12px; padding: 10px; border: 1px dashed #aab7ca; border-radius: 10px; background: #fff; color: var(--aicvb-brand); font-size: 12px; }
.aicvb-add-button:hover, .aicvb-add-button:focus-visible { border-color: var(--aicvb-brand); background: color-mix(in srgb, var(--aicvb-brand) 5%, white); }
.aicvb-extra-fields { margin-top: 25px; }
.aicvb-form-navigation { display: flex; min-height: 66px; margin: 24px -25px -25px; padding: 13px 25px; align-items: center; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--aicvb-border); border-radius: 0 0 18px 18px; background: #fbfcfe; }
.aicvb-save-status { margin-right: auto; color: var(--aicvb-muted); font-size: 10px; }

.aicvb-preview-column { position: sticky; top: 20px; min-width: 0; overflow-anchor: none; }
.aicvb-preview-toolbar { display: flex; min-height: 52px; padding: 9px 13px; align-items: center; justify-content: space-between; border: 1px solid var(--aicvb-border); border-radius: 13px 13px 0 0; background: var(--aicvb-card); }
.aicvb-preview-toolbar strong, .aicvb-preview-toolbar span { display: block; }
.aicvb-preview-toolbar span { color: var(--aicvb-muted); font-size: 10px; }
.aicvb-preview-actions [data-role="zoom-label"] { min-width: 34px; text-align: center; }
.aicvb-icon-button { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border-color: var(--aicvb-border); border-radius: 7px; background: #fff; color: var(--aicvb-text); }
.aicvb-style-panel { border-right: 1px solid var(--aicvb-border); border-bottom: 1px solid var(--aicvb-border); border-left: 1px solid var(--aicvb-border); background: #fff; }
.aicvb-style-panel summary { padding: 10px 13px; color: var(--aicvb-brand); font-size: 12px; font-weight: 800; cursor: pointer; }
.aicvb-style-grid { display: grid; padding: 3px 13px 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.aicvb-style-grid label { display: flex; min-width: 0; flex-direction: column; gap: 4px; color: var(--aicvb-muted); font-size: 10px; font-weight: 650; }
.aicvb-style-grid input[type="color"] { height: 34px; padding: 3px; }
.aicvb-style-grid input[type="range"] { height: 24px; padding: 0; border: 0; }
.aicvb-style-grid select { height: 34px; padding: 5px 7px; }
.aicvb-style-grid output { color: var(--aicvb-text); font-size: 10px; }
.aicvb-span-2 { grid-column: span 2; }
.aicvb-preview-viewport { min-height: 730px; max-height: calc(100vh - 190px); overflow: auto; overflow-anchor: none; padding: 24px; border: 1px solid var(--aicvb-border); border-top: 0; background-color: #d9dfe8; background-image: linear-gradient(45deg, rgba(255,255,255,.22) 25%, transparent 25%), linear-gradient(-45deg, rgba(255,255,255,.22) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255,255,255,.22) 75%), linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.22) 75%); background-position: 0 0, 0 8px, 8px -8px, -8px 0; background-size: 16px 16px; }
.aicvb-preview-scale { --aicvb-preview-scale: .75; width: 794px; transform: scale(var(--aicvb-preview-scale)); transform-origin: top left; }
.aicvb-output-actions { padding: 12px; justify-content: flex-end; border: 1px solid var(--aicvb-border); border-top: 0; border-radius: 0 0 13px 13px; background: #fff; }
.aicvb-privacy-note { margin: 8px 4px 0; color: var(--aicvb-muted); font-size: 10px; text-align: center; }
.aicvb-notice { position: sticky; top: 10px; z-index: 20; max-width: 760px; margin: 0 auto 16px; padding: 11px 15px; border: 1px solid #acc1f3; border-radius: 10px; background: #edf3ff; color: #19386f; box-shadow: 0 8px 30px rgba(27, 51, 96, .12); text-align: center; }
.aicvb-notice.is-error { border-color: #efb4b4; background: #fff0f0; color: #8c2929; }

/* Finalized document stage. */
.aicvb-stage--final { width: 100%; max-width: 1040px; margin: 0 auto; }
.aicvb-final-header { max-width: 760px; margin: 0 auto 24px; text-align: center; }
.aicvb-final-check { display: grid; width: 58px; height: 58px; margin: 0 auto 14px; place-items: center; border-radius: 50%; background: #e8f8ef; color: #16824b; font-size: 28px; font-weight: 900; box-shadow: 0 8px 24px rgba(22, 130, 75, .13); }
.aicvb-final-header h3 { margin: 0; font-size: clamp(27px, 4vw, 42px); line-height: 1.15; letter-spacing: -.035em; }
.aicvb-final-header p { margin: 10px auto 0; color: var(--aicvb-muted); font-size: 15px; }
.aicvb-final-meta { display: flex; margin-top: 16px; flex-wrap: wrap; justify-content: center; gap: 8px; }
.aicvb-final-meta span { display: inline-flex; min-height: 29px; padding: 5px 10px; align-items: center; border: 1px solid var(--aicvb-border); border-radius: 999px; background: #fff; color: #475467; font-size: 11px; font-weight: 750; }
.aicvb-final-meta [data-role="final-storage-status"].is-success { border-color: #a9dec0; background: #edf9f2; color: #126a3d; }
.aicvb-final-meta [data-role="final-storage-status"].is-warning { border-color: #f0cf91; background: #fff8e8; color: #895b08; }
.aicvb-final-preview { min-width: 0; border-radius: 16px; box-shadow: 0 12px 38px rgba(20, 40, 75, .08); }
.aicvb-final-preview-toolbar { display: flex; min-height: 56px; padding: 10px 15px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--aicvb-border); border-radius: 16px 16px 0 0; background: #fff; }
.aicvb-final-preview-toolbar strong, .aicvb-final-preview-toolbar span { display: block; }
.aicvb-final-preview-toolbar span { color: var(--aicvb-muted); font-size: 11px; }
.aicvb-final-preview-toolbar > span { padding: 4px 9px; border-radius: 999px; background: #edf9f2; color: #126a3d; font-weight: 800; }
.aicvb-final-preview-viewport { width: 100%; min-width: 0; min-height: 650px; max-height: min(900px, 82vh); overflow: auto; padding: 24px; border: 1px solid var(--aicvb-border); border-top: 0; background-color: #d9dfe8; background-image: linear-gradient(45deg, rgba(255,255,255,.22) 25%, transparent 25%), linear-gradient(-45deg, rgba(255,255,255,.22) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255,255,255,.22) 75%), linear-gradient(-45deg, transparent 75%, rgba(255,255,255,.22) 75%); background-position: 0 0, 0 8px, 8px -8px, -8px 0; background-size: 16px 16px; }
.aicvb-final-preview-scale { --aicvb-final-preview-scale: .9; width: 794px; transform: scale(var(--aicvb-final-preview-scale)); transform-origin: top left; }
.aicvb-final-actions { display: flex; padding: 15px; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--aicvb-border); border-top: 0; border-radius: 0 0 16px 16px; background: #fff; }
.aicvb-final-actions .aicvb-button { min-width: 138px; }

/* Width is based on the Elementor widget itself, not only the browser viewport. */
.aicvb-app[data-layout="tablet"] .aicvb-template-grid,
.aicvb-app[data-layout="mobile"] .aicvb-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aicvb-app[data-layout="tablet"] .aicvb-workspace,
.aicvb-app[data-layout="mobile"] .aicvb-workspace,
.aicvb-app[data-layout="phone"] .aicvb-workspace { grid-template-columns: minmax(0, 1fr); }
.aicvb-app[data-layout="tablet"] .aicvb-form-step,
.aicvb-app[data-layout="mobile"] .aicvb-form-step,
.aicvb-app[data-layout="phone"] .aicvb-form-step { min-height: 0; }
.aicvb-app[data-layout="tablet"] .aicvb-preview-column,
.aicvb-app[data-layout="mobile"] .aicvb-preview-column,
.aicvb-app[data-layout="phone"] .aicvb-preview-column { position: static; }
.aicvb-app[data-layout="tablet"] .aicvb-preview-viewport,
.aicvb-app[data-layout="mobile"] .aicvb-preview-viewport,
.aicvb-app[data-layout="phone"] .aicvb-preview-viewport { max-height: 900px; }

.aicvb-app[data-layout="mobile"], .aicvb-app[data-layout="phone"] { padding: 22px 15px; }
.aicvb-app[data-layout="mobile"] .aicvb-format-grid,
.aicvb-app[data-layout="phone"] .aicvb-format-grid { grid-template-columns: minmax(0, 1fr); }
.aicvb-app[data-layout="mobile"] .aicvb-format-card,
.aicvb-app[data-layout="phone"] .aicvb-format-card { min-height: 220px; padding: 22px; }
.aicvb-app[data-layout="mobile"] .aicvb-format-icon,
.aicvb-app[data-layout="phone"] .aicvb-format-icon { margin-bottom: 22px; }
.aicvb-app[data-layout="mobile"] .aicvb-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aicvb-app[data-layout="mobile"] .aicvb-stage-heading--row,
.aicvb-app[data-layout="phone"] .aicvb-stage-heading--row,
.aicvb-app[data-layout="mobile"] .aicvb-builder-toolbar,
.aicvb-app[data-layout="phone"] .aicvb-builder-toolbar { align-items: flex-start; flex-direction: column; }
.aicvb-app[data-layout="mobile"] .aicvb-stage-heading--row p,
.aicvb-app[data-layout="phone"] .aicvb-stage-heading--row p { text-align: left; }
.aicvb-app[data-layout="mobile"] .aicvb-toolbar-actions,
.aicvb-app[data-layout="phone"] .aicvb-toolbar-actions { width: 100%; flex-wrap: wrap; }
.aicvb-app[data-layout="mobile"] .aicvb-form-steps button,
.aicvb-app[data-layout="phone"] .aicvb-form-steps button { min-height: 46px; padding: 10px 4px; font-size: 0; }
.aicvb-app[data-layout="mobile"] .aicvb-form-steps button span,
.aicvb-app[data-layout="phone"] .aicvb-form-steps button span { font-size: 11px; }
.aicvb-app[data-layout="mobile"] .aicvb-form,
.aicvb-app[data-layout="phone"] .aicvb-form { padding: 18px; }
.aicvb-app[data-layout="mobile"] .aicvb-fields,
.aicvb-app[data-layout="phone"] .aicvb-fields { grid-template-columns: minmax(0, 1fr); }
.aicvb-app[data-layout="mobile"] .aicvb-europass-only,
.aicvb-app[data-layout="phone"] .aicvb-europass-only { display: block; }
.aicvb-app[data-layout="mobile"]:not([data-format="europass"]) .aicvb-europass-only,
.aicvb-app[data-layout="phone"]:not([data-format="europass"]) .aicvb-europass-only { display: none; }
.aicvb-app[data-layout="mobile"] .aicvb-europass-only .aicvb-field + .aicvb-field,
.aicvb-app[data-layout="phone"] .aicvb-europass-only .aicvb-field + .aicvb-field { margin-top: 15px; }
.aicvb-app[data-layout="mobile"] .aicvb-form-navigation,
.aicvb-app[data-layout="phone"] .aicvb-form-navigation { margin: 24px -18px -18px; padding: 12px 18px; flex-wrap: wrap; }
.aicvb-app[data-layout="mobile"] .aicvb-save-status,
.aicvb-app[data-layout="phone"] .aicvb-save-status { width: 100%; order: 3; }
.aicvb-app[data-layout="mobile"] .aicvb-style-grid,
.aicvb-app[data-layout="phone"] .aicvb-style-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aicvb-app[data-layout="mobile"] .aicvb-preview-viewport,
.aicvb-app[data-layout="phone"] .aicvb-preview-viewport,
.aicvb-app[data-layout="mobile"] .aicvb-final-preview-viewport,
.aicvb-app[data-layout="phone"] .aicvb-final-preview-viewport { min-height: 520px; padding: 13px; }
.aicvb-app[data-layout="mobile"] .aicvb-output-actions,
.aicvb-app[data-layout="phone"] .aicvb-output-actions,
.aicvb-app[data-layout="mobile"] .aicvb-final-actions,
.aicvb-app[data-layout="phone"] .aicvb-final-actions { align-items: stretch; flex-direction: column; }
.aicvb-app[data-layout="mobile"] .aicvb-output-actions .aicvb-button,
.aicvb-app[data-layout="phone"] .aicvb-output-actions .aicvb-button,
.aicvb-app[data-layout="mobile"] .aicvb-final-actions .aicvb-button,
.aicvb-app[data-layout="phone"] .aicvb-final-actions .aicvb-button { width: 100%; }
.aicvb-app[data-layout="mobile"] .aicvb-template-paper > span,
.aicvb-app[data-layout="phone"] .aicvb-template-paper > span { inset: auto 8px 8px; padding: 8px 10px; border-radius: 7px; opacity: 1; transform: none; }

.aicvb-app[data-layout="phone"] { padding: 18px 10px; }
.aicvb-app[data-layout="phone"] .aicvb-template-grid { grid-template-columns: minmax(0, 1fr); }
.aicvb-app[data-layout="phone"] .aicvb-template-paper { height: 280px; }
.aicvb-app[data-layout="phone"] .aicvb-photo-field { grid-template-columns: 58px minmax(0, 1fr); }
.aicvb-app[data-layout="phone"] .aicvb-photo-preview { width: 58px; height: 58px; }
.aicvb-app[data-layout="phone"] .aicvb-photo-field > button { grid-column: 2; justify-self: start; }
.aicvb-app[data-layout="phone"] .aicvb-smart-row { align-items: flex-start; flex-direction: column; }
.aicvb-app[data-layout="phone"] .aicvb-repeater-item { padding: 13px; }
.aicvb-app[data-layout="phone"] .aicvb-preview-toolbar,
.aicvb-app[data-layout="phone"] .aicvb-final-preview-toolbar { align-items: flex-start; gap: 8px; }
.aicvb-app[data-layout="phone"] .aicvb-form-navigation .aicvb-button { min-width: calc(50% - 5px); flex: 1 1 auto; }
.aicvb-app[data-layout="phone"] .aicvb-toolbar-actions .aicvb-button { flex: 1 1 calc(50% - 5px); }

/* CV canvas and shared document primitives. */
.aicvb-document {
	--cv-accent: #2457d6;
	--cv-text: #1f2937;
	--cv-page: #fff;
	--cv-sidebar: #eef3ff;
	--cv-font: Arial, sans-serif;
	--cv-body-size: 10pt;
	--cv-heading-size: 20pt;
	--cv-line-height: 1.45;
	--cv-section-gap: 18px;
	--cv-page-padding: 42px;
	--cv-photo-radius: 50%;
	position: relative;
	width: 794px;
	min-height: 1123px;
	overflow: hidden;
	background: var(--cv-page);
	color: var(--cv-text);
	font-family: var(--cv-font);
	font-size: var(--cv-body-size);
	line-height: var(--cv-line-height);
	box-shadow: 0 18px 60px rgba(17, 30, 55, .22);
}
.aicvb-document.cv-shadow-strong { box-shadow: 0 22px 70px rgba(8, 18, 38, .38); }
.aicvb-document.cv-shadow-none { box-shadow: none; }
.aicvb-document, .aicvb-document * { box-sizing: border-box; }
.aicvb-document h1, .aicvb-document h2, .aicvb-document h3, .aicvb-document p, .aicvb-document ul { margin-top: 0; }
.aicvb-document p { margin-bottom: 7px; }
.aicvb-document a { color: inherit; text-decoration: none; }
.aicvb-document ul { margin-bottom: 0; padding-left: 17px; }
.aicvb-document li { margin-bottom: 3px; }
.cv-header { display: grid; padding: var(--cv-page-padding); grid-template-columns: 1fr auto; align-items: center; gap: 26px; }
.cv-name { margin: 0; color: var(--cv-text); font-size: calc(var(--cv-heading-size) * 1.62); line-height: 1.03; letter-spacing: -.035em; }
.cv-headline { margin: 8px 0 0; color: var(--cv-accent); font-size: calc(var(--cv-body-size) * 1.35); font-weight: 700; }
.cv-contact { display: flex; margin-top: 14px; flex-wrap: wrap; gap: 5px 15px; color: color-mix(in srgb, var(--cv-text) 78%, white); font-size: calc(var(--cv-body-size) * .88); }
.cv-photo { width: 102px; height: 102px; object-fit: cover; border-radius: var(--cv-photo-radius); }
.cv-photo-placeholder { display: grid; width: 102px; height: 102px; place-items: center; border-radius: var(--cv-photo-radius); background: color-mix(in srgb, var(--cv-accent) 13%, white); color: var(--cv-accent); font-size: 30px; font-weight: 800; }
.cv-body { display: grid; padding: 0 var(--cv-page-padding) var(--cv-page-padding); grid-template-columns: minmax(0, 1fr) 31%; gap: 36px; }
.cv-section { margin-bottom: var(--cv-section-gap); break-inside: avoid; }
.cv-section:last-child { margin-bottom: 0; }
.cv-section-title { margin: 0 0 10px; color: var(--cv-accent); font-size: var(--cv-heading-size); line-height: 1.15; letter-spacing: -.025em; }
.cv-entry { margin-bottom: 15px; break-inside: avoid; }
.cv-entry:last-child { margin-bottom: 0; }
.cv-entry-top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cv-entry h3 { margin: 0; color: var(--cv-text); font-size: calc(var(--cv-body-size) * 1.12); line-height: 1.25; }
.cv-entry-meta, .cv-entry-date { color: color-mix(in srgb, var(--cv-text) 66%, white); font-size: calc(var(--cv-body-size) * .86); }
.cv-entry-date { flex: 0 0 auto; white-space: nowrap; }
.cv-entry-description { margin-top: 6px; white-space: pre-line; }
.cv-skill-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.cv-skill-tag { display: inline-block; padding: 5px 8px; border-radius: 5px; background: color-mix(in srgb, var(--cv-accent) 10%, white); color: color-mix(in srgb, var(--cv-accent) 80%, black); font-size: calc(var(--cv-body-size) * .86); font-weight: 650; }
.cv-simple-list { display: grid; gap: 6px; white-space: pre-line; }
.cv-language { display: flex; margin-bottom: 7px; align-items: baseline; justify-content: space-between; gap: 10px; }
.cv-language strong { font-size: calc(var(--cv-body-size) * .95); }
.cv-language span { color: color-mix(in srgb, var(--cv-text) 65%, white); font-size: calc(var(--cv-body-size) * .82); text-align: right; }
.cv-section-boxes-soft .cv-section { padding: 12px; border-radius: 9px; background: color-mix(in srgb, var(--cv-accent) 4%, var(--cv-page)); }
.cv-section-boxes-line .cv-section { padding-bottom: 11px; border-bottom: 1px solid color-mix(in srgb, var(--cv-accent) 18%, white); }
.cv-editing [data-editable] { outline: 1px dashed color-mix(in srgb, var(--cv-accent) 60%, white); outline-offset: 2px; cursor: text; }
.cv-editing [data-editable]:focus { outline: 2px solid var(--cv-accent); background: #fff9d7; }
.cv-empty-state { display: grid; min-height: 1123px; padding: 80px; place-items: center; color: #758195; text-align: center; }
.cv-empty-state span { display: block; font-size: 52px; }
.cv-empty-state strong { display: block; margin-top: 8px; color: #344054; font-size: 22px; }

/* Europass-style structured layout. */
.aicvb-document.format-europass { border-top: 9px solid var(--cv-accent); }
.format-europass .cv-header { padding-bottom: 27px; border-bottom: 1px solid #d8dfe9; }
.format-europass .cv-header::before { content: "EUROPASS CV"; position: absolute; top: 19px; right: var(--cv-page-padding); color: var(--cv-accent); font-size: 8pt; font-weight: 800; letter-spacing: .18em; }
.format-europass .cv-body { padding-top: 30px; grid-template-columns: 28% minmax(0, 1fr); }
.format-europass .cv-aside { grid-column: 1; grid-row: 1; padding-right: 22px; border-right: 1px solid #d8dfe9; }
.format-europass .cv-main { grid-column: 2; }
.format-europass .cv-section-title { font-size: calc(var(--cv-body-size) * 1.14); letter-spacing: .07em; text-transform: uppercase; }
.format-europass .cv-entry-top { display: block; }
.format-europass .cv-entry-date { display: block; margin-bottom: 2px; color: var(--cv-accent); font-weight: 700; }
.format-europass .cv-eu-details { display: grid; gap: 4px; }
.cv-cefr-table { width: 100%; border-collapse: collapse; font-size: calc(var(--cv-body-size) * .72); text-align: center; }
.cv-cefr-table th, .cv-cefr-table td { padding: 4px 3px; border: 1px solid #ccd5e1; }
.cv-cefr-table th { background: color-mix(in srgb, var(--cv-accent) 8%, white); color: var(--cv-accent); font-weight: 700; }
.cv-cefr-table td:first-child, .cv-cefr-table th:first-child { text-align: left; }

/* Five modern CV designs. */
.template-modern-nordic .cv-header { padding-bottom: 30px; }
.template-modern-nordic .cv-body { border-top: 5px solid var(--cv-accent); padding-top: 30px; }
.template-modern-nordic .cv-aside { padding: 18px; border-radius: 12px; background: var(--cv-sidebar); }
.template-modern-nordic .cv-section-title { font-size: calc(var(--cv-heading-size) * .72); text-transform: uppercase; letter-spacing: .08em; }

.template-modern-executive .cv-header { padding-top: 54px; padding-bottom: 38px; background: #172641; color: #fff; }
.template-modern-executive .cv-name { color: #fff; font-family: Georgia, serif; }
.template-modern-executive .cv-headline { color: var(--cv-accent); letter-spacing: .09em; text-transform: uppercase; }
.template-modern-executive .cv-contact { color: #d9e1ee; }
.template-modern-executive .cv-photo { border: 4px solid var(--cv-accent); }
.template-modern-executive .cv-body { padding-top: 36px; }
.template-modern-executive .cv-section-title { padding-bottom: 6px; border-bottom: 2px solid var(--cv-accent); color: #172641; font-family: Georgia, serif; font-size: calc(var(--cv-heading-size) * .83); }
.template-modern-executive .cv-skill-tag { border: 1px solid #d4b56f; background: #fffaf0; color: #6e5421; }

.template-modern-creative { border-radius: 0; }
.template-modern-creative .cv-header { padding: 54px 48px 42px 270px; background: linear-gradient(135deg, #fff 65%, color-mix(in srgb, var(--cv-accent) 10%, white)); }
.template-modern-creative .cv-photo, .template-modern-creative .cv-photo-placeholder { position: absolute; top: 52px; left: 62px; width: 130px; height: 130px; border: 7px solid rgba(255,255,255,.72); box-shadow: 0 7px 25px rgba(0,0,0,.16); }
.template-modern-creative .cv-body { padding: 0; grid-template-columns: 235px minmax(0, 1fr); gap: 0; }
.template-modern-creative .cv-aside { grid-column: 1; grid-row: 1; min-height: 899px; padding: 54px 30px; background: linear-gradient(180deg, var(--cv-accent), color-mix(in srgb, var(--cv-accent) 73%, #251653)); color: #fff; }
.template-modern-creative .cv-main { grid-column: 2; padding: 48px; }
.template-modern-creative .cv-aside .cv-section-title, .template-modern-creative .cv-aside .cv-language, .template-modern-creative .cv-aside .cv-entry h3 { color: #fff; }
.template-modern-creative .cv-aside .cv-language span, .template-modern-creative .cv-aside .cv-entry-meta { color: rgba(255,255,255,.76); }
.template-modern-creative .cv-aside .cv-skill-tag { background: rgba(255,255,255,.16); color: #fff; }
.template-modern-creative .cv-section-title { font-size: calc(var(--cv-heading-size) * .78); }

.template-modern-minimal .cv-header { display: block; padding-top: 62px; padding-bottom: 32px; text-align: center; }
.template-modern-minimal .cv-name { color: #111; font-weight: 400; letter-spacing: .02em; text-transform: uppercase; }
.template-modern-minimal .cv-headline { color: #444; font-size: var(--cv-body-size); letter-spacing: .18em; text-transform: uppercase; }
.template-modern-minimal .cv-contact { justify-content: center; }
.template-modern-minimal .cv-photo, .template-modern-minimal .cv-photo-placeholder { display: none; }
.template-modern-minimal .cv-body { padding-top: 25px; grid-template-columns: minmax(0, 1fr); border-top: 1px solid #1a1a1a; }
.template-modern-minimal .cv-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.template-modern-minimal .cv-section-title { color: #111; font-family: Georgia, serif; font-size: calc(var(--cv-heading-size) * .7); font-weight: 400; text-transform: uppercase; letter-spacing: .14em; }

.template-modern-tech { background-image: radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--cv-accent) 11%, white) 0, transparent 240px); }
.template-modern-tech .cv-header { padding-top: 55px; }
.template-modern-tech .cv-name { max-width: 520px; }
.template-modern-tech .cv-headline { display: inline-block; padding: 6px 10px; border-radius: 6px; background: var(--cv-accent); color: #fff; font-family: "Courier New", monospace; font-size: calc(var(--cv-body-size) * .94); }
.template-modern-tech .cv-body { grid-template-columns: minmax(0, 1fr) 29%; }
.template-modern-tech .cv-aside { padding-left: 20px; border-left: 2px solid color-mix(in srgb, var(--cv-accent) 18%, white); }
.template-modern-tech .cv-section-title { font-family: "Courier New", monospace; font-size: calc(var(--cv-heading-size) * .7); }
.template-modern-tech .cv-section-title::before { content: "> "; }
.template-modern-tech .cv-skill-tag { border: 1px solid color-mix(in srgb, var(--cv-accent) 30%, white); border-radius: 999px; background: transparent; }

/* Five resume designs. */
.template-resume-classic { font-family: Georgia, "Times New Roman", serif; }
.template-resume-classic .cv-header { display: block; padding-bottom: 20px; text-align: center; }
.template-resume-classic .cv-name { color: #111; font-size: calc(var(--cv-heading-size) * 1.42); font-weight: 500; text-transform: uppercase; letter-spacing: .07em; }
.template-resume-classic .cv-headline { color: #333; }
.template-resume-classic .cv-contact { justify-content: center; }
.template-resume-classic .cv-photo, .template-resume-classic .cv-photo-placeholder { display: none; }
.template-resume-classic .cv-body { padding-top: 20px; grid-template-columns: 1fr; border-top: 1px solid #333; gap: 15px; }
.template-resume-classic .cv-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.template-resume-classic .cv-section-title { padding-bottom: 4px; border-bottom: 1px solid #555; color: #111; font-size: calc(var(--cv-heading-size) * .66); text-align: center; text-transform: uppercase; letter-spacing: .12em; }
.template-resume-classic .cv-skill-tag { padding: 0; background: none; color: #222; }
.template-resume-classic .cv-skill-tag:not(:last-child)::after { content: " •"; }

.template-resume-bold { border-top: 15px solid var(--cv-accent); }
.template-resume-bold .cv-header { padding-top: 48px; padding-bottom: 38px; background: #111827; }
.template-resume-bold .cv-name { color: #fff; text-transform: uppercase; }
.template-resume-bold .cv-headline { color: var(--cv-accent); }
.template-resume-bold .cv-contact { color: #d8dee9; }
.template-resume-bold .cv-photo, .template-resume-bold .cv-photo-placeholder { border: 4px solid var(--cv-accent); }
.template-resume-bold .cv-body { padding-top: 34px; grid-template-columns: minmax(0, 1fr) 28%; }
.template-resume-bold .cv-section-title { color: #111827; font-size: calc(var(--cv-heading-size) * .74); text-transform: uppercase; }
.template-resume-bold .cv-section-title::after { content: ""; display: block; width: 36px; margin-top: 5px; border-top: 4px solid var(--cv-accent); }

.template-resume-compact .cv-header { padding: 30px 34px 22px; border-bottom: 3px solid var(--cv-accent); }
.template-resume-compact .cv-photo, .template-resume-compact .cv-photo-placeholder { width: 76px; height: 76px; }
.template-resume-compact .cv-body { padding: 25px 34px 34px; grid-template-columns: 35% minmax(0, 1fr); gap: 25px; }
.template-resume-compact .cv-aside { grid-column: 1; grid-row: 1; padding-right: 20px; border-right: 1px solid #d5dbe4; }
.template-resume-compact .cv-main { grid-column: 2; }
.template-resume-compact .cv-section-title { font-size: calc(var(--cv-heading-size) * .61); text-transform: uppercase; letter-spacing: .06em; }
.template-resume-compact .cv-entry { margin-bottom: 10px; }

.template-resume-sidebar .cv-header { padding: 58px 45px 43px 284px; background: #f6f7f9; }
.template-resume-sidebar .cv-photo, .template-resume-sidebar .cv-photo-placeholder { position: absolute; z-index: 2; top: 46px; left: 65px; width: 120px; height: 120px; border: 5px solid rgba(255,255,255,.2); }
.template-resume-sidebar .cv-body { padding: 0; grid-template-columns: 240px minmax(0, 1fr); gap: 0; }
.template-resume-sidebar .cv-aside { grid-column: 1; grid-row: 1; min-height: 922px; padding: 75px 30px 45px; background: #1d2939; color: #fff; }
.template-resume-sidebar .cv-main { grid-column: 2; padding: 45px; }
.template-resume-sidebar .cv-aside .cv-section-title, .template-resume-sidebar .cv-aside .cv-entry h3 { color: var(--cv-accent); }
.template-resume-sidebar .cv-aside .cv-language span, .template-resume-sidebar .cv-aside .cv-entry-meta { color: #c9d1dc; }
.template-resume-sidebar .cv-aside .cv-skill-tag { background: rgba(255,255,255,.1); color: #fff; }
.template-resume-sidebar .cv-section-title { font-size: calc(var(--cv-heading-size) * .7); text-transform: uppercase; }

.template-resume-graduate { border-bottom: 11px solid var(--cv-accent); }
.template-resume-graduate .cv-header { padding-bottom: 28px; background: color-mix(in srgb, var(--cv-accent) 8%, white); }
.template-resume-graduate .cv-name { color: #123b34; }
.template-resume-graduate .cv-body { padding-top: 31px; grid-template-columns: minmax(0, 1fr) 30%; }
.template-resume-graduate .cv-section-title { color: #123b34; font-size: calc(var(--cv-heading-size) * .72); }
.template-resume-graduate .cv-section-title::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 8px; border-radius: 50%; background: var(--cv-accent); }

@media (max-width: 1180px) {
	.aicvb-template-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.aicvb-workspace { grid-template-columns: 1fr; }
	.aicvb-form-step { min-height: 0; }
	.aicvb-preview-column { position: static; }
	.aicvb-preview-viewport { max-height: 900px; }
}

@media (max-width: 780px) {
	.aicvb-app { padding: 22px 15px; }
	.aicvb-intro { margin-bottom: 28px; }
	.aicvb-intro p { font-size: 14px; }
	.aicvb-format-grid { grid-template-columns: 1fr; }
	.aicvb-format-card { min-height: 220px; padding: 22px; }
	.aicvb-format-icon { margin-bottom: 22px; }
	.aicvb-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aicvb-stage-heading--row, .aicvb-builder-toolbar { align-items: flex-start; flex-direction: column; }
	.aicvb-stage-heading--row p { text-align: left; }
	.aicvb-toolbar-actions { width: 100%; flex-wrap: wrap; }
	.aicvb-form-steps button { padding: 10px 4px; font-size: 0; }
	.aicvb-form-steps button span { font-size: 11px; }
	.aicvb-form { padding: 18px; }
	.aicvb-fields { grid-template-columns: 1fr; }
	.aicvb-europass-only { display: block; }
	.aicvb-app:not([data-format="europass"]) .aicvb-europass-only { display: none; }
	.aicvb-europass-only .aicvb-field + .aicvb-field { margin-top: 15px; }
	.aicvb-form-navigation { margin: 24px -18px -18px; padding: 12px 18px; flex-wrap: wrap; }
	.aicvb-save-status { width: 100%; order: 3; }
	.aicvb-style-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aicvb-preview-viewport { min-height: 580px; padding: 13px; }
	.aicvb-final-preview-viewport { min-height: 520px; padding: 13px; }
	.aicvb-output-actions, .aicvb-final-actions { align-items: stretch; flex-direction: column; }
	.aicvb-output-actions .aicvb-button, .aicvb-final-actions .aicvb-button { width: 100%; }
	.aicvb-template-paper > span { inset: auto 8px 8px; padding: 8px 10px; border-radius: 7px; opacity: 1; transform: none; }
}

@media (max-width: 480px) {
	.aicvb-app { padding: 18px 10px; }
	.aicvb-template-grid { grid-template-columns: 1fr; }
	.aicvb-template-paper { height: 310px; }
	.aicvb-photo-field { grid-template-columns: 58px 1fr; }
	.aicvb-photo-preview { width: 58px; height: 58px; }
	.aicvb-photo-field > button { grid-column: 2; justify-self: start; }
	.aicvb-smart-row { align-items: flex-start; flex-direction: column; }
	.aicvb-repeater-item { padding: 13px; }
	.aicvb-preview-toolbar, .aicvb-final-preview-toolbar { align-items: flex-start; gap: 8px; }
	.aicvb-form-navigation .aicvb-button { min-width: calc(50% - 5px); flex: 1 1 auto; }
	.aicvb-toolbar-actions .aicvb-button { flex: 1 1 calc(50% - 5px); }
}

@media (prefers-reduced-motion: reduce) {
	.aicvb-app *, .aicvb-app *::before, .aicvb-app *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}
