/**
 * Giulio Sansò Core 1.4.3 — visual geometry consistency.
 *
 * Purpose:
 * - identical dimensions for cards/panels belonging to the same visual group;
 * - deterministic sizing instead of relying on implicit Gutenberg/theme stretch;
 * - consistent square geometry across Core UI components;
 * - no changes to copy, SEO, URLs or editorial content.
 */

/* Predictable dimensions inside every Core-owned visual component. */
.gs-valutazione-page,
.gs-valutazione-page *,
.gs-vendere-page,
.gs-vendere-page *,
.gs-calcolatore-provvigione,
.gs-calcolatore-provvigione * {
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------
 * VALUTAZIONE — equal cards and panels.
 * ---------------------------------------------------------------------- */

.gs-valutazione-process-grid,
.gs-valutazione-two-columns,
.gs-choice-grid {
	align-items: stretch;
}

.gs-valutazione-process-grid > .gs-valutazione-process-card,
.gs-valutazione-two-columns > .gs-valutazione-panel,
.gs-choice-grid > label {
	max-width: none !important;
	width: 100%;
}

.gs-valutazione-process-card,
.gs-valutazione-panel,
.gs-choice-grid label {
	margin-block: 0 !important;
}

@media (min-width: 901px) {
	.gs-valutazione-process-grid {
		grid-auto-rows: 1fr;
	}

	.gs-valutazione-process-grid > .gs-valutazione-process-card {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 270px;
	}

	.gs-valutazione-process-card > :last-child {
		margin-bottom: 0 !important;
	}
}

@media (min-width: 681px) {
	.gs-valutazione-two-columns {
		grid-auto-rows: 1fr;
	}

	.gs-valutazione-two-columns > .gs-valutazione-panel {
		display: flex;
		flex-direction: column;
		height: 100%;
	}

	.gs-valutazione-panel > :last-child {
		margin-bottom: 0 !important;
	}

	.gs-choice-grid {
		grid-auto-rows: 1fr;
	}

	.gs-choice-grid > label {
		height: 100%;
	}
}

/* -------------------------------------------------------------------------
 * VENDERE — equal cards, steps, panels and guide blocks.
 * ---------------------------------------------------------------------- */

.gs-vendere-principles,
.gs-vendere-steps,
.gs-vendere-two-columns,
.gs-vendere-guide-grid {
	align-items: stretch;
}

.gs-vendere-principles > .gs-vendere-card,
.gs-vendere-steps > .gs-vendere-step,
.gs-vendere-two-columns > .gs-vendere-panel,
.gs-vendere-guide-grid > .gs-vendere-guide-card {
	max-width: none !important;
	width: 100%;
}

.gs-vendere-card,
.gs-vendere-step,
.gs-vendere-panel,
.gs-vendere-guide-card {
	margin-block: 0 !important;
}

@media (min-width: 781px) {
	.gs-vendere-principles,
	.gs-vendere-steps,
	.gs-vendere-two-columns,
	.gs-vendere-guide-grid {
		grid-auto-rows: 1fr;
	}

	.gs-vendere-principles > .gs-vendere-card,
	.gs-vendere-steps > .gs-vendere-step,
	.gs-vendere-two-columns > .gs-vendere-panel,
	.gs-vendere-guide-grid > .gs-vendere-guide-card {
		height: 100%;
	}

	.gs-vendere-card,
	.gs-vendere-step,
	.gs-vendere-panel,
	.gs-vendere-guide-card {
		display: flex;
		flex-direction: column;
	}

	.gs-vendere-card > :last-child,
	.gs-vendere-step > :last-child,
	.gs-vendere-panel > :last-child,
	.gs-vendere-guide-card > :last-child {
		margin-bottom: 0 !important;
	}
}

/* -------------------------------------------------------------------------
 * CORE FORM GEOMETRY — one square-corner visual language.
 * The site already uses square buttons/fields on the primary seller pages;
 * the calculator is aligned to that existing language here.
 * ---------------------------------------------------------------------- */

.gs-calcolatore-provvigione,
.gs-calcolatore-provvigione input,
.gs-calcolatore-provvigione select,
.gs-calcolatore-provvigione__pulsante,
.gs-calcolatore-provvigione__risultato,
.gs-valuation-form,
.gs-form-field input:not([type="checkbox"]),
.gs-form-field select,
.gs-form-field textarea,
.gs-choice-grid label,
.gs-form-nav button,
.gs-valutazione-process-card,
.gs-valutazione-panel,
.gs-vendere-card,
.gs-vendere-panel,
.gs-vendere-guide-card {
	border-radius: 0 !important;
}

/* Mobile: do not create artificial blank vertical space once cards stack. */
@media (max-width: 900px) {
	.gs-valutazione-process-grid {
		grid-auto-rows: auto;
	}

	.gs-valutazione-process-grid > .gs-valutazione-process-card {
		height: auto;
	}
}

@media (max-width: 780px) {
	.gs-vendere-principles,
	.gs-vendere-steps,
	.gs-vendere-two-columns,
	.gs-vendere-guide-grid {
		grid-auto-rows: auto;
	}

	.gs-vendere-principles > .gs-vendere-card,
	.gs-vendere-steps > .gs-vendere-step,
	.gs-vendere-two-columns > .gs-vendere-panel,
	.gs-vendere-guide-grid > .gs-vendere-guide-card {
		height: auto;
	}
}
