.velino-configurator,
.velino-configurator * {
	box-sizing: border-box;
}

.velino-configurator {
	--velino-accent: #ef5b38;
	--velino-black: #15171a;
	--velino-border: #dedede;
	--velino-muted: #696969;
	--velino-soft: #f7f7f5;
	background: #fff;
	border-top: 1px solid var(--velino-border);
	color: var(--velino-black);
	font-family: inherit;
	margin: 54px 0 0;
	padding: 54px 0 16px;
}

.velino-configurator__heading {
	max-width: 760px;
}

.velino-configurator__eyebrow {
	align-items: center;
	color: var(--velino-accent);
	display: flex;
	font-size: 0.72rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: 0.13em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.velino-configurator__eyebrow::before {
	background: var(--velino-accent);
	content: '';
	height: 2px;
	width: 28px;
}

.velino-configurator__heading h2 {
	color: var(--velino-black);
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 750;
	letter-spacing: -0.045em;
	line-height: 1.04;
	margin: 0 0 14px;
}

.velino-configurator__heading > p {
	color: var(--velino-muted);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0;
	max-width: 680px;
}

.velino-configurator__steps {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 38px 0 42px;
	padding: 0;
}

.velino-configurator__steps li {
	align-items: center;
	border-bottom: 1px solid var(--velino-border);
	color: #555;
	display: flex;
	font-size: 0.83rem;
	font-weight: 650;
	gap: 10px;
	padding: 0 16px 17px 0;
}

.velino-configurator__steps li:first-child {
	border-bottom-color: var(--velino-black);
	color: var(--velino-black);
}

.velino-configurator__steps li span,
.velino-configurator__section legend span {
	align-items: center;
	background: #fff;
	border: 1px solid #cfcfcf;
	border-radius: 50%;
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 800;
	height: 27px;
	justify-content: center;
	width: 27px;
}

.velino-configurator__steps li:first-child span {
	background: var(--velino-black);
	border-color: var(--velino-black);
	color: #fff;
}

.velino-configurator__layout {
	align-items: start;
	display: grid;
	gap: clamp(28px, 5vw, 68px);
	grid-template-columns: minmax(0, 1.55fr) minmax(290px, 0.8fr);
}

.velino-configurator__controls {
	min-width: 0;
}

.velino-configurator__section {
	border: 0;
	border-bottom: 1px solid var(--velino-border);
	margin: 0;
	padding: 0 0 34px;
}

.velino-configurator__section + .velino-configurator__section {
	padding-top: 34px;
}

.velino-configurator__section legend {
	align-items: center;
	color: var(--velino-black);
	display: flex;
	font-size: 1.05rem;
	font-weight: 750;
	gap: 12px;
	letter-spacing: -0.015em;
	margin: 0 0 20px;
	padding: 0;
}

.velino-configurator__section legend span {
	background: var(--velino-soft);
	border-color: var(--velino-soft);
}

.velino-configurator__grid,
.velino-options,
.velino-quote-form__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.velino-dimensions {
	display: contents;
}

.velino-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
}

.velino-field > span {
	color: var(--velino-black);
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.35;
}

.velino-field select,
.velino-field input,
.velino-field textarea {
	appearance: none;
	background-color: #fff;
	border: 1px solid #cfcfcf;
	border-radius: 2px;
	box-shadow: none;
	color: var(--velino-black);
	font-family: inherit;
	font-size: 0.94rem;
	margin: 0;
	min-height: 50px;
	padding: 10px 13px;
	transition: border-color 150ms ease, box-shadow 150ms ease;
	width: 100%;
}

