/**
 * Greek Memento Wizard — front-end stylesheet.
 *
 * Loaded by the [gm_wizard] shortcode. Self-contained: every rule is scoped
 * under `.gm-wizard` so the wizard cannot leak styles into the host theme
 * or Elementor layouts that wrap it.
 *
 * Design tokens (kept inline rather than CSS vars so the wizard stays
 * insulated from theme :root variables that may override them):
 *   cream   #F8F5F0
 *   ink     #1A1F1C
 *   teal    #B21F24
 *   muted   #8A857C
 *   hairline rgba(26,31,28,0.10)
 */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Cormorant+Garamond:wght@300;400;500;600&display=swap');

/* -------------------------------------------------------------------------- */
/* Defensive resets — fight theme/Elementor style bleeding                    */
/*                                                                            */
/* The host theme aggressively styles `img`, `button`, headings, and inherits */
/* its own font-family/text-transform on everything. We use `!important` here */
/* (sparingly, only where defensive) to win specificity wars and guarantee    */
/* the wizard renders the same regardless of which theme wraps it.            */
/* -------------------------------------------------------------------------- */

.gm-wizard,
.gm-wizard *,
.gm-wizard *::before,
.gm-wizard *::after {
	box-sizing: border-box;
}

/* Kill theme inheritance on typography */
.gm-wizard,
.gm-wizard h1,
.gm-wizard h2,
.gm-wizard h3,
.gm-wizard h4,
.gm-wizard p,
.gm-wizard span,
.gm-wizard div,
.gm-wizard button,
.gm-wizard a,
.gm-wizard label,
.gm-wizard input,
.gm-wizard textarea,
.gm-wizard dt,
.gm-wizard dd {
	font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-weight: 400;
}

/* Headings reset — keep our serif treatment */
.gm-wizard .gm-title,
.gm-wizard .gm-display,
.gm-wizard .gm-cover__title {
	font-family: Georgia, "Times New Roman", serif !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: -0.005em !important;
}

/* Eyebrows, badges and any explicitly uppercase elements opt in here */
.gm-wizard .gm-eyebrow,
.gm-wizard .gm-cover__brand,
.gm-wizard .gm-cover__sub,
.gm-wizard .gm-progress__count,
.gm-wizard .gm-field label,
.gm-wizard .gm-summary dt,
.gm-wizard .gm-brand__partner {
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

/* Images — theme often forces width:100% / height:auto on every img */
.gm-wizard img {
	max-width: 100%;
	height: auto;
}
.gm-wizard .gm-brand__logo--gm,
.gm-wizard .gm-brand__logo--eg {
	height: 28px !important;
	width: auto !important;
	max-width: none !important;
	display: block !important;
}

/* Buttons — theme may force its own color, padding, border-radius */
.gm-wizard button {
	font-family: inherit;
	cursor: pointer;
	border: none;
	background: transparent;
	color: inherit;
	padding: 0;
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	text-align: left;
	text-transform: none !important;
	letter-spacing: normal !important;
	min-height: 0 !important;
	box-shadow: none;
}
.gm-wizard button:focus {
	outline: 2px solid rgba(178, 31, 36, 0.4);
	outline-offset: 2px;
}

/* Inputs — reset theme styling */
.gm-wizard input,
.gm-wizard textarea {
	font-family: inherit !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #1A1F1C !important;
	background: #FFFEFB !important;
	border: 0.5px solid rgba(26, 31, 28, 0.10) !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	min-height: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* Full-bleed: escape the parent container so the wizard fills the viewport.  */
/* Works even when wrapped inside an Elementor section with a max-width.      */
/* -------------------------------------------------------------------------- */

.gm-wizard {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	color: #1A1F1C;
	-webkit-font-smoothing: antialiased;
	background: #F8F5F0;
	border-radius: 0;
	overflow: hidden;
	box-shadow: none;
}

/* Inner content cap — keeps things readable on huge monitors */
.gm-wizard .gm-stage {
	max-width: 1400px;
	margin: 0 auto;
}

/* -------------------------------------------------------------------------- */
/* Stage visibility                                                           */
/* -------------------------------------------------------------------------- */

.gm-stage {
	display: none;
}

.gm-stage.is-current {
	display: block;
	animation: gm-fade 0.25s ease-out;
}

@keyframes gm-fade {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* -------------------------------------------------------------------------- */
/* Stage header                                                               */
/* -------------------------------------------------------------------------- */

.gm-stage__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 32px;
	border-bottom: 0.5px solid rgba(26, 31, 28, 0.10);
}

.gm-brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.gm-brand__logo--gm,
.gm-brand__logo--eg {
	height: 22px;
	display: block;
	width: auto;
}

.gm-brand__sep {
	color: #C9C2B5;
	font-size: 14px;
}

.gm-brand__partner {
	color: #8A857C;
	font-size: 11px;
	letter-spacing: 0.06em;
}

.gm-progress {
	display: flex;
	align-items: center;
	gap: 7px;
}

.gm-progress__dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #C9C2B5;
	transition: all 0.2s;
}

.gm-progress__dot.is-done {
	background: #1A1F1C;
	opacity: 0.55;
}

.gm-progress__dot.is-current {
	width: 22px;
	height: 5px;
	border-radius: 999px;
	background: #B21F24;
}

.gm-progress__count {
	margin-left: 10px;
	font-size: 11px;
	color: #8A857C;
	letter-spacing: 0.08em;
}

/* -------------------------------------------------------------------------- */
/* Stage body layouts                                                         */
/* -------------------------------------------------------------------------- */

.gm-stage__body {
	display: grid;
	min-height: 360px;
}

.gm-stage__body--split {
	grid-template-columns: 5fr 7fr;
}

.gm-stage__body--full {
	padding: 36px 40px 24px;
	display: block;
	min-height: auto;
}

.gm-stage__body--hero-only {
	grid-template-columns: 1fr 1fr;
}

.gm-stage__body--review {
	grid-template-columns: 4fr 8fr;
}

/* Hero placeholder block (until real images hook in) */
.gm-hero {
	position: relative;
	min-height: 360px;
	background-position: center;
	background-size: cover;
}

.gm-hero__caption {
	position: absolute;
	bottom: 16px;
	left: 22px;
	right: 22px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.75);
	letter-spacing: 0.04em;
}

