/* Gloria Bendita Secciones 2.1.1 */
:root {
	--gbs-green: #1F3A2B;
	--gbs-gold: #C9A23F;
	--gbs-gold-dark: #8E6B22;
	--gbs-text: #3D3D38;
	--gbs-muted: #6B6A63;
	--gbs-line: rgba(201, 162, 63, .35);
	--gbs-serif: 'Cormorant Garamond', Georgia, serif;
	--gbs-script: 'Pinyon Script', cursive;
	--gbs-gold-grad: linear-gradient(100deg, #8E6B22 0%, #C9A23F 30%, #F1DC8C 50%, #C9A23F 70%, #8E6B22 100%);
}

/* ---------- Elementos comunes ---------- */
.gb-eyebrow {
	font-size: 13px !important;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--gbs-gold-dark) !important;
	margin: 0 0 14px !important;
}
.gb-script {
	font-family: var(--gbs-script) !important;
	font-size: clamp(46px, 7vw, 72px) !important;
	line-height: 1.1 !important;
	text-align: center;
	margin: 0 !important;
	padding: 0 .15em;
	background: var(--gbs-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}
.gb-section-title {
	font-family: var(--gbs-serif) !important;
	font-weight: 500 !important;
	font-size: clamp(14px, 2vw, 18px) !important;
	letter-spacing: .32em;
	text-transform: uppercase;
	text-align: center;
	color: var(--gbs-green) !important;
	margin: 6px 0 44px !important;
}
.gb-section-title::after {
	content: "";
	display: block;
	width: 150px;
	height: 9px;
	margin: 20px auto 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='9' viewBox='0 0 150 9'%3E%3Cg fill='%23C9A23F'%3E%3Crect x='0' y='4' width='64' height='1'/%3E%3Crect x='86' y='4' width='64' height='1'/%3E%3Crect x='72' y='1' width='5' height='5' transform='rotate(45 74.5 3.5) translate(0 1)'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- 1. Hero ---------- */
.gb-hero {
	padding: clamp(40px, 7vw, 96px) 20px clamp(32px, 5vw, 72px) !important;
}
.gb-hero__cols {
	align-items: center !important;
	gap: clamp(24px, 5vw, 64px) !important;
	max-width: 1180px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.gb-hero__title {
	font-family: var(--gbs-serif) !important;
	font-weight: 500 !important;
	font-size: clamp(40px, 6vw, 72px) !important;
	line-height: 1.05 !important;
	color: var(--gbs-green) !important;
	margin: 0 0 20px !important;
	letter-spacing: -.01em;
}
.gb-hero__text {
	font-size: clamp(16px, 1.6vw, 18px) !important;
	line-height: 1.7 !important;
	color: var(--gbs-text) !important;
	max-width: 520px;
	margin: 0 0 30px !important;
}
.gb-hero__buttons { gap: 12px !important; margin-bottom: 18px !important; }
.gb-hero__note {
	font-size: 13px !important;
	color: var(--gbs-muted) !important;
	margin: 0 !important;
}
.gb-hero__media { display: block; text-align: center; }
.gb-hero__img {
	width: 100%;
	max-width: 480px;
	height: auto;
	border-radius: 4px;
}

/* Botones */
.gb-btn .wp-block-button__link {
	box-sizing: border-box;
	font-size: 14px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 16px 30px !important;
	border-radius: 999px !important;
	border: 1px solid var(--gbs-green) !important;
	transition: background-color .2s ease, color .2s ease;
	text-decoration: none !important;
}
.gb-btn--primary .wp-block-button__link {
	background: var(--gbs-green) !important;
	color: #F1DC8C !important;
}
.gb-btn--primary .wp-block-button__link:hover { background: #142a1e !important; }
.gb-btn--ghost .wp-block-button__link {
	background: transparent !important;
	color: var(--gbs-green) !important;
}
.gb-btn--ghost .wp-block-button__link:hover { background: var(--gbs-green) !important; color: #F1DC8C !important; }

/* ---------- Hero sobre vídeo (dentro del bloque Portada) ---------- */
.gb-hero-video {
	text-align: center;
	padding: clamp(48px, 8vw, 110px) 20px !important;
}
.gb-hero-video .gb-eyebrow { text-align: center; }
.gb-hero-video .gb-hero__title { text-align: center; }
.gb-hero-video .gb-hero__text {
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
	color: var(--gbs-green) !important;
}
.gb-hero-video .gb-hero__buttons { justify-content: center; }
.gb-hero-video .gb-hero__note { text-align: center; color: var(--gbs-green) !important; opacity: .85; }
.wp-block-cover:has(.gb-hero-video) { min-height: min(88vh, 760px) !important; }
@media (max-width: 781px) {
	.wp-block-cover:has(.gb-hero-video) { min-height: 78vh !important; }
}

/* ---------- 2. Franja de confianza ---------- */
.gb-trust {
	padding: 28px 20px !important;
	border-top: 1px solid var(--gbs-line);
	border-bottom: 1px solid var(--gbs-line);
}
.wp-block-columns.gb-trust__cols {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px !important;
	max-width: 1180px;
	margin: 0 auto !important;
}
.gb-trust__item {
	text-align: center;
	flex-basis: auto !important;
}
.gb-trust__item::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	margin: 0 auto 12px;
	background: var(--gbs-gold);
	-webkit-mask: var(--gbs-ico) center / contain no-repeat;
	mask: var(--gbs-ico) center / contain no-repeat;
}
.gb-trust__title {
	font-family: var(--gbs-serif) !important;
	font-weight: 500 !important;
	font-size: 19px !important;
	line-height: 1.25 !important;
	color: var(--gbs-green) !important;
	margin: 0 0 4px !important;
}
.gb-trust__text {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--gbs-muted) !important;
	margin: 0 !important;
}
.gb-ico-cosecha { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V9'/%3E%3Cpath d='M12 13c-3.5 0-6-2-6.5-5.5C9 7.6 11.5 9.5 12 13z'/%3E%3Cpath d='M12 10c3-.2 5.2-2.2 5.5-5.5-3.3.2-5.3 2.4-5.5 5.5z'/%3E%3Cellipse cx='16.5' cy='14.5' rx='2' ry='2.6'/%3E%3C/svg%3E"); }
.gb-ico-envio { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h11v9H2z'/%3E%3Cpath d='M13 10h4l3 3v3h-7z'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.gb-ico-lote { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2h4v3l1.5 2.5V21a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V7.5L10 5z'/%3E%3Cpath d='M8.5 11h7M8.5 17h7'/%3E%3C/svg%3E"); }
.gb-ico-garantia { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 9.3-8 11-4.6-1.7-8-6-8-11V5z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }

/* ---------- 3. Proceso ---------- */
.gb-process { padding: clamp(56px, 8vw, 104px) 20px !important; }
.wp-block-columns.gb-process__cols {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px !important;
	max-width: 1180px;
	margin: 0 auto !important;
}
.gb-step {
	flex-basis: auto !important;
	text-align: left;
	padding-top: 18px;
	border-top: 1px solid var(--gbs-line);
}
.gb-step__num {
	font-family: var(--gbs-serif) !important;
	font-size: 40px !important;
	line-height: 1 !important;
	color: var(--gbs-gold) !important;
	margin: 0 0 12px !important;
}
.gb-step__title {
	font-family: var(--gbs-serif) !important;
	font-weight: 500 !important;
	font-size: 22px !important;
	color: var(--gbs-green) !important;
	margin: 0 0 8px !important;
}
.gb-step__text {
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: var(--gbs-text) !important;
	margin: 0 !important;
}

/* ---------- 4. FAQ ---------- */
.gb-faq { padding: clamp(56px, 8vw, 104px) 20px !important; }
.gb-faq > .gb-faq__item {
	max-width: 760px;
	margin-left: auto !important;
	margin-right: auto !important;
	border-bottom: 1px solid var(--gbs-line);
	padding: 0 !important;
}
.gb-faq > .gb-faq__item:first-of-type { border-top: 1px solid var(--gbs-line); }
.gb-faq__item summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 22px 44px 22px 0;
	font-family: var(--gbs-serif);
	font-weight: 500;
	font-size: 20px;
	color: var(--gbs-green);
}
.gb-faq__item summary::-webkit-details-marker { display: none; }
.gb-faq__item summary::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 1.5px solid var(--gbs-gold);
	border-bottom: 1.5px solid var(--gbs-gold);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .25s ease;
}
.gb-faq__item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.gb-faq__item p {
	font-size: 17px !important;
	line-height: 1.75 !important;
	color: var(--gbs-text) !important;
	margin: 0 0 22px !important;
	padding-right: 44px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.wp-block-columns.gb-trust__cols,
	.wp-block-columns.gb-process__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.gb-hero { text-align: center; }
	.gb-hero__cols { flex-direction: column-reverse; }
	.gb-hero__text { margin-left: auto !important; margin-right: auto !important; }
	.gb-hero__buttons { justify-content: center; }
	.gb-hero__img { max-width: 320px; }
	.wp-block-columns.gb-trust__cols { gap: 28px 16px !important; }
	.gb-trust__title { font-size: 17px !important; }
}
@media (max-width: 560px) {
	.wp-block-columns.gb-process__cols { grid-template-columns: 1fr; gap: 28px !important; }
	.gb-btn, .gb-btn .wp-block-button__link { width: 100%; text-align: center; }
	.gb-hero__buttons { flex-direction: column; }
}

/* ---------- [gb_hero] Hero con vídeo ---------- */
body:has(.gbh) { overflow-x: clip; }
.gbh {
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: center;
	width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: 0 !important;
	min-height: var(--gbh-h, 80vh);
	overflow: hidden;
	background: #E9E6DC;
	box-sizing: border-box;
}
.gbh__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}
.gbh__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 820px;
	box-sizing: border-box;
	padding: 56px 20px 32px;
	text-align: center;
}
.gbh__top, .gbh__bottom { width: 100%; }
.gbh__bottom { padding-top: 24px; }
.gbh__title, .gbh__text {
	text-shadow: 0 0 18px rgba(251, 250, 246, .95), 0 0 6px rgba(251, 250, 246, .9), 0 1px 2px rgba(251, 250, 246, .9);
}
.gbh__text { font-weight: 500; }
.gbh__eyebrow {
	display: inline-block;
	font-size: 12px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #F1DC8C;
	background: var(--gbs-green);
	padding: 7px 16px 7px 19px;
	border-radius: 999px;
	margin: 0 0 18px;
}
.gbh__title {
	font-family: var(--gbs-serif);
	font-weight: 500;
	font-size: clamp(40px, 6vw, 76px);
	line-height: 1.05;
	letter-spacing: -.01em;
	color: var(--gbs-green);
	margin: 0 0 20px;
}
.gbh__text {
	font-size: clamp(16px, 1.6vw, 18px);
	line-height: 1.7;
	color: var(--gbs-green);
	max-width: 560px;
	margin: 0 auto 30px;
}
.gbh__btn {
	display: inline-block;
	box-shadow: 0 8px 24px rgba(20, 38, 27, .28);
	box-sizing: border-box;
	font-size: 14px;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none !important;
	padding: 17px 38px;
	border-radius: 999px;
	background: var(--gbs-green);
	color: #F1DC8C !important;
	border: 1px solid var(--gbs-green);
	transition: background-color .2s ease, transform .2s ease;
}
.gbh__btn:hover { background: #142a1e; transform: translateY(-1px); }
.gbh__note {
	display: block;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	font-size: 13px;
	color: var(--gbs-green);
	background: rgba(251, 250, 246, .92);
	border: 1px solid rgba(201, 162, 63, .55);
	padding: 7px 16px;
	border-radius: 999px;
	margin: 14px auto 0;
}
@media (max-width: 781px) {
	.gbh { min-height: min(var(--gbh-h, 80vh), 82svh); }
	.gbh__content { padding: 36px 16px 22px; }
	.gbh__eyebrow { font-size: 11px; letter-spacing: .18em; }
	.gbh__note { font-size: 12px; }
	.gbh__btn { width: 100%; max-width: 340px; }
}

/* ---------- [gb_coleccion] ---------- */
.gb-coleccion { text-align: center; padding: 48px 16px 32px; scroll-margin-top: 24px; }
.gb-coleccion__titulo { margin: 0; line-height: 1; font-weight: 400; }
.gb-coleccion__script {
	display: block;
	font-family: var(--gbs-script);
	font-size: clamp(54px, 9vw, 88px);
	line-height: 1.15;
	padding: 0 .15em;
	background: var(--gbs-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.gb-coleccion__sub {
	display: block;
	margin-top: 10px;
	font-family: var(--gbs-serif);
	font-weight: 500;
	font-size: clamp(13px, 2vw, 17px);
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--gbs-green);
}
.gb-coleccion__sep { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; }
.gb-coleccion__sep i { display: block; width: 64px; height: 1px; background: var(--gbs-gold); }
.gb-coleccion__sep b { display: block; width: 7px; height: 7px; background: var(--gbs-gold); transform: rotate(45deg); }
html { scroll-behavior: smooth; }

/* ---------- Ancla del producto ---------- */
#producto { scroll-margin-top: 16px; }

/* ---------- Barra de compra flotante ---------- */
.gbsb {
	position: fixed;
	left: 50%;
	bottom: 16px;
	z-index: 9990;
	transform: translate(-50%, 140%);
	width: min(860px, calc(100% - 32px));
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 10px 10px 20px;
	background: rgba(251, 250, 246, .97);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(201, 162, 63, .5);
	border-radius: 999px;
	box-shadow: 0 14px 40px rgba(20, 38, 27, .22);
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
	font-size: 14px;
}
.gbsb.is-on { transform: translate(-50%, 0); }
.gbsb__name {
	font-family: var(--gbs-serif);
	font-weight: 500;
	font-size: 18px;
	color: var(--gbs-green);
	white-space: nowrap;
}
.gbsb__packs { display: flex; gap: 6px; flex: 1; justify-content: center; }
.gbsb__pack {
	appearance: none;
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	line-height: 1.2;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(31, 58, 43, .25);
	background: transparent;
	color: var(--gbs-green);
	white-space: nowrap;
	transition: background-color .15s ease, border-color .15s ease;
}
.gbsb__pack:hover { border-color: var(--gbs-green); }
.gbsb__pack.is-sel { background: var(--gbs-green); border-color: var(--gbs-green); color: #F1DC8C; }
.gbsb__btn {
	appearance: none;
	cursor: pointer;
	font: inherit;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 13px 24px;
	border-radius: 999px;
	border: 0;
	background: var(--gbs-green);
	color: #F1DC8C;
	transition: background-color .2s ease;
}
.gbsb__btn:hover { background: #142a1e; }
.gbsb__btn[disabled] { opacity: .6; cursor: default; }
@media (max-width: 781px) {
	.gbsb {
		left: 0;
		bottom: 0;
		width: 100%;
		transform: translateY(110%);
		border-radius: 18px 18px 0 0;
		border-width: 1px 0 0;
		flex-wrap: wrap;
		gap: 8px;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
	}
	.gbsb.is-on { transform: translateY(0); }
	.gbsb__name { display: none; }
	.gbsb__packs { flex: 1 1 100%; justify-content: space-between; }
	.gbsb__pack { flex: 1; padding: 8px 4px; font-size: 12px; text-align: center; }
	.gbsb__pack small { display: block; font-size: 11px; opacity: .8; }
	.gbsb__btn { flex: 1 1 100%; padding: 14px; }
	body.gbsb-on { padding-bottom: 120px; }
}
@media (min-width: 782px) {
	.gbsb__pack small { margin-left: 4px; opacity: .75; }
}

/* Destino al pulsar un pack de la barra flotante */
.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options,
.wp-block-woocommerce-add-to-cart-with-options-variation-selector,
form.cart .variations { scroll-margin-top: 24px; }

/* Versiones shortcode: ancho completo de la franja */
.gb-trust--sc { width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; box-sizing: border-box; }
body:has(.gb-trust--sc) { overflow-x: clip; }
.gb-faq--sc > .gb-faq__item { max-width: 760px; margin-left: auto; margin-right: auto; }
.gb-ico-origen { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); }

/* ---------- Hero formato editorial (1.9.0) ---------- */
.gbh .gbh__content {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 48px clamp(20px, 4vw, 48px) clamp(28px, 4vw, 48px);
	text-align: left;
	box-sizing: border-box;
}
.gbh .gbh__main { max-width: 620px; }
.gbh .gbh__eyebrow { margin: 0 0 16px; }
.gbh .gbh__title {
	font-size: clamp(38px, 5.2vw, 68px);
	line-height: 1.04;
	margin: 0 0 24px;
	text-align: left;
}
.gbh .gbh__note { margin: 0; flex-shrink: 0; }
@media (max-width: 781px) {
	.gbh .gbh__content {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
		gap: 12px;
		padding: 32px 18px 22px;
	}
	.gbh .gbh__title { margin-bottom: 18px; }
	.gbh .gbh__btn { width: auto; max-width: none; }
	.gbh .gbh__note { font-size: 12px; }
}

/* ---------- Ficha visual del producto (.gb-ficha) ---------- */
.gb-ficha { margin: 8px 0 32px; color: var(--gbs-text); }
.gb-ficha p { margin: 0; }
.gb-ficha__lead {
	font-family: var(--gbs-serif);
	font-weight: 500;
	font-size: clamp(21px, 2.2vw, 25px) !important;
	line-height: 1.45 !important;
	color: var(--gbs-green) !important;
	margin: 0 0 22px !important;
}
.gb-ficha__datos {
	list-style: none !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--gbs-line);
	border-bottom: 1px solid var(--gbs-line);
}
.gb-ficha__datos li {
	margin: 0 !important;
	padding: 14px 10px !important;
	text-align: center;
	font-family: var(--gbs-serif);
	font-weight: 500;
	font-size: 17px;
	line-height: 1.3;
	color: var(--gbs-green);
}
.gb-ficha__datos li + li { border-left: 1px solid var(--gbs-line); }
.gb-ficha__datos span {
	display: block;
	font-family: inherit;
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--gbs-gold-dark);
	margin-bottom: 4px;
}
.gb-ficha__cards { display: grid; gap: 14px; }
.gb-ficha__card {
	position: relative;
	padding: 20px 22px 20px 66px;
	background: rgba(255, 255, 255, .55);
	border: 1px solid var(--gbs-line);
	border-radius: 14px;
}
.gb-ficha__card::before {
	content: "";
	position: absolute;
	left: 22px;
	top: 22px;
	width: 26px;
	height: 26px;
	background: var(--gbs-gold);
	-webkit-mask: var(--gbs-ico) center / contain no-repeat;
	mask: var(--gbs-ico) center / contain no-repeat;
}
.gb-ficha__card h3 {
	font-family: var(--gbs-serif) !important;
	font-weight: 500 !important;
	font-size: 22px !important;
	line-height: 1.2 !important;
	color: var(--gbs-green) !important;
	margin: 0 0 6px !important;
}
.gb-ficha__card p { font-size: 16px !important; line-height: 1.7 !important; }
.gb-ficha__firma {
	font-family: var(--gbs-script) !important;
	font-size: clamp(30px, 4vw, 40px) !important;
	line-height: 1.3 !important;
	text-align: center;
	margin: 26px 0 0 !important;
	padding: 0 .15em;
	background: var(--gbs-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}
.gb-ficha br { display: none; }
.gb-ico-gota { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.4 6 11a6 6 0 0 1-12 0c0-4.6 6-11 6-11z'/%3E%3Cpath d='M9.5 15a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E"); }
.gb-ico-brillo { --gbs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z'/%3E%3Cpath d='M18.5 16.5l.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z'/%3E%3C/svg%3E"); }
@media (max-width: 560px) {
	.gb-ficha__datos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gb-ficha__datos li:nth-child(3) { border-left: 0; }
	.gb-ficha__datos li:nth-child(n+3) { border-top: 1px solid var(--gbs-line); }
	.gb-ficha__card { padding: 18px 18px 18px 56px; }
	.gb-ficha__card::before { left: 18px; top: 20px; width: 24px; height: 24px; }
}

/* ---------- Producto a dos columnas en escritorio (2.1.1) ---------- */
@media (min-width: 1024px) {
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) {
		display: grid !important;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		column-gap: clamp(40px, 5vw, 80px);
		align-items: start;
		width: 100%;
		max-width: 1240px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 clamp(20px, 3vw, 40px);
		box-sizing: border-box;
	}
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) > .wp-block-post-title {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0 !important;
		max-width: none !important;
	}
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) > .wp-block-woocommerce-product-gallery,
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) > .wp-block-woocommerce-product-image-gallery,
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) > .wc-block-components-product-image {
		grid-column: 1;
		grid-row: 1 / span 2;
		position: sticky;
		top: 24px;
		margin: 0 !important;
		max-width: none !important;
		width: 100%;
	}
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) > .wp-block-columns {
		grid-column: 2;
		grid-row: 2;
		margin: 0 !important;
		max-width: none !important;
	}
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) .wc-block-product-gallery-large-image,
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) .wc-block-product-gallery-large-image__container { max-width: none !important; width: 100%; }
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) .entry-content.wp-block-post-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) .entry-content.wp-block-post-content > * { max-width: none !important; }
	body.admin-bar .wp-block-woocommerce-single-product:has(> .wp-block-woocommerce-product-gallery) > .wp-block-woocommerce-product-gallery { top: 56px; }
}

/* Plantillas que ya traen sus propias columnas (p. ej. la Tienda): solo ensanchar */
@media (min-width: 1024px) {
	.wp-block-woocommerce-single-product:not(:has(> .wp-block-woocommerce-product-gallery)) {
		max-width: 1240px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 clamp(20px, 3vw, 40px);
		box-sizing: border-box;
	}
	.wp-block-woocommerce-single-product:not(:has(> .wp-block-woocommerce-product-gallery)) > .wp-block-columns {
		gap: clamp(40px, 5vw, 80px) !important;
		max-width: none !important;
	}
}
