.gcbc-customizer {
	--gcbc-green: #87c999;
	--gcbc-green-soft: #c1eccc;
	--gcbc-green-pale: #f1faf3;
	--gcbc-green-deep: #245f35;
	--gcbc-ink: #17221a;
	--gcbc-muted: #667169;
	--gcbc-border: #dfe8e1;
	--gcbc-error: #b42318;
	margin: 24px 0 18px;
	padding: 24px;
	border: 1px solid var(--gcbc-border);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 42px rgba(31, 57, 37, .08);
	color: var(--gcbc-ink);
	font-family: inherit;
}

/* Producto con asa plana: los precios usan una modalidad interna, mientras
 * el cliente elige el tipo real y su color/cobertura en estos dos selectores. */
html body.single-product.gcbc-flat-handle-product .gcbc-native-print-mode-row {
	display: none !important;
}

html body.single-product.gcbc-flat-handle-product tr.gcbc-flat-print-type-row,
html body.single-product.gcbc-flat-handle-product tr.gcbc-flat-print-area-row,
html body.single-product.gcbc-flat-handle-product tr.gcbc-flat-quantity-row {
	display: table-row !important;
}

html body.single-product.gcbc-flat-handle-product tr.gcbc-flat-print-type-row select,
html body.single-product.gcbc-flat-handle-product tr.gcbc-flat-print-area-row select,
html body.single-product.gcbc-flat-handle-product tr.gcbc-flat-quantity-row select {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tr.is-selected td {
	background: #c1eccc !important;
	font-weight: 700 !important;
}

/* Paridad visual con el producto principal. El producto de asa plana cambia
 * únicamente sus datos comerciales, no la experiencia ni la jerarquía visual. */
html body.single-product.gcbc-flat-handle-product div.product .summary {
	margin-bottom: 16px !important;
}

html body.single-product.gcbc-flat-handle-product div.product .woocommerce-tabs {
	margin-top: 0 !important;
}

html body.single-product.gcbc-flat-handle-product div.product .summary h1.product_title {
	margin: 0 0 24px !important;
	color: #111 !important;
	font-family: "Work Sans", Arial, sans-serif !important;
	font-size: 32px !important;
	font-weight: 600 !important;
	line-height: 1.18 !important;
	letter-spacing: -.4px !important;
}

html body.single-product.gcbc-flat-handle-product div.product .summary .product_meta {
	display: none !important;
}

html body.single-product.gcbc-flat-handle-product div.product .woocommerce-product-gallery__image:first-child > a {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	background: #fff !important;
}

html body.single-product.gcbc-flat-handle-product div.product .woocommerce-product-gallery__image:first-child > a > img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

html body.single-product.gcbc-flat-handle-product .goocolor-help-box {
	box-sizing: border-box !important;
	margin: 8px 0 16px !important;
	padding: 8px 18px 10px !important;
	border: 1px solid #c1eccc !important;
	border-left: 4px solid #8fcfa3 !important;
	border-radius: 12px !important;
	background: #f4fbf6 !important;
	box-shadow: 0 7px 18px rgba(36, 95, 53, .08) !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
}

html body.single-product.gcbc-flat-handle-product .goocolor-help-box p {
	margin: 0 !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form {
	margin-top: 8px !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations {
	margin: 0 0 10px !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tbody {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px 16px !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tr:not(.gcbc-native-print-mode-row) {
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations th,
html body.single-product.gcbc-flat-handle-product form.variations_form table.variations td {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	padding: 0 8px 4px 0 !important;
	line-height: 1.15 !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations td {
	padding-bottom: 0 !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations select {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 34px !important;
	height: 34px !important;
	padding: 3px 32px 3px 8px !important;
	font-size: 15px !important;
	line-height: 1.1 !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form table.variations select.gcbc-has-value {
	color: #111 !important;
	font-weight: 600 !important;
}

html body.single-product.gcbc-flat-handle-product form.variations_form .single_variation_wrap {
	margin-top: 8px !important;
	padding-top: 16px !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description h3 {
	margin: 8px 0 5px !important;
	font-family: Montserrat, Arial, sans-serif !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description table {
	width: 100% !important;
	margin: 0 0 8px !important;
	border: 1px solid #d7e4da !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	table-layout: fixed !important;
	font-family: Montserrat, Arial, sans-serif !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description th,
html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description td {
	padding: 7px 6px !important;
	font-size: 16px !important;
	line-height: 1.15 !important;
	text-align: center !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description th {
	background: #171717 !important;
	color: #fff !important;
	font-weight: 700 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description td {
	color: #333 !important;
	font-weight: 500 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr:nth-child(odd) td {
	background: #fff !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr:nth-child(even) td {
	background: #f3f3f3 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody td:nth-child(2) {
	color: #777 !important;
	font-weight: 600 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody td:nth-child(3) {
	color: #111 !important;
	font-weight: 700 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr.is-selected td,
html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr.is-selected-qty td {
	background: #c1eccc !important;
	color: #111 !important;
	font-weight: 800 !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr.is-selected td:first-child,
html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr.is-selected-qty td:first-child {
	color: #155c31 !important;
	font-size: 17px !important;
}

html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr.is-selected td:nth-child(2),
html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description tbody tr.is-selected-qty td:nth-child(2) {
	color: #557060 !important;
}

@media (max-width: 690px) {
	html body.single-product.gcbc-flat-handle-product div.product .summary {
		clear: both !important;
		float: none !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-bottom: 12px !important;
	}

	html body.single-product.gcbc-flat-handle-product div.product .summary h1.product_title {
		margin-bottom: 24px !important;
		font-size: clamp(16px, 5.1vw, 21px) !important;
		font-weight: 600 !important;
		line-height: 1.15 !important;
		letter-spacing: -0.35px !important;
		white-space: normal !important;
		overflow-wrap: normal !important;
	}

	html body.single-product.gcbc-flat-handle-product div.product .woocommerce-product-gallery__image:first-child > a {
		aspect-ratio: 1 / 1 !important;
	}

	html body.single-product.gcbc-flat-handle-product .goocolor-help-box {
		margin: 8px 0 16px !important;
		padding: 8px 14px 10.5px !important;
		font-size: 15px !important;
		line-height: 1.45 !important;
	}

	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations,
	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tbody,
	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tr,
	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations th,
	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations td {
		box-sizing: border-box !important;
		max-width: 100% !important;
	}

	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tbody {
		gap: 5px !important;
	}

	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations select {
		height: 43px !important;
		min-height: 43px !important;
		font-size: 16px !important;
	}

	html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description h3 {
		font-size: 18px !important;
	}

	html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description th,
	html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description td {
		padding: 6px 3px !important;
		font-size: 13px !important;
	}
}

/* En teléfonos muy estrechos, dos columnas dejan sin espacio suficiente a
 * nombres como "Impresión digital CMYK". Las variables se apilan y la tabla
 * de precios conserva sus cuatro columnas sin salirse de la pantalla. */
@media (max-width: 360px) {
	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tbody {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		width: 100% !important;
	}

	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations tr:not(.gcbc-native-print-mode-row) {
		display: block !important;
		float: none !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 13px !important;
	}

	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations th,
	html body.single-product.gcbc-flat-handle-product form.variations_form table.variations td {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description table {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		table-layout: fixed !important;
	}

	html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description th,
	html body.single-product.gcbc-flat-handle-product .woocommerce-variation-description td {
		padding: 8px 3px !important;
		font-size: 12px !important;
		line-height: 1.25 !important;
		overflow-wrap: anywhere !important;
	}
}

.gcbc-lead-card {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid #b9d9c1;
	border-radius: 14px;
	background: #f4faf5;
	color: #173d22;
}
.gcbc-lead-card > strong { display: block; margin-bottom: 7px; font-size: 18px; }
.gcbc-lead-card > p { margin: 0 0 14px; line-height: 1.45; }
.gcbc-lead-card > label:not(.gcbc-lead-consent) { display: grid; gap: 6px; margin-bottom: 12px; }
.gcbc-lead-card input[type="text"] { box-sizing: border-box; width: 100%; max-width: 520px; }
.gcbc-lead-consent { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0 14px; line-height: 1.4; }
.gcbc-lead-consent input { flex: 0 0 auto; margin-top: 3px; }
.gcbc-lead-card [data-gcbc-lead-status] { display: block; margin-top: 10px; }
.gcbc-lead-card.is-saved { border-color: #65a873; background: #ebf8ee; }

@media (max-width: 690px) {
	.gcbc-lead-card { padding: 15px; }
	.gcbc-lead-card > strong { font-size: 17px; }
}

.gcbc-customizer[hidden] {
	display: none !important;
}

/* The method selector is visible first; purchasing depends on the explicit choice. */
body.single-product .summary form.variations_form[data-gcbc-purchase-mode] .woocommerce-variation-add-to-cart,
body.single-product .summary form.variations_form[data-gcbc-purchase-mode] .yith-ywraq-add-to-quote {
	display: none !important;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="self"] .woocommerce-variation-add-to-cart {
	display: block !important;
	margin-top: 24px !important;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="goocolor"] .yith-ywraq-add-to-quote {
	display: block !important;
	margin-top: 24px !important;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="goocolor"] .yith-ywraq-add-to-quote.gcbc-quote-has-item .yith-ywraq-add-button,
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="goocolor"] .yith-ywraq-add-to-quote.gcbc-quote-has-item .add-request-quote-button {
	display: none !important;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="self"] .single_add_to_cart_button {
	display: block !important;
	width: 100%;
	background: #c1eccc !important;
	color: #183f29 !important;
	border-radius: 14px !important;
	margin-top: 16px !important;
}
.gcbc-method-card [data-gcbc-design-price] {
	font-weight: 600;
	color: #245239;
	margin-top: 10px;
}

/* Mantiene visibles las variables al llegar desde el aviso de producto añadido. */
body.single-product #pa_tamano {
	scroll-margin-top: clamp(190px, 24vh, 250px);
}

.gcbc-repeat-price-caption {
	display: block;
	box-sizing: border-box;
	width: calc(100% - 16px);
	margin: 0 8px 10px;
	padding: 10px 14px;
	border: 1px solid #e46a62;
	border-radius: 11px;
	background: #fff0ef;
	color: #b42318;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
}

body.single-product .yith_ywraq_add_item_product_message {
	display: block;
	position: relative;
	min-height: 59px;
	margin: 17px 0 13px;
	padding: 16px 18px 16px 59px;
	border: 1px solid #9bd5a9;
	border-left: 5px solid #5da873;
	border-radius: 14px;
	background: linear-gradient(135deg, #f1faf3 0%, #dff3e5 100%);
	box-shadow: 0 8px 22px rgba(45, 111, 62, .10);
	color: #173d22;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
}

body.single-product .yith_ywraq_add_item_product_message::before {
	display: grid;
	position: absolute;
	top: 15px;
	left: 17px;
	place-items: center;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: #5da873;
	color: #fff;
	content: "\2713";
	font-size: 16px;
	font-weight: 900;
	line-height: 1;
}

body.single-product .yith_ywraq_add_item_product_message b {
	color: #245f35;
	font-weight: 900;
}

.gcbc-method {
	min-width: 0;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.gcbc-method legend {
	width: 100%;
	margin: 0 0 11px;
	padding: 0;
	color: var(--gcbc-ink);
	font-size: clamp(18px, 1.7vw, 23px);
	font-weight: 800;
	line-height: 1.2;
}

.gcbc-method-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.gcbc-method-card {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	min-width: 0;
	margin: 0;
	padding: 15px 16px;
	border: 1px solid #d8e4da;
	border-radius: 15px;
	background: #fff;
	cursor: pointer;
	transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.gcbc-method-card:has(input:checked) {
	border-color: #75bb87;
	background: var(--gcbc-green-pale);
	box-shadow: 0 0 0 2px rgba(117, 187, 135, .16);
}

.gcbc-method-card input {
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	margin: 2px 0 0;
	accent-color: #4e9e64;
}

.gcbc-method-card span,
.gcbc-method-card strong,
.gcbc-method-card small {
	display: block;
}

.gcbc-method-card strong {
	color: #203b27;
	font-size: 15px;
	line-height: 1.3;
}

.gcbc-method-card .gcbc-method-title-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.gcbc-method-card .gcbc-method-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 9px;
	border-radius: 999px;
	background: #111;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .16);
	color: #c1eccc;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .07em;
	line-height: 1;
	text-transform: uppercase;
}

.gcbc-method-card small {
	margin-top: 4px;
	color: var(--gcbc-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}

.gcbc-method-card small .gcbc-no-commitment {
	display: inline;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

[data-gcbc-editor][hidden],
.gcbc-professional[hidden] {
	display: none !important;
}

.gcbc-professional {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	padding: 18px;
	border: 1px solid #acdcb7;
	border-radius: 16px;
	background: var(--gcbc-green-pale);
}

.gcbc-professional > span {
	display: grid;
	flex: 0 0 31px;
	place-items: center;
	width: 31px;
	height: 31px;
	border-radius: 50%;
	background: var(--gcbc-green-soft);
	color: var(--gcbc-green-deep);
	font-weight: 900;
}

.gcbc-professional strong {
	display: block;
	margin: 1px 0 4px;
	color: #204b2d;
	font-size: 16px;
}

.gcbc-professional p {
	margin: 0;
	color: #4f6655;
	font-size: 13px;
	line-height: 1.5;
}

.gcbc-update-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 16px;
	padding: 13px;
	border: 1px solid #a7d9b3;
	border-radius: 14px;
	background: var(--gcbc-green-pale);
}

.gcbc-update-panel[hidden] {
	display: none !important;
}

.gcbc-update-button {
	min-height: 42px;
	padding: 10px 18px;
	border: 0;
	border-radius: 12px;
	background: #70b582;
	color: #102f19;
	font: inherit;
	font-size: 13px;
	font-weight: 850;
	cursor: pointer;
}

.gcbc-update-button:hover,
.gcbc-update-button:focus-visible {
	background: #5da873;
	box-shadow: 0 6px 18px rgba(42, 111, 60, .18);
	outline: none;
}

.gcbc-update-panel small {
	max-width: 390px;
	color: #49614f;
	font-size: 12px;
	line-height: 1.4;
}

.gcbc-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.gcbc-heading h3 {
	margin: 2px 0 7px;
	font-size: clamp(23px, 2.2vw, 32px);
	line-height: 1.12;
	letter-spacing: -.025em;
}

.gcbc-heading p {
	max-width: 720px;
	margin: 0;
	color: var(--gcbc-muted);
	font-size: 15px;
	line-height: 1.5;
}

.gcbc-heading .gcbc-orientative-note {
	max-width: 760px;
	margin-top: 12px;
	padding: 11px 14px;
	border-left: 4px solid #dc2626;
	border-radius: 8px 12px 12px 8px;
	background: #fff1f2;
	color: #b91c1c;
	font-size: 14px;
}

.gcbc-orientative-note strong {
	color: #b91c1c;
	font-weight: 850;
}

.gcbc-heading .gcbc-eyebrow {
	color: var(--gcbc-green-deep);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.gcbc-status-badge {
	flex: 0 0 auto;
	padding: 7px 11px;
	border: 1px solid #a9dcb5;
	border-radius: 999px;
	background: var(--gcbc-green-pale);
	color: var(--gcbc-green-deep);
	font-size: 12px;
	font-weight: 750;
}

.gcbc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(250px, .82fr);
	gap: 22px;
	align-items: start;
}

.gcbc-preview-card,
.gcbc-control-block,
.gcbc-help-note {
	border: 1px solid var(--gcbc-border);
	border-radius: 16px;
}

.gcbc-preview-card {
	overflow: hidden;
	background: #f8fbf8;
}

.gcbc-side-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5px;
	padding: 6px;
	background: #edf5ef;
}

.gcbc-side-tab {
	min-height: 42px;
	padding: 8px 14px;
	border: 0;
	border-radius: 11px;
	background: transparent;
	color: #59625b;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.gcbc-side-tab.is-active {
	background: #fff;
	color: var(--gcbc-ink);
	box-shadow: 0 3px 12px rgba(36, 68, 43, .10);
}

.gcbc-side-tab[hidden] {
	display: none;
}

.gcbc-side-tab[hidden] + .gcbc-side-tab,
.gcbc-side-tabs:has(.gcbc-side-tab[hidden]) {
	grid-template-columns: 1fr;
}

.gcbc-canvas-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #f5faf6;
}

.gcbc-canvas-wrap canvas {
	display: block;
	width: 100%;
	height: 100%;
	touch-action: pan-y pinch-zoom;
	cursor: default;
}

.gcbc-logo-touch-zone {
	position: absolute;
	z-index: 3;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	cursor: grab;
	touch-action: none;
	transform-origin: center;
	user-select: none;
	-webkit-user-select: none;
}

/* Keep the existing placeholder grey; darken only a chosen product option. */
html body.single-product.postid-17172 form.variations_form .variations select:has(option:checked:not([value=""])) {
	color: #111 !important;
	-webkit-text-fill-color: #111;
	font-weight: 600 !important;
}
html body.single-product.postid-17172 form.variations_form .variations select option[value=""] {
	color: #555;
}
#gcbc-scale,
.gcbc-range-row:has(label[for="gcbc-scale"]) {
	display: none !important;
}

.gcbc-size-buttons:not([hidden]) {
	display: flex;
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 5;
	gap: 2px;
	padding: 3px;
	margin: 0;
	border: 1px solid #c1eccc;
	border-radius: 14px;
	background: rgba(255,255,255,.96);
	box-shadow: 0 2px 8px rgba(23,62,44,.12);
}

.gcbc-size-buttons .gcbc-secondary-button {
	width: 42px;
	min-width: 42px;
	height: 42px;
	min-height: 42px;
	margin: 0;
	padding: 0;
	font-size: 23px;
	line-height: 1;
	border: 0;
	border-radius: 10px;
	touch-action: manipulation;
}

@media (max-width:690px) {
	.gcbc-size-buttons:not([hidden]) { right:8px; bottom:8px; }
	.gcbc-size-buttons .gcbc-secondary-button { width:44px; min-width:44px; height:44px; min-height:44px; font-size:24px; }
}

.gcbc-logo-touch-zone:hover,
.gcbc-logo-touch-zone:focus-visible {
	border-color: rgba(72, 151, 91, .44);
	outline: none;
}

.gcbc-logo-touch-zone.is-dragging {
	cursor: grabbing;
}

.gcbc-logo-touch-zone[hidden] {
	display: none !important;
}

.gcbc-canvas-empty {
	position: absolute;
	z-index: 4;
	top: 51%;
	left: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: min(74%, 310px);
	padding: 20px;
	transform: translate(-50%, -50%);
	border: 1px dashed rgba(53, 135, 75, .65);
	border-radius: 14px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 8px 26px rgba(24, 55, 32, .08);
	text-align: center;
	cursor: pointer;
	pointer-events: auto;
}

.gcbc-canvas-empty:hover,
.gcbc-canvas-empty:focus-visible {
	border-color: #3e9356;
	background: #fff;
	box-shadow: 0 10px 30px rgba(24, 86, 41, .14);
	outline: none;
}

.gcbc-canvas-empty[hidden] {
	display: none;
}

.gcbc-canvas-empty strong {
	font-size: 15px;
}

.gcbc-canvas-empty span:last-child {
	color: var(--gcbc-muted);
	font-size: 12px;
}

.gcbc-upload-icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--gcbc-green-soft);
	color: #194f29;
	font-size: 25px;
	font-weight: 400;
}

.gcbc-size-caption {
	min-height: 36px;
	margin: 0;
	padding: 9px 14px;
	border-top: 1px solid var(--gcbc-border);
	background: #fff;
	color: var(--gcbc-muted);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

.gcbc-controls {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.gcbc-control-block {
	padding: 15px;
	background: #fff;
}

.gcbc-file-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	min-height: 74px;
	padding: 12px 18px;
	border: 0;
	border-radius: 13px;
	background: var(--gcbc-green-soft);
	color: #173d22;
	font-weight: 800;
	text-align: center;
	cursor: pointer;
	transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.gcbc-file-label:hover {
	background: #acdfb9;
	box-shadow: 0 8px 22px rgba(60, 126, 78, .16);
	transform: translateY(-1px);
}

.gcbc-file-label small {
	color: rgba(23, 61, 34, .7);
	font-size: 11px;
	font-weight: 650;
}

.gcbc-file-input {
	position: absolute !important;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.gcbc-file-name {
	overflow: hidden;
	margin-top: 10px;
	color: var(--gcbc-muted);
	font-size: 12px;
	line-height: 1.35;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gcbc-page-control {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid var(--gcbc-border);
	border-radius: 11px;
	background: var(--gcbc-green-pale);
	color: #173d22;
	font-size: 13px;
	font-weight: 750;
}

.gcbc-page-control[hidden] {
	display: none !important;
}

.gcbc-page-control select { width: auto; min-width: 92px; margin: 0; }

.gcbc-switch-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--gcbc-border);
	border-radius: 13px;
	background: var(--gcbc-green-pale);
	color: #31523a;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.gcbc-switch-row[hidden] {
	display: none;
}

.gcbc-switch-row input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #4b9d62;
}

.gcbc-transform-controls[hidden] {
	display: none;
}

.gcbc-range-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
}

.gcbc-range-row:not(:first-child) {
	margin-top: 14px;
}

.gcbc-range-row label {
	margin: 0;
	color: var(--gcbc-ink);
	font-size: 13px;
	font-weight: 750;
}

.gcbc-range-row output {
	min-width: 42px;
	color: var(--gcbc-green-deep);
	font-size: 12px;
	font-weight: 800;
	text-align: right;
}

.gcbc-transform-controls input[type="range"] {
	width: 100%;
	margin: 0;
	accent-color: #5eaa71;
}

.gcbc-actions-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 16px;
}

.gcbc-secondary-button {
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid #cbd8ce;
	border-radius: 10px;
	background: #fff;
	color: #2e4935;
	font: inherit;
	font-size: 12px;
	font-weight: 750;
	cursor: pointer;
}

.gcbc-secondary-button:hover {
	border-color: #8fbd9a;
	background: #f6fbf7;
}

.gcbc-help-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 13px 14px;
	background: #fafcfa;
}

.gcbc-help-note > span {
	display: grid;
	flex: 0 0 25px;
	place-items: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: var(--gcbc-green-soft);
	color: #245f35;
	font-size: 13px;
	font-weight: 900;
}

.gcbc-help-note p {
	margin: 1px 0 0;
	color: var(--gcbc-muted);
	font-size: 12px;
	line-height: 1.45;
}

.gcbc-help-note strong {
	color: #34523c;
}

.gcbc-adjustment-note {
	border-color: #e5b6b6;
	background: #fff5f5;
}

.gcbc-adjustment-note p,
.gcbc-adjustment-note strong,
.gcbc-adjustment-note > span {
	color: #b42318;
}

.gcbc-adjustment-note > span {
	background: #fee4e2;
}

.gcbc-message {
	min-height: 0;
	margin-top: 0;
	padding: 0;
	border-radius: 11px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.gcbc-message:not(:empty) {
	margin-top: 14px;
	padding: 11px 14px;
}

.gcbc-message.is-success {
	background: #eaf7ed;
	color: #276237;
}

.gcbc-message-highlight {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 999px;
	background: #173f28;
	color: #fff;
	font-weight: 900;
	white-space: nowrap;
}

.gcbc-message.is-error {
	background: #fff0ef;
	color: var(--gcbc-error);
	border: 1px solid #ef9a93;
}

.gcbc-message.is-loading {
	background: #f4f6f4;
	color: #4d5950;
}

.gcbc-customizer.is-busy {
	opacity: .82;
}

.gcbc-customizer.is-busy .gcbc-file-label,
.gcbc-customizer.is-busy .gcbc-secondary-button,
.gcbc-customizer.is-busy .gcbc-update-button,
.gcbc-customizer.is-busy input,
.gcbc-customizer.is-busy canvas,
.gcbc-customizer.is-busy .gcbc-logo-touch-zone {
	pointer-events: none;
}

@media (max-width: 782px) {
	.gcbc-customizer {
		margin: 18px 0 14px;
		padding: 16px;
		border-radius: 18px;
	}

	.gcbc-heading {
		flex-direction: column;
		gap: 10px;
		margin-bottom: 16px;
	}

	.gcbc-method {
		margin-bottom: 18px;
	}

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

	.gcbc-heading h3 {
		font-size: 24px;
	}

	.gcbc-status-badge {
		align-self: flex-start;
	}

	.gcbc-layout {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.gcbc-canvas-wrap {
		max-height: min(88vw, 620px);
		touch-action: pan-y pinch-zoom;
	}

	.gcbc-update-panel {
		align-items: stretch;
		flex-direction: column;
		text-align: center;
	}

	.gcbc-actions-row {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 430px) {
	.gcbc-customizer {
		margin-left: -1px;
		margin-right: -1px;
		padding: 13px;
		border-radius: 16px;
	}

	.gcbc-heading h3 {
		font-size: 21px;
	}

	.gcbc-heading p {
		font-size: 13px;
	}

	.gcbc-side-tab {
		min-height: 40px;
	}

	.gcbc-control-block {
		padding: 12px;
	}

	.gcbc-actions-row {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gcbc-file-label,
	.gcbc-side-tab {
		transition: none;
	}
}
.gcbc-customizer [data-gcbc-update-panel] { display: none !important; }
/* Salient places the remove link inside its quantity wrapper. Keep the
 * quantity controls and line price hidden while restoring a clear remove X. */
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity {
	display: block !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
}
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .modify,
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price > .amount {
	display: none !important;
}
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price {
	display: block !important;
	position: static !important;
	width: 0 !important;
	height: 0 !important;
}
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price > a.remove.remove_from_cart_button {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	z-index: 70 !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid #d7ded9 !important;
	border-radius: 50% !important;
	background: #f5f7f5 !important;
	color: #17251e !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	pointer-events: auto !important;
}
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price > a.remove.remove_from_cart_button::before {
	content: '\00d7';
	display: block;
	font-family: Arial, sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 28px;
}
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price > a.remove.remove_from_cart_button:hover,
.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price > a.remove.remove_from_cart_button:focus-visible {
	border-color: #17251e !important;
	background: #ffffff !important;
}

/* Mantiene las acciones del carrito lateral por encima del globo flotante de
 * WhatsApp también en escritorio. La lista de productos conserva su scroll. */
.nectar-slide-in-cart .widget_shopping_cart_content {
	padding-bottom: 130px !important;
}

/* En el carrito completo, la maqueta es una acción secundaria compacta y no
 * debe heredar el gran tamaño tipográfico de los enlaces de producto. */
.woocommerce-cart-form .product-name dl.variation dd.variation-Diseo a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 32px !important;
	margin-top: 0 !important;
	padding: 5px 10px !important;
	border: 1px solid #c1eccc !important;
	border-radius: 999px !important;
	background: #edf8f0 !important;
	color: #193f29 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

.woocommerce-cart-form .product-name dl.variation dt.variation-Diseo {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 32px !important;
	line-height: 1.2 !important;
}

.woocommerce-cart-form .product-name dl.variation dd.variation-Diseo,
.woocommerce-cart-form .product-name dl.variation dd.variation-Diseo p {
	min-height: 32px !important;
	line-height: 32px !important;
}

.woocommerce-cart-form .product-name dl.variation dd.variation-Diseo a:hover,
.woocommerce-cart-form .product-name dl.variation dd.variation-Diseo a:focus-visible {
	border-color: #193f29 !important;
	background: #c1eccc !important;
}

/* Mini carrito movil: la cantidad oculta no debe estrechar la ficha. Los
 * valores de variacion se muestran solos, en etiquetas breves y legibles. */
@media (max-width: 690px) {
	/* Reserva una franja inferior para que el widget flotante de WhatsApp no
	 * cubra el subtotal ni las acciones principales del carrito. */
	.nectar-slide-in-cart .widget_shopping_cart_content {
		padding-bottom: max(140px, calc(120px + env(safe-area-inset-bottom))) !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item {
		display: grid !important;
		grid-template-columns: 68px minmax(0, 1fr) !important;
		align-items: start !important;
		column-gap: 14px !important;
		padding: 18px 40px 18px 0 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item > a:first-child {
		grid-column: 1 !important;
		width: 68px !important;
		min-width: 68px !important;
		margin: 2px 0 0 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item > a:first-child img {
		float: none !important;
		width: 68px !important;
		height: 68px !important;
		margin: 0 !important;
		object-fit: contain !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item > .product-meta {
		display: block !important;
		grid-column: 2 !important;
		position: static !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item .product-details {
		width: auto !important;
		min-width: 0 !important;
		padding: 0 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item .product-details > a {
		display: block !important;
		margin: 0 0 9px !important;
		font-size: 17px !important;
		font-weight: 700 !important;
		line-height: 1.18 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item dl.variation {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 5px !important;
		float: none !important;
		width: auto !important;
		margin: 0 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item dl.variation dt {
		display: none !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item dl.variation .variation-Maqueta {
		display: none !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item dl.variation dd {
		display: block !important;
		float: none !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.nectar-slide-in-cart .woocommerce-mini-cart .mini_cart_item dl.variation dd p {
		display: block !important;
		margin: 0 !important;
		padding: 4px 8px !important;
		border-radius: 999px !important;
		background: #f1f6f3 !important;
		color: #203229 !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		line-height: 1.3 !important;
	}

	.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity {
		position: absolute !important;
		top: 18px !important;
		right: 0 !important;
		width: 0 !important;
		height: 0 !important;
	}

	.nectar-slide-in-cart .mini_cart_item > .product-meta > .quantity > .product-price > a.remove.remove_from_cart_button {
		top: 0 !important;
		right: 0 !important;
	}
}
body.single-product .summary form.variations_form[data-gcbc-quote-only="1"] .single_add_to_cart_button {
	display: none !important;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode] .woocommerce-variation-add-to-cart .quantity {
	display: none !important;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="self"] .woocommerce-variation-add-to-cart {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}
body.single-product .summary form.variations_form[data-gcbc-purchase-mode="self"] .single_add_to_cart_button {
	width: auto !important;
	flex: 1 1 240px;
	margin: 0 !important;
	min-height: 56px;
}
.gcbc-purchase-price { text-align: center; padding: 12px 20px; background: #edf8f0; border: 1px solid #c1eccc; border-radius: 14px; color: #193f29; }
.gcbc-purchase-price strong { display: block; font-size: clamp(28px, 4vw, 36px); line-height: 1.15; font-weight: 800; }
.gcbc-purchase-price span:not(.amount):not(.woocommerce-Price-currencySymbol) { font-size: 14px; }
.gcbc-purchase-price strong .amount { font-size: inherit !important; }
.gcbc-purchase-price[hidden], form[data-gcbc-quote-only="1"] .gcbc-purchase-price { display: none !important; }
.gcbc-formats-help{font-size:12px;line-height:1.5;color:#526157;margin:10px 0;}
.gcbc-review-notice{padding:14px;margin-top:12px;border:1px solid #cf9c34;border-radius:8px;background:#fff9eb;color:#493609;}
.gcbc-review-notice p{font-size:14px;line-height:1.5;margin:8px 0 12px;}

/* La llamada para pedidos de 3000 o más no debe parecer una fila seleccionada. */
html body.single-product.postid-17172 .woocommerce-variation-description tr.goocolor-large-order-row > td {
	background: #fbf7ef !important;
	color: #513e26 !important;
	border-color: #e1c89e !important;
}
html body.single-product.postid-17172 .woocommerce-variation-description tr.goocolor-large-order-row > td:first-child {
	background: #f1e2c8 !important;
}
html body.single-product.postid-17172 .woocommerce-variation-description tr.goocolor-large-order-row a {
	color: #5f3f17 !important;
}

/* YITH comprime la celda de eliminar hasta sacarla fuera de la pantalla en
 * móviles. Conservamos una columna táctil real para que la X siempre quede
 * visible, alineada y fácil de pulsar. */
@media (max-width: 767px) {
	body.yith-request-a-quote-page table.ywraq_responsive th.product-remove,
	body.yith-request-a-quote-page table.ywraq_responsive td.product-remove {
		display: table-cell !important;
		box-sizing: border-box !important;
		width: 46px !important;
		min-width: 46px !important;
		max-width: 46px !important;
		padding: 14px 5px !important;
		position: static !important;
		vertical-align: top !important;
		text-align: center !important;
	}

	body.yith-request-a-quote-page table.ywraq_responsive a.yith-ywraq-item-remove.remove {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: static !important;
		inset: auto !important;
		box-sizing: border-box !important;
		width: 36px !important;
		height: 36px !important;
		margin: 0 auto !important;
		padding: 0 !important;
		border: 1px solid #cfe1d4 !important;
		border-radius: 50% !important;
		background: #f1f8f3 !important;
		color: #173d22 !important;
		font-size: 25px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		text-decoration: none !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	body.yith-request-a-quote-page table.ywraq_responsive td.product-name {
		box-sizing: border-box !important;
		padding-left: 9px !important;
	}

	/* El grupo Entrega de YITH alterna input/label como cuatro elementos
	 * hermanos. En móvil los apilamos por parejas para que cada selector
	 * permanezca unido a su texto incluso en pantallas de 320 px. */
	body.yith-request-a-quote-page .form-row:has(input[name="entreha"]) .woocommerce-input-wrapper {
		display: grid !important;
		grid-template-columns: 28px minmax(0, 1fr) !important;
		align-items: center !important;
		column-gap: 9px !important;
		row-gap: 10px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.yith-request-a-quote-page .form-row input[type="radio"][name="entreha"] {
		display: block !important;
		float: none !important;
		position: static !important;
		box-sizing: border-box !important;
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		margin: 0 !important;
	}

	body.yith-request-a-quote-page .form-row:has(input[name="entreha"]) label.radio {
		display: block !important;
		float: none !important;
		box-sizing: border-box !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		font-size: inherit !important;
		line-height: 1.3 !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	body.yith-request-a-quote-page .form-row:has(input[name="entreha"]) label.radio .optional {
		display: none !important;
	}
}
@media (max-width: 690px) {
	html body.single-product.postid-17172 #product-17172 .summary {
		clear: both !important;
		float: none !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	html body.single-product.postid-17172 #product-17172 .summary h1.product_title {
		margin-bottom: 40px !important;
		font-size: clamp(16px, 5.1vw, 21px) !important;
		line-height: 1.15 !important;
		letter-spacing: -0.35px !important;
		white-space: normal !important;
	}

	/* En móvil la llamada para grandes tiradas se lee como un bloque completo,
	 * sin comprimir el texto de contacto en una columna estrecha. */
	html body.single-product.postid-17172 .woocommerce-variation-description tr.goocolor-large-order-row {
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: calc(100vw - 48px) !important;
		min-width: calc(100vw - 48px) !important;
	}

	html body.single-product.postid-17172 .woocommerce-variation-description tr.goocolor-large-order-row > td {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: none !important;
		text-align: center !important;
	}

	html body.single-product.postid-17172 .woocommerce-variation-description td.goocolor-large-order-qty {
		padding: 13px 12px 11px !important;
		border-bottom: 1px solid #e1c89e !important;
	}

	html body.single-product.postid-17172 .woocommerce-variation-description td.goocolor-large-order-qty::after {
		display: block !important;
		font-size: 18px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	html body.single-product.postid-17172 .woocommerce-variation-description td.goocolor-large-order-contact {
		padding: 13px 16px 15px !important;
		font-size: 15px !important;
		line-height: 1.45 !important;
	}
	html body.single-product.postid-17172 .summary .woocommerce-product-details__short-description > p:first-child > span,
	html body.single-product.postid-17172 .summary .woocommerce-product-details__short-description > p:first-child > span > strong { display: block !important; line-height: 1.2 !important; }
}