.gm-split-content {
	padding: 32px 36px 28px;
}

/* -------------------------------------------------------------------------- */
/* Typography                                                                 */
/* -------------------------------------------------------------------------- */

.gm-eyebrow {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8A857C;
	margin: 0 0 8px;
}

.gm-title {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 1.2;
	margin: 0 0 6px;
	color: #1A1F1C;
}

.gm-display {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	font-size: 36px;
	line-height: 1.1;
	margin: 0 0 10px;
	color: #1A1F1C;
}

.gm-lede {
	font-size: 13px;
	line-height: 1.55;
	color: #8A857C;
	margin: 0 0 22px;
	max-width: 42ch;
}

.gm-full-head {
	margin: 0 0 22px;
	max-width: 60ch;
}

/* -------------------------------------------------------------------------- */
/* Option cards (generic 2×2 etc.)                                            */
/* -------------------------------------------------------------------------- */

.gm-grid-2x2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.gm-opt {
	text-align: left;
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 8px;
	padding: 13px 15px;
	cursor: pointer;
	transition: all 0.15s;
}

.gm-opt:hover {
	border-color: rgba(26, 31, 28, 0.25);
}

.gm-opt__row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gm-opt__title {
	font-size: 14px;
	font-weight: 500;
}

.gm-opt__sub {
	font-size: 11px;
	color: #8A857C;
	margin-top: 2px;
}

.gm-opt.is-selected {
	background: #B21F24;
	border-color: #B21F24;
	color: #FFFEFB;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12);
}

.gm-opt.is-selected .gm-opt__sub {
	color: rgba(255, 254, 251, 0.7);
}

.gm-opt.is-selected .gm-opt__icon svg {
	stroke: #FFFEFB;
}

/* -------------------------------------------------------------------------- */
/* Stage 01 — Welcome                                                         */
/* -------------------------------------------------------------------------- */

.gm-welcome-hero {
	position: relative;
	min-height: 380px;
	background-position: center;
	background-size: cover;
}

.gm-welcome-hero__caption {
	position: absolute;
	bottom: 18px;
	left: 22px;
	font-size: 11px;
	color: rgba(255, 255, 255, 0.75);
	letter-spacing: 0.04em;
}

.gm-welcome-content {
	padding: 44px 44px 28px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.gm-welcome-options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 8px;
}

.gm-opt--lg {
	padding: 18px 20px;
}

.gm-opt--lg .gm-opt__icon {
	margin-bottom: 10px;
}

.gm-opt--lg .gm-opt__title {
	font-size: 16px;
	font-weight: 500;
}

.gm-opt--lg .gm-opt__sub {
	font-size: 12px;
	margin-top: 4px;
	line-height: 1.45;
}

/* -------------------------------------------------------------------------- */
/* Stage 02 — Region grid                                                     */
/* -------------------------------------------------------------------------- */

.gm-region-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.gm-region-card {
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 10px;
	padding: 0;
	cursor: pointer;
	overflow: hidden;
	text-align: left;
	transition: all 0.15s;
}

.gm-region-card:hover {
	border-color: rgba(26, 31, 28, 0.25);
}

.gm-region-card.is-selected {
	border-color: #B21F24;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12);
}

.gm-region-card__img {
	height: 100px;
	background-position: center;
	background-size: cover;
}

.gm-region-card__name {
	padding: 12px 14px;
	font-size: 14px;
	font-weight: 500;
}

/* -------------------------------------------------------------------------- */
/* Stage 03 — Sub-area                                                        */
/* -------------------------------------------------------------------------- */

.gm-sub-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.gm-sub-card {
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 10px;
	padding: 0;
	cursor: pointer;
	overflow: hidden;
	text-align: left;
	transition: all 0.15s;
	display: flex;
}

.gm-sub-card:hover {
	border-color: rgba(26, 31, 28, 0.25);
}

.gm-sub-card.is-selected {
	border-color: #B21F24;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12);
}

.gm-sub-card__img {
	width: 130px;
	flex-shrink: 0;
	background-position: center;
	background-size: cover;
}

.gm-sub-card__body {
	padding: 16px 18px;
}

.gm-sub-card__name {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 3px;
}

.gm-sub-card__sub {
	font-size: 12px;
	color: #8A857C;
}

/* -------------------------------------------------------------------------- */
/* Stage 06 — Themes (multi-select w/ custom icons)                           */
/* -------------------------------------------------------------------------- */

.gm-theme-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.gm-theme-card {
	position: relative;
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 10px;
	padding: 18px 14px 14px;
	cursor: pointer;
	text-align: center;
	transition: all 0.15s;
}

.gm-theme-card:hover {
	border-color: rgba(26, 31, 28, 0.25);
}

.gm-theme-card.is-selected {
	background: #1A1F1C;
	color: #FFFEFB;
	border-color: #1A1F1C;
	box-shadow: 0 0 0 3px rgba(26, 31, 28, 0.08);
}

.gm-theme-card.is-selected svg {
	stroke: #FFFEFB;
}