.velino-field select {
	background-image: linear-gradient(45deg, transparent 50%, #555 50%), linear-gradient(135deg, #555 50%, transparent 50%);
	background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 38px;
}

.velino-field textarea {
	appearance: auto;
	line-height: 1.5;
	min-height: 112px;
	resize: vertical;
}

.velino-field select:focus,
.velino-field input:focus,
.velino-field textarea:focus {
	border-color: var(--velino-black);
	box-shadow: 0 0 0 1px var(--velino-black);
	outline: 0;
}

.velino-field small,
.velino-dimension-note,
.velino-artwork-note {
	color: #777;
	font-size: 0.74rem;
	line-height: 1.5;
}

.velino-dimension-note {
	margin: 13px 0 0;
}

.velino-dimension-note[hidden],
.velino-custom-quantity[hidden],
.velino-field[hidden],
.velino-project-count[hidden] {
	display: none;
}

.velino-project-count {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-top: 4px;
}

.velino-artwork-field input[type="file"] {
	appearance: auto;
	height: auto;
	min-height: 54px;
	padding: 8px;
}

.velino-artwork-field input[type="file"]::file-selector-button {
	background: var(--velino-black);
	border: 0;
	border-radius: 2px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	margin-right: 12px;
	padding: 9px 13px;
}

.velino-configurator__summary {
	background: var(--velino-soft);
	border-top: 3px solid var(--velino-black);
	padding: 27px;
	position: sticky;
	top: 28px;
}

.velino-configurator__summary-label {
	color: var(--velino-muted);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.velino-configurator__summary h3 {
	color: var(--velino-black);
	font-size: 1.4rem;
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.2;
	margin: 8px 0 22px;
}

.velino-summary-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.velino-summary-list li,
.velino-configurator__delivery,
.velino-configurator__price > div {
	align-items: baseline;
	border-top: 1px solid #dededb;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 10px 0;
}

.velino-summary-list li span,
.velino-configurator__delivery strong,
.velino-configurator__price span {
	color: var(--velino-muted);
	font-size: 0.75rem;
	font-weight: 550;
}

.velino-summary-list li strong,
.velino-configurator__delivery span,
.velino-configurator__price strong {
	color: var(--velino-black);
	font-size: 0.79rem;
	font-weight: 750;
	text-align: right;
}

.velino-configurator__delivery {
	margin-top: 4px;
}

.velino-configurator__price {
	border-top: 1px solid #bbb;
	margin-top: 12px;
	padding-top: 4px;
}

.velino-configurator__price > div:first-child {
	border-top: 0;
}

.velino-configurator__price-total {
	margin-top: 3px;
}

.velino-configurator__price-total span,
.velino-configurator__price-total strong {
	color: var(--velino-black);
	font-size: 0.92rem;
}

.velino-configurator__price p {
	color: var(--velino-muted);
	font-size: 0.72rem;
	line-height: 1.45;
	margin: 11px 0 0;
}

.velino-copy-selection,
.velino-quote-submit {
	background: var(--velino-black);
	border: 1px solid var(--velino-black);
	border-radius: 2px;
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.83rem;
	font-weight: 750;
	letter-spacing: 0.01em;
	margin: 20px 0 0;
	min-height: 48px;
	padding: 12px 18px;
	transition: background 150ms ease, color 150ms ease;
}

.velino-copy-selection {
	background: transparent;
	color: var(--velino-black);
	width: 100%;
}

.velino-copy-selection:hover,
.velino-copy-selection:focus {
	background: var(--velino-black);
	color: #fff;
}

.velino-quote-submit:hover,
.velino-quote-submit:focus {
	background: #333;
}

.velino-quote-submit:disabled {
	cursor: wait;
	opacity: 0.6;
}

.velino-copy-status,
.velino-quote-status {
	font-size: 0.76rem;
	line-height: 1.45;
	margin: 8px 0 0;
	min-height: 1.1em;
}

.velino-quote-form {
	border-top: 1px solid var(--velino-border);
	display: grid;
	gap: 24px 48px;
	grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.3fr);
	margin-top: 50px;
	padding-top: 46px;
}

.velino-quote-form__intro {
	grid-row: span 2;
}

.velino-quote-form__intro h3 {
	color: var(--velino-black);
	font-size: clamp(1.55rem, 3vw, 2.15rem);
	font-weight: 750;
	letter-spacing: -0.035em;
	line-height: 1.1;
	margin: 0 0 12px;
}

.velino-quote-form__intro p {
	color: var(--velino-muted);
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0;
}

.velino-field--full,
.velino-consent,
.velino-quote-submit,
.velino-quote-status {
	grid-column: 2;
}

.velino-consent {
	align-items: flex-start;
	color: #565656;
	display: flex;
	font-size: 0.77rem;
	gap: 9px;
	line-height: 1.5;
}

.velino-consent input {
	accent-color: var(--velino-black);
	flex: 0 0 auto;
	height: 17px;
	margin: 2px 0 0;
	width: 17px;
}

.velino-consent a {
	color: var(--velino-black);
	text-decoration: underline;
}

.velino-quote-submit {
	justify-self: start;
	margin-top: 0;
}

.velino-quote-status.is-success {
	color: #216535;
}

.velino-quote-status.is-error {
	color: #a22525;
}

.velino-honeypot {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

@media (max-width: 820px) {
	.velino-configurator {
		margin-top: 38px;
		padding-top: 38px;
	}

	.velino-configurator__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 30px 0 34px;
	}

	.velino-configurator__steps li:nth-child(2) {
		padding-right: 0;
	}

	.velino-configurator__layout,
	.velino-quote-form {
		grid-template-columns: 1fr;
	}

	.velino-configurator__summary {
		position: static;
	}

	.velino-quote-form__intro {
		grid-row: auto;
	}

	.velino-field--full,
	.velino-consent,
	.velino-quote-submit,
	.velino-quote-status {
		grid-column: 1;
	}
}

@media (max-width: 560px) {
	.velino-configurator__steps {
		grid-template-columns: 1fr;
	}

	.velino-configurator__steps li {
		padding-top: 11px;
	}

	.velino-configurator__steps li:first-child {
		padding-top: 0;
	}

	.velino-configurator__grid,
	.velino-options,
	.velino-quote-form__grid {
		grid-template-columns: 1fr;
	}

	.velino-configurator__summary {
		padding: 22px;
	}
}

/* Compact configurator and visual shape picker — 2.1.0 */
.velino-configurator {
	margin-top: 40px;
	padding-top: 38px;
}

.velino-configurator__heading {
	max-width: 820px;
}

.velino-configurator__heading h2 {
	font-size: clamp(1.85rem, 3vw, 2.6rem);
	margin-bottom: 10px;
}

.velino-configurator__heading > p {
	line-height: 1.5;
}

.velino-configurator__steps {
	margin: 26px 0 28px;
}

.velino-configurator__steps li {
	padding-bottom: 13px;
}

.velino-configurator__layout {
	gap: clamp(24px, 3.5vw, 48px);
	grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.7fr);
}

