.lemare-composer-entry {
	margin: 1.25rem 0;
}

.lemare-composer-entry a,
.lemare-composer-actions button,
.lemare-composer-topbar-left button,
.lemare-composer-page-meta button,
.lemare-composer-toolbar button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	border: 0;
	border-radius: 6px;
	background: #8d8c60;
	color: #fff;
	font-family: Montserrat-Regular, sans-serif;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.lemare-composer-entry a {
	width: min(100%, 420px);
}

.lemare-composer-app {
	--composer-paper: #fbfaf4;
	--composer-ink: #484848;
	--composer-muted: #8d8c60;
	--composer-gold: #b58d2f;
	--composer-line: rgba(141, 140, 96, .28);
	--composer-soft: #f2ede4;
	--composer-blue: #455475;
	width: min(1560px, calc(100% - 28px));
	margin: 132px auto 36px;
	color: var(--composer-ink);
	font-family: Montserrat-Regular, sans-serif;
}

.lemare-composer-app.is-workbench-blocked > *:not(.lemare-composer-blocker) {
	pointer-events: none;
	user-select: none;
}

.lemare-composer-blocker {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(246, 244, 238, .76);
	backdrop-filter: blur(8px);
	pointer-events: auto;
}

.lemare-composer-blocker[hidden] {
	display: none;
}

.lemare-composer-blocker-panel {
	display: grid;
	gap: 14px;
	width: min(460px, 100%);
	padding: 24px 26px;
	border: 1px solid rgba(69, 84, 117, .18);
	border-radius: 8px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 26px 70px rgba(72, 72, 72, .22);
	text-align: center;
}

.lemare-composer-blocker-title {
	color: var(--composer-blue);
	font-size: .94rem;
	font-weight: 800;
	letter-spacing: .14em;
	line-height: 1.35;
	text-transform: uppercase;
}

.lemare-composer-blocker-detail {
	color: rgba(72, 72, 72, .68);
	font-size: .82rem;
	line-height: 1.45;
}

.lemare-composer-blocker-track {
	position: relative;
	height: 10px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(69, 84, 117, .14);
}

.lemare-composer-blocker-bar {
	position: absolute;
	inset: 0 auto 0 0;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, #455475, #1a98bc, #8d8c60);
	transition: width .2s ease;
}

body.page-id-143 #header,
body.page-id-143 #footer,
body.page-id-143 .lemare-page-main > section > h1 {
	display: none !important;
}

body.page-id-143 .lemare-original,
body.page-id-143 .lemare-page-main,
body.page-id-143 .lemare-page-main > section,
body.page-id-143 .lemare-page-content {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
}

body.page-id-143 .lemare-page {
	background: #f6f4ee;
}

body.page-id-143 .lemare-composer-app {
	width: 100%;
	margin: 0;
}

.lemare-composer-shell {
	display: grid;
	gap: 0;
}