.gm-theme-card__icon {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.gm-theme-card__name {
	font-size: 12px;
	font-weight: 500;
}

.gm-theme-card__check {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 18px;
	height: 18px;
	background: #FFFEFB;
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
}

.gm-theme-card.is-selected .gm-theme-card__check {
	display: flex;
}

.gm-theme-meta {
	margin-top: 14px;
	font-size: 11px;
	color: #8A857C;
	letter-spacing: 0.04em;
}

/* -------------------------------------------------------------------------- */
/* Stage 07 — Optional sections                                               */
/* -------------------------------------------------------------------------- */

.gm-section-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.gm-section-card {
	position: relative;
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 10px;
	padding: 18px 20px;
	cursor: pointer;
	text-align: left;
	transition: all 0.15s;
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.gm-section-card:hover {
	border-color: rgba(26, 31, 28, 0.25);
}

.gm-section-card.is-selected {
	background: #B21F24;
	color: #FFFEFB;
	border-color: #B21F24;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12);
}

.gm-section-card.is-selected svg {
	stroke: #FFFEFB;
}

.gm-section-card__icon {
	flex-shrink: 0;
	padding-top: 2px;
}

.gm-section-card__name {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 3px;
}

.gm-section-card__desc {
	font-size: 11px;
	color: #8A857C;
	line-height: 1.4;
}

.gm-section-card.is-selected .gm-section-card__desc {
	color: rgba(255, 254, 251, 0.7);
}

.gm-section-card__check {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 18px;
	height: 18px;
	background: #FFFEFB;
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
}

.gm-section-card.is-selected .gm-section-card__check {
	display: flex;
}

/* -------------------------------------------------------------------------- */
/* Stage 08 — Personalization                                                 */
/* -------------------------------------------------------------------------- */

.gm-cover {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 36px;
	min-height: 380px;
	background: linear-gradient(180deg, #2C4655 0%, #1B2E3B 100%);
}

.gm-cover__inner {
	background: rgba(255, 255, 255, 0.03);
	border: 0.5px solid rgba(255, 255, 255, 0.2);
	padding: 32px 26px;
	width: 220px;
	height: 300px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: #FFFEFB;
	font-family: Georgia, serif;
}

.gm-cover__brand {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 32px;
	font-family: -apple-system, sans-serif;
}

.gm-cover__divider {
	width: 24px;
	height: 1px;
	background: rgba(255, 255, 255, 0.4);
	margin-bottom: 28px;
}

.gm-cover__title {
	font-size: 22px;
	line-height: 1.2;
	margin-bottom: 8px;
}

.gm-cover__sub {
	font-size: 11px;
	letter-spacing: 0.1em;
	opacity: 0.75;
	text-transform: uppercase;
	font-family: -apple-system, sans-serif;
	margin-bottom: auto;
}

.gm-cover__dedication {
	font-size: 12px;
	font-style: italic;
	line-height: 1.6;
	opacity: 0.85;
	margin-top: 18px;
}

.gm-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gm-field label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8A857C;
	font-weight: 500;
	margin-bottom: 6px;
}

.gm-field__hint {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	font-style: italic;
}

.gm-field input,
.gm-field textarea {
	width: 100%;
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 6px;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 13px;
	color: #1A1F1C;
	resize: vertical;
}

.gm-field textarea {
	min-height: 60px;
}

.gm-field input:focus,
.gm-field textarea:focus {
	outline: none;
	border-color: #B21F24;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12);
}

/* -------------------------------------------------------------------------- */
/* Stage 09 — Language stack                                                  */
/* -------------------------------------------------------------------------- */

.gm-lang-stack {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gm-lang-stack .gm-opt {
	padding: 14px 16px;
}

/* -------------------------------------------------------------------------- */
/* Stage 10 — Format & size                                                   */
/* -------------------------------------------------------------------------- */

.gm-fmt-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.gm-fmt-card {
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 10px;
	padding: 22px 18px;
	cursor: pointer;
	text-align: left;
	transition: all 0.15s;
}

.gm-fmt-card:hover {
	border-color: rgba(26, 31, 28, 0.25);
}

.gm-fmt-card.is-selected {
	background: #B21F24;
	color: #FFFEFB;
	border-color: #B21F24;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12);
}

.gm-fmt-card.is-selected svg {
	stroke: #FFFEFB;
}

.gm-fmt-card__icon {
	margin-bottom: 14px;
}

.gm-fmt-card__name {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 4px;
}

.gm-fmt-card__desc {
	font-size: 11px;
	color: #8A857C;
	line-height: 1.4;
	margin-bottom: 14px;
}

.gm-fmt-card.is-selected .gm-fmt-card__desc {
	color: rgba(255, 254, 251, 0.7);
}

.gm-fmt-card__price {
	font-family: Georgia, serif;
	font-size: 18px;
	padding-top: 10px;
	border-top: 0.5px solid rgba(26, 31, 28, 0.10);
}

.gm-fmt-card.is-selected .gm-fmt-card__price {
	border-top-color: rgba(255, 255, 255, 0.18);
}

/* -------------------------------------------------------------------------- */
/* Stage 11 — Review                                                          */
/* -------------------------------------------------------------------------- */

.gm-review-summary {
	padding: 36px 40px 32px;
}

.gm-summary {
	margin: 0 0 22px;
	display: grid;
	gap: 10px;
}

.gm-summary > div {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 0.5px solid rgba(26, 31, 28, 0.10);
}

.gm-summary > div:last-child {
	border-bottom: none;
}

.gm-summary dt {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8A857C;
}

.gm-summary dd {
	margin: 0;
	font-size: 13px;
	color: #1A1F1C;
}

.gm-price {
	background: #FFFEFB;
	border: 0.5px solid rgba(26, 31, 28, 0.10);
	border-radius: 8px;
	padding: 14px 18px;
	margin: 0 0 18px;
}

.gm-price__line {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	font-size: 13px;
	color: #8A857C;
}

.gm-price__line--total {
	border-top: 0.5px solid rgba(26, 31, 28, 0.10);
	padding-top: 10px;
	margin-top: 6px;
	color: #1A1F1C;
	font-weight: 500;
	font-size: 16px;
}

.gm-price__line--total span:last-child {
	font-family: Georgia, serif;
	font-size: 20px;
}

/* -------------------------------------------------------------------------- */
/* Footer (Back + Continue)                                                   */
/* -------------------------------------------------------------------------- */

.gm-stage__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 32px 20px;
	border-top: 0.5px solid rgba(26, 31, 28, 0.10);
}

.gm-btn-ghost {
	background: transparent !important;
	border: none !important;
	cursor: pointer;
	font-size: 13px !important;
	color: #8A857C !important;
	padding: 6px 0 !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	border-radius: 0 !important;
}

.gm-btn-ghost:hover {
	color: #1A1F1C !important;
	background: transparent !important;
}

.gm-btn-primary {
	background: #1A1F1C !important;
	color: #FFFEFB !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 10px 24px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	transition: opacity 0.15s;
	text-decoration: none !important;
	min-width: 120px;
	justify-content: center;
}

.gm-btn-primary:hover {
	opacity: 0.85;
	background: #1A1F1C !important;
	color: #FFFEFB !important;
}

.gm-btn-primary--lg {
	padding: 14px 28px !important;
	font-size: 14px !important;
}

/* ========================================================================== */
/* v0.7.2 — Aesthetic enhancements                                            */
/*                                                                            */
/* Giannis feedback: «πολύ φτωχό, μικρό, να έχει αισθητική και δύναμη».       */
/* Bigger proportions, more vertical space, constrained inner content width   */
/* so cards don't stretch into 1000px-wide stripes on full-bleed viewports.   */
/* Hover micro-interactions for tactility. Manrope already loaded above.      */
/* ========================================================================== */

/* --- Vertical generosity — taller stages with min-height tied to viewport */

.gm-wizard .gm-stage__body {
	min-height: clamp(560px, 70vh, 760px);
}

.gm-wizard .gm-stage__body--full {
	min-height: clamp(520px, 65vh, 720px);
}

/* --- Hero panels: bigger, more cinematic */

.gm-wizard .gm-hero {
	min-height: clamp(480px, 65vh, 720px);
}

.gm-wizard .gm-welcome-hero {
	min-height: clamp(540px, 75vh, 800px);
}

.gm-wizard .gm-cover {
	min-height: clamp(540px, 70vh, 760px);
	padding: 48px;
}

/* Add a soft vignette over hero gradients — adds depth */
.gm-wizard .gm-hero::after,
.gm-wizard .gm-welcome-hero::after,
.gm-wizard .gm-cover::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.06) 0%, rgba(0,0,0,0.18) 100%);
	pointer-events: none;
	z-index: 1;
}