.velino-configurator__section {
	padding-bottom: 22px;
}

.velino-configurator__section + .velino-configurator__section {
	padding-top: 22px;
}

.velino-configurator__section legend {
	margin-bottom: 14px;
}

.velino-configurator__grid,
.velino-quote-form__grid {
	gap: 12px;
}

.velino-options {
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.velino-dimensions {
	display: grid;
	gap: 12px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.velino-dimensions > .velino-field:only-child {
	grid-column: 1;
}

.velino-field {
	gap: 5px;
}

.velino-field select,
.velino-field input,
.velino-field textarea {
	min-height: 44px;
	padding: 8px 12px;
}

.velino-field select {
	background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px;
}

.velino-dimension-note {
	margin-top: 9px;
}

.velino-shape-picker {
	grid-column: 1 / -1;
}

.velino-shape-picker__label {
	color: var(--velino-black);
	display: block;
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.35;
	margin-bottom: 7px;
}

.velino-shape-choices {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.velino-shape-choice {
	align-items: center;
	appearance: none;
	background: #fff;
	border: 1px solid #d3d3d3;
	border-radius: 6px;
	box-shadow: none;
	color: #343434;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font-family: inherit;
	gap: 5px;
	justify-content: center;
	margin: 0;
	min-height: 84px;
	padding: 9px 7px 8px;
	transition: border-color 150ms ease, box-shadow 150ms ease, color 150ms ease;
	width: 100%;
}

.velino-shape-choice:hover,
.velino-shape-choice:focus {
	border-color: #777;
	color: var(--velino-black);
	outline: 0;
}

.velino-shape-choice:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--velino-black);
}

.velino-shape-choice.is-active {
	border-color: var(--velino-black);
	box-shadow: inset 0 0 0 1px var(--velino-black);
	color: var(--velino-black);
}

.velino-shape-choice__icon {
	align-items: center;
	display: flex;
	height: 42px;
	justify-content: center;
	width: 60px;
}

.velino-shape-choice__icon svg {
	fill: none;
	height: 42px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 60px;
}

.velino-shape-choice__name {
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.velino-configurator__summary {
	padding: 22px;
}

.velino-configurator__summary h3 {
	margin-bottom: 16px;
}

.velino-summary-list li,
.velino-configurator__delivery,
.velino-configurator__price > div {
	padding: 8px 0;
}

.velino-copy-selection,
.velino-quote-submit {
	margin-top: 14px;
	min-height: 44px;
	padding: 10px 16px;
}

.velino-quote-form {
	gap: 20px 38px;
	margin-top: 36px;
	padding-top: 34px;
}

@media (max-width: 980px) {
	.velino-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.velino-configurator {
		margin-top: 32px;
		padding-top: 32px;
	}

	.velino-configurator__steps {
		margin: 24px 0 28px;
	}

	.velino-shape-choices {
		grid-template-columns: repeat(5, minmax(86px, 1fr));
		overflow-x: auto;
		padding: 2px 2px 8px;
	}

	.velino-shape-choice {
		min-height: 80px;
	}
}

@media (max-width: 560px) {
	.velino-configurator__steps {
		display: none;
	}

	.velino-configurator__heading {
		margin-bottom: 24px;
	}

	.velino-shape-choices {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		overflow: visible;
	}

	.velino-dimensions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.velino-options {
		grid-template-columns: 1fr;
	}

	.velino-shape-choice {
		min-height: 76px;
		padding-left: 4px;
		padding-right: 4px;
	}
}

@media (max-width: 390px) {
	.velino-shape-choices {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobile single-column layout fix — 2.1.1 */
@media (max-width: 820px) {
	.velino-configurator__layout {
		grid-template-columns: 1fr;
	}

	.velino-configurator__summary {
		position: static;
	}
}



/* Keep the configurator below Storefront's floated product gallery and summary. */
.single-product .velino-configurator {
	clear: both;
	float: none;
	width: 100%;
}


/* Product page: configurator in the right product-summary column — 2.3.0 */
@media (min-width: 768px) {
	.single-product .storefront-breadcrumb {
		margin-bottom: 24px;
		padding-bottom: 12px;
		padding-top: 12px;
	}

	.single-product div.product .summary {
		margin-bottom: 40px;
	}
}

.single-product .summary .velino-configurator {
	border-top-color: #d9d9d9;
	clear: none;
	float: none;
	margin-top: 22px;
	padding-top: 22px;
	width: 100%;
}

.single-product .summary .velino-configurator__heading h2 {
	font-size: clamp(1.65rem, 2.4vw, 2.15rem);
	letter-spacing: -0.035em;
	margin-bottom: 9px;
}

.single-product .summary .velino-configurator__heading > p {
	font-size: 0.9rem;
	line-height: 1.5;
}

.single-product .summary .velino-configurator__steps {
	margin: 20px 0 22px;
}

.single-product .summary .velino-configurator__steps li {
	font-size: 0.72rem;
	gap: 7px;
	padding: 0 8px 11px 0;
}

.single-product .summary .velino-configurator__steps li span {
	height: 23px;
	width: 23px;
}

.single-product .summary .velino-configurator__layout {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr);
}

.single-product .summary .velino-configurator__section {
	padding-bottom: 18px;
}

.single-product .summary .velino-configurator__section + .velino-configurator__section {
	padding-top: 18px;
}

.single-product .summary .velino-configurator__section legend {
	margin-bottom: 12px;
}

.single-product .summary .velino-options {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.single-product .summary .velino-configurator__summary {
	padding: 18px;
	position: static;
}

.single-product .summary .velino-quote-form {
	gap: 18px;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 26px;
	padding-top: 24px;
}

.single-product .summary .velino-quote-form__intro {
	grid-row: auto;
}

.single-product .summary .velino-field--full,
.single-product .summary .velino-consent,
.single-product .summary .velino-quote-submit,
.single-product .summary .velino-quote-status {
	grid-column: 1;
}

@media (max-width: 980px) and (min-width: 768px) {
	.single-product .summary .velino-configurator__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 12px;
	}

	.single-product .summary .velino-options {
		grid-template-columns: 1fr;
	}

	.single-product .summary .velino-shape-choices {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.single-product .storefront-breadcrumb {
		margin-bottom: 22px;
		padding-bottom: 10px;
		padding-top: 10px;
	}

	.single-product .summary .velino-configurator {
		margin-top: 24px;
		padding-top: 24px;
	}

	.single-product .summary .velino-options {
		grid-template-columns: 1fr;
	}
}


/* Product summary cleanup — 2.5.0 */
.single-product .summary .product_meta,
.single-product .summary .velino-configurator__eyebrow {
	display: none;
}

.single-product .summary .velino-configurator {
	border-top: 0;
	margin-top: 16px;
	padding-top: 0;
}


/* Product page: configurator left, gallery and live summary right — 2.5.0 */
.velino-product-layout,
.velino-product-side {
	box-sizing: border-box;
	width: 100%;
}

@media (min-width: 1024px) {
	.velino-product-layout {
		align-items: start;
		column-gap: 44px;
		display: grid;
		grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
	}

	.velino-product-layout > .summary {
		float: none !important;
		grid-column: 1;
		grid-row: 1;
		margin: 0 0 48px !important;
		width: 100% !important;
	}

	.velino-product-layout > .velino-product-side {
		align-self: start;
		display: flex;
		flex-direction: column;
		gap: 24px;
		grid-column: 2;
		grid-row: 1;
	}

	.velino-product-side > .woocommerce-product-gallery {
		float: none !important;
		margin: 0 !important;
		width: 100% !important;
	}

	.velino-product-side > .velino-configurator__summary--detached {
		box-sizing: border-box;
		margin: 0 0 48px;
		position: static;
		width: 100%;
	}

	.velino-product-layout .summary .velino-configurator {
		margin-top: 14px;
	}

	.velino-product-layout .summary .velino-configurator__layout {
		display: block;
	}

	.velino-product-layout .summary .velino-configurator__controls {
		width: 100%;
	}

	.velino-product-layout .summary .velino-quote-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.velino-product-layout .summary .velino-quote-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.velino-product-layout .summary .velino-field--full,
	.velino-product-layout .summary .velino-consent,
	.velino-product-layout .summary .velino-quote-submit,
	.velino-product-layout .summary .velino-quote-status {
		grid-column: 1;
	}
}

@media (max-width: 1023px) {
	.velino-product-layout {
		display: flex;
		flex-direction: column;
	}

	.velino-product-layout > .velino-product-side {
		order: 1;
	}

	.velino-product-side > .woocommerce-product-gallery {
		float: none !important;
		width: 100% !important;
	}

	.velino-product-layout > .summary {
		float: none !important;
		order: 2;
		width: 100% !important;
	}
}

@media (max-width: 560px) {
	.velino-product-layout .summary .velino-quote-form__grid {
		grid-template-columns: 1fr;
	}
}


/* Full-width compact description and larger product images — 2.5.0 */
.single-product .woocommerce-tabs {
	clear: both;
	margin: 36px 0 0;
	padding: 0;
	width: 100%;
}

.single-product .woocommerce-tabs ul.tabs,
.single-product .woocommerce-Tabs-panel--reviews {
	display: none !important;
}

.single-product .woocommerce-tabs .panel {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.single-product .woocommerce-Tabs-panel--description > h2:first-child {
	font-size: clamp(1.8rem, 3vw, 2.35rem);
	margin: 0 0 14px;
}

.single-product .woocommerce-Tabs-panel--description h2:not(:first-child),
.single-product .woocommerce-Tabs-panel--description h3 {
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
	line-height: 1.2;
	margin: 30px 0 10px;
}

.single-product .woocommerce-Tabs-panel--description p {
	line-height: 1.65;
	margin: 0 0 12px;
}

.single-product .woocommerce-Tabs-panel--description ul,
.single-product .woocommerce-Tabs-panel--description ol {
	margin-bottom: 16px;
	margin-top: 6px;
}

.single-product .woocommerce-Tabs-panel--description li + li {
	margin-top: 4px;
}

.velino-product-detail-gallery {
	clear: both;
	margin: 42px 0 72px;
	width: 100%;
}

.velino-product-detail-gallery__header {
	margin: 0 0 22px;
	max-width: 760px;
}

.velino-product-detail-gallery__header > span {
	color: #5f5f5f;
	display: block;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.velino-product-detail-gallery__header h2 {
	color: #111;
	font-size: clamp(1.9rem, 3.4vw, 2.65rem);
	letter-spacing: -0.035em;
	line-height: 1.08;
	margin: 0 0 10px;
}

.velino-product-detail-gallery__header p {
	color: #626262;
	line-height: 1.6;
	margin: 0;
}

.velino-product-detail-gallery__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.velino-product-detail-gallery figure {
	align-items: center;
	background: #fafafa;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	min-height: 320px;
	overflow: hidden;
	padding: 18px;
}

.velino-product-detail-gallery figure img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-height: 440px;
	object-fit: contain;
	width: 100%;
}

.velino-product-detail-gallery figcaption {
	color: #666;
	font-size: 0.78rem;
	line-height: 1.45;
	margin-top: 8px;
	text-align: center;
}

@media (max-width: 767px) {
	.single-product .woocommerce-tabs {
		margin-top: 28px;
	}

	.single-product .woocommerce-Tabs-panel--description h2:not(:first-child),
	.single-product .woocommerce-Tabs-panel--description h3 {
		margin-top: 24px;
	}

	.velino-product-detail-gallery {
		margin: 34px 0 54px;
	}

	.velino-product-detail-gallery__grid {
		grid-template-columns: 1fr;
	}

	.velino-product-detail-gallery figure {
		min-height: 0;
		padding: 12px;
	}
}


/* Compact configurator without numbered steps — 3.0.0 */
.single-product .summary .velino-configurator__heading {
	margin-bottom: 18px;
}

.single-product .summary .velino-configurator__heading > p {
	margin-bottom: 0;
}

.single-product .summary .velino-configurator__steps {
	display: none !important;
}

.single-product .summary .velino-configurator__section {
	padding-bottom: 14px;
}

.single-product .summary .velino-configurator__section + .velino-configurator__section {
	padding-top: 14px;
}

.single-product .summary .velino-configurator__section legend {
	gap: 0;
	margin-bottom: 10px;
}

.single-product .summary .velino-configurator__size-grid {
	align-items: start;
	column-gap: 12px;
	grid-template-columns: minmax(0, 2fr) minmax(180px, 0.9fr);
	row-gap: 12px;
}

.single-product .summary .velino-configurator__size-grid > .velino-field--shape,
.single-product .summary .velino-configurator__size-grid > .velino-shape-picker {
	grid-column: 1 / -1;
}

.single-product .summary .velino-configurator__size-grid > .velino-dimensions {
	grid-column: 1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.single-product .summary .velino-configurator__size-grid > .velino-quantity-fields {
	display: grid;
	gap: 12px;
	grid-column: 2;
}

.single-product .summary .velino-quantity-fields .velino-custom-quantity[hidden] {
	display: none !important;
}

.single-product .summary .velino-configurator__section--size .velino-dimension-note {
	margin-top: 8px;
}

@media (max-width: 700px) {
	.single-product .summary .velino-configurator__size-grid {
		grid-template-columns: 1fr;
	}

	.single-product .summary .velino-configurator__size-grid > .velino-dimensions,
	.single-product .summary .velino-configurator__size-grid > .velino-quantity-fields {
		grid-column: 1;
	}
}


/* E-shop purchase state — 3.0.0 */
.velino-shop-locked {
	border-top: 1px solid #dedede;
	display: grid;
	gap: 5px;
	margin-top: 16px;
	padding-top: 16px;
}

.velino-shop-locked strong {
	color: #151515;
	font-size: 0.9rem;
	line-height: 1.35;
}

.velino-shop-locked span,
.velino-cart-status {
	color: #686868;
	font-size: 0.76rem;
	line-height: 1.5;
}

.velino-cart-form {
	border-top: 1px solid #dedede;
	display: grid;
	gap: 8px;
	margin: 16px 0 0 !important;
	padding-top: 16px;
}

.velino-cart-form .velino-add-to-cart {
	background: #151515 !important;
	border: 1px solid #151515 !important;
	border-radius: 0 !important;
	color: #fff !important;
	font-size: 0.84rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	min-height: 46px;
	padding: 12px 18px !important;
	text-align: center;
	width: 100%;
}

.velino-cart-form .velino-add-to-cart:hover,
.velino-cart-form .velino-add-to-cart:focus {
	background: #333 !important;
	border-color: #333 !important;
}

.velino-cart-form .velino-add-to-cart:disabled {
	background: #d8d8d8 !important;
	border-color: #d8d8d8 !important;
	color: #777 !important;
	cursor: not-allowed;
}

.velino-cart-status {
	display: block;
	margin: 0;
}

.velino-price-label {
	color: #555;
	font-size: 0.85rem;
}

.woocommerce-cart .variation,
.woocommerce-checkout .wc-block-components-product-details,
.woocommerce-order-details .wc-item-meta {
	font-size: 0.84rem;
	line-height: 1.45;
}

.woocommerce-cart .variation dt,
.woocommerce-cart .variation dd {
	margin-bottom: 3px;
}