.lemare-composer-topbar {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	min-height: 50px;
	padding: 0 10px;
	border: 0;
	border-bottom: 1px solid var(--composer-line);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.lemare-composer-topbar-left {
	display: flex;
	gap: 14px;
	align-items: center;
	max-width: 400px;
}

.lemare-composer-save {
	display: grid !important;
	gap: 4px;
	place-items: center;
	width: 40px;
	height: 40px;
	min-height: 40px !important;
	margin: 5px 0;
	padding: 0 !important;
	border-radius: 15px !important;
	background: transparent !important;
}

.lemare-composer-save span {
	display: block;
	width: 22px;
	height: 2px;
	background: #9b9b9b;
}

.lemare-composer-reset {
	min-height: 30px !important;
	padding: 0 11px !important;
	border: 1px solid rgba(159, 60, 53, .22) !important;
	background: #fff4f2 !important;
	color: #9f3c35 !important;
	font-size: .68rem !important;
	letter-spacing: .08em !important;
}

.lemare-composer-reset:hover,
.lemare-composer-reset:focus-visible {
	background: #9f3c35 !important;
	color: #fff !important;
}

.lemare-composer-logo {
	display: grid;
	place-items: center;
	min-width: 0;
}

.lemare-composer-logo img {
	display: block;
	width: auto;
	height: 40px;
	max-width: 150px;
	max-height: 40px;
	object-fit: contain;
}

.lemare-composer-title-block {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.lemare-composer-title-block span {
	overflow: hidden;
	color: var(--composer-blue);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.lemare-composer-exit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 5px;
	background: #d95f57;
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
}

.lemare-composer-kicker {
	display: none;
}

.lemare-composer-topbar h1 {
	display: none;
}

.lemare-composer-actions {
	display: flex;
	gap: 6px;
	align-items: center;
	justify-content: flex-end;
}

.lemare-composer-actions label,
.lemare-composer-fields label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.lemare-composer-name-options {
	min-width: 210px;
	padding: 5px;
	border: 1px solid #1a98bc;
	border-radius: 5px;
	background: #d7f2fa;
	cursor: pointer;
}

.lemare-composer-name-options strong {
	display: block;
	overflow: hidden;
	color: var(--composer-ink);
	font-size: .82rem;
	font-weight: 400;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lemare-composer-actions label {
	grid-template-columns: 1fr;
	gap: 1px;
}

.lemare-composer-actions span,
.lemare-composer-fields span,
.lemare-composer-photos h2,
.lemare-composer-panel h2 {
	color: var(--composer-muted);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.lemare-composer-actions select,
.lemare-composer-fields input[type="text"],
.lemare-composer-fields textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--composer-line);
	border-radius: 6px;
	background: #fff;
	color: var(--composer-ink);
	font: .82rem Montserrat-Regular, sans-serif;
	padding: 8px 10px;
}

.lemare-composer-name-options select {
	border: 0;
	background: transparent;
	color: var(--composer-blue);
	font-size: .72rem;
	padding: 0;
}

.lemare-composer-price {
	align-self: stretch;
	display: inline-flex;
	align-items: center;
	padding: 0 6px;
	color: #fff;
	font-weight: 700;
	white-space: nowrap;
	background: #008e74;
}

.lemare-composer-modes {
	display: flex;
	gap: 8px;
	align-items: center;
	padding: 8px;
	border: 0;
	border-bottom: 1px solid var(--composer-line);
	border-radius: 0;
	background: var(--composer-paper);
	overflow-x: auto;
	white-space: nowrap;
}

.lemare-composer-modes button {
	min-height: 34px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--composer-muted);
	font: 700 .72rem Montserrat-Regular, sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
}

.lemare-composer-modes button.is-active {
	border-color: var(--composer-line);
	background: #fff;
	color: var(--composer-blue);
}

.lemare-auto-strategy {
	flex: 0 0 auto;
	display: none;
	gap: 4px;
	align-items: center;
	margin-left: 6px;
	padding-left: 8px;
	border-left: 1px solid var(--composer-line);
}

.lemare-composer-modes.is-auto-mode .lemare-auto-strategy {
	display: inline-flex;
}

.lemare-auto-strategy button {
	min-height: 30px;
	padding: 0 10px;
	font-size: .62rem;
	letter-spacing: .08em;
}

.lemare-history-actions {
	display: inline-flex;
	flex: 0 0 auto;
	gap: 4px;
	align-items: center;
	margin-left: auto;
	padding-left: 8px;
	border-left: 1px solid var(--composer-line);
}

.lemare-history-actions button {
	min-height: 30px;
	padding: 0 10px;
	font-size: .62rem;
	letter-spacing: .08em;
}

.lemare-history-actions button:disabled {
	opacity: .38;
	cursor: default;
}

.lemare-composer-tabs {
	display: flex;
	gap: 6px;
	align-items: center;
	overflow-x: auto;
	padding-bottom: 2px;
}

.lemare-composer-tabs button {
	min-height: 32px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--composer-muted);
	font: 700 .66rem Montserrat-Regular, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
}

.lemare-composer-tabs button.is-active {
	border-color: var(--composer-line);
	background: var(--composer-paper);
	color: var(--composer-blue);
}

	.lemare-composer-grid {
		display: grid;
		grid-template-columns: 300px minmax(520px, 1fr) 300px;
		gap: 0;
		align-items: stretch;
		height: calc(100vh - 94px);
		min-height: 620px;
		overflow: hidden;
	}

	.lemare-composer-photos,
	.lemare-composer-workbench,
	.lemare-composer-panel {
		min-width: 0;
		min-height: 0;
		border: 0;
		border-radius: 0;
		background: #fff;
	}

.lemare-composer-photos {
	border-right: 1px solid var(--composer-line);
}

.lemare-composer-panel {
	border-left: 1px solid var(--composer-line);
}

	.lemare-composer-photos,
	.lemare-composer-panel {
		display: grid;
		grid-template-rows: auto minmax(0, 1fr);
		align-content: start;
		gap: 14px;
		padding: 14px;
		overflow: hidden;
	}

	.lemare-side-pane {
		display: none;
		gap: 14px;
		align-content: start;
		min-height: 0;
		max-height: 100%;
		overflow: auto;
	}

.lemare-side-pane.is-active {
	display: grid;
}

.lemare-composer-photos h2,
.lemare-composer-panel h2 {
	margin: 0;
}

.lemare-photo-panel-head {
	display: grid;
	gap: 8px;
}