.gm-wizard .gm-hero,
.gm-wizard .gm-welcome-hero {
	position: relative;
	overflow: hidden;
}

.gm-wizard .gm-hero__caption,
.gm-wizard .gm-welcome-hero__caption {
	z-index: 2;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase !important;
	bottom: 28px;
	left: 32px;
	right: 32px;
	color: rgba(255,255,255,0.85);
}

/* --- Content panels: constrain inner width, increase padding */

.gm-wizard .gm-split-content {
	padding: 64px 56px 48px;
	max-width: 640px;
}

.gm-wizard .gm-stage__body--full {
	padding: 64px 64px 44px;
}

.gm-wizard .gm-full-head {
	margin-bottom: 32px;
	max-width: 56ch;
}

.gm-wizard .gm-welcome-content {
	padding: 80px 60px 60px;
	max-width: 640px;
	margin: 0 auto;
}

/* --- Typography: bolder, more confident scale */

.gm-wizard .gm-display {
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.08;
	margin-bottom: 14px;
	letter-spacing: -0.012em !important;
}

.gm-wizard .gm-title {
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.15;
	margin-bottom: 10px;
}

.gm-wizard .gm-lede {
	font-size: 14px;
	line-height: 1.6;
	color: #6B6760;
	max-width: 44ch;
	margin-bottom: 32px;
}

.gm-wizard .gm-eyebrow {
	font-size: 11px;
	letter-spacing: 0.16em !important;
	margin-bottom: 14px;
	font-weight: 600;
	color: #6B6760;
}

.gm-wizard .gm-eyebrow::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 1px;
	background: #C9C2B5;
	vertical-align: middle;
	margin-right: 10px;
	transform: translateY(-2px);
}

/* --- Header: more presence */

.gm-wizard .gm-stage__header {
	padding: 24px 40px;
}

.gm-wizard .gm-brand {
	gap: 18px;
}

.gm-wizard .gm-brand__partner {
	font-size: 10px;
	font-weight: 500;
	font-style: italic;
	font-family: Georgia, "Times New Roman", serif !important;
	text-transform: lowercase !important;
	letter-spacing: 0.02em !important;
	color: #6B6760;
}

/* --- Cards (generic 2×2) — more padding, larger type */

.gm-wizard .gm-opt {
	padding: 18px 22px;
	border-radius: 10px;
}

.gm-wizard .gm-opt__title {
	font-size: 15px;
	font-weight: 500;
}

.gm-wizard .gm-opt__sub {
	font-size: 12px;
	margin-top: 3px;
}

.gm-wizard .gm-opt--lg {
	padding: 26px 28px;
	border-radius: 12px;
}

.gm-wizard .gm-opt--lg .gm-opt__title {
	font-size: 18px;
	margin-top: 12px;
}

.gm-wizard .gm-opt--lg .gm-opt__sub {
	font-size: 13px;
	margin-top: 6px;
	line-height: 1.5;
}

.gm-wizard .gm-welcome-options {
	gap: 14px;
}

/* --- Region grid — taller imagery */

.gm-wizard .gm-region-card {
	border-radius: 12px;
}

.gm-wizard .gm-region-card__img {
	height: 160px;
}

.gm-wizard .gm-region-card__name {
	padding: 16px 18px;
	font-size: 15px;
}

.gm-wizard .gm-region-grid {
	gap: 16px;
}

/* --- Sub-area cards */

.gm-wizard .gm-sub-card {
	border-radius: 12px;
}

.gm-wizard .gm-sub-card__img {
	width: 170px;
}

.gm-wizard .gm-sub-card__body {
	padding: 22px 26px;
}

.gm-wizard .gm-sub-card__name {
	font-size: 17px;
}

.gm-wizard .gm-sub-card__sub {
	font-size: 13px;
}

/* --- Themes (multi) */

.gm-wizard .gm-theme-card {
	padding: 26px 14px 18px;
	border-radius: 12px;
}

.gm-wizard .gm-theme-card__icon svg {
	width: 36px;
	height: 36px;
}

.gm-wizard .gm-theme-card__name {
	font-size: 13px;
	font-weight: 500;
}

.gm-wizard .gm-theme-meta {
	margin-top: 18px;
	font-size: 12px;
	letter-spacing: 0.08em;
	font-weight: 500;
}

.gm-wizard .gm-theme-grid {
	gap: 14px;
}

/* --- Optional sections */

.gm-wizard .gm-section-card {
	padding: 22px 24px;
	border-radius: 12px;
	gap: 16px;
}

.gm-wizard .gm-section-card__name {
	font-size: 15px;
	margin-bottom: 4px;
}

.gm-wizard .gm-section-card__desc {
	font-size: 12px;
}

.gm-wizard .gm-section-grid {
	gap: 14px;
}

/* --- Format & size */

.gm-wizard .gm-fmt-card {
	padding: 28px 22px;
	border-radius: 12px;
}

.gm-wizard .gm-fmt-card__icon {
	margin-bottom: 18px;
}

.gm-wizard .gm-fmt-card__name {
	font-size: 15px;
	font-weight: 500;
}

.gm-wizard .gm-fmt-card__desc {
	font-size: 12px;
	margin-bottom: 18px;
}

.gm-wizard .gm-fmt-card__price {
	font-size: 22px;
	padding-top: 14px;
}

.gm-wizard .gm-fmt-grid {
	gap: 14px;
}

/* --- Cover preview: bigger book */

.gm-wizard .gm-cover__inner {
	width: 280px;
	height: 380px;
	padding: 40px 32px;
}

.gm-wizard .gm-cover__title {
	font-size: 26px;
	margin-bottom: 10px;
}

.gm-wizard .gm-cover__sub {
	font-size: 11px;
}

.gm-wizard .gm-cover__dedication {
	font-size: 13px;
	margin-top: 20px;
}

.gm-wizard .gm-cover__brand {
	font-size: 11px;
	margin-bottom: 36px;
}

/* --- Form fields */

.gm-wizard .gm-field input,
.gm-wizard .gm-field textarea {
	padding: 12px 14px !important;
	font-size: 14px !important;
}

.gm-wizard .gm-field textarea {
	min-height: 72px;
}

.gm-wizard .gm-form {
	gap: 20px;
}

/* --- Lang stack */

.gm-wizard .gm-lang-stack {
	gap: 12px;
}

.gm-wizard .gm-lang-stack .gm-opt {
	padding: 18px 20px;
}

/* --- Review summary */

.gm-wizard .gm-review-summary {
	padding: 56px 56px 48px;
}

.gm-wizard .gm-summary {
	gap: 12px;
	margin-bottom: 28px;
}

.gm-wizard .gm-summary > div {
	padding: 10px 0;
	grid-template-columns: 160px 1fr;
}

.gm-wizard .gm-summary dd {
	font-size: 14px;
}

.gm-wizard .gm-price {
	padding: 18px 22px;
	margin-bottom: 24px;
}

.gm-wizard .gm-price__line {
	font-size: 14px;
	padding: 8px 0;
}

.gm-wizard .gm-price__line--total span:last-child {
	font-size: 24px;
}

/* --- Footer: more presence */

.gm-wizard .gm-stage__footer {
	padding: 22px 40px 26px;
}

.gm-wizard .gm-btn-primary {
	padding: 14px 30px !important;
	font-size: 14px !important;
}

.gm-wizard .gm-btn-primary--lg {
	padding: 16px 32px !important;
	font-size: 15px !important;
}

/* --- Hover lifts — tactile feedback */

.gm-wizard .gm-opt:not(.is-selected):hover,
.gm-wizard .gm-region-card:not(.is-selected):hover,
.gm-wizard .gm-sub-card:not(.is-selected):hover,
.gm-wizard .gm-section-card:not(.is-selected):hover,
.gm-wizard .gm-fmt-card:not(.is-selected):hover,
.gm-wizard .gm-theme-card:not(.is-selected):hover {
	transform: translateY(-2px);
	border-color: rgba(26,31,28,0.30);
	box-shadow: 0 6px 20px rgba(26,31,28,0.06);
}

/* ========================================================================== */
/* Responsive — overhauled                                                    */
/* ========================================================================== */

/* Laptops / small desktops */
@media (max-width: 1280px) {
	.gm-wizard .gm-stage__body--full {
		padding: 56px 48px 40px;
	}
	.gm-wizard .gm-split-content {
		padding: 56px 44px 40px;
	}
	.gm-wizard .gm-welcome-content {
		padding: 64px 48px;
	}
}

/* Tablet landscape & smaller laptops */
@media (max-width: 1024px) {
	.gm-wizard .gm-stage__body--split,
	.gm-wizard .gm-stage__body--hero-only,
	.gm-wizard .gm-stage__body--review {
		grid-template-columns: 1fr;
	}
	.gm-wizard .gm-hero,
	.gm-wizard .gm-welcome-hero,
	.gm-wizard .gm-cover {
		min-height: 320px;
	}
	.gm-wizard .gm-cover {
		padding: 36px;
	}
	.gm-wizard .gm-region-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.gm-wizard .gm-theme-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.gm-wizard .gm-fmt-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.gm-wizard .gm-stage__body,
	.gm-wizard .gm-stage__body--full {
		min-height: auto;
	}
}

/* Tablet portrait */
@media (max-width: 820px) {
	.gm-wizard .gm-stage__header {
		padding: 18px 24px;
	}
	.gm-wizard .gm-stage__body--full {
		padding: 44px 28px 32px;
	}
	.gm-wizard .gm-split-content,
	.gm-wizard .gm-welcome-content,
	.gm-wizard .gm-review-summary {
		padding: 44px 28px 36px;
	}
	.gm-wizard .gm-region-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.gm-wizard .gm-section-grid,
	.gm-wizard .gm-sub-grid {
		grid-template-columns: 1fr;
	}
	.gm-wizard .gm-stage__footer {
		padding: 18px 24px 22px;
	}
}