.lemare-photo-filters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	padding: 3px;
	border: 1px solid rgba(69, 84, 117, .14);
	border-radius: 7px;
	background: #f7f7f3;
}

.lemare-photo-filters button {
	min-height: 30px;
	padding: 5px 6px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: rgba(72, 72, 72, .68);
	font: 800 .58rem/1.15 Montserrat-Regular, sans-serif;
	letter-spacing: .02em;
	text-align: center;
	cursor: pointer;
}

.lemare-photo-filters button:hover,
.lemare-photo-filters button:focus-visible {
	color: var(--composer-blue);
	background: rgba(255, 255, 255, .72);
}

.lemare-photo-filters button.is-active {
	background: #fff;
	color: var(--composer-blue);
	box-shadow: 0 1px 5px rgba(72, 72, 72, .08);
}

.lemare-photo-dropzone {
	display: grid;
	gap: 7px;
	place-items: center;
	min-height: 126px;
	padding: 18px;
	border: 1px dashed rgba(69, 84, 117, .42);
	border-radius: 8px;
	background: #f7f7f3;
	color: var(--composer-blue);
	text-align: center;
	cursor: pointer;
}

.lemare-photo-dropzone.is-dragging {
	background: #eef2f4;
	border-color: var(--composer-blue);
}

.lemare-photo-dropzone input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.lemare-photo-dropzone span {
	color: var(--composer-blue);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.lemare-photo-dropzone small,
.lemare-empty-state {
	margin: 0;
	color: rgba(72, 72, 72, .64);
	font-size: .8rem;
	line-height: 1.4;
}

.lemare-photo-upload-progress {
	display: grid;
	gap: 6px;
	padding: 10px 12px;
	border: 1px solid rgba(69, 84, 117, .14);
	border-radius: 6px;
	background: #fff;
}

.lemare-photo-upload-progress[hidden] {
	display: none;
}

.lemare-photo-upload-progress div {
	position: relative;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(69, 84, 117, .12);
}

.lemare-photo-upload-progress span {
	position: absolute;
	inset: 0 auto 0 0;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, #455475, #1a98bc);
	transition: width .18s ease;
}

.lemare-photo-upload-progress small {
	margin: 0;
	color: rgba(72, 72, 72, .68);
	font-size: .76rem;
	line-height: 1.2;
}

	.lemare-template-list,
	.lemare-background-list {
		display: grid;
		gap: 10px;
	}

	.lemare-template-group {
		display: grid;
		gap: 0;
		min-width: 0;
		border: 1px solid var(--composer-line);
		border-radius: 7px;
		background: #fff;
		overflow: hidden;
	}

details.lemare-template-group {
	display: block;
}

.lemare-template-group summary {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 8px;
	align-items: center;
	min-height: 40px;
	padding: 0 10px;
	color: var(--composer-blue);
	font: 700 .72rem Montserrat-Regular, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.lemare-template-group summary::-webkit-details-marker {
	display: none;
}

.lemare-template-group summary::before {
	content: "+";
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	margin-right: 4px;
	border-radius: 50%;
	background: var(--composer-paper);
	color: var(--composer-muted);
	font-size: .8rem;
}

.lemare-template-group[open] summary::before {
	content: "-";
}

.lemare-template-group summary span {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.lemare-template-group summary small {
	color: var(--composer-muted);
	font-size: .62rem;
	letter-spacing: .08em;
	white-space: nowrap;
}

.lemare-template-group-body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	padding: 0 8px 8px;
}

.lemare-template-list button,
.lemare-background-list button {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 8px;
	align-items: center;
	min-height: 50px;
	border: 1px solid var(--composer-line);
	border-radius: 6px;
	background: #fff;
	color: var(--composer-blue);
	font: 700 .66rem Montserrat-Regular, sans-serif;
	letter-spacing: .06em;
	text-align: left;
	text-transform: uppercase;
	cursor: pointer;
}

.lemare-template-list button span,
.lemare-background-list button span {
	display: block;
	height: 36px;
	border-radius: 4px;
	background: var(--composer-paper);
	box-shadow: inset 0 0 0 1px var(--composer-line);
}

.lemare-template-list [data-lemare-template-choice="double"] span {
	background: linear-gradient(90deg, var(--composer-paper) 0 48%, #fff 48% 52%, var(--composer-paper) 52% 100%);
}

.lemare-template-list [data-lemare-template-choice="mosaic"] span {
	background:
		linear-gradient(90deg, transparent 0 48%, #fff 48% 52%, transparent 52% 100%),
		linear-gradient(0deg, transparent 0 48%, #fff 48% 52%, transparent 52% 100%),
		var(--composer-paper);
}

.lemare-template-list [data-lemare-template-choice="panorama"] span {
	background: linear-gradient(0deg, var(--composer-paper) 0 45%, #fff 45% 55%, var(--composer-paper) 55% 100%);
}

.lemare-template-list [data-lemare-template-choice="triple"] span {
	background:
		linear-gradient(0deg, transparent 0 56%, #fff 56% 64%, transparent 64% 100%),
		linear-gradient(90deg, transparent 0 48%, #fff 48% 52%, transparent 52% 100%),
		var(--composer-paper);
}

.lemare-template-list [data-lemare-template-choice="feature"] span {
	background: linear-gradient(90deg, var(--composer-paper) 0 62%, #fff 62% 70%, var(--composer-paper) 70% 100%);
}

.lemare-template-list [data-lemare-template-choice="full"] span {
	background: var(--composer-paper);
}

.lemare-template-list [data-lemare-template-choice="left-focus"] span {
	background: linear-gradient(90deg, var(--composer-paper) 0 58%, #fff 58% 66%, var(--composer-paper) 66% 100%);
}

.lemare-template-list [data-lemare-template-choice="right-focus"] span {
	background: linear-gradient(90deg, var(--composer-paper) 0 34%, #fff 34% 42%, var(--composer-paper) 42% 100%);
}

.lemare-template-list [data-lemare-template-choice="two-horizontal"] span {
	background: linear-gradient(0deg, var(--composer-paper) 0 43%, #fff 43% 57%, var(--composer-paper) 57% 100%);
}

.lemare-template-list [data-lemare-template-choice="bleed-double"] span {
	background: linear-gradient(90deg, var(--composer-paper) 0 49%, #fff 49% 51%, var(--composer-paper) 51% 100%);
}

.lemare-template-list [data-lemare-template-choice="six-grid"] span {
	background:
		linear-gradient(90deg, transparent 0 31%, #fff 31% 35%, transparent 35% 65%, #fff 65% 69%, transparent 69% 100%),
		linear-gradient(0deg, transparent 0 45%, #fff 45% 55%, transparent 55% 100%),
		var(--composer-paper);
}

.lemare-template-list [data-lemare-template-choice] span.is-template-preview {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(69, 84, 117, .06) 0 49%, rgba(69, 84, 117, .16) 49% 51%, rgba(69, 84, 117, .06) 51% 100%),
		#f7f7f3;
}

.lemare-template-list [data-lemare-template-choice] span.is-spread-template-preview::after {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 50%;
	width: 1px;
	background: rgba(69, 84, 117, .22);
	transform: translateX(-.5px);
}

.lemare-template-preview-slot {
	position: absolute;
	display: block;
	box-sizing: border-box;
	border: 1px solid rgba(69, 84, 117, .42);
	border-radius: 2px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 1px 3px rgba(72, 72, 72, .08), inset 0 0 0 1px rgba(255, 255, 255, .72);
	transform-origin: center;
}

.lemare-template-preview-photo {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
}

.lemare-background-list button span {
	background: var(--swatch);
}

	.lemare-photo-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		min-height: 0;
		max-height: 100%;
		overflow: auto;
		padding-right: 2px;
	}

.lemare-photo-thumb {
	position: relative;
	display: grid;
	gap: 6px;
	padding: 6px;
	border: 2px solid transparent;
	border-radius: 6px;
	background: var(--composer-paper);
	color: var(--composer-ink);
	font: .7rem Montserrat-Regular, sans-serif;
	text-align: left;
	cursor: pointer;
}

.lemare-photo-thumb-select {
	display: grid;
	gap: 6px;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: inherit;
	cursor: inherit;
}

.lemare-photo-thumb[draggable="true"] {
	cursor: grab;
}

.lemare-photo-thumb.is-dragging {
	opacity: .56;
}

	.lemare-photo-thumb img {
		width: 100%;
		max-height: 118px;
		object-fit: cover;
		border-radius: 4px;
		background: rgba(72, 72, 72, .06);
	}

	.lemare-photo-thumb.is-photo-portrait img {
		width: min(78%, 86px);
		justify-self: center;
	}

	.lemare-photo-thumb.is-photo-landscape img {
		width: 100%;
	}

	.lemare-photo-thumb.is-photo-square img {
		aspect-ratio: 1;
	}

.lemare-photo-thumb-placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 4px;
	background: rgba(72, 72, 72, .08);
}

.lemare-photo-thumb span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lemare-photo-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 1px solid rgba(72, 72, 72, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: var(--composer-blue);
	font: 800 .72rem Montserrat-Regular, sans-serif;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 7px rgba(72, 72, 72, .16);
}

.lemare-photo-remove:hover,
.lemare-photo-remove:focus-visible {
	background: #fff4f2;
	color: #9f3c35;
}

.lemare-photo-thumb.is-selected {
	border-color: var(--composer-blue);
	background: #fff;
}

.lemare-photo-thumb.is-visible-unit {
	box-shadow: inset 0 0 0 1px rgba(0, 142, 116, .28);
}

.lemare-photo-usage {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	min-height: 20px;
	padding: 0 7px;
	border: 1px solid rgba(141, 140, 96, .22);
	border-radius: 999px;
	background: #fff;
	color: #74735a;
	font-size: .58rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.lemare-photo-usage.is-unused {
	color: #9f7b36;
}

.lemare-photo-usage.is-used {
	color: #47735b;
}

.lemare-photo-usage.is-visible-unit {
	border-color: rgba(0, 142, 116, .32);
	background: #eef8f4;
	color: #008e74;
}

	.lemare-composer-workbench {
		position: relative;
		display: grid;
		grid-template-rows: auto auto auto minmax(280px, 1fr) 84px;
		gap: 12px;
		min-height: 0;
		overflow: hidden;
		padding: 14px;
		background: linear-gradient(180deg, #fbfaf4, #f4f1e8);
	}

.lemare-composer-page-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
}

.lemare-composer-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.lemare-composer-page-meta span {
	color: var(--composer-blue);
	font: 700 .78rem Montserrat-Regular, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.lemare-composer-page-meta button {
	min-height: 36px;
	padding: 0 14px;
	background: var(--composer-blue);
	font-size: .66rem;
}

.lemare-composer-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	justify-content: center;
	padding: 7px;
	border: 1px solid var(--composer-line);
	border-radius: 7px;
	background: #fff;
}

.lemare-composer-edit-hint {
	margin: -3px 0 0;
	color: rgba(72, 72, 72, .62);
	font: .72rem Montserrat-Regular, sans-serif;
	text-align: center;
}

.lemare-composer-warning {
	position: absolute;
	top: 118px;
	left: 50%;
	z-index: 8;
	transform: translateX(-50%);
	align-self: center;
	justify-self: center;
	max-width: 720px;
	margin: -2px 0 0;
	padding: 9px 14px;
	border: 1px solid rgba(217, 95, 87, .32);
	border-radius: 7px;
	background: #fff4f2;
	color: #9f3c35;
	font: 700 .74rem Montserrat-Regular, sans-serif;
	letter-spacing: .04em;
	text-align: center;
}

.lemare-photo-overflow-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
	margin-top: 8px;
}

.lemare-photo-overflow-actions button {
	padding: 6px 10px;
	border: 1px solid rgba(159, 60, 53, .28);
	border-radius: 6px;
	background: #fff;
	color: #9f3c35;
	font: 700 .68rem Montserrat-Regular, sans-serif;
	cursor: pointer;
}

.lemare-photo-overflow-actions button:first-child {
	background: #9f3c35;
	color: #fff;
}

.lemare-auto-progress {
	position: absolute;
	top: 118px;
	left: 50%;
	z-index: 9;
	display: grid;
	gap: 7px;
	width: min(460px, calc(100% - 32px));
	padding: 12px 14px;
	transform: translateX(-50%);
	border: 1px solid rgba(69, 84, 117, .18);
	border-radius: 7px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 12px 26px rgba(72, 72, 72, .1);
	color: var(--composer-blue);
	font: 700 .72rem Montserrat-Regular, sans-serif;
	letter-spacing: .04em;
}

.lemare-auto-progress[hidden] {
	display: none;
}

.lemare-auto-progress div {
	position: relative;
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(69, 84, 117, .12);
}

.lemare-auto-progress span {
	position: absolute;
	inset: 0 auto 0 0;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, #455475, #008e74);
	transition: width .16s ease;
}

.lemare-auto-progress small {
	color: var(--composer-blue);
	font-size: .72rem;
	line-height: 1.2;
	text-align: center;
}

.lemare-project-warnings,
.lemare-cart-review {
	align-self: center;
	justify-self: center;
	width: min(760px, calc(100% - 20px));
	border: 1px solid rgba(141, 140, 96, .26);
	border-radius: 7px;
	background: rgba(255, 255, 255, .96);
	color: var(--composer-ink);
	box-shadow: 0 12px 26px rgba(72, 72, 72, .08);
}

.lemare-project-warnings {
	position: absolute;
	top: 118px;
	left: 50%;
	z-index: 6;
	transform: translateX(-50%);
	margin: -2px 0 0;
	padding: 9px 14px;
	font: .72rem Montserrat-Regular, sans-serif;
}

.lemare-project-warnings strong,
.lemare-cart-review strong {
	display: block;
	margin-bottom: 6px;
	color: var(--composer-blue);
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lemare-project-warnings ul,
.lemare-cart-review ul {
	display: grid;
	gap: 3px;
	margin: 0;
	padding-left: 18px;
}

.lemare-cart-review {
	z-index: 5;
	margin: 0;
	padding: 14px;
}

.lemare-cart-review dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 14px;
	margin: 8px 0;
	font-size: .72rem;
}

.lemare-cart-review dt {
	color: var(--composer-muted);
	font-weight: 800;
	text-transform: uppercase;
}

.lemare-cart-review dd {
	margin: 0;
}

.lemare-cart-review-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 12px;
}

.lemare-cart-review-actions button {
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid var(--composer-line);
	border-radius: 6px;
	background: #fff;
	color: var(--composer-blue);
	font: 800 .66rem Montserrat-Regular, sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.lemare-cart-review-actions button:last-child {
	background: #008e74;
	color: #fff;
}

.lemare-composer-toolbar button {
	min-height: 32px;
	padding: 0 12px;
	background: #fff;
	border: 1px solid var(--composer-line);
	color: var(--composer-blue);
	font-size: .64rem;
}

.lemare-composer-toolbar .lemare-text-control {
	display: none;
	box-sizing: border-box;
	min-height: 32px;
	border: 1px solid var(--composer-line);
	border-radius: 6px;
	background: #fff;
	color: var(--composer-blue);
	font: 700 .68rem Montserrat-Regular, sans-serif;
}

.lemare-composer-toolbar select.lemare-text-control {
	width: 170px;
	padding: 0 9px;
	font-size: .84rem;
	font-weight: 400;
}

.lemare-composer-toolbar input[type="number"].lemare-text-control {
	width: 68px;
	padding: 0 8px;
}

.lemare-composer-toolbar input[type="color"].lemare-text-control {
	width: 42px;
	padding: 3px;
}

.lemare-composer-app.has-text-selected .lemare-composer-toolbar .lemare-text-control {
	display: inline-flex;
}

	.lemare-composer-spread {
		position: relative;
		align-self: center;
		justify-self: center;
		display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0;
		width: min(100%, 920px);
		max-height: 100%;
		aspect-ratio: 3 / 2;
	padding: 14px;
	border-radius: 8px;
	background: #e8e3d8;
	box-shadow: 0 24px 70px rgba(72, 72, 72, .18);
}

.lemare-composer-spread::before {
	content: "";
	position: absolute;
	top: 18px;
	bottom: 18px;
	left: 50%;
	z-index: 4;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(72, 72, 72, .25), transparent);
	box-shadow: -8px 0 18px rgba(72, 72, 72, .12), 8px 0 18px rgba(72, 72, 72, .1);
}

.lemare-composer-spread.is-full-canvas::before {
	display: none;
}

.lemare-composer-spread.is-full-canvas [data-lemare-spread-page="left"] {
	grid-column: 1 / -1;
	border-radius: 5px;
}

.lemare-composer-spread.is-full-canvas [data-lemare-spread-page="right"] {
	display: none;
}

.lemare-composer-spread.is-basic-sheet.is-portrait-sheet {
	width: min(100%, 920px);
	aspect-ratio: 44 / 29;
}

.lemare-composer-spread.is-basic-sheet.is-landscape-sheet {
	width: min(100%, 920px);
	aspect-ratio: 58 / 22;
}

.lemare-composer-spread.is-basic-sheet.is-square-sheet {
	width: min(100%, 820px);
	aspect-ratio: 2 / 1;
}

.lemare-composer-spread-page {
	container-type: size;
	position: relative;
	overflow: hidden;
	min-width: 0;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(72, 72, 72, .08);
}

.lemare-composer-spread-page:first-child {
	border-radius: 5px 0 0 5px;
}

.lemare-composer-spread-page:last-child {
	border-radius: 0 5px 5px 0;
}

.lemare-composer-spread-page.is-active {
	outline: 2px solid rgba(26, 152, 188, .5);
	outline-offset: -2px;
}

.lemare-composer-spread.is-active-spread {
	outline: 2px solid rgba(26, 152, 188, .55);
	outline-offset: 3px;
}

.lemare-composer-spread-page.is-empty {
	background: linear-gradient(135deg, #f5f1e8, #fff);
}

.lemare-composer-preview {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.lemare-photo-slots {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.lemare-composer-spread-page.is-cover-page .lemare-photo-slots {
	z-index: 5;
}

.lemare-premium-spread-slots {
	inset: 14px;
	z-index: 3;
}

.lemare-composer-design-overlay {
	position: absolute;
	inset: 0;
	z-index: 4;
	width: 100%;
	height: 100%;
	object-fit: fill;
	pointer-events: none;
}

.lemare-photo-slot {
	position: absolute;
	display: grid;
	place-items: center;
	overflow: hidden;
	border: 1px dashed rgba(69, 84, 117, .24);
	background: rgba(255, 255, 255, .08);
	color: rgba(69, 84, 117, .72);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
}

.lemare-photo-slot span {
	max-width: 86%;
	padding: 6px 8px;
	border-radius: 5px;
	background: rgba(255, 255, 255, .78);
	color: rgba(69, 84, 117, .72);
	line-height: 1.15;
	pointer-events: none;
}

.lemare-photo-slot.has-photo {
	border-style: solid;
	background: transparent;
}

.lemare-photo-slot.has-photo span {
	display: none;
}

.lemare-photo-slot-media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.lemare-photo-slot.is-selected {
	outline: 2px solid var(--composer-blue);
	outline-offset: 2px;
}

.lemare-photo-slot.is-frame-editing {
	overflow: visible;
	border-color: var(--composer-blue);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .9), 0 10px 24px rgba(69, 84, 117, .18);
	cursor: move;
}

.lemare-frame-delete,
.lemare-frame-resize {
	position: absolute;
	z-index: 8;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(69, 84, 117, .18);
	background: rgba(255, 255, 255, .96);
	color: var(--composer-blue);
	box-shadow: 0 3px 10px rgba(72, 72, 72, .18);
	cursor: pointer;
}

.lemare-frame-delete {
	top: -14px;
	right: -14px;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	font: 900 18px/1 Montserrat-Regular, sans-serif;
}

.lemare-frame-delete:hover,
.lemare-frame-delete:focus-visible {
	background: #fff4f2;
	color: #9f3c35;
}

.lemare-frame-resize {
	right: -9px;
	bottom: -9px;
	width: 18px;
	height: 18px;
	border-radius: 4px;
	cursor: nwse-resize;
}

.lemare-frame-resize::before {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
}

.lemare-photo-slot.is-drop-target {
	border-color: var(--composer-blue);
	background: rgba(69, 84, 117, .12);
	outline: 2px solid rgba(69, 84, 117, .28);
	outline-offset: 2px;
}

.lemare-photo-cover-box {
	position: absolute;
	left: 50%;
	top: 50%;
	max-width: none;
	max-height: none;
	transform-origin: center;
}

.lemare-photo-cover-box img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	cursor: move;
	touch-action: none;
}

.lemare-photo-slot img {
	transition: left .18s ease, top .18s ease, width .18s ease, height .18s ease, transform .18s ease;
}

.lemare-composer-text {
	position: absolute;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	z-index: 5;
	left: 50%;
	top: 20%;
	color: #efdecb;
	font-family: GaramondPro-Regular, serif;
	font-weight: 700;
	line-height: .92;
	text-align: center;
	text-transform: none;
	pointer-events: auto;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .12);
	cursor: text;
	touch-action: none;
	user-select: text;
	-webkit-user-select: text;
	white-space: pre-wrap;
	overflow: visible;
}

.lemare-composer-spread-page.is-cover-page .lemare-composer-text {
	z-index: 6;
}

.lemare-composer-text:focus,
.lemare-composer-text.is-selected {
	outline: 1px dashed rgba(26, 152, 188, .85);
	outline-offset: 5px;
}

.lemare-composer-text:hover {
	outline: 1px solid rgba(255, 255, 255, .72);
	outline-offset: 4px;
}

.lemare-composer-title {
	font-size: clamp(1.7rem, 3.8vw, 3.6rem);
}

.lemare-composer-subtitle,
.lemare-composer-year {
	font-size: clamp(.72rem, 1.15vw, 1.12rem);
	text-transform: none;
}

	.lemare-page-strip {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 96px;
		gap: 8px;
		overflow-x: auto;
		overflow-y: hidden;
		min-height: 0;
		padding-bottom: 3px;
	}

.lemare-page-thumb {
	display: grid;
	grid-template-rows: 42px auto auto;
	gap: 3px;
	align-items: end;
	justify-items: center;
	height: 78px;
	padding: 5px;
	border: 2px solid transparent;
	border-radius: 6px;
	background: #fff;
	color: var(--composer-muted);
	font: 700 .68rem Montserrat-Regular, sans-serif;
	letter-spacing: .08em;
	cursor: pointer;
}

.lemare-page-thumb-preview {
	position: relative;
	display: block;
	width: 72px;
	height: 42px;
	padding: 0;
	border-radius: 4px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(69, 84, 117, .18);
	overflow: hidden;
}

.lemare-page-thumb-preview.is-portrait {
	width: 32px;
}

.lemare-page-thumb-preview.is-landscape,
.lemare-page-thumb-preview.is-cover-thumb {
	width: 72px;
}

.lemare-page-thumb-preview.is-square {
	width: 42px;
}

.lemare-page-thumb-slot {
	position: absolute;
	display: block;
	border: 1px dashed rgba(69, 84, 117, .18);
	background: var(--composer-paper);
	overflow: hidden;
}

.lemare-page-thumb-slot.lemare-template-preview-slot {
	border: 1px solid rgba(69, 84, 117, .42);
	border-radius: 2px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 1px 3px rgba(72, 72, 72, .08), inset 0 0 0 1px rgba(255, 255, 255, .72);
}

.lemare-page-thumb-slot.has-photo {
	border-style: solid;
	background: transparent;
}

.lemare-page-thumb-photo-media {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	border-radius: inherit;
}

.lemare-page-thumb-photo-box {
	position: absolute;
	display: block;
	transform-origin: center;
}

.lemare-page-thumb-slot .lemare-page-thumb-photo-box img {
	position: static;
	inset: auto;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: fill;
}

.lemare-page-thumb-slot img,
.lemare-page-thumb-design-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.lemare-page-thumb-design-overlay {
	z-index: 2;
	object-fit: fill;
	pointer-events: none;
}

.lemare-page-thumb-title {
	display: block;
	width: 100%;
	overflow: hidden;
	padding: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lemare-page-thumb small {
	min-height: 8px;
	padding: 0;
	color: rgba(69, 84, 117, .72);
	font-size: .58rem;
	line-height: 1.1;
}

.lemare-page-thumb.has-photo {
	background: #fff;
}

.lemare-page-thumb.is-active {
	border-color: var(--composer-blue);
	color: var(--composer-blue);
}

	.lemare-composer-designs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		max-height: 100%;
		overflow: auto;
		padding-right: 2px;
	}

.lemare-composer-designs label {
	cursor: pointer;
}

.lemare-composer-designs input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.lemare-composer-designs span {
	display: grid;
	gap: 8px;
	border: 2px solid transparent;
	border-radius: 6px;
	background: var(--composer-paper);
	padding: 8px;
	color: var(--composer-muted);
	font-size: .68rem;
	line-height: 1.15;
	text-align: center;
}

.lemare-composer-designs img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 4px;
}

.lemare-composer-designs input:checked + span {
	border-color: var(--composer-blue);
	background: #fff;
	color: var(--composer-blue);
}

.lemare-composer-fields {
	display: grid;
	gap: 12px;
}

.lemare-composer-notice {
	width: min(860px, calc(100% - 40px));
	margin: 180px auto 70px;
	padding: 28px;
	background: var(--composer-paper, #faf6ed);
	color: #8d8c60;
	font-family: Montserrat-Regular, sans-serif;
}

.lemare-composer-app.has-saved-project::after {
	content: "Proyecto guardado";
	position: fixed;
	top: 18px;
	left: 50%;
	z-index: 9999;
	transform: translateX(-50%);
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--composer-blue);
	color: #fff;
	font: 700 .75rem Montserrat-Regular, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	box-shadow: 0 16px 36px rgba(72, 72, 72, .22);
}

	@media (max-width: 1180px) {
		.lemare-composer-grid {
			grid-template-columns: 1fr;
			height: auto;
			min-height: 0;
			overflow: visible;
		}

	.lemare-composer-topbar {
		align-items: stretch;
		flex-direction: column;
		gap: 8px;
		padding: 8px 10px;
	}

	.lemare-composer-actions {
		align-items: stretch;
	}

		.lemare-composer-photos {
			order: 2;
		}

		.lemare-composer-workbench {
			order: 1;
			overflow: visible;
		}

		.lemare-composer-panel {
			order: 3;
		}

		.lemare-composer-photos,
		.lemare-composer-panel {
			max-height: 430px;
		}
	}

@media (max-width: 780px) {
	.lemare-composer-app {
		width: 100%;
		margin-top: 0;
	}

	body.page-id-143 .lemare-composer-app {
		margin-top: 0;
	}

	.lemare-composer-topbar,
	.lemare-composer-photos,
	.lemare-composer-workbench,
	.lemare-composer-panel {
		padding: 10px;
	}

	.lemare-composer-topbar-left,
	.lemare-composer-title-block {
		justify-content: center;
	}

	.lemare-composer-logo img {
		max-width: 120px;
		max-height: 36px;
	}

	.lemare-composer-title-block span {
		font-size: .72rem;
	}

	.lemare-composer-actions {
		gap: 8px;
	}

	.lemare-composer-modes {
		overflow-x: auto;
	}

	.lemare-composer-spread {
		width: min(100%, 520px);
		aspect-ratio: 3 / 2;
		padding: 8px;
	}

	.lemare-photo-list,
	.lemare-composer-designs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lemare-page-strip {
		grid-auto-columns: 84px;
	}
}