/* Large phones */
@media (max-width: 640px) {
	.gm-wizard .gm-stage__header {
		flex-direction: column;
		gap: 14px;
		padding: 16px 18px;
		align-items: flex-start;
	}
	.gm-wizard .gm-brand {
		gap: 10px;
	}
	.gm-wizard .gm-brand__logo--gm,
	.gm-wizard .gm-brand__logo--eg {
		height: 22px !important;
	}
	.gm-wizard .gm-progress__count {
		display: none;
	}
	.gm-wizard .gm-stage__body--full,
	.gm-wizard .gm-split-content,
	.gm-wizard .gm-welcome-content,
	.gm-wizard .gm-review-summary {
		padding: 32px 20px;
	}
	.gm-wizard .gm-grid-2x2,
	.gm-wizard .gm-section-grid,
	.gm-wizard .gm-sub-grid,
	.gm-wizard .gm-fmt-grid {
		grid-template-columns: 1fr;
	}
	.gm-wizard .gm-region-grid {
		grid-template-columns: 1fr 1fr;
	}
	.gm-wizard .gm-theme-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.gm-wizard .gm-summary > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.gm-wizard .gm-stage__footer {
		padding: 16px 18px 20px;
	}
	.gm-wizard .gm-cover__inner {
		width: 220px;
		height: 320px;
		padding: 32px 24px;
	}
	.gm-wizard .gm-eyebrow::before {
		display: none;
	}
}

/* Small phones */
@media (max-width: 380px) {
	.gm-wizard .gm-theme-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.gm-wizard .gm-theme-card {
		padding: 18px 10px 14px;
	}
	.gm-wizard .gm-region-grid {
		grid-template-columns: 1fr;
	}
}

/* ========================================================================== */
/* v0.7.3 — Discipline                                                        */
/*                                                                            */
/* Giannis feedback v0.7.2: «πολλά χρώματα, χάνεσαι · σταθερό μέγεθος,        */
/* λίγο μεγαλύτερο · 2 διαφορετικές γραμματοσειρές όπως αλλού · παραπάνω       */
/* πλαίσιο από κάτω».                                                          */
/*                                                                            */
/* Result: a 3-color palette (cream / ink / teal), fixed type scale, and a    */
/* Manrope + Cormorant Garamond pairing matching the rest of the site.        */
/* ========================================================================== */

/* --- ONE color for every hero placeholder. Overrides inline gradients in    */
/* the PHP. Photographs will replace these later — for now, brand discipline. */

.gm-wizard .gm-hero,
.gm-wizard .gm-welcome-hero,
.gm-wizard .gm-region-card__img,
.gm-wizard .gm-sub-card__img,
.gm-wizard .gm-cover {
	background: #6E9140 !important;
}

/* --- Fonts: switch serif from Georgia to Cormorant Garamond, which pairs    */
/* better with Manrope and matches the editorial typography on the rest of    */
/* the site. Larger weight (500) for confident display.                       */

.gm-wizard .gm-title,
.gm-wizard .gm-display,
.gm-wizard .gm-cover__title,
.gm-wizard .gm-fmt-card__price,
.gm-wizard .gm-price__line--total span:last-child,
.gm-wizard .gm-cover__dedication {
	font-family: 'Cormorant Garamond', Georgia, "Times New Roman", serif !important;
	font-weight: 500 !important;
}

.gm-wizard .gm-display {
	font-weight: 500 !important;
	letter-spacing: -0.01em !important;
}

.gm-wizard .gm-cover__dedication {
	font-weight: 400 !important;
	font-style: italic !important;
}

/* --- Fixed type scale. No clamp() — Giannis wants stability across screen   */
/* sizes. Bumped up ~10% from v0.7.2 for confidence.                          */

.gm-wizard .gm-display {
	font-size: 46px;
	line-height: 1.05;
	margin-bottom: 16px;
}

.gm-wizard .gm-title {
	font-size: 34px;
	line-height: 1.15;
	margin-bottom: 12px;
}

.gm-wizard .gm-lede {
	font-size: 15px;
	line-height: 1.6;
	max-width: 46ch;
	margin-bottom: 36px;
}

.gm-wizard .gm-eyebrow {
	font-size: 12px;
	letter-spacing: 0.18em !important;
	margin-bottom: 16px;
}

.gm-wizard .gm-opt__title {
	font-size: 16px;
}

.gm-wizard .gm-opt__sub {
	font-size: 13px;
}

.gm-wizard .gm-opt--lg .gm-opt__title {
	font-size: 19px;
	margin-top: 14px;
}

.gm-wizard .gm-opt--lg .gm-opt__sub {
	font-size: 14px;
	margin-top: 6px;
}

.gm-wizard .gm-region-card__name {
	font-size: 16px;
	padding: 18px 20px;
}

.gm-wizard .gm-sub-card__name {
	font-size: 18px;
}

.gm-wizard .gm-sub-card__sub {
	font-size: 13px;
}

.gm-wizard .gm-theme-card__name {
	font-size: 14px;
}

.gm-wizard .gm-section-card__name {
	font-size: 16px;
}

.gm-wizard .gm-section-card__desc {
	font-size: 13px;
}

.gm-wizard .gm-fmt-card__name {
	font-size: 16px;
}

.gm-wizard .gm-fmt-card__desc {
	font-size: 13px;
}

.gm-wizard .gm-fmt-card__price {
	font-size: 26px;
}

.gm-wizard .gm-cover__title {
	font-size: 28px;
}

.gm-wizard .gm-summary dd {
	font-size: 15px;
}

.gm-wizard .gm-summary dt {
	font-size: 12px;
}

.gm-wizard .gm-price__line {
	font-size: 14px;
}

.gm-wizard .gm-price__line--total {
	font-size: 17px;
}

.gm-wizard .gm-price__line--total span:last-child {
	font-size: 26px;
}

.gm-wizard .gm-btn-primary {
	font-size: 15px !important;
	padding: 15px 32px !important;
}

.gm-wizard .gm-btn-ghost {
	font-size: 14px !important;
}

.gm-wizard .gm-progress__count {
	font-size: 12px !important;
}

.gm-wizard .gm-brand__partner {
	font-size: 12px !important;
}

/* --- Larger bottom padding on every stage. Giannis wants more frame.        */

.gm-wizard .gm-stage__body--full {
	padding: 72px 64px 88px;
	min-height: 640px;
}

.gm-wizard .gm-split-content {
	padding: 72px 56px 88px;
}

.gm-wizard .gm-welcome-content {
	padding: 90px 60px 100px;
}

.gm-wizard .gm-review-summary {
	padding: 64px 56px 88px;
}

.gm-wizard .gm-stage__footer {
	padding: 26px 40px 32px;
}

/* --- Slight tweak to the eyebrow accent line for the new size */

.gm-wizard .gm-eyebrow::before {
	width: 24px;
	margin-right: 12px;
}

/* --- Responsive adjustments for the new fixed sizes                         */

@media (max-width: 1280px) {
	.gm-wizard .gm-display { font-size: 42px; }
	.gm-wizard .gm-title { font-size: 30px; }
}

@media (max-width: 1024px) {
	.gm-wizard .gm-display { font-size: 38px; }
	.gm-wizard .gm-title { font-size: 28px; }
	.gm-wizard .gm-stage__body--full,
	.gm-wizard .gm-split-content,
	.gm-wizard .gm-welcome-content,
	.gm-wizard .gm-review-summary {
		padding: 56px 40px 72px;
	}
}

@media (max-width: 820px) {
	.gm-wizard .gm-display { font-size: 34px; }
	.gm-wizard .gm-title { font-size: 26px; }
	.gm-wizard .gm-lede { font-size: 14px; }
	.gm-wizard .gm-stage__body--full,
	.gm-wizard .gm-split-content,
	.gm-wizard .gm-welcome-content,
	.gm-wizard .gm-review-summary {
		padding: 48px 28px 64px;
	}
}

@media (max-width: 640px) {
	.gm-wizard .gm-display { font-size: 30px; line-height: 1.1; }
	.gm-wizard .gm-title { font-size: 24px; }
	.gm-wizard .gm-lede { font-size: 14px; margin-bottom: 28px; }
	.gm-wizard .gm-opt--lg .gm-opt__title { font-size: 17px; }
	.gm-wizard .gm-stage__body--full,
	.gm-wizard .gm-split-content,
	.gm-wizard .gm-welcome-content,
	.gm-wizard .gm-review-summary {
		padding: 40px 22px 56px;
	}
	.gm-wizard .gm-fmt-card__price { font-size: 22px; }
	.gm-wizard .gm-price__line--total span:last-child { font-size: 22px; }
}

/* ========================================================================== */
/* v0.7.4 — Multi-select indicators · Disabled state · Sage hero color        */
/*                                                                            */
/* Multi-select gets a small checkbox indicator (top-right) visible from the  */
/* start, so the user knows multiple selections are possible before clicking. */
/* The selected state for multi is softer — accent tint instead of full fill  */
/* — to distinguish from single-select (where one card "wins" with full       */
/* color). Disabled cards (e.g. when a region has no "Μύθοι" content) get a   */
/* dimmed treatment with a "διαθέσιμο σε άλλες περιοχές" note.                */
/* ========================================================================== */

/* --- Visible empty checkbox for multi cards in stages 06 + 07 -------------- */

.gm-wizard .gm-theme-card__check,
.gm-wizard .gm-section-card__check {
	display: flex !important;
	width: 20px;
	height: 20px;
	border: 1.5px solid rgba(26,31,28,0.20);
	border-radius: 4px;
	background: transparent;
	transition: all 0.15s;
}

.gm-wizard .gm-theme-card__check svg,
.gm-wizard .gm-section-card__check svg {
	opacity: 0;
	stroke: #FFFEFB !important;
	transition: opacity 0.15s;
}

.gm-wizard .gm-theme-card.is-selected .gm-theme-card__check,
.gm-wizard .gm-section-card.is-selected .gm-section-card__check {
	background: #B21F24;
	border-color: #B21F24;
}

.gm-wizard .gm-theme-card.is-selected .gm-theme-card__check svg,
.gm-wizard .gm-section-card.is-selected .gm-section-card__check svg {
	opacity: 1;
}

/* Softer multi-selected style for section cards (was full teal fill,         */
/* now is teal-tinted with ink text — more refined and matches multi UX)     */

.gm-wizard .gm-section-card.is-selected {
	background: rgba(178, 31, 36, 0.06) !important;
	color: #1A1F1C !important;
	border-color: #B21F24;
	box-shadow: 0 0 0 1px rgba(178, 31, 36, 0.20);
}

.gm-wizard .gm-section-card.is-selected svg {
	stroke: #1A1F1C !important;
}

.gm-wizard .gm-section-card.is-selected .gm-section-card__check svg {
	stroke: #FFFEFB !important;
}

.gm-wizard .gm-section-card.is-selected .gm-section-card__desc {
	color: #6B6760 !important;
}

/* --- Generic .gm-opt cards with optional check (Stage 4 multi) ------------ */

.gm-wizard .gm-opt--check {
	position: relative;
	padding-right: 44px;
}

.gm-wizard .gm-opt__check {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 20px;
	height: 20px;
	border: 1.5px solid rgba(26,31,28,0.20);
	border-radius: 4px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.15s;
}

.gm-wizard .gm-opt__check svg {
	opacity: 0;
	stroke: #FFFEFB !important;
}

.gm-wizard .gm-opt--check.is-selected .gm-opt__check {
	background: #B21F24;
	border-color: #B21F24;
}

.gm-wizard .gm-opt--check.is-selected .gm-opt__check svg {
	opacity: 1;
}

/* Multi-select cards use accent treatment, not full fill */

.gm-wizard .gm-opt--check.is-selected {
	background: rgba(178, 31, 36, 0.06) !important;
	border-color: #B21F24 !important;
	color: #1A1F1C !important;
	box-shadow: 0 0 0 1px rgba(178, 31, 36, 0.20) !important;
}

.gm-wizard .gm-opt--check.is-selected .gm-opt__sub {
	color: #8A857C !important;
}

.gm-wizard .gm-opt--check.is-selected .gm-opt__icon svg {
	stroke: #B21F24 !important;
}

/* --- Disabled state for cards with no content --------------------------- */

.gm-wizard .gm-section-card.is-disabled,
.gm-wizard .gm-opt.is-disabled {
	opacity: 0.45;
	cursor: not-allowed;
	background: #FFFEFB !important;
	border-color: rgba(26, 31, 28, 0.10) !important;
	box-shadow: none !important;
	pointer-events: auto;
}

.gm-wizard .gm-section-card.is-disabled:hover,
.gm-wizard .gm-opt.is-disabled:hover {
	transform: none !important;
	border-color: rgba(26, 31, 28, 0.10) !important;
	box-shadow: none !important;
}

.gm-wizard .gm-section-card.is-disabled .gm-section-card__check {
	visibility: hidden;
}

.gm-wizard .gm-section-card__unavailable {
	font-size: 11px;
	font-style: italic;
	color: #8A857C;
	margin-top: 8px;
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-weight: 400 !important;
}

/* ========================================================================== */
/* v0.7.5 — Color discipline lock                                             */
/*                                                                            */
/* Giannis: «B21F24 να είναι το βασικό, μόνο ένα μπλε για hover».              */
/* Teal eliminated globally above (find/replace). This block:                 */
/*   1. Forces the primary CTA button to RED                                  */
/*   2. Adds the HOVER blue treatment on all cards                            */
/*   3. Softens theme-card selected state (was full ink fill → soft red tint) */
/* so it visually matches the other multi-select cards.                       */
/* ========================================================================== */

/* --- Primary CTA: black → red */

.gm-wizard .gm-btn-primary,
.gm-wizard .gm-btn-primary:hover {
	background: #B21F24 !important;
	color: #FFFEFB !important;
}

.gm-wizard .gm-btn-primary:hover {
	background: #9A1B1F !important;
}

/* --- Theme cards: full ink fill → soft red tint (matches section/opt multi) */

.gm-wizard .gm-theme-card.is-selected {
	background: rgba(178, 31, 36, 0.06) !important;
	color: #1A1F1C !important;
	border-color: #B21F24 !important;
	box-shadow: 0 0 0 1px rgba(178, 31, 36, 0.20) !important;
}

.gm-wizard .gm-theme-card.is-selected svg {
	stroke: #1A1F1C !important;
}

.gm-wizard .gm-theme-card.is-selected .gm-theme-card__check svg {
	stroke: #FFFEFB !important;
}

/* --- HOVER blue: only state where blue appears                              */

.gm-wizard .gm-opt:not(.is-selected):not(.is-disabled):hover,
.gm-wizard .gm-region-card:not(.is-selected):hover,
.gm-wizard .gm-sub-card:not(.is-selected):hover,
.gm-wizard .gm-section-card:not(.is-selected):not(.is-disabled):hover,
.gm-wizard .gm-fmt-card:not(.is-selected):hover,
.gm-wizard .gm-theme-card:not(.is-selected):hover {
	border-color: #019BD0 !important;
	box-shadow: 0 6px 20px rgba(1, 155, 208, 0.10),
				0 0 0 1px rgba(1, 155, 208, 0.30) !important;
	transform: translateY(-2px);
}

/* --- Focus ring on buttons: red instead of teal-ish */

.gm-wizard button:focus-visible {
	outline: 2px solid rgba(178, 31, 36, 0.45);
	outline-offset: 2px;
}

/* --- Form field focus: red border */

.gm-wizard .gm-field input:focus,
.gm-wizard .gm-field textarea:focus {
	border-color: #B21F24 !important;
	box-shadow: 0 0 0 3px rgba(178, 31, 36, 0.12) !important;
	outline: none;
}

/* ========================================================================== */
/* v0.7.6 — Stable proportions · Disabled back · Bilingual ready              */
/*                                                                            */
/* Giannis: «σταθερές αναλογίες, να μην αλλάζει η οθόνη», «εμφανή κουμπιά      */
/* σε όλα τα στάδια».                                                          */
/*                                                                            */
/* Approach:                                                                  */
/*   1. Fixed min-height on every stage body — split / full / review use the  */
/*      same anchor so the wizard frame never jumps as you navigate.          */
/*   2. Hero placeholders matched to the stage body height so the panels      */
/*      stay edge-to-edge equal.                                              */
/*   3. Disabled Back button style (used on Stage 1 — visible but inert).     */
/* ========================================================================== */

/* --- UNIFIED stage body height — same across all stages                     */

.gm-wizard .gm-stage__body,
.gm-wizard .gm-stage__body--full,
.gm-wizard .gm-stage__body--split,
.gm-wizard .gm-stage__body--hero-only,
.gm-wizard .gm-stage__body--review {
	min-height: 720px;
}

.gm-wizard .gm-hero,
.gm-wizard .gm-welcome-hero,
.gm-wizard .gm-cover {
	min-height: 720px;
}

/* On tablets and below, drop the height — content stacks vertically anyway */
@media (max-width: 1024px) {
	.gm-wizard .gm-stage__body,
	.gm-wizard .gm-stage__body--full,
	.gm-wizard .gm-stage__body--split,
	.gm-wizard .gm-stage__body--hero-only,
	.gm-wizard .gm-stage__body--review {
		min-height: auto;
	}
	.gm-wizard .gm-hero,
	.gm-wizard .gm-welcome-hero,
	.gm-wizard .gm-cover {
		min-height: 360px;
	}
}

/* --- Disabled Back button (Stage 1)                                         */

.gm-wizard .gm-btn-ghost.is-disabled {
	opacity: 0.30 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
}

.gm-wizard .gm-btn-ghost.is-disabled:hover {
	color: #8A857C !important;
	background: transparent !important;
}
