/* Geist (variable), alojada en el propio tema: sin conexión a Google Fonts.
   Licencia SIL Open Font License 1.1 — ver assets/fonts/OFL-Geist.txt */
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url('fonts/geist-latin-wght-normal.woff2') format('woff2-variations'),
	     url('fonts/geist-latin-wght-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: 'Geist';
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url('fonts/geist-latin-ext-wght-normal.woff2') format('woff2-variations'),
	     url('fonts/geist-latin-ext-wght-normal.woff2') format('woff2');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ==========================================================================
   Ibéricos Don Rodrigo — "Bodega y mostrador"  ·  v2
   Lo oscuro es la bodega (cabecera, portada, categorías, pie).
   Lo claro es el mostrador (catálogo, ficha, carrito).
   Solo forma: textos, productos y precios siguen saliendo de WordPress.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
body.dr-theme {
	--bodega:    #21150F;  /* madera curada: zonas oscuras */
	--bodega-2:  #2E1E16;  /* superficie elevada sobre oscuro */
	--bodega-ln: #47342A;  /* líneas sobre oscuro */
	--grasa:     #F3EAE2;  /* marfil rosado: zonas claras */
	--grasa-2:   #EADDD2;  /* sección alterna / tarjetas sobre claro */
	--grasa-ln:  #D9C8BA;  /* líneas sobre claro */
	--tinta:     #2A1B14;  /* texto sobre claro */
	--tinta-2:   #6B574A;  /* texto secundario sobre claro */
	--crema:     #F1E6DA;  /* texto sobre oscuro */
	--crema-2:   #C2AF9F;  /* texto secundario sobre oscuro */
	--precinto:  #A80028;  /* rojo del logo: único acento */
	--precinto-2:#8A0021;
	--display: 'Gloock', 'Times New Roman', serif;
	--sans: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--ease: cubic-bezier(.2, .7, .2, 1);
	--radius-pill: 999px;
	--radius: 6px;

	/* Kadence trabaja en "modo mostrador" (claro); lo oscuro se pinta aparte. */
	--global-palette1: var(--precinto);
	--global-palette2: var(--precinto-2);
	--global-palette3: var(--tinta);
	--global-palette4: var(--tinta);
	--global-palette5: var(--tinta-2);
	--global-palette6: var(--tinta-2);
	--global-palette7: var(--grasa-2);
	--global-palette8: var(--grasa);
	--global-palette9: var(--grasa);
	--global-palette9rgb: 243, 234, 226;
	--global-palette-btn-bg: var(--precinto);
	--global-palette-btn-bg-hover: var(--precinto-2);
	--global-palette-btn: #FFFFFF;
	--global-palette-btn-hover: #FFFFFF;
	--global-body-font-family: var(--sans);
	--global-heading-font-family: var(--display);
	--global-primary-nav-font-family: var(--sans);
	--global-content-width: 1320px;

	background: var(--grasa);
	color: var(--tinta);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.dr-theme ::selection { background: var(--precinto); color: #fff; }
body.dr-theme :focus-visible { outline: 2px solid var(--precinto); outline-offset: 3px; }

body.dr-theme h1, body.dr-theme h2, body.dr-theme h3,
body.dr-theme h4, body.dr-theme h5, body.dr-theme h6 {
	font-family: var(--display);
	font-weight: 400;
	color: var(--tinta);
	letter-spacing: -0.01em;
	line-height: 1.08;
}
body.dr-theme a { color: inherit; transition: color .2s ease; }
body.dr-theme .entry.single-entry,
body.dr-theme .entry.loop-entry { box-shadow: none; }
body.dr-theme .content-bg { background: transparent; }
body.dr-theme #inner-wrap { background: var(--grasa); }

/* Superficie oscura reutilizable */
body.dr-theme .dr-dark,
body.dr-theme #masthead,
body.dr-theme #colophon { color: var(--crema); }

/* ---------- 2. Barra de promoción (Top Bar) — en el rojo del precinto ---------- */
body.dr-theme #tpbr_topbar,
body.dr-theme #tpbr_box { background: var(--precinto) !important; }
body.dr-theme #tpbr_box {
	font-family: var(--sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: #fff !important;
	padding: 7px 16px !important;
	line-height: 1.5 !important;
}
body.dr-theme #tpbr_box p { display: inline; margin: 0; color: #fff !important; }
body.dr-theme #tpbr_box p b { font-weight: 500; }
body.dr-theme #tpbr_calltoaction {
	background: transparent !important;
	color: #fff !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 0 0 10px !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	font-weight: 600;
}

/* ---------- 3. Cabecera (bodega) ---------- */
body.dr-theme #masthead,
body.dr-theme .site-header-wrap,
body.dr-theme .site-header-row-container-inner,
body.dr-theme .site-main-header-wrap .site-header-row-container-inner,
body.dr-theme .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
body.dr-theme .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-wrap .site-header-row-container-inner {
	background: var(--bodega) !important;
}
body.dr-theme .site-branding .custom-logo { max-height: 68px; width: auto; }

body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item > a {
	color: var(--crema);
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	padding: 1.9em 1em;
	position: relative;
}
body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item > a::after {
	content: "";
	position: absolute;
	left: 1em;
	right: 1em;
	bottom: 1.4em;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--ease);
}
body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item > a:hover::after,
body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a::after,
body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item:focus-within > a::after { transform: scaleX(1); }
body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item > a:hover { color: #fff; }
body.dr-theme .header-navigation .dropdown-nav-toggle { opacity: .6; }

/* Submenús normales (si los hubiera) */
body.dr-theme .header-navigation .header-menu-container ul ul.sub-menu {
	background: var(--bodega-2);
	border: 0;
	box-shadow: 0 30px 60px rgba(0,0,0,.4);
	border-radius: var(--radius);
}
body.dr-theme .header-navigation .header-menu-container ul ul li.menu-item > a {
	color: var(--crema);
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	border: 0;
}

body.dr-theme .header-cart-wrap .header-cart-button,
body.dr-theme .menu-toggle-open,
body.dr-theme .search-toggle-open { color: var(--crema); }
body.dr-theme .header-cart-wrap .header-cart-button .header-cart-total {
	background: var(--precinto);
	color: #fff;
	border: 0;
	border-radius: var(--radius-pill);
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
}

/* Mega-menú "Tienda" (escritorio) */
@media (min-width: 1025px) {
	body.dr-theme .site-main-header-inner-wrap { position: relative; }
	body.dr-theme #primary-menu > li.dr-mega { position: static; }
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu {
		left: 50% !important;
		right: auto;
		transform: translateX(-50%);
		width: min(1272px, calc(100vw - 48px));
		padding: 24px;
		gap: 12px;
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
		background: var(--bodega-2);
		border-radius: 0 0 var(--radius) var(--radius);
		box-shadow: 0 40px 80px rgba(0,0,0,.45);
	}
	body.dr-theme #primary-menu > li.dr-mega:hover > ul.sub-menu,
	body.dr-theme #primary-menu > li.dr-mega:focus-within > ul.sub-menu,
	body.dr-theme #primary-menu > li.dr-mega.menu-item--toggled-on > ul.sub-menu {
		display: grid;
		opacity: 1;
		visibility: visible;
		clip: auto;
		height: auto;
		animation: dr-mega-open .32s var(--ease) both;
	}
	@keyframes dr-mega-open {
		from { clip-path: inset(0 0 100% 0); }
		to   { clip-path: inset(0 0 0 0); }
	}
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu > li { width: auto; }
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu > li > a {
		width: auto;
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding: 0 0 6px;
		font-family: var(--display);
		font-size: 19px;
		line-height: 1.15;
		color: var(--crema);
		background: transparent;
	}
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu > li > a:hover { color: #fff; }
	body.dr-theme .dr-menu-thumb {
		display: block;
		aspect-ratio: 4 / 5;
		overflow: hidden;
		border-radius: var(--radius);
		background: var(--bodega);
	}
	body.dr-theme .dr-menu-thumb__img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform .8s var(--ease), filter .4s ease;
		filter: saturate(.85) brightness(.9);
	}
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu > li > a:hover .dr-menu-thumb__img,
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu > li > a:focus-visible .dr-menu-thumb__img {
		transform: scale(1.05);
		filter: none;
	}
}
@media (max-width: 1024px) { body.dr-theme .dr-menu-thumb { display: none; } }

/* Menú móvil */
body.dr-theme #mobile-drawer .drawer-inner,
body.dr-theme .popup-drawer .drawer-inner { background: var(--bodega); color: var(--crema); }
body.dr-theme .mobile-navigation ul li > a,
body.dr-theme .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
	color: var(--crema);
	border-color: var(--bodega-ln);
	font-family: var(--display);
	font-size: 22px;
	padding-top: .5em;
	padding-bottom: .5em;
}
body.dr-theme .mobile-navigation ul ul li > a { font-family: var(--sans); font-size: 16px; color: var(--crema-2); }
body.dr-theme .mobile-navigation ul li .drawer-sub-toggle { color: var(--crema-2); border-color: var(--bodega-ln); }
body.dr-theme .drawer-header .drawer-toggle { color: var(--crema); }

/* ---------- 4. Botones ---------- */
body.dr-theme button.button,
body.dr-theme a.button,
body.dr-theme .button,
body.dr-theme input[type="submit"],
body.dr-theme .wp-block-button__link,
body.dr-theme .elementor-button {
	border-radius: var(--radius-pill);
	font-family: var(--sans);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
body.dr-theme .button:active { transform: scale(.98); }
body.dr-theme .button.alt,
body.dr-theme button.single_add_to_cart_button,
body.dr-theme .checkout-button,
body.dr-theme #place_order,
body.dr-theme .dr-buybar__btn {
	background: var(--precinto);
	color: #fff;
	border: 0;
}
body.dr-theme .button.alt:hover,
body.dr-theme button.single_add_to_cart_button:hover,
body.dr-theme .checkout-button:hover,
body.dr-theme #place_order:hover,
body.dr-theme .dr-buybar__btn:hover { background: var(--precinto-2); color: #fff; }

/* Formularios (sobre claro) */
body.dr-theme input[type="text"], body.dr-theme input[type="email"], body.dr-theme input[type="tel"],
body.dr-theme input[type="number"], body.dr-theme input[type="password"], body.dr-theme input[type="search"],
body.dr-theme textarea, body.dr-theme select {
	background: #FBF7F3;
	color: var(--tinta);
	border: 1px solid var(--grasa-ln);
	border-radius: var(--radius);
	font-family: var(--sans);
}
body.dr-theme input:focus, body.dr-theme textarea:focus, body.dr-theme select:focus {
	border-color: var(--tinta);
	outline: none;
	box-shadow: 0 0 0 3px rgba(42,27,20,.12);
}

/* ---------- 5. Home ---------- */
body.dr-theme.home .content-area { margin-top: 0; margin-bottom: 0; }
body.dr-theme.home .entry-content-wrap { padding: 0; }

/* Portada y bandas de imagen: bodega */
body.dr-theme .elementor-12140 .elementor-element-2d64392,
body.dr-theme .elementor-12140 .elementor-element-2863b82,
body.dr-theme .elementor-12140 .elementor-element-8cb92d1,
body.dr-theme .elementor-12140 .elementor-element-bf66837,
body.dr-theme .elementor-12140 .elementor-element-45a985b,
body.dr-theme .elementor-12140 .elementor-element-725d4be {
	background: var(--bodega);
	color: var(--crema);
}
body.dr-theme .elementor-12140 .elementor-element-2d64392 img { width: 100%; height: auto; display: block; }
body.dr-theme .elementor-12140 .elementor-element-2863b82 { padding: 56px 0; }
body.dr-theme .elementor-12140 .elementor-image-carousel-wrapper .swiper-slide-image { border-radius: var(--radius); }
body.dr-theme .elementor-12140 .elementor-swiper-button { color: var(--crema); }
body.dr-theme .elementor-12140 .swiper-pagination-bullet { background: var(--crema-2); }
body.dr-theme .elementor-12140 .swiper-pagination-bullet-active { background: var(--crema); }
body.dr-theme .elementor-12140 .elementor-element-616747f img { filter: invert(1) sepia(.3) brightness(.92); }
body.dr-theme .elementor-12140 .elementor-element-6796310 .elementor-heading-title {
	font-family: var(--sans);
	font-size: 15px !important;
	font-weight: 400;
	color: var(--crema) !important;
}

/* Mosaico de categorías (bodega) — el momento memorable */
body.dr-theme .dr-cats {
	background: var(--bodega);
	color: var(--crema);
	padding: 96px 24px 104px;
}
body.dr-theme .dr-cats__inner { max-width: 1320px; margin: 0 auto; }
body.dr-theme .dr-eyebrow {
	margin: 0 0 28px;
	font-family: var(--display);
	font-size: clamp(36px, 4vw, 56px);
	line-height: 1;
	color: var(--crema);
	letter-spacing: -0.01em;
	text-transform: none;
}
body.dr-theme .dr-cats__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
}
body.dr-theme .dr-cats__link {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--bodega-2);
	color: #fff;
	isolation: isolate;
	text-decoration: none;
}
body.dr-theme .dr-cats__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	transition: transform 1.2s var(--ease);
}
body.dr-theme .dr-cats__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(33,21,15,0) 45%, rgba(33,21,15,.82) 100%);
}
body.dr-theme .dr-cats__title {
	position: relative;
	display: block;
	width: 100%;
	padding: 22px 64px 22px 22px;
	font-family: var(--display);
	font-size: 26px;
	line-height: 1.08;
	color: #fff;
}
body.dr-theme .dr-cats__arrow {
	position: absolute;
	right: 20px;
	bottom: 22px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,.14);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	transition: background .3s ease, transform .3s var(--ease);
}
body.dr-theme .dr-cats__link:hover { color: #fff; }
body.dr-theme .dr-cats__link:hover .dr-cats__img,
body.dr-theme .dr-cats__link:focus-visible .dr-cats__img { transform: scale(1.05); }
body.dr-theme .dr-cats__link:hover .dr-cats__arrow,
body.dr-theme .dr-cats__link:focus-visible .dr-cats__arrow { background: var(--precinto); transform: translateX(4px); }
body.dr-theme .dr-cats__link:focus-visible { outline: 2px solid var(--crema); outline-offset: 3px; }
body.dr-theme .dr-cats__item--lotes-de-regalo .dr-cats__img,
body.dr-theme .dr-cats__item--cestas-y-regalos-de-empresa .dr-cats__img,
body.dr-theme .dr-mi--lotes-de-regalo .dr-menu-thumb__img,
body.dr-theme .dr-mi--cestas-y-regalos-de-empresa .dr-menu-thumb__img { object-position: 82% center; }

@media (min-width: 768px) {
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-template-rows: 460px 340px 300px;
	}
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li { grid-column: span 2; }
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(1),
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(2),
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(6),
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(7) { grid-column: span 3; }
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) .dr-cats__link { aspect-ratio: auto; height: 100%; }
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(-n+2) .dr-cats__title {
		font-size: clamp(36px, 3.4vw, 48px);
		padding: 32px 84px 32px 32px;
	}
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(-n+2) .dr-cats__arrow {
		right: 32px; bottom: 36px; width: 46px; height: 46px;
	}
}
@media (max-width: 767px) {
	body.dr-theme .dr-cats { padding: 64px 16px 72px; }
	body.dr-theme .dr-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	body.dr-theme .dr-cats__grid > li:first-child { grid-column: 1 / -1; }
	body.dr-theme .dr-cats__grid > li:first-child .dr-cats__link { aspect-ratio: 16 / 10; }
	body.dr-theme .dr-cats__title { font-size: 20px; padding: 14px 48px 14px 14px; }
	body.dr-theme .dr-cats__arrow { right: 12px; bottom: 14px; width: 28px; height: 28px; }
}

/* Cortina: un único momento orquestado al entrar el mosaico en pantalla */
html.dr-motion body.dr-theme .dr-cats__link {
	clip-path: inset(100% 0 0 0 round var(--radius));
	transition: clip-path 1s var(--ease);
	transition-delay: calc(var(--i, 0) * 90ms);
}
html.dr-motion body.dr-theme .dr-cats__img { transform: scale(1.15); }
html.dr-motion body.dr-theme .dr-cats.is-in .dr-cats__link { clip-path: inset(0 0 0 0 round var(--radius)); }
html.dr-motion body.dr-theme .dr-cats.is-in .dr-cats__img {
	transform: scale(1);
	transition: transform 1.6s var(--ease);
	transition-delay: calc(var(--i, 0) * 90ms);
}
html.dr-motion body.dr-theme .dr-cats.is-in .dr-cats__link:hover .dr-cats__img { transform: scale(1.05); transition-delay: 0s; }

/* Barra de secciones (mostrador) */
body.dr-theme .dr-secnav {
	position: sticky;
	z-index: 50;
	background: rgba(243,234,226,.9);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid var(--grasa-ln);
}
body.dr-theme .dr-secnav ul {
	list-style: none;
	margin: 0 auto;
	padding: 0 24px;
	max-width: 1320px;
	display: flex;
	gap: 0 32px;
	overflow-x: auto;
	scrollbar-width: none;
}
body.dr-theme .dr-secnav ul::-webkit-scrollbar { display: none; }
body.dr-theme .dr-secnav a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 54px;
	white-space: nowrap;
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	color: var(--tinta-2);
	text-decoration: none;
}
body.dr-theme .dr-secnav a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 2px;
	background: var(--precinto);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--ease);
}
body.dr-theme .dr-secnav a:hover { color: var(--tinta); }
body.dr-theme .dr-secnav a.is-active { color: var(--tinta); }
body.dr-theme .dr-secnav a.is-active::after { transform: scaleX(1); }
@media (max-width: 767px) {
	body.dr-theme .dr-secnav ul { gap: 0 22px; padding: 0 16px; }
	body.dr-theme .dr-secnav a { font-size: 14px; }
}

/* Secciones de catálogo (mostrador) */
body.dr-theme .elementor-12140 .elementor-element-fd59f84,
body.dr-theme .elementor-12140 .elementor-element-a697e4c { background: var(--grasa); }
body.dr-theme .elementor-12140 .elementor-element-d56c535,
body.dr-theme .elementor-12140 .elementor-element-6fc451c { background: var(--grasa-2); }
body.dr-theme .elementor-12140 .elementor-element-fd59f84,
body.dr-theme .elementor-12140 .elementor-element-d56c535,
body.dr-theme .elementor-12140 .elementor-element-a697e4c,
body.dr-theme .elementor-12140 .elementor-element-6fc451c { padding: 104px 24px 96px; }
body.dr-theme .elementor-12140 .elementor-element-fd59f84 > .elementor-container,
body.dr-theme .elementor-12140 .elementor-element-d56c535 > .elementor-container,
body.dr-theme .elementor-12140 .elementor-element-a697e4c > .elementor-container,
body.dr-theme .elementor-12140 .elementor-element-6fc451c > .elementor-container { max-width: 1320px; margin: 0 auto; }

/* Títulos de sección: grandes, alineados a la izquierda, con el recuento real */
body.dr-theme .dr-section-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 18px;
	margin: 0 0 20px;
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(48px, 7vw, 104px);
	line-height: .95;
	letter-spacing: -0.025em;
	color: var(--tinta);
	text-align: left;
}
body.dr-theme .dr-section-title__count {
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--tinta-2);
	transform: translateY(-.35em);
}
body.dr-theme .elementor-12140 .elementor-widget-image img { border-radius: 0; }

/* Aviso "Corte a cuchillo" */
body.dr-theme .elementor-12140 .elementor-element-b2e60bd { text-align: left; }
body.dr-theme .elementor-12140 .elementor-element-b2e60bd .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 20px 10px 16px;
	border-radius: var(--radius-pill);
	background: var(--grasa-2);
	font-family: var(--sans);
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1.4;
	color: var(--tinta) !important;
}
body.dr-theme .elementor-12140 .elementor-element-b2e60bd .elementor-heading-title::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	background: var(--precinto);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17L17 3l4 4L7 21H3z'/%3E%3Cpath d='M14 6l4 4'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17L17 3l4 4L7 21H3z'/%3E%3Cpath d='M14 6l4 4'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Filas deslizables en Embutidos, Quesos y Lotes */
@media (min-width: 768px) {
	body.dr-theme .elementor-12140 .elementor-element-d56c535 ul.products,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c ul.products,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c ul.products {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 24px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 20px;
		scrollbar-width: thin;
		scrollbar-color: var(--grasa-ln) transparent;
	}
	body.dr-theme .elementor-12140 .elementor-element-d56c535 ul.products > li.product,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c ul.products > li.product,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c ul.products > li.product {
		flex: 0 0 272px;
		scroll-snap-align: start;
	}
}

/* ---------- 6. Tarjetas de producto (mostrador) ---------- */
body.dr-theme ul.products { column-gap: 24px; row-gap: 56px; }
body.dr-theme ul.products li.product.entry {
	position: relative;
	background: transparent;
	box-shadow: none;
	border: 0;
	overflow: visible;
}
body.dr-theme ul.products li.product .woocommerce-loop-image-link,
body.dr-theme ul.products li.product .container-image-and-badge {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
}
body.dr-theme ul.products li.product .woocommerce-loop-image-link img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	mix-blend-mode: multiply; /* el fondo blanco de las fotos se funde con el marfil */
}
body.dr-theme ul.products li.product .product-details {
	background: transparent;
	padding: 14px 0 0;
	text-align: left;
}
body.dr-theme ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.12;
	margin: 0 0 8px;
	padding: 0;
	letter-spacing: -0.005em;
}
body.dr-theme ul.products li.product .woocommerce-loop-product__title a { color: var(--tinta); text-decoration: none; }
body.dr-theme ul.products li.product .woocommerce-loop-product__title a:hover { color: var(--precinto); }
body.dr-theme ul.products li.product .price {
	color: var(--tinta);
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
body.dr-theme ul.products li.product .price ins { text-decoration: none; color: var(--precinto); }
body.dr-theme .star-rating,
body.dr-theme .star-rating span::before { color: var(--precinto); }
body.dr-theme ul.products li.product .star-rating { font-size: 12px; margin: 0 0 8px; }

/* Botón de la tarjeta: visible siempre, secundario */
body.dr-theme ul.products.woo-archive-action-on-hover li.product .product-action-wrap {
	opacity: 1;
	transform: none;
	position: static;
	margin-top: 16px;
}
body.dr-theme ul.products li.product .product-action-wrap .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	background: transparent !important;
	color: var(--tinta) !important;
	border: 1px solid var(--tinta) !important;
	border-radius: var(--radius-pill) !important;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}
body.dr-theme ul.products li.product .product-action-wrap .button:hover,
body.dr-theme ul.products li.product .product-action-wrap .button:focus-visible {
	background: var(--tinta) !important;
	color: var(--grasa) !important;
}
body.dr-theme ul.products li.product .product-action-wrap .button.added { background: var(--tinta) !important; color: var(--grasa) !important; }
body.dr-theme ul.products li.product .product-action-wrap .button .kadence-svg-iconset { display: none; }
body.dr-theme ul.products li.product .added_to_cart {
	display: inline-block;
	margin: 8px 0 0 12px;
	font-size: 14px;
	color: var(--precinto);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Formatos disponibles */
body.dr-theme ul.dr-formatos {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
body.dr-theme ul.dr-formatos li {
	padding: 3px 10px;
	border-radius: var(--radius-pill);
	background: var(--grasa-2);
	font-size: 12px;
	color: var(--tinta-2);
	line-height: 1.5;
}
body.dr-theme .elementor-element-d56c535 ul.dr-formatos li,
body.dr-theme .elementor-element-6fc451c ul.dr-formatos li { background: var(--grasa); }

/* Etiqueta "Más vendido" (YITH) */
body.dr-theme .yith-wcbm-badge { background: transparent !important; top: 12px !important; left: 12px !important; }
body.dr-theme .yith-wcbm-badge .yith-wcbm-badge__wrap,
body.dr-theme .yith-wcbm-badge .yith-wcbm-badge-text {
	background: var(--precinto) !important;
	border-radius: var(--radius-pill) !important;
}
body.dr-theme .yith-wcbm-badge-text div {
	font-family: var(--sans) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 600;
	padding: 2px 8px;
}

/* Vista rápida: aparece al pasar por la foto */
body.dr-theme a.xoo-qv-button {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0);
	margin-top: calc(50% - 22px);
	opacity: 0;
	transition: opacity .25s ease, transform .25s var(--ease);
	background: rgba(42,27,20,.9);
	color: var(--grasa);
	border: 0;
	border-radius: var(--radius-pill);
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	padding: 10px 18px;
	z-index: 3;
	white-space: nowrap;
}
body.dr-theme ul.products li.product:hover a.xoo-qv-button,
body.dr-theme a.xoo-qv-button:focus-visible { opacity: 1; }
@media (hover: none) { body.dr-theme a.xoo-qv-button { display: none; } }

/* ---------- 7. Ficha de producto (mostrador) ---------- */
body.dr-theme.single-product .content-area { margin-top: 3rem; }
body.dr-theme.single-product .entry-content-wrap { padding: 0; }
body.dr-theme.single-product .content-container.site-container,
body.dr-theme.archive.woocommerce .content-container.site-container,
body.dr-theme.woocommerce-cart .content-container.site-container,
body.dr-theme.woocommerce-checkout .content-container.site-container {
	max-width: 1320px;
	padding-left: 24px;
	padding-right: 24px;
}
body.dr-theme.single-product div.product .woocommerce-product-gallery { border-radius: var(--radius); overflow: hidden; }
body.dr-theme.single-product div.product .woocommerce-product-gallery img { mix-blend-mode: multiply; }
body.dr-theme.single-product div.product .woocommerce-product-gallery__trigger {
	background: var(--grasa);
	color: var(--tinta);
	border-radius: 50%;
}
body.dr-theme.single-product .flex-control-thumbs li img { opacity: .5; border-radius: var(--radius); transition: opacity .2s ease; }
body.dr-theme.single-product .flex-control-thumbs li img.flex-active,
body.dr-theme.single-product .flex-control-thumbs li img:hover { opacity: 1; }

body.dr-theme.single-product div.product .summary { padding-left: 3vw; }
body.dr-theme.single-product div.product .product_title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 4.2vw, 64px);
	line-height: .98;
	letter-spacing: -0.02em;
	margin-bottom: 22px;
}
body.dr-theme.single-product div.product .summary > p.price {
	font-family: var(--sans);
	font-size: 22px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--tinta);
	padding-bottom: 28px;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--grasa-ln);
}
body.dr-theme.single-product div.product .woocommerce-variation-price .price {
	font-family: var(--display);
	font-size: 44px;
	line-height: 1;
	color: var(--tinta);
	margin: 0 0 18px;
	display: block;
}
body.dr-theme.single-product .woocommerce-variation.single_variation { animation: dr-pop .35s var(--ease); }
@keyframes dr-pop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Variaciones */
body.dr-theme.single-product table.variations,
body.dr-theme.single-product table.variations tbody,
body.dr-theme.single-product table.variations tr,
body.dr-theme.single-product table.variations th,
body.dr-theme.single-product table.variations td { display: block; border: 0; padding: 0; background: transparent; }
body.dr-theme.single-product table.variations tr { margin-bottom: 26px; }
body.dr-theme.single-product table.variations th.label label {
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tinta);
	margin-bottom: 12px;
	display: block;
}
body.dr-theme.single-product table.variations select { min-height: 50px; width: 100%; padding: 0 14px; }
body.dr-theme .dr-swatches { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
body.dr-theme .dr-swatches + select { position: absolute !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
body.dr-theme .dr-swatch {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-height: 50px;
	padding: 8px 14px;
	background: #FBF7F3;
	color: var(--tinta);
	border: 1px solid var(--grasa-ln);
	border-radius: var(--radius);
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
body.dr-theme .dr-swatch:hover { border-color: var(--tinta); background: #fff; color: var(--tinta); }
body.dr-theme .dr-swatch:active { transform: scale(.97); }
body.dr-theme .dr-swatch[aria-pressed="true"] { background: var(--tinta); color: var(--grasa); border-color: var(--tinta); }
body.dr-theme .dr-swatch:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
body.dr-theme .dr-swatch__label { display: block; }
body.dr-theme .dr-swatch__detail { display: block; font-size: 12px; font-weight: 400; color: var(--tinta-2); }
body.dr-theme .dr-swatch[aria-pressed="true"] .dr-swatch__detail { color: var(--grasa-ln); }
body.dr-theme .dr-swatches--detalle .dr-swatch { min-height: 64px; }
body.dr-theme.single-product .reset_variations {
	display: inline-block;
	margin-top: 10px;
	color: var(--tinta-2);
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
}
@keyframes dr-attention { 0%, 100% { box-shadow: 0 0 0 0 rgba(168,0,40,0); } 35% { box-shadow: 0 0 0 8px rgba(168,0,40,.18); } }
body.dr-theme form.cart.dr-attention table.variations { animation: dr-attention 1.1s ease 1; border-radius: var(--radius); }

/* Cantidad + Añadir al carrito */
body.dr-theme.single-product .woocommerce-variation-add-to-cart,
body.dr-theme.single-product form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}
body.dr-theme.single-product .quantity input.qty {
	min-height: 56px;
	width: 84px;
	text-align: center;
	font-size: 16px;
	border-radius: var(--radius-pill);
}
body.dr-theme.single-product button.single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: 56px;
	font-size: 16px;
}
body.dr-theme.single-product button.single_add_to_cart_button.disabled { opacity: .4; }
body.dr-theme.single-product button.single_add_to_cart_button.loading { opacity: .7; }

/* Garantía de pago */
body.dr-theme .single-product-payments {
	margin-top: 22px;
	padding: 0;
	border: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
body.dr-theme .single-product-payments legend {
	float: left;
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tinta-2);
	padding: 0;
	margin: 0 10px 0 0;
}
body.dr-theme .single-product-payments ul { margin: 0; }

/* Pestañas */
body.dr-theme .woocommerce-tabs { margin-top: 112px; }
body.dr-theme .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 36px;
	padding: 0;
	border-bottom: 1px solid var(--grasa-ln);
}
body.dr-theme .woocommerce-tabs ul.tabs::before { display: none; }
body.dr-theme .woocommerce-tabs ul.tabs li,
body.dr-theme .woocommerce-tabs ul.tabs li.active { background: transparent; border: 0; margin: 0; padding: 0; }
body.dr-theme .woocommerce-tabs ul.tabs li a {
	position: relative;
	display: block;
	padding: 16px 0;
	color: var(--tinta-2);
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
}
body.dr-theme .woocommerce-tabs ul.tabs li a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 2px;
	background: var(--precinto);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--ease);
}
body.dr-theme .woocommerce-tabs ul.tabs li.active a { color: var(--tinta); }
body.dr-theme .woocommerce-tabs ul.tabs li.active a::after { transform: scaleX(1); }
body.dr-theme .woocommerce-tabs .panel {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 48px 0 0;
	max-width: 760px;
	color: var(--tinta);
	font-size: 17px;
	line-height: 1.7;
	animation: dr-pop .35s var(--ease);
}
body.dr-theme .woocommerce-tabs .panel > h2:first-child { display: none; } /* repite el nombre de la pestaña */
body.dr-theme table.woocommerce-product-attributes { border: 0; }
body.dr-theme table.woocommerce-product-attributes th,
body.dr-theme table.woocommerce-product-attributes td {
	background: transparent !important;
	border: 0;
	border-bottom: 1px solid var(--grasa-ln);
	padding: 16px 0;
	color: var(--tinta);
	font-style: normal;
}
body.dr-theme table.woocommerce-product-attributes th { width: 180px; font-weight: 600; }

/* Relato + ficha técnica */
body.dr-theme .woocommerce-tabs .panel#tab-description { max-width: none; }
body.dr-theme .dr-desc { display: flex; flex-wrap: wrap; gap: 48px 80px; align-items: flex-start; }
body.dr-theme .dr-desc__relato { flex: 999 1 460px; min-width: 0; max-width: 680px; }
body.dr-theme .dr-desc__relato > p:first-child {
	font-family: var(--display);
	font-size: clamp(22px, 2vw, 27px);
	line-height: 1.38;
	letter-spacing: -0.005em;
}
body.dr-theme .dr-ficha {
	flex: 1 1 340px;
	min-width: 0;
	background: var(--grasa-2);
	border-radius: var(--radius);
	padding: 8px 28px;
}
body.dr-theme .dr-ficha__bloque { padding: 20px 0; border-bottom: 1px solid var(--grasa-ln); }
body.dr-theme .dr-ficha__bloque:last-child { border-bottom: 0; }
body.dr-theme .dr-ficha__k {
	margin: 0 0 6px;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tinta-2);
}
body.dr-theme .dr-ficha__v { margin: 0; font-family: var(--display); font-size: 22px; line-height: 1.25; color: var(--tinta); }
body.dr-theme .dr-ficha__lista { list-style: none; margin: 0; padding: 0; font-size: 15px; }
body.dr-theme .dr-ficha__lista li { padding: 7px 0; }
body.dr-theme .dr-ficha__tabla { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; border: 0; font-variant-numeric: tabular-nums; }
body.dr-theme .dr-ficha__tabla caption { text-align: left; font-size: 13px; color: var(--tinta-2); padding-bottom: 6px; }
body.dr-theme .dr-ficha__tabla th,
body.dr-theme .dr-ficha__tabla td { padding: 8px 0; border: 0; border-top: 1px solid var(--grasa-ln); background: transparent; vertical-align: top; }
body.dr-theme .dr-ficha__tabla tr:first-child th,
body.dr-theme .dr-ficha__tabla tr:first-child td { border-top: 0; }
body.dr-theme .dr-ficha__tabla th { text-align: left; font-weight: 400; color: var(--tinta-2); padding-right: 16px; }
body.dr-theme .dr-ficha__tabla td { text-align: right; color: var(--tinta); }

/* Relacionados */
body.dr-theme .related.products > h2,
body.dr-theme .up-sells > h2 { font-size: clamp(36px, 4vw, 56px); margin: 112px 0 32px; }

/* Barra de compra fija (bodega) */
body.dr-theme .dr-buybar {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 9990;
	max-width: 1080px;
	margin: 0 auto;
	background: rgba(33,21,15,.94);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	color: var(--crema);
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(33,21,15,.35);
	transform: translateY(calc(100% + 24px));
	transition: transform .45s var(--ease);
}
body.dr-theme .dr-buybar.is-visible { transform: translateY(0); }
body.dr-theme .dr-buybar__inner { padding: 10px 10px 10px 12px; display: flex; align-items: center; gap: 14px; }
body.dr-theme .dr-buybar__thumb { flex: 0 0 48px; height: 48px; border-radius: 8px; overflow: hidden; background: var(--grasa); }
body.dr-theme .dr-buybar__thumb img { width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; display: block; }
body.dr-theme .dr-buybar__info { flex: 1 1 auto; min-width: 0; }
body.dr-theme .dr-buybar__name {
	margin: 0;
	font-family: var(--display);
	font-size: 19px;
	line-height: 1.15;
	color: var(--crema);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
body.dr-theme .dr-buybar__price { margin: 2px 0 0; font-size: 14px; color: var(--crema-2); font-variant-numeric: tabular-nums; }
body.dr-theme .dr-buybar__price .screen-reader-text { position: absolute; }
body.dr-theme .dr-buybar__btn { flex: 0 0 auto; min-height: 48px; padding: 0 26px; font-size: 15px; }
@media (max-width: 767px) {
	body.dr-theme .dr-buybar { left: 8px; right: 8px; bottom: 8px; }
	body.dr-theme .dr-buybar__thumb { display: none; }
	body.dr-theme .dr-buybar__name { font-size: 16px; }
	body.dr-theme .dr-buybar__btn { padding: 0 18px; font-size: 14px; }
}
body.dr-theme.single-product { padding-bottom: 88px; }

/* ---------- 8. Categorías, carrito, checkout ---------- */
body.dr-theme .woocommerce-products-header__title,
body.dr-theme .entry-hero h1,
body.dr-theme.archive .page-title {
	font-size: clamp(48px, 6vw, 88px);
	letter-spacing: -0.025em;
	line-height: .95;
}
body.dr-theme .entry-hero-container-inner { background: var(--grasa); }
body.dr-theme .woocommerce-ordering select { min-height: 44px; border-radius: var(--radius-pill); padding: 0 16px; }
body.dr-theme .woocommerce-breadcrumb,
body.dr-theme .kadence-breadcrumbs { color: var(--tinta-2); font-size: 14px; }
body.dr-theme .woocommerce-breadcrumb a,
body.dr-theme .kadence-breadcrumbs a { color: var(--tinta-2); }
body.dr-theme table.shop_table { border: 1px solid var(--grasa-ln); border-radius: var(--radius); }
body.dr-theme table.shop_table th,
body.dr-theme table.shop_table td { border-color: var(--grasa-ln); }
body.dr-theme .cart_totals,
body.dr-theme #order_review,
body.dr-theme .woocommerce-checkout-review-order { background: var(--grasa-2); border: 0; border-radius: var(--radius); }
body.dr-theme .woocommerce-message, body.dr-theme .woocommerce-info, body.dr-theme .woocommerce-error {
	background: var(--grasa-2);
	color: var(--tinta);
	border-top-color: var(--precinto);
	border-radius: var(--radius);
}
body.dr-theme .woocommerce-message::before, body.dr-theme .woocommerce-info::before { color: var(--precinto); }
body.dr-theme #cart-drawer .drawer-inner { background: var(--grasa); color: var(--tinta); }

/* ---------- 9. Pie (bodega) ---------- */
body.dr-theme #colophon,
body.dr-theme .site-footer-wrap,
body.dr-theme .site-footer-row-container-inner { background: var(--bodega) !important; color: var(--crema-2); }
body.dr-theme .site-footer .site-footer-row-container-inner .site-container { padding-top: 32px; padding-bottom: 32px; }
body.dr-theme .site-footer a { color: var(--crema); }
body.dr-theme .site-footer a:hover { color: #fff; }
body.dr-theme .site-footer .footer-navigation .menu > li > a { font-size: 15px; text-transform: none; letter-spacing: 0; }
body.dr-theme .site-footer .footer-social-wrap .social-button {
	background: rgba(255,255,255,.08);
	color: var(--crema);
	border: 0;
	border-radius: 50%;
	transition: background .2s ease;
}
body.dr-theme .site-footer .footer-social-wrap .social-button:hover { background: var(--precinto); color: #fff; }
body.dr-theme .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid var(--bodega-ln); }
body.dr-theme .site-bottom-footer-wrap .footer-html { font-size: 13px; color: var(--crema-2); }

/* ---------- 10. Aviso de cookies (Complianz) ---------- */
body.dr-theme .cmplz-cookiebanner {
	--cmplz_banner_background_color: #FBF7F3;
	--cmplz_banner_border_color: #D9C8BA;
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 14px;
	--cmplz_text_color: #2A1B14;
	--cmplz_hyperlink_color: #A80028;
	--cmplz_button_border_radius: 999px;
	--cmplz_button_accept_background_color: #A80028;
	--cmplz_button_accept_border_color: #A80028;
	--cmplz_button_accept_text_color: #FFFFFF;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: #2A1B14;
	--cmplz_button_deny_text_color: #2A1B14;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #2A1B14;
	--cmplz_button_settings_text_color: #2A1B14;
	--cmplz_slider_active_color: #A80028;
	--cmplz_category_header_always_active_color: #A80028;
	font-family: var(--sans);
	box-shadow: 0 24px 60px rgba(33,21,15,.22);
}
body.dr-theme .cmplz-cookiebanner .cmplz-title { font-family: var(--display); font-size: 22px; color: var(--tinta); }
body.dr-theme .cmplz-cookiebanner .cmplz-btn { font-family: var(--sans); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; }
body.dr-theme .cmplz-cookiebanner .cmplz-category { background: var(--grasa); border-radius: var(--radius); }

/* ---------- 11. Móvil ---------- */
@media (max-width: 767px) {
	body.dr-theme .elementor-12140 .elementor-element-fd59f84,
	body.dr-theme .elementor-12140 .elementor-element-d56c535,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c { padding: 64px 16px 56px; }
	body.dr-theme ul.products { column-gap: 14px; row-gap: 40px; }
	body.dr-theme ul.products li.product .woocommerce-loop-product__title { font-size: 19px; }
	body.dr-theme ul.products li.product .product-action-wrap .button { width: 100%; font-size: 13px; padding: 0 12px; }
	body.dr-theme.single-product div.product .summary { padding-left: 0; }
	body.dr-theme .woocommerce-tabs ul.tabs { gap: 0 22px; }
	body.dr-theme .woocommerce-tabs ul.tabs li a { font-size: 15px; }
	body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item > a { padding: 1.4em .8em; }
}

/* ---------- 12. Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
	body.dr-theme *, body.dr-theme *::before, body.dr-theme *::after {
		animation: none !important;
		transition: none !important;
	}
}

/* ---------- Correcciones v2.1 ---------- */

/* La etiqueta "Más vendido" queda dentro de su tarjeta (no por encima de la cabecera) */
body.dr-theme ul.products li.product .container-image-and-badge,
body.dr-theme ul.products li.product .woocommerce-loop-image-link { isolation: isolate; }
body.dr-theme .yith-wcbm-badge { z-index: 2 !important; }
body.dr-theme .dr-secnav { z-index: 80; }

/* ---------- Vista rápida (Quick View) con el estilo de la casa ---------- */
body.dr-theme .xoo-qv-opac { background: rgba(33,21,15,.72) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
body.dr-theme .xoo-qv-panel.xoo-qv-panel-active { background: rgba(33,21,15,.72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
body.dr-theme .xoo-qv-panel .xoo-qv-container {
	top: 5vh !important;
	bottom: auto !important;
	left: 24px !important;
	right: 24px !important;
	max-height: 90vh !important;
	max-width: 1080px !important;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0 !important;
}
body.dr-theme .xoo-qv-panel .xoo-qv-top-panel { position: sticky; top: 0; height: 0; z-index: 6; }
body.dr-theme .xoo-qv-panel .xoo-qv-close { position: absolute !important; }
body.dr-theme .xoo-qv-panel .xoo-qv-main::after { content: ""; display: block; clear: both; }
body.dr-theme .xoo-qv-inner-modal { background: transparent !important; }
body.dr-theme .xoo-qv-container {
	background: var(--grasa) !important;
	color: var(--tinta);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 40px 100px rgba(0,0,0,.45);
	font-family: var(--sans);
}
body.dr-theme .xoo-qv-main { padding: 36px !important; gap: 40px; }
body.dr-theme .xoo-qv-images img { mix-blend-mode: normal; border-radius: var(--radius); background: #fff; }
body.dr-theme .xoo-qv-summary .product_title {
	font-family: var(--display) !important;
	font-weight: 400;
	font-size: clamp(30px, 3vw, 42px) !important;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--tinta) !important;
	margin-bottom: 16px;
}
body.dr-theme .xoo-qv-summary p.price { font-size: 20px; font-weight: 600; color: var(--tinta) !important; margin-bottom: 22px; }
body.dr-theme .xoo-qv-summary table.variations,
body.dr-theme .xoo-qv-summary table.variations tbody,
body.dr-theme .xoo-qv-summary table.variations tr,
body.dr-theme .xoo-qv-summary table.variations th,
body.dr-theme .xoo-qv-summary table.variations td { display: block; border: 0; padding: 0; background: transparent; }
body.dr-theme .xoo-qv-summary table.variations tr { margin-bottom: 18px; }
body.dr-theme .xoo-qv-summary table.variations th.label label { font-size: 15px; font-weight: 600; color: var(--tinta); margin-bottom: 10px; display: block; }
body.dr-theme .xoo-qv-summary .woocommerce-variation-price .price { font-family: var(--display); font-size: 34px; color: var(--tinta) !important; }
body.dr-theme .xoo-qv-summary .woocommerce-variation-add-to-cart,
body.dr-theme .xoo-qv-summary form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 10px; }
body.dr-theme .xoo-qv-summary .quantity input.qty { min-height: 52px; width: 80px; border-radius: var(--radius-pill); text-align: center; }
body.dr-theme .xoo-qv-summary button.single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 52px;
	background: var(--precinto) !important;
	color: #fff !important;
	border-radius: var(--radius-pill) !important;
	font-size: 15px;
}
body.dr-theme .xoo-qv-summary button.single_add_to_cart_button.disabled { opacity: .4; }
body.dr-theme .xoo-qv-summary .product_meta { font-size: 13px; color: var(--tinta-2); margin-top: 20px; }
body.dr-theme .xoo-qv-summary .product_meta a { color: var(--tinta-2); }
body.dr-theme .xoo-qv-plink { margin-top: 18px; background: transparent !important; padding: 0 !important; border: 0 !important; }
body.dr-theme .xoo-qv-plink a {
	display: inline-flex !important;
	align-items: center;
	min-height: 44px;
	padding: 0 22px !important;
	background: transparent !important;
	color: var(--tinta) !important;
	border: 1px solid var(--tinta) !important;
	border-radius: var(--radius-pill) !important;
	font-family: var(--sans);
	font-size: 14px !important;
	font-weight: 600;
	text-decoration: none !important;
}
body.dr-theme .xoo-qv-plink a:hover { background: var(--tinta) !important; color: var(--grasa) !important; }
body.dr-theme .xoo-qv-close,
body.dr-theme .xoo-qv-nxt,
body.dr-theme .xoo-qv-prev { color: var(--tinta) !important; }
body.dr-theme .xoo-qv-close {
	top: 14px !important;
	right: 14px !important;
	width: 40px;
	height: 40px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--grasa-2);
	font-size: 14px !important;
	z-index: 5;
}
body.dr-theme .xoo-qv-nxt, body.dr-theme .xoo-qv-prev {
	background: var(--grasa) !important;
	border-radius: 50%;
	width: 44px !important;
	height: 44px !important;
	line-height: 44px !important;
	text-align: center;
	color: var(--tinta) !important;
}
body.dr-theme .xoo-qv-speeding-wheel { border-color: var(--precinto) transparent !important; }
@media (max-width: 767px) {
	body.dr-theme .xoo-qv-main { padding: 20px !important; }
}

/* ==========================================================================
   v2.1 — Composición premium de la home
   ========================================================================== */

/* Ocultar la portada de imagen antigua (texto horneado) y sus bandas móviles */
body.dr-portada-nueva .elementor-12140 .elementor-element-2d64392,
body.dr-portada-nueva .elementor-12140 .elementor-element-8cb92d1,
body.dr-portada-nueva .elementor-12140 .elementor-element-bf66837,
body.dr-portada-nueva .elementor-12140 .elementor-element-b2e60bd { display: none !important; }

/* Botones de la home */
body.dr-theme .dr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 28px;
	border-radius: var(--radius-pill);
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s var(--ease);
}
body.dr-theme .dr-btn:active { transform: scale(.98); }
body.dr-theme .dr-btn--primary { background: var(--precinto); color: #fff; }
body.dr-theme .dr-btn--primary:hover { background: var(--precinto-2); color: #fff; }
body.dr-theme .dr-btn--ghost { color: #fff; border: 1px solid rgba(255,255,255,.55); }
body.dr-theme .dr-btn--ghost:hover { background: #fff; color: var(--tinta); border-color: #fff; }
body.dr-theme .dr-btn--light { color: var(--crema); border: 1px solid rgba(241,230,218,.45); }
body.dr-theme .dr-btn--light:hover { background: var(--crema); color: var(--tinta); border-color: var(--crema); }

/* ---------- Portada ---------- */
body.dr-theme .dr-hero {
	position: relative;
	min-height: min(88vh, 860px);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--bodega);
	color: #fff;
	isolation: isolate;
}
body.dr-theme .dr-hero__media { position: absolute; inset: 0; z-index: -1; }
body.dr-theme .dr-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
body.dr-theme .dr-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(33,21,15,.88) 0%, rgba(33,21,15,.55) 42%, rgba(33,21,15,0) 70%),
		linear-gradient(0deg, rgba(33,21,15,.75) 0%, rgba(33,21,15,0) 45%);
}
body.dr-theme .dr-hero__inner {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px clamp(56px, 9vh, 104px);
}
body.dr-theme .dr-hero__title {
	max-width: 12ch;
	margin: 0;
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(52px, 8.2vw, 128px);
	line-height: .92;
	letter-spacing: -0.03em;
	color: #fff;
	text-wrap: balance;
}
body.dr-theme .dr-hero__lead {
	max-width: 46ch;
	margin: 28px 0 0;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.55;
	color: rgba(255,255,255,.82);
}
body.dr-theme .dr-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }

/* Entrada: la imagen se asienta y el texto sube. Un solo momento, al cargar. */
@keyframes dr-hero-img { from { transform: scale(1.09); } to { transform: scale(1); } }
@keyframes dr-hero-txt { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
body.dr-theme .dr-hero__img { animation: dr-hero-img 2.6s var(--ease) both; }
body.dr-theme .dr-hero__title { animation: dr-hero-txt 1.1s var(--ease) .15s both; }
body.dr-theme .dr-hero__lead { animation: dr-hero-txt 1.1s var(--ease) .35s both; }
body.dr-theme .dr-hero__ctas { animation: dr-hero-txt 1.1s var(--ease) .5s both; }

/* ---------- Franja de confianza ---------- */
body.dr-theme .dr-trust {
	list-style: none;
	margin: 0;
	padding: 22px max(24px, calc((100vw - 1320px) / 2));
	display: grid;
	grid-template-columns: auto minmax(0, 1.6fr) auto;
	gap: 16px 48px;
	align-items: center;
	background: var(--bodega-2);
	color: var(--crema);
	font-size: 14px;
	line-height: 1.45;
}
body.dr-theme .dr-trust li { display: flex; align-items: center; gap: 12px; }
body.dr-theme .dr-trust .dr-ico { flex: 0 0 22px; color: var(--crema-2); }
@media (max-width: 900px) {
	body.dr-theme .dr-trust { grid-template-columns: 1fr; padding: 20px 16px; gap: 12px; }
}

/* ---------- Por alimentación ---------- */
body.dr-theme .dr-crianza { background: var(--grasa); padding: 112px 24px; }
body.dr-theme .dr-crianza__inner { max-width: 1320px; margin: 0 auto; }
body.dr-theme .dr-crianza__heading {
	margin: 0 0 40px;
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--tinta-2);
}
body.dr-theme .dr-crianza__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}
body.dr-theme .dr-crianza__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--grasa-ln); }
body.dr-theme .dr-crianza__row { border-bottom: 1px solid var(--grasa-ln); }
body.dr-theme .dr-crianza__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 44px;
	align-items: baseline;
	gap: 20px;
	padding: 26px 0;
	color: var(--tinta-2);
	text-decoration: none;
}
body.dr-theme .dr-crianza__name {
	font-family: var(--display);
	font-size: clamp(34px, 4.2vw, 64px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--tinta);
	transition: transform .5s var(--ease), color .3s ease;
}
body.dr-theme .dr-crianza__count { font-size: 14px; font-weight: 500; color: var(--tinta-2); white-space: nowrap; }
body.dr-theme .dr-crianza__arrow {
	align-self: center;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--grasa-ln);
	color: var(--tinta);
	transition: background .3s ease, color .3s ease, border-color .3s ease, transform .4s var(--ease);
}
body.dr-theme .dr-crianza__row.is-active .dr-crianza__name { transform: translateX(14px); }
body.dr-theme .dr-crianza__row.is-active .dr-crianza__arrow { background: var(--precinto); border-color: var(--precinto); color: #fff; }
body.dr-theme .dr-crianza__list:hover .dr-crianza__row:not(:hover):not(.is-active) .dr-crianza__name { color: rgba(42,27,20,.45); }
body.dr-theme .dr-crianza__preview {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius);
	background: var(--grasa-2);
	overflow: hidden;
}
body.dr-theme .dr-crianza__fig {
	position: absolute;
	inset: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity .5s ease, transform .9s var(--ease);
}
body.dr-theme .dr-crianza__fig.is-active { opacity: 1; transform: none; }
body.dr-theme .dr-crianza__img { width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
@media (max-width: 900px) {
	body.dr-theme .dr-crianza { padding: 72px 16px; }
	body.dr-theme .dr-crianza__grid { grid-template-columns: 1fr; gap: 32px; }
	body.dr-theme .dr-crianza__preview { display: none; }
	body.dr-theme .dr-crianza__link { padding: 20px 0; grid-template-columns: minmax(0, 1fr) auto 36px; }
	body.dr-theme .dr-crianza__arrow { width: 36px; height: 36px; }
	body.dr-theme .dr-crianza__row.is-active .dr-crianza__name { transform: none; }
}

/* ---------- Corte a cuchillo ---------- */
body.dr-theme .dr-corte {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	background: var(--bodega);
	color: var(--crema);
	min-height: 620px;
}
body.dr-theme .dr-corte__media { position: relative; overflow: hidden; }
body.dr-theme .dr-corte__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
body.dr-theme .dr-corte__body {
	padding: clamp(56px, 8vw, 112px) clamp(24px, 6vw, 96px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 22px;
}
body.dr-theme .dr-corte__title {
	margin: 0;
	font-family: var(--display);
	font-size: clamp(48px, 6vw, 92px);
	line-height: .92;
	letter-spacing: -0.03em;
	color: var(--crema);
}
body.dr-theme .dr-corte__lead { margin: 0; font-size: 18px; color: var(--crema-2); max-width: 38ch; }
body.dr-theme .dr-corte__formatos { margin: 12px 0 18px; border-top: 1px solid var(--bodega-ln); }
body.dr-theme .dr-corte__formatos > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--bodega-ln);
}
body.dr-theme .dr-corte__formatos dt { font-family: var(--display); font-size: 22px; color: var(--crema); white-space: nowrap; }
body.dr-theme .dr-corte__formatos dd { max-width: 24ch; }
body.dr-theme .dr-corte__formatos dd { margin: 0; font-size: 14px; color: var(--crema-2); text-align: right; }
body.dr-theme .dr-corte__formatos .is-destacado dt { color: #fff; }
body.dr-theme .dr-corte__formatos .is-destacado dd { color: #fff; }
body.dr-theme .dr-corte .dr-btn { align-self: flex-start; }
@media (max-width: 900px) {
	body.dr-theme .dr-corte { grid-template-columns: 1fr; }
	body.dr-theme .dr-corte__media { aspect-ratio: 16 / 11; }
}

/* ---------- Origen ---------- */
body.dr-theme .dr-origen {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 0;
	background: var(--bodega);
	color: var(--crema);
}
body.dr-theme .dr-origen__media { position: relative; min-height: 640px; }
body.dr-theme .dr-origen__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
body.dr-theme .dr-origen__inset {
	position: absolute;
	right: -8%;
	bottom: 56px;
	width: 42%;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: 0 30px 60px rgba(0,0,0,.45);
	z-index: 2;
}
body.dr-theme .dr-origen__img2 { display: block; width: 100%; height: auto; }
body.dr-theme .dr-origen__body {
	padding: clamp(64px, 8vw, 120px) clamp(24px, 6vw, 96px) clamp(64px, 8vw, 120px) clamp(48px, 10vw, 160px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
	font-size: 16px;
	line-height: 1.7;
	color: var(--crema-2);
}
body.dr-theme .dr-origen__body p { margin: 0; max-width: 52ch; }
body.dr-theme .dr-origen__title {
	margin: 0 0 8px;
	font-family: var(--display);
	font-size: clamp(44px, 5vw, 76px);
	line-height: .95;
	letter-spacing: -0.025em;
	color: var(--crema);
}
body.dr-theme .dr-origen__lead { font-family: var(--display); font-size: clamp(19px, 1.45vw, 22px) !important; line-height: 1.42 !important; color: var(--crema) !important; }
body.dr-theme .dr-origen .dr-btn { align-self: flex-start; margin-top: 14px; }
@media (max-width: 900px) {
	body.dr-theme .dr-origen { grid-template-columns: 1fr; }
	body.dr-theme .dr-origen__media { min-height: 0; aspect-ratio: 16 / 10; }
	body.dr-theme .dr-origen__inset { right: 16px; bottom: -40px; width: 46%; }
	body.dr-theme .dr-origen__body { padding: 80px 16px 72px; }
}

/* (Columna de compra fija descartada: en Kadence comparte contenedor con las pestañas. La barra de compra flotante cubre esa función.) */

/* Movimiento reducido: nada se anima */
@media (prefers-reduced-motion: reduce) {
	body.dr-theme .dr-hero__img,
	body.dr-theme .dr-hero__title,
	body.dr-theme .dr-hero__lead,
	body.dr-theme .dr-hero__ctas { animation: none !important; }
}

/* Portada en móvil: el texto siempre dentro de la primera pantalla */
@media (max-width: 767px) {
	body.dr-theme .dr-hero { min-height: calc(100svh - 150px); }
	body.dr-theme .dr-hero__inner { padding: 0 16px 36px; }
	body.dr-theme .dr-hero__title { font-size: clamp(40px, 11.5vw, 56px); max-width: 14ch; }
	body.dr-theme .dr-hero__lead { margin-top: 16px; font-size: 15px; }
	body.dr-theme .dr-hero__ctas { margin-top: 22px; }
	body.dr-theme .dr-hero__ctas .dr-btn { flex: 1 1 140px; min-height: 48px; padding: 0 18px; }
	body.dr-theme .dr-hero__media::after {
		background: linear-gradient(0deg, rgba(33,21,15,.92) 0%, rgba(33,21,15,.6) 45%, rgba(33,21,15,.1) 80%);
	}
}

/* ==========================================================================
   v2.2 — Estilo contemporáneo
   Una sola familia (Geist), superficies redondeadas, producto sobre blanco,
   controles tipo píldora y más aire.
   ========================================================================== */
body.dr-theme {
	--bodega:    #16110E;
	--bodega-2:  #221A16;
	--bodega-ln: #3A2F29;
	--grasa:     #F5F2EE;
	--grasa-2:   #ECE6E0;
	--grasa-ln:  #E2DAD2;
	--tinta:     #17110E;
	--tinta-2:   #6E625A;
	--crema:     #F2EDE8;
	--crema-2:   #B9ADA4;
	--display: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--sans:    'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--radius: 14px;
	--radius-lg: 22px;
	--global-palette9rgb: 245, 242, 238;
	font-size: 16px;
	letter-spacing: -0.005em;
}

/* Titulares: sans firme y apretada */
body.dr-theme h1, body.dr-theme h2, body.dr-theme h3,
body.dr-theme h4, body.dr-theme h5, body.dr-theme h6 {
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.02;
}

/* Cabecera translúcida al quedar fija */
body.dr-theme .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
body.dr-theme .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-wrap .site-header-row-container-inner {
	background: rgba(22,17,14,.86) !important;
	-webkit-backdrop-filter: saturate(160%) blur(16px);
	backdrop-filter: saturate(160%) blur(16px);
}
body.dr-theme .main-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 15px; font-weight: 500; letter-spacing: -0.01em; }
@media (min-width: 1025px) {
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu { border-radius: 0 0 var(--radius-lg) var(--radius-lg); padding: 20px; }
	body.dr-theme #primary-menu > li.dr-mega > ul.sub-menu > li > a { font-size: 15px; font-weight: 500; letter-spacing: -0.01em; }
	body.dr-theme .dr-menu-thumb { border-radius: var(--radius); }
}
body.dr-theme .mobile-navigation ul li > a { font-weight: 500; font-size: 20px; letter-spacing: -0.02em; }

/* Portada: tarjeta a sangre con esquinas redondeadas */
body.dr-theme .dr-hero {
	margin: 12px 12px 0;
	border-radius: var(--radius-lg);
	min-height: min(84vh, 820px);
}
body.dr-theme .dr-hero__title {
	font-weight: 600;
	font-size: clamp(48px, 7.2vw, 112px);
	line-height: .94;
	letter-spacing: -0.05em;
	max-width: 13ch;
}
body.dr-theme .dr-hero__lead { font-size: clamp(16px, 1.25vw, 18px); color: rgba(255,255,255,.78); }
body.dr-theme .dr-trust {
	margin: 12px 12px 0;
	border-radius: var(--radius-lg);
	padding: 22px 32px;
}
@media (max-width: 900px) { body.dr-theme .dr-trust { padding: 18px 20px; } }

/* Bandas de imagen de Elementor con el mismo margen y redondeo */
body.dr-theme .elementor-12140 .elementor-element-2863b82 { margin: 12px 12px 0; border-radius: var(--radius-lg); overflow: hidden; }

/* Mosaico de categorías */
body.dr-theme .dr-cats { padding-top: 104px; }
body.dr-theme .dr-eyebrow { font-weight: 600; letter-spacing: -0.045em; font-size: clamp(40px, 4.6vw, 72px); }
body.dr-theme .dr-cats__grid { gap: 10px; }
body.dr-theme .dr-cats__link { border-radius: var(--radius-lg); }
html.dr-motion body.dr-theme .dr-cats__link { clip-path: inset(100% 0 0 0 round var(--radius-lg)); }
html.dr-motion body.dr-theme .dr-cats.is-in .dr-cats__link { clip-path: inset(0 0 0 0 round var(--radius-lg)); }
body.dr-theme .dr-cats__title { font-weight: 600; letter-spacing: -0.03em; font-size: 24px; }
@media (min-width: 768px) {
	body.dr-theme .dr-cats__grid:has(> li:nth-child(7):last-child) > li:nth-child(-n+2) .dr-cats__title { font-size: clamp(32px, 3vw, 44px); letter-spacing: -0.045em; }
}
body.dr-theme .dr-cats__arrow { background: rgba(255,255,255,.18); }

/* Barra de secciones: control segmentado */
body.dr-theme .dr-secnav { background: rgba(245,242,238,.82); border-bottom: 0; }
body.dr-theme .dr-secnav ul { gap: 6px; padding-top: 10px; padding-bottom: 10px; }
body.dr-theme .dr-secnav a {
	min-height: 40px;
	padding: 0 18px;
	border-radius: var(--radius-pill);
	font-size: 14px;
	font-weight: 500;
	transition: background-color .25s ease, color .25s ease;
}
body.dr-theme .dr-secnav a::after { display: none; }
body.dr-theme .dr-secnav a:hover { background: var(--grasa-2); }
body.dr-theme .dr-secnav a.is-active { background: var(--tinta); color: #fff; }

/* Títulos de sección */
body.dr-theme .dr-section-title {
	font-weight: 600;
	font-size: clamp(44px, 6.4vw, 96px);
	letter-spacing: -0.055em;
	line-height: .92;
	margin-bottom: 28px;
}
body.dr-theme .dr-section-title__count {
	transform: translateY(-.6em);
	padding: 4px 12px;
	border-radius: var(--radius-pill);
	background: var(--grasa-2);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
}
body.dr-theme .elementor-12140 .elementor-element-d56c535 .dr-section-title__count,
body.dr-theme .elementor-12140 .elementor-element-6fc451c .dr-section-title__count { background: #fff; }

/* Tarjetas de producto: foto sobre blanco, esquinas suaves */
body.dr-theme ul.products { column-gap: 16px; row-gap: 48px; }
body.dr-theme ul.products li.product .woocommerce-loop-image-link,
body.dr-theme ul.products li.product .container-image-and-badge {
	background: #fff;
	border-radius: var(--radius-lg);
}
body.dr-theme ul.products li.product .woocommerce-loop-image-link img {
	mix-blend-mode: normal;
	padding: 8%;
	box-sizing: border-box;
	transition: transform .7s var(--ease);
}
body.dr-theme ul.products li.product:hover .woocommerce-loop-image-link img { transform: scale(1.04); }
body.dr-theme ul.products li.product .product-details { padding-top: 16px; }
body.dr-theme ul.products li.product .woocommerce-loop-product__title {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.015em;
}
body.dr-theme ul.products li.product .price { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }
body.dr-theme ul.dr-formatos li { background: #fff; border: 1px solid var(--grasa-ln); font-size: 12px; }
body.dr-theme .elementor-element-d56c535 ul.dr-formatos li,
body.dr-theme .elementor-element-6fc451c ul.dr-formatos li { background: var(--grasa); }
body.dr-theme ul.products li.product .product-action-wrap .button {
	border-color: var(--grasa-ln) !important;
	background: #fff !important;
	font-size: 14px;
	font-weight: 500;
}
body.dr-theme ul.products li.product .product-action-wrap .button:hover,
body.dr-theme ul.products li.product .product-action-wrap .button:focus-visible {
	background: var(--tinta) !important;
	border-color: var(--tinta) !important;
	color: #fff !important;
}
body.dr-theme .yith-wcbm-badge { top: 14px !important; left: 14px !important; }

/* Aviso "Corte a cuchillo" del catálogo y bloque de corte */
body.dr-theme .dr-corte { margin: 12px; border-radius: var(--radius-lg); overflow: hidden; }
body.dr-theme .dr-corte__title { font-weight: 600; letter-spacing: -0.05em; font-size: clamp(44px, 5.4vw, 84px); }
body.dr-theme .dr-corte__formatos dt { font-family: var(--sans); font-size: 18px; font-weight: 500; letter-spacing: -0.02em; }

/* Origen */
body.dr-theme .dr-origen { margin: 12px; border-radius: var(--radius-lg); overflow: hidden; }
body.dr-theme .dr-origen__title { font-weight: 600; letter-spacing: -0.05em; font-size: clamp(40px, 4.6vw, 72px); }
body.dr-theme .dr-origen__lead { font-family: var(--sans); font-weight: 400; letter-spacing: -0.015em; }
body.dr-theme .dr-origen__inset { border-radius: var(--radius); }

/* Ficha de producto */
body.dr-theme.single-product div.product .woocommerce-product-gallery {
	background: #fff;
	border-radius: var(--radius-lg);
}
body.dr-theme.single-product div.product .woocommerce-product-gallery img { mix-blend-mode: normal; }
body.dr-theme.single-product div.product .product_title {
	font-weight: 600;
	font-size: clamp(36px, 3.6vw, 56px);
	letter-spacing: -0.045em;
	line-height: 1;
}
body.dr-theme.single-product div.product .woocommerce-variation-price .price {
	font-family: var(--sans);
	font-weight: 600;
	font-size: 40px;
	letter-spacing: -0.04em;
}
body.dr-theme .dr-swatch { border-radius: 12px; background: #fff; font-size: 14px; }
body.dr-theme .dr-swatch[aria-pressed="true"] { background: var(--tinta); color: #fff; }
body.dr-theme .woocommerce-tabs ul.tabs { gap: 6px; border-bottom: 0; }
body.dr-theme .woocommerce-tabs ul.tabs li a {
	padding: 10px 18px;
	border-radius: var(--radius-pill);
	font-size: 15px;
}
body.dr-theme .woocommerce-tabs ul.tabs li a::after { display: none; }
body.dr-theme .woocommerce-tabs ul.tabs li a:hover { background: var(--grasa-2); color: var(--tinta); }
body.dr-theme .woocommerce-tabs ul.tabs li.active a { background: var(--tinta); color: #fff; }
body.dr-theme .dr-desc__relato > p:first-child {
	font-family: var(--sans);
	font-weight: 400;
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.45;
	letter-spacing: -0.02em;
}
body.dr-theme .dr-ficha { background: #fff; border-radius: var(--radius-lg); }
body.dr-theme .dr-ficha__v { font-family: var(--sans); font-weight: 500; font-size: 18px; letter-spacing: -0.015em; }
body.dr-theme .dr-buybar { border-radius: var(--radius-lg); }
body.dr-theme .dr-buybar__name { font-family: var(--sans); font-weight: 600; font-size: 16px; letter-spacing: -0.02em; }

/* Vista rápida */
body.dr-theme .xoo-qv-container { border-radius: var(--radius-lg); }
body.dr-theme .xoo-qv-summary .product_title { font-family: var(--sans) !important; font-weight: 600; letter-spacing: -0.045em; }
body.dr-theme .xoo-qv-summary .woocommerce-variation-price .price { font-family: var(--sans); font-weight: 600; letter-spacing: -0.04em; }

/* Pie con el mismo lenguaje */
body.dr-theme #colophon { margin: 12px; border-radius: var(--radius-lg); overflow: hidden; }
body.dr-theme .cmplz-cookiebanner .cmplz-title { font-family: var(--sans); font-weight: 600; letter-spacing: -0.02em; }

@media (max-width: 767px) {
	body.dr-theme .dr-hero { margin: 8px 8px 0; border-radius: 18px; }
	body.dr-theme .dr-trust,
	body.dr-theme .elementor-12140 .elementor-element-2863b82 { margin: 8px 8px 0; border-radius: 18px; }
	body.dr-theme .dr-corte, body.dr-theme .dr-origen, body.dr-theme #colophon { margin: 8px; border-radius: 18px; }
	body.dr-theme .dr-section-title { font-size: clamp(40px, 12vw, 56px); }
	body.dr-theme .dr-cats__link { border-radius: 16px; }
}

/* ==========================================================================
   v2.3 — Fondo blanco y botones de compra en negro
   ========================================================================== */
body.dr-theme {
	--grasa:    #FFFFFF;  /* fondo general */
	--grasa-2:  #F4F2EF;  /* superficies suaves (fotos de producto, ficha) */
	--grasa-ln: #E6E1DC;  /* líneas */
	--negro:    #111111;
	--negro-2:  #2E2E2E;
	--global-palette8: #FFFFFF;
	--global-palette9: #FFFFFF;
	--global-palette9rgb: 255, 255, 255;
	--global-palette-btn-bg: var(--negro);
	--global-palette-btn-bg-hover: var(--negro-2);
	background: #FFFFFF;
}
body.dr-theme #inner-wrap { background: #FFFFFF; }

/* Secciones de catálogo: todas en blanco */
body.dr-theme .elementor-12140 .elementor-element-fd59f84,
body.dr-theme .elementor-12140 .elementor-element-a697e4c,
body.dr-theme .elementor-12140 .elementor-element-d56c535,
body.dr-theme .elementor-12140 .elementor-element-6fc451c { background: #FFFFFF; }
body.dr-theme .dr-section-title__count,
body.dr-theme .elementor-12140 .elementor-element-d56c535 .dr-section-title__count,
body.dr-theme .elementor-12140 .elementor-element-6fc451c .dr-section-title__count { background: var(--grasa-2); }

/* Fotos de producto sobre gris muy claro; el blanco de la foto se funde */
body.dr-theme ul.products li.product .woocommerce-loop-image-link,
body.dr-theme ul.products li.product .container-image-and-badge { background: var(--grasa-2); }
body.dr-theme ul.products li.product .woocommerce-loop-image-link img { mix-blend-mode: multiply; }
body.dr-theme.single-product div.product .woocommerce-product-gallery { background: var(--grasa-2); }
body.dr-theme.single-product div.product .woocommerce-product-gallery img { mix-blend-mode: multiply; }
body.dr-theme ul.dr-formatos li,
body.dr-theme .elementor-element-d56c535 ul.dr-formatos li,
body.dr-theme .elementor-element-6fc451c ul.dr-formatos li { background: #fff; border: 1px solid var(--grasa-ln); }
body.dr-theme .dr-ficha { background: var(--grasa-2); }
body.dr-theme .dr-swatch { background: #fff; }
body.dr-theme .dr-secnav { background: rgba(255,255,255,.86); }
body.dr-theme .dr-secnav a:hover { background: var(--grasa-2); }
body.dr-theme .dr-secnav a.is-active { background: var(--negro); }

/* Botones de compra en negro */
body.dr-theme .button.alt,
body.dr-theme button.single_add_to_cart_button,
body.dr-theme .checkout-button,
body.dr-theme #place_order,
body.dr-theme .dr-buybar__btn,
body.dr-theme .xoo-qv-summary button.single_add_to_cart_button,
body.dr-theme .dr-btn--primary {
	background: var(--negro) !important;
	color: #fff !important;
	border: 0;
}
body.dr-theme .button.alt:hover,
body.dr-theme button.single_add_to_cart_button:hover,
body.dr-theme .checkout-button:hover,
body.dr-theme #place_order:hover,
body.dr-theme .dr-buybar__btn:hover,
body.dr-theme .xoo-qv-summary button.single_add_to_cart_button:hover,
body.dr-theme .dr-btn--primary:hover { background: var(--negro-2) !important; color: #fff !important; }
body.dr-theme button.single_add_to_cart_button.disabled { opacity: .3; }

/* Botón de las tarjetas: negro al pasar el ratón */
body.dr-theme ul.products li.product .product-action-wrap .button {
	background: #fff !important;
	border-color: var(--negro) !important;
	color: var(--negro) !important;
}
body.dr-theme ul.products li.product .product-action-wrap .button:hover,
body.dr-theme ul.products li.product .product-action-wrap .button:focus-visible,
body.dr-theme ul.products li.product .product-action-wrap .button.added {
	background: var(--negro) !important;
	border-color: var(--negro) !important;
	color: #fff !important;
}

/* Portada: sobre la foto oscura, el botón principal va en blanco */
body.dr-theme .dr-hero .dr-btn--primary { background: #fff !important; color: var(--negro) !important; }
body.dr-theme .dr-hero .dr-btn--primary:hover { background: var(--grasa-2) !important; color: var(--negro) !important; }

/* Barra de compra flotante en blanco, con botón negro */
body.dr-theme .dr-buybar {
	background: rgba(255,255,255,.94);
	color: var(--tinta);
	border: 1px solid var(--grasa-ln);
	box-shadow: 0 20px 50px rgba(17,17,17,.14);
}
body.dr-theme .dr-buybar__name { color: var(--tinta); }
body.dr-theme .dr-buybar__price { color: var(--tinta-2); }
body.dr-theme .dr-buybar__thumb { background: var(--grasa-2); }

/* Vista rápida y aviso de cookies en blanco */
body.dr-theme .xoo-qv-container { background: #fff !important; }
body.dr-theme .xoo-qv-close { background: var(--grasa-2); }
body.dr-theme .cmplz-cookiebanner {
	--cmplz_banner_background_color: #FFFFFF;
	--cmplz_button_accept_background_color: #111111;
	--cmplz_button_accept_border_color: #111111;
	--cmplz_slider_active_color: #111111;
	--cmplz_category_header_always_active_color: #111111;
}
body.dr-theme input[type="text"], body.dr-theme input[type="email"], body.dr-theme input[type="tel"],
body.dr-theme input[type="number"], body.dr-theme input[type="password"], body.dr-theme input[type="search"],
body.dr-theme textarea, body.dr-theme select { background: #FFFFFF; border-color: var(--grasa-ln); }
body.dr-theme .cmplz-cookiebanner { --cmplz_banner_background_color: #FFFFFF; }

/* Fotos de producto otra vez sobre blanco, con borde fino para separarlas del fondo */
body.dr-theme ul.products li.product .woocommerce-loop-image-link,
body.dr-theme ul.products li.product .container-image-and-badge {
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1px var(--grasa-ln);
}
body.dr-theme ul.products li.product .woocommerce-loop-image-link img { mix-blend-mode: normal; }
body.dr-theme.single-product div.product .woocommerce-product-gallery {
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1px var(--grasa-ln);
}
body.dr-theme.single-product div.product .woocommerce-product-gallery img { mix-blend-mode: normal; }

/* ---------- v2.4 — Banners de categoría como cabecera de sección ---------- */
body.dr-theme .dr-section-title--banner {
	display: block;
	margin: 0 0 32px;
	font-size: 0;
	line-height: 0;
}
body.dr-theme .dr-section-banner,
body.dr-theme .dr-section-banner img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--radius-lg);
	overflow: hidden;
}
@media (max-width: 767px) {
	body.dr-theme .dr-section-banner,
	body.dr-theme .dr-section-banner img { border-radius: 14px; }
	/* En móvil el banner es bajo: se recorta un poco por los lados para ganar altura */
	body.dr-theme .dr-section-banner img { aspect-ratio: 2.4 / 1; object-fit: cover; }
}
/* El mosaico "Tienda" ahora va al final: separación del catálogo */
body.dr-theme .dr-cats { margin: 12px 12px 0; border-radius: var(--radius-lg); }
@media (max-width: 767px) { body.dr-theme .dr-cats { margin: 8px 8px 0; border-radius: 18px; } }

/* ---------- v2.4.2 — Correcciones ---------- */

/* Pestañas de la ficha: texto blanco en la activa, sin las rayas azules de Kadence */
body.dr-theme .woocommerce div.product .woocommerce-tabs ul.tabs,
body.dr-theme .woocommerce-tabs ul.tabs { border: 0 !important; }
body.dr-theme .woocommerce-tabs ul.tabs::before,
body.dr-theme .woocommerce-tabs ul.tabs::after { display: none !important; border: 0 !important; }
body.dr-theme .woocommerce div.product .woocommerce-tabs ul.tabs li,
body.dr-theme .woocommerce-tabs ul.tabs li,
body.dr-theme .woocommerce-tabs ul.tabs li.active {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.dr-theme .woocommerce-tabs ul.tabs li::before,
body.dr-theme .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.dr-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a,
body.dr-theme .woocommerce-tabs ul.tabs li a { color: var(--tinta-2) !important; }
body.dr-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.dr-theme .woocommerce-tabs ul.tabs li.active a {
	background: var(--negro) !important;
	color: #FFFFFF !important;
}
body.dr-theme .woocommerce-tabs ul.tabs li:not(.active) a:hover { background: var(--grasa-2) !important; color: var(--tinta) !important; }

/* Tarjetas de producto alineadas: precio, formatos y botón siempre a la misma altura */
body.dr-theme ul.products li.product {
	display: flex !important;
	flex-direction: column;
	height: auto;
}
body.dr-theme ul.products li.product .product-details {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	align-items: stretch;
}
body.dr-theme ul.products li.product .woocommerce-loop-product__title { min-height: 2.6em; }
body.dr-theme ul.products li.product .product-action-wrap { margin-top: auto !important; padding-top: 16px; text-align: left; }
body.dr-theme ul.products li.product .product-action-wrap .button { display: flex; width: 100%; }
body.dr-theme ul.products li.product .dr-formatos { min-height: 28px; }
body.dr-theme .woocommerce-tabs ul.tabs li a { padding: 10px 20px !important; border-radius: 999px !important; }

/* ==========================================================================
   Reglas funcionales heredadas del antiguo "CSS adicional" del Personalizador
   (se conservan; las decorativas quedan sustituidas por este tema)
   ========================================================================== */

/* Sin estrellas ni etiqueta "Oferta" en las tarjetas de producto */
body.dr-theme ul.products li.product .star-rating,
body.dr-theme ul.products li.product .onsale { display: none !important; }

/* Sin ventas cruzadas en el carrito */
body.dr-theme .wp-block-woocommerce-cart-cross-sells-block { display: none !important; }

/* Barra de promoción más compacta en móvil (antes 8px; 11px para que siga siendo legible) */
@media (max-width: 768px) {
	body.dr-theme #tpbr_box { font-size: 11px !important; padding: 6px 12px !important; }
	body.dr-theme #tpbr_calltoaction { font-size: 11px !important; font-weight: 700 !important; }
}

/* ---------- v2.5 — Home: catálogo más ancho en escritorio ---------- */
@media (min-width: 1025px) {
	/* Contenedor del catálogo: hasta 1680 px, con 40 px de aire a cada lado */
	body.dr-theme .elementor-12140 .elementor-element-fd59f84,
	body.dr-theme .elementor-12140 .elementor-element-d56c535,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c { padding-left: 40px; padding-right: 40px; }
	body.dr-theme .elementor-12140 .elementor-element-fd59f84 > .elementor-container,
	body.dr-theme .elementor-12140 .elementor-element-d56c535 > .elementor-container,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c > .elementor-container,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c > .elementor-container { max-width: 1680px; }
	body.dr-theme .dr-secnav ul { max-width: 1680px; padding-left: 40px; padding-right: 40px; }

	/* Rejilla de Jamones y Paletas: 4 columnas que ocupan todo el ancho */
	body.dr-theme .elementor-12140 .elementor-element-fd59f84 ul.products {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		column-gap: 24px;
		row-gap: 56px;
	}
	body.dr-theme .elementor-12140 .elementor-element-fd59f84 ul.products > li.product { width: auto !important; margin: 0 !important; }

	/* Filas deslizables (Embutidos, Quesos, Lotes): tarjetas más grandes */
	body.dr-theme .elementor-12140 .elementor-element-d56c535 ul.products > li.product,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c ul.products > li.product,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c ul.products > li.product { flex: 0 0 calc((100% - 3 * 24px) / 4); }

	/* Textos de tarjeta algo mayores al crecer la foto */
	body.dr-theme.home ul.products li.product .woocommerce-loop-product__title { font-size: 18px; }
	body.dr-theme.home ul.products li.product .price { font-size: 16px; }
}
/* Banners de sección: no crecen con el catálogo (evita cabeceras de 500 px) */
@media (min-width: 1025px) {
	body.dr-theme .dr-section-title--banner { max-width: 1320px; margin-left: auto; margin-right: auto; }
}

/* ---------- v2.5.3 — Avisos de WooCommerce ("añadido a tu carrito", errores, info) ---------- */
body.dr-theme .woocommerce-message,
body.dr-theme .woocommerce-info,
body.dr-theme .woocommerce-error,
body.dr-theme .woocommerce-notices-wrapper .woocommerce-message {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 16px 20px 16px 24px !important;
	background: var(--grasa-2) !important;
	color: var(--tinta) !important;
	border: 0 !important;
	border-left: 0 !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: none !important;
	font-size: 15px;
}
body.dr-theme .woocommerce-message::before,
body.dr-theme .woocommerce-info::before,
body.dr-theme .woocommerce-error::before { display: none !important; }
/* El aviso recibe el foco para lectores de pantalla: sin el borde rojo visible */
body.dr-theme .woocommerce-message:focus,
body.dr-theme .woocommerce-info:focus,
body.dr-theme .woocommerce-error:focus,
body.dr-theme .woocommerce-notices-wrapper:focus { outline: none !important; }
body.dr-theme .woocommerce-error { background: #FBEAEA !important; }
/* Botón "Ver carrito" y similares dentro del aviso */
body.dr-theme .woocommerce-message .button,
body.dr-theme .woocommerce-info .button,
body.dr-theme .woocommerce-error .button,
body.dr-theme .woocommerce-message a.wc-forward {
	order: 2;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	min-height: 42px;
	padding: 0 22px !important;
	background: var(--negro) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: nowrap;
}
body.dr-theme .woocommerce-message .button:hover,
body.dr-theme .woocommerce-info .button:hover,
body.dr-theme .woocommerce-message a.wc-forward:hover { background: var(--negro-2) !important; color: #FFFFFF !important; }
body.dr-theme .woocommerce-message a:not(.button):not(.wc-forward) { color: var(--tinta); text-decoration: underline; }

/* ==========================================================================
   v2.6 — Productos frescos, premios, migas de pan
   ========================================================================== */
body.dr-theme .elementor-element-2863b82,
body.dr-theme .elementor-element-45a985b { display: none !important; }

body.dr-theme .dr-frescos {
	display: grid; grid-template-columns: 1.25fr 1fr; align-items: stretch;
	max-width: 1680px; margin: 56px auto; padding: 0 24px; gap: 0;
}
body.dr-theme .dr-frescos__media { position: relative; overflow: hidden; border-radius: var(--radius-lg) 0 0 var(--radius-lg); min-height: 420px; }
body.dr-theme .dr-frescos__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
body.dr-theme .dr-frescos:hover .dr-frescos__img { transform: scale(1.03); }
body.dr-theme .dr-frescos__body {
	background: var(--grasa-2); border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
	padding: clamp(32px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; gap: 18px; align-items: flex-start;
}
body.dr-theme .dr-frescos__eyebrow { margin: 0; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-2); }
body.dr-theme .dr-frescos__title { margin: 0; font-weight: 600; letter-spacing: -0.04em; line-height: 1.02; font-size: clamp(34px, 3.6vw, 56px); color: var(--negro); max-width: 14ch; }
body.dr-theme .dr-frescos__lead { margin: 0 0 8px; font-size: 18px; color: var(--tinta-2); }
@media (max-width: 900px) {
	body.dr-theme .dr-frescos { grid-template-columns: 1fr; margin: 32px auto; padding: 0 12px; }
	body.dr-theme .dr-frescos__media { min-height: 0; aspect-ratio: 4 / 3; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
	body.dr-theme .dr-frescos__body { border-radius: 0 0 var(--radius-lg) var(--radius-lg); padding: 28px 22px 32px; }
}

/* Premios */
body.dr-theme .dr-premio { display: inline-flex; align-items: center; gap: 8px; color: var(--negro); }
body.dr-theme .dr-premio svg { color: #B8892B; flex: none; }
body.dr-theme .dr-premio--card {
	position: absolute; left: 14px; top: 14px; z-index: 6; pointer-events: none;
	background: rgba(255,255,255,.94); border: 1px solid var(--grasa-ln); border-radius: 999px;
	padding: 6px 12px 6px 10px; font-size: 12px; font-weight: 500; letter-spacing: -0.01em;
}
body.dr-theme li.product { position: relative; }
body.dr-theme .dr-premio--ficha {
	margin: 4px 0 20px; padding: 12px 16px; border: 1px solid var(--grasa-ln); border-radius: 14px; background: var(--grasa-2);
}
body.dr-theme .dr-premio--ficha svg { width: 22px; height: 22px; }
body.dr-theme .dr-premio--ficha div { display: flex; flex-direction: column; line-height: 1.3; }
body.dr-theme .dr-premio--ficha strong { font-weight: 600; font-size: 15px; }
body.dr-theme .dr-premio--ficha span { font-size: 13px; color: var(--tinta-2); }

/* Migas de pan */
body.dr-theme .kadence-breadcrumbs { margin: 0 0 14px; font-size: 13px; letter-spacing: .01em; }
body.dr-theme .kadence-breadcrumbs a { text-decoration: none; transition: color .2s; }
body.dr-theme .kadence-breadcrumbs a:hover { color: var(--negro); }
body.dr-theme .kadence-breadcrumbs .bc-delimiter { opacity: .45; margin: 0 6px; }
body.dr-theme .kadence-breadcrumbs .kadence-bread-current { color: var(--negro); }

[class*="xoo-qv"] .kadence-breadcrumbs { display: none !important; }
body.dr-theme .summary .kadence-breadcrumbs { margin-bottom: 18px; }

/* ==========================================================================
   v2.7 — Tienda y categorías a todo el ancho, tarjetas más grandes que en la home
   (≈ 440–480 px por producto en escritorio; la home usa 4 columnas en 1680 px)
   ========================================================================== */
body.dr-theme.woocommerce.archive .content-container.site-container,
body.dr-theme.woocommerce.archive .entry-hero-container-inner .site-container {
	max-width: 1920px;
	padding-left: clamp(16px, 2.5vw, 48px);
	padding-right: clamp(16px, 2.5vw, 48px);
}
body.dr-theme.woocommerce.archive ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	column-gap: clamp(12px, 1.6vw, 32px);
	row-gap: clamp(40px, 4vw, 72px);
}
@media (min-width: 1025px) {
	body.dr-theme.woocommerce.archive ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
/* Títulos y precios acordes al nuevo tamaño */
@media (min-width: 1025px) {
	body.dr-theme.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
	body.dr-theme.woocommerce.archive ul.products li.product .woocommerce-loop-category__title { font-size: 19px; }
	body.dr-theme.woocommerce.archive ul.products li.product .price { font-size: 17px; }
}
/* Barra "Mostrando X resultados" y orden alineadas con la rejilla */
body.dr-theme.woocommerce.archive .kadence-shop-top-row { margin-bottom: clamp(20px, 2.5vw, 36px); }

@media (max-width: 767px) {
	body.dr-theme .dr-premio--card { top: 8px; left: 8px; font-size: 10.5px; white-space: nowrap; padding: 4px 9px 4px 7px; gap: 5px; }
	body.dr-theme .dr-premio--card svg { width: 11px; height: 11px; }
}

/* ==========================================================================
   v2.7.4 — Cabecera sin parpadeo al cargar
   Antes de que el JS de Kadence la fije, la cabecera era sólida (#16110E) y
   después pasaba a translúcida: se veía negra medio segundo. Ahora el estado
   inicial ya es el mismo que el final.
   ========================================================================== */
body.dr-theme #masthead,
body.dr-theme .site-header-wrap,
body.dr-theme #masthead .kadence-sticky-header { background: transparent !important; }
/* v2.7.5 — color sólido: el mismo tono que se veía, sin transparencia */
body.dr-theme #masthead .site-header-row-container-inner,
body.dr-theme #masthead .site-main-header-wrap .site-header-row-container-inner,
body.dr-theme #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
body.dr-theme #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-wrap .site-header-row-container-inner {
	background: #37322F !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	transition: none !important;
}

/* v2.7.6 — Barra de secciones de la home: fondo sólido con borde */
body.dr-theme .dr-secnav {
	background: #fff !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	border-top: 1px solid var(--grasa-ln) !important;
	border-bottom: 1px solid var(--grasa-ln) !important;
}

/* ==========================================================================
   v2.8 — Listados en móvil a 1 columna (fotos grandes) y frescos más compacto
   ========================================================================== */
@media (max-width: 767px) {
	body.dr-theme.woocommerce.archive ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 40px;
	}
	body.dr-theme.woocommerce.archive ul.products li.product .woocommerce-loop-product__title { font-size: 19px; }
	body.dr-theme.woocommerce.archive ul.products li.product .price { font-size: 17px; }
}
@media (max-width: 900px) {
	body.dr-theme .dr-frescos__media { aspect-ratio: 16 / 9; }
	body.dr-theme .dr-frescos__body { gap: 12px; padding: 24px 20px 28px; }
	body.dr-theme .dr-frescos__title { font-size: 30px; max-width: none; }
}

/* v2.8.1 — Barra de secciones en móvil: se nota que se puede deslizar */
body.dr-theme .dr-secnav ul { position: relative; scroll-behavior: smooth; }
body.dr-theme .dr-secnav::before,
body.dr-theme .dr-secnav::after {
	content: ""; position: absolute; top: 0; bottom: 0; width: 44px; z-index: 2;
	pointer-events: none; opacity: 0; transition: opacity .2s ease;
}
body.dr-theme .dr-secnav::before { left: 0; background: linear-gradient(to right, #fff 30%, rgba(255,255,255,0)); }
body.dr-theme .dr-secnav::after {
	right: 0; width: 52px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") right 10px center / 16px 16px no-repeat,
		linear-gradient(to left, #fff 45%, rgba(255,255,255,0));
}
body.dr-theme .dr-secnav.has-more-left::before,
body.dr-theme .dr-secnav.has-more-right::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) { body.dr-theme .dr-secnav ul { scroll-behavior: auto; } }

/* ==========================================================================
   v2.9.3 — Revisión de estándares (contraste, áreas táctiles, carrito)
   ========================================================================== */
/* Pie: enlaces legales con contraste AA sobre la bodega (antes 3,2:1) */
body.dr-theme #colophon a,
body.dr-theme #colophon .footer-navigation a,
body.dr-theme #colophon .widget a { color: #B9ADA4; }
body.dr-theme #colophon a:hover { color: #FFFFFF; }

/* Barra superior: "Ver condiciones" con área táctil de 32px sin cambiar su tamaño visual */
body.dr-theme #tpbr_calltoaction { display: inline-block; padding: 8px 4px !important; margin: -8px 0 -8px 6px !important; }

/* Distintivo de premio en móvil: mínimo 11px */
@media (max-width: 767px) { body.dr-theme .dr-premio--card { font-size: 11px; } }

/* Carrito: aviso de envío gratis como tarjeta y aire bajo la cabecera */
body.dr-theme.woocommerce-cart .content-area,
body.dr-theme.woocommerce-checkout .content-area { margin-top: clamp(24px, 4vw, 56px); }
body.dr-theme.woocommerce-cart .entry-content > h4:first-child {
	margin: 0 0 clamp(24px, 3vw, 40px); padding: 14px 18px; border-radius: 14px;
	background: var(--grasa-2); border: 1px solid var(--grasa-ln);
	font-size: 15px; font-weight: 400; letter-spacing: 0; line-height: 1.5; color: var(--tinta);
}
body.dr-theme.woocommerce-cart .entry-content > h4:first-child strong { font-weight: 600; }
body.dr-theme.woocommerce-cart .cart_totals h2,
body.dr-theme.woocommerce-cart .woocommerce-cart-form h2,
body.dr-theme.woocommerce-cart h2 { font-size: 24px; margin-bottom: 16px; }
body.dr-theme.woocommerce-cart .cross-sells { display: none !important; }
body.dr-theme #colophon .footer-navigation .footer-menu-container > ul > li > a { color: #B9ADA4; }
body.dr-theme #colophon .footer-navigation .footer-menu-container > ul > li > a:hover { color: #FFFFFF; }

/* v2.9.5 — Sin migas de pan */
body.dr-theme.woocommerce .kadence-breadcrumbs,
body.dr-theme.woocommerce .woocommerce-breadcrumb { display: none !important; }

/* v2.9.6 — Portada a todo el ancho (sin márgenes ni esquinas) */
body.dr-theme .dr-hero { margin: 0 !important; border-radius: 0 !important; width: 100%; }

/* v2.9.9 — El titular de la portada entra sin partir de opacidad 0, para que
   el navegador lo cuente antes como "contenido principal pintado" (LCP). */
@keyframes dr-hero-txt { from { opacity: .02; transform: translateY(28px); } to { opacity: 1; transform: none; } }
body.dr-theme .dr-hero__title { animation-delay: 0s; }

/* v2.9.10 — El desplegable "Tienda" queda por encima de la barra de secciones
   (antes la barra, z-index 80, tapaba el menú y no se podía pulsar). */
body.dr-theme #masthead { z-index: 1000; }

/* v2.9.11 — Banners de sección más contenidos en escritorio (≈880×250 en vez de
   1320×380): al saltar a una sección se ven el rótulo y la primera fila. */
@media (min-width: 1025px) {
	body.dr-theme .dr-section-title--banner {
		max-width: 880px !important;
		margin: 8px auto 36px !important;
	}
	body.dr-theme .dr-section-banner,
	body.dr-theme .dr-section-banner img { border-radius: 18px; }
}

/* ==========================================================================
   v3.0 — Títulos de sección como franja: foto de la categoría + texto real
   (sustituye a los rótulos antiguos con el texto dentro de la imagen)
   ========================================================================== */
body.dr-theme .dr-section-title.dr-franja {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	max-width: none !important;
	height: 220px;
	margin: 8px 0 36px !important;
	padding: 0 clamp(22px, 3vw, 44px) clamp(20px, 2.4vw, 32px);
	border-radius: var(--radius-lg);
	overflow: hidden;
	isolation: isolate;
	background: var(--bodega);
	color: #fff;
	font-size: 0;
	line-height: 1;
	text-align: left;
}
body.dr-theme .dr-franja__media { position: absolute; inset: 0; z-index: -2; }
body.dr-theme .dr-franja__img {
	width: 100%; height: 100%; object-fit: cover; object-position: center 45%;
	transform: scale(1.02); transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}
body.dr-theme .dr-section-title.dr-franja::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(90deg, rgba(22,17,14,.82) 0%, rgba(22,17,14,.45) 45%, rgba(22,17,14,.08) 100%),
		linear-gradient(0deg, rgba(22,17,14,.35), rgba(22,17,14,0) 60%);
}
body.dr-theme .dr-section-title.dr-franja:hover .dr-franja__img { transform: scale(1.05); }
body.dr-theme .dr-franja__text {
	position: static !important; width: auto !important; height: auto !important;
	clip: auto !important; clip-path: none !important; margin: 0 !important; overflow: visible !important;
	font-family: var(--sans);
	font-weight: 600;
	font-size: clamp(34px, 4.2vw, 60px);
	letter-spacing: -0.045em;
	line-height: 1;
	color: #fff;
	text-shadow: 0 1px 24px rgba(0,0,0,.25);
}
body.dr-theme .dr-franja--sin-foto { background: var(--bodega); }
@media (max-width: 1024px) {
	body.dr-theme .dr-section-title.dr-franja { height: 180px; }
}
@media (max-width: 767px) {
	body.dr-theme .dr-section-title.dr-franja { height: 132px; margin: 4px 0 24px !important; border-radius: 18px; }
	body.dr-theme .dr-franja__text { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
	body.dr-theme .dr-franja__img { transition: none; transform: none; }
}

/* v3.0 — Franja centrada (como los rótulos de siempre) y sin el logo de las fotos antiguas */
body.dr-theme .dr-section-title.dr-franja { align-items: center; justify-content: center; text-align: center; padding: 0 24px; }
body.dr-theme .dr-section-title.dr-franja::after {
	background:
		radial-gradient(ellipse at center, rgba(22,17,14,.62) 0%, rgba(22,17,14,.38) 55%, rgba(22,17,14,.22) 100%);
}
body.dr-theme .dr-franja__img--sin-logo { transform-origin: right center; transform: scale(1.2); }
body.dr-theme .dr-section-title.dr-franja:hover .dr-franja__img--sin-logo { transform: scale(1.23); }
body.dr-theme .dr-franja__text { text-shadow: 0 2px 28px rgba(0,0,0,.35); }

body.dr-theme .dr-franja--frescos .dr-franja__img { object-position: center 78%; }

/* v3.0.1 — Encuadre de las franjas (la parte de la foto que interesa) */
body.dr-theme .dr-franja--embutidos .dr-franja__img { object-position: center 70%; }
body.dr-theme .dr-franja--frescos .dr-franja__img { object-position: center 86%; }
body.dr-theme .dr-franja--lotes-de-regalo .dr-franja__img { object-position: center 55%; }

/* v3.0.1 — Corte a cuchillo, mosaico "Tienda", "Quiénes somos" y pie a todo el ancho,
   igual que la portada: bloques oscuros de borde a borde, sin esquinas. */
body.dr-theme .dr-corte,
body.dr-theme .dr-cats,
body.dr-theme .dr-origen,
body.dr-theme #colophon {
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-radius: 0 !important;
	width: 100%;
}
body.dr-theme .dr-corte { margin-top: clamp(40px, 5vw, 72px) !important; margin-bottom: clamp(40px, 5vw, 72px) !important; }
body.dr-theme .dr-cats { margin-top: clamp(48px, 6vw, 88px) !important; margin-bottom: 0 !important; }
body.dr-theme .dr-origen { margin-top: 0 !important; margin-bottom: 0 !important; border-top: 1px solid rgba(241,230,218,.08); }
body.dr-theme #colophon { margin-top: 0 !important; margin-bottom: 0 !important; border-top: 1px solid rgba(241,230,218,.08); }
@media (min-width: 1025px) {
	body.dr-theme .dr-cats__inner { max-width: 1680px; padding-left: 40px; padding-right: 40px; box-sizing: border-box; }
}

/* v3.0.1 — Mosaico en móvil: los nombres no se parten a mitad de palabra */
@media (max-width: 767px) {
	body.dr-theme .dr-cats__title { font-size: 19px !important; word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; padding-right: 36px; }
}

/* v3.0.3 — "Quiénes somos": panorámica de la dehesa a todo el ancho (la foto se ve
   a su tamaño natural, sin ampliar) y el texto debajo en dos columnas. */
body.dr-theme .dr-origen.dr-origen--pano { display: block !important; grid-template-columns: none !important; padding: 0 !important; }
body.dr-theme .dr-origen__pano { position: relative; overflow: hidden; }
body.dr-theme .dr-origen__pano picture { display: block; }
body.dr-theme .dr-origen__pano-img {
	position: static !important; display: block; width: 100%; height: auto;
	max-height: 620px; object-fit: cover; object-position: center 55%;
}
body.dr-theme .dr-origen__pano::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40%;
	background: linear-gradient(to bottom, rgba(22,17,14,0), var(--bodega));
	pointer-events: none;
}
body.dr-theme .dr-origen--pano .dr-origen__body {
	display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 96px);
	max-width: 1320px; margin: 0 auto; padding: clamp(36px, 5vw, 72px) clamp(20px, 3vw, 40px) clamp(56px, 7vw, 104px);
	align-items: start;
}
body.dr-theme .dr-origen--pano .dr-origen__col { display: flex; flex-direction: column; gap: 18px; }
body.dr-theme .dr-origen--pano .dr-origen__title { margin: 0; }
@media (max-width: 900px) {
	body.dr-theme .dr-origen--pano .dr-origen__body { grid-template-columns: 1fr; gap: 18px; }
}

/* v3.0.5 — Embutidos, Quesos y Lotes en rejilla (como Jamones y Frescos):
   todos los productos a la vista, sin desplazamiento lateral oculto. */
@media (min-width: 768px) {
	body.dr-theme .elementor-12140 .elementor-element-d56c535 ul.products.products,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c:not(.dr-sec-frescos) ul.products.products,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c ul.products.products {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		column-gap: 24px; row-gap: 56px;
		overflow: visible !important;
		scroll-snap-type: none;
		padding-bottom: 0;
	}
	body.dr-theme .elementor-12140 .elementor-element-d56c535 ul.products.products > li.product,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c ul.products.products > li.product,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c ul.products.products > li.product {
		flex: none !important; width: auto !important; margin: 0 !important;
	}
}
@media (min-width: 1025px) {
	body.dr-theme .elementor-12140 .elementor-element-d56c535 ul.products.products,
	body.dr-theme .elementor-12140 .elementor-element-a697e4c:not(.dr-sec-frescos) ul.products.products,
	body.dr-theme .elementor-12140 .elementor-element-6fc451c ul.products.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

/* ==========================================================================
   v3.1 — Buscador: lupa en la cabecera + panel con resultados al instante
   ========================================================================== */
body.dr-theme .dr-lupa-item { display: flex; align-items: center; }
body.dr-theme .dr-lupa {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; margin: 0 2px 0 6px;
	background: transparent !important; border: 0; border-radius: 999px;
	color: var(--crema) !important; cursor: pointer; box-shadow: none !important;
	transition: background .2s ease;
}
body.dr-theme .dr-lupa:hover,
body.dr-theme .dr-lupa:focus-visible { background: rgba(241,230,218,.12) !important; }
body.dr-theme #mobile-header .dr-lupa { width: 40px; height: 40px; margin: 0; }
body.dr-theme #mobile-header .dr-lupa svg { width: 26px; height: 26px; }

html.dr-buscador-abierto { overflow: hidden; }
.dr-buscador { position: fixed; inset: 0; z-index: 2147483000; }
.dr-buscador[hidden] { display: none; }
.dr-buscador__fondo {
	position: absolute; inset: 0; background: rgba(22,17,14,.55);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	opacity: 0; transition: opacity .18s ease;
}
.dr-buscador__panel {
	position: relative; margin: 0 auto; max-width: 760px;
	background: #fff; color: #111;
	border-radius: 0 0 22px 22px;
	box-shadow: 0 24px 60px rgba(0,0,0,.25);
	transform: translateY(-16px); opacity: 0; transition: transform .2s ease, opacity .18s ease;
	max-height: 86vh; display: flex; flex-direction: column;
	font-family: var(--sans, 'Geist', system-ui, sans-serif);
}
.dr-buscador.is-open .dr-buscador__fondo { opacity: 1; }
.dr-buscador.is-open .dr-buscador__panel { transform: none; opacity: 1; }
.dr-buscador__form {
	display: flex; align-items: center; gap: 12px;
	padding: 18px 18px 18px 24px; border-bottom: 1px solid #E6E1DC;
}
.dr-buscador__icono { flex: none; color: #6E625A; }
.dr-buscador .dr-buscador__input {
	flex: 1; min-width: 0; border: 0 !important; outline: 0; box-shadow: none !important;
	background: transparent !important; padding: 8px 0 !important;
	font: 500 22px/1.2 var(--sans, 'Geist', system-ui, sans-serif); letter-spacing: -0.02em; color: #111;
}
.dr-buscador .dr-buscador__input::-webkit-search-cancel-button { display: none; }
.dr-buscador .dr-buscador__cerrar {
	flex: none; width: 40px; height: 40px; border-radius: 999px; border: 0;
	background: #F4F2EF !important; color: #111 !important; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.dr-buscador .dr-buscador__cerrar:hover { background: #E6E1DC !important; }
.dr-buscador__resultados { overflow-y: auto; padding: 8px 12px 16px; }
.dr-buscador.is-loading .dr-buscador__resultados { opacity: .55; transition: opacity .15s; }
.dr-buscador__ayuda { margin: 14px 12px; color: #6E625A; font-size: 15px; }
.dr-buscador__lista { list-style: none; margin: 0; padding: 0; }
.dr-buscador .dr-buscador__item {
	display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 14px;
	text-decoration: none; color: #111;
}
.dr-buscador .dr-buscador__item:hover,
.dr-buscador .dr-buscador__item:focus-visible { background: #F4F2EF; }
.dr-buscador__img {
	flex: none; width: 56px; height: 56px; border-radius: 10px; background: #fff;
	box-shadow: inset 0 0 0 1px #E6E1DC; overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.dr-buscador__img img { width: 100%; height: 100%; object-fit: contain; }
.dr-buscador__txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.dr-buscador__nombre { font-weight: 500; font-size: 16px; line-height: 1.25; letter-spacing: -0.01em; }
.dr-buscador__precio { font-size: 14px; color: #6E625A; }
.dr-buscador .dr-buscador__todos {
	display: block; margin: 8px 12px 4px; padding: 12px 16px; border-radius: 999px; text-align: center;
	background: #111; color: #fff !important; text-decoration: none; font-weight: 500;
}
.dr-buscador .dr-buscador__todos:hover { background: #2a2420; }
@media (max-width: 767px) {
	.dr-buscador__panel { max-width: none; border-radius: 0 0 18px 18px; max-height: 100vh; }
	.dr-buscador__form { padding: 12px 12px 12px 16px; }
	.dr-buscador .dr-buscador__input { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.dr-buscador__panel, .dr-buscador__fondo { transition: none; }
}

/* =========================================================================
 * v3.2 — Sello de opiniones (Trustpilot)
 * ====================================================================== */
.dr-tp { --tp-verde: #00B67A; font-family: var(--sans); }
.dr-tp a.dr-tp__link {
	display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px 10px;
	text-decoration: none; color: inherit;
}
.dr-tp__stars { display: inline-flex; gap: 2px; flex: none; }
.dr-tp__star {
	width: 20px; height: 20px; background: var(--tp-verde);
	display: inline-flex; align-items: center; justify-content: center;
}
.dr-tp__star svg { width: 15px; height: 15px; }
.dr-tp__marca { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; letter-spacing: -0.01em; }
.dr-tp__texto strong { font-weight: 600; }

/* Portada: franja clara bajo la franja de confianza */
body.dr-theme .dr-tp--franja {
	background: #fff; color: var(--tinta);
	border-bottom: 1px solid var(--grasa-ln);
	padding: 18px 16px; text-align: center;
}
body.dr-theme .dr-tp--franja a.dr-tp__link { justify-content: center; font-size: 16px; gap: 8px 14px; }
body.dr-theme .dr-tp--franja .dr-tp__etiqueta { font-weight: 600; font-size: 18px; }
body.dr-theme .dr-tp--franja .dr-tp__star { width: 26px; height: 26px; }
body.dr-theme .dr-tp--franja .dr-tp__star svg { width: 19px; height: 19px; }
body.dr-theme .dr-tp--franja .dr-tp__cta {
	margin-left: 6px; padding: 6px 14px; border-radius: var(--radius-pill);
	border: 1px solid var(--grasa-ln); font-size: 14px; font-weight: 500;
	transition: background .15s, border-color .15s;
}
body.dr-theme .dr-tp--franja a.dr-tp__link:hover .dr-tp__cta,
body.dr-theme .dr-tp--franja a.dr-tp__link:focus-visible .dr-tp__cta { background: var(--grasa); border-color: var(--tinta-2); }
@media (max-width: 767px) {
	body.dr-theme .dr-tp--franja { padding: 14px 16px; }
	body.dr-theme .dr-tp--franja a.dr-tp__link { font-size: 14px; gap: 6px 10px; }
	body.dr-theme .dr-tp--franja .dr-tp__cta { display: none; } /* toda la franja ya es el enlace */
}

/* Ficha, carrito y pago: línea discreta */
body.dr-theme .dr-tp--linea { margin: 14px 0 6px; font-size: 14px; color: var(--tinta-2); }
body.dr-theme .dr-tp--linea .dr-tp__star { width: 17px; height: 17px; }
body.dr-theme .dr-tp--linea .dr-tp__star svg { width: 13px; height: 13px; }
body.dr-theme .dr-tp--linea .dr-tp__texto strong,
body.dr-theme .dr-tp--linea .dr-tp__marca { color: var(--tinta); }
body.dr-theme .dr-tp--linea a.dr-tp__link:hover .dr-tp__texto { text-decoration: underline; }
body.dr-theme .cart_totals .dr-tp--linea,
body.dr-theme #order_review .dr-tp--linea,
body.dr-theme .wc-block-cart .dr-tp--linea,
body.dr-theme .wc-block-checkout .dr-tp--linea { text-align: center; }
body.dr-theme .cart_totals .dr-tp--linea a.dr-tp__link,
body.dr-theme .wc-block-cart .dr-tp--linea a.dr-tp__link { justify-content: center; }

/* Pie: sobre fondo oscuro */
body.dr-theme .dr-tp-pie {
	padding: 22px 16px; text-align: center;
	border-top: 1px solid rgba(255,255,255,.12);
}
body.dr-theme .dr-tp--pie { font-size: 14px; }
body.dr-theme #colophon .dr-tp--pie a.dr-tp__link { justify-content: center; color: rgba(255,255,255,.88); }
body.dr-theme #colophon .dr-tp--pie a.dr-tp__link:hover .dr-tp__texto { text-decoration: underline; }
body.dr-theme .dr-tp--pie .dr-tp__star { width: 18px; height: 18px; }
body.dr-theme .dr-tp--pie .dr-tp__star svg { width: 14px; height: 14px; }

/* =========================================================================
 * v3.3 — Página "Quiénes Somos"
 * ====================================================================== */
body.dr-qs-page .entry-header,
body.dr-qs-page .entry-hero,
body.dr-qs-page .page-title { display: none !important; }
body.dr-qs-page .content-area { margin: 0 !important; }
body.dr-qs-page .entry-content-wrap { padding: 0 !important; }
body.dr-qs-page .entry.single-entry { box-shadow: none !important; background: transparent !important; border-radius: 0 !important; }
body.dr-qs-page .entry-content { margin: 0 !important; }
body.dr-qs-page .site-main > .content-wrap,
body.dr-qs-page .content-container.site-container { max-width: none !important; padding: 0 !important; }

.dr-qs { font-family: var(--sans); color: var(--tinta); }
.dr-qs * { box-sizing: border-box; }
.dr-qs img { display: block; max-width: 100%; height: auto; }
.dr-qs-wrap { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.dr-qs .dr-qs-eyebrow {
	margin: 0 0 18px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--tinta-2);
}
.dr-qs .dr-qs-h2 {
	margin: 0; font-family: var(--sans); font-weight: 600; letter-spacing: -0.045em; line-height: 1.02;
	font-size: clamp(36px, 4.4vw, 64px); color: var(--negro, #111);
}
.dr-qs .dr-qs-h2--centro { text-align: center; }

/* Portada */
.dr-qs-hero {
	background: var(--negro, #111); color: #fff;
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 56px;
	padding: clamp(64px, 9vw, 128px) max(24px, calc((100vw - 1320px) / 2));
}
.dr-qs-hero .dr-qs-eyebrow { color: rgba(255,255,255,.6); }
.dr-qs .dr-qs-hero__title {
	margin: 0; color: #fff; font-family: var(--sans); font-weight: 600;
	font-size: clamp(56px, 7.4vw, 120px); line-height: .95; letter-spacing: -0.055em;
}
.dr-qs .dr-qs-hero__lead { margin: 28px 0 0; max-width: 36ch; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; color: rgba(255,255,255,.78); }
.dr-qs-hero__media { margin: 0; border-radius: var(--radius-lg, 22px); overflow: hidden; }
/* La foto lleva el logotipo arriba a la derecha: se encuadra la parte izquierda. */
.dr-qs-hero__img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: 0% 100%; transform: scale(1.15); transform-origin: 0% 100%; }

/* Historia */
.dr-qs-historia { padding: clamp(80px, 10vw, 150px) 0; }
.dr-qs-historia__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: start; }
.dr-qs .dr-qs-historia__texto p { margin: 0 0 1.1em; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.65; color: var(--tinta-2); }
.dr-qs .dr-qs-historia__texto p:first-child { color: var(--tinta); font-size: clamp(19px, 1.6vw, 23px); line-height: 1.5; letter-spacing: -0.01em; }

/* Proceso */
.dr-qs-proceso { background: var(--grasa-2, #F4F2EF); padding: clamp(80px, 10vw, 140px) 0; }
.dr-qs-proceso__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: start; }
.dr-qs-proceso__intro { position: sticky; top: 140px; }
.dr-qs-proceso__media { margin: 40px 0 0; border-radius: var(--radius-lg, 22px); overflow: hidden; }
.dr-qs-proceso__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.dr-qs-pasos { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.dr-qs-paso { padding: 34px 0; border-top: 1px solid var(--grasa-ln, #E6E1DC); display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; }
.dr-qs-paso:last-child { border-bottom: 1px solid var(--grasa-ln, #E6E1DC); }
.dr-qs-paso__n { grid-row: span 2; font-size: 15px; font-weight: 600; color: var(--tinta-2); font-variant-numeric: tabular-nums; padding-top: 6px; }
.dr-qs .dr-qs-paso__t { margin: 0 0 8px; font-family: var(--sans); font-size: clamp(22px, 2vw, 28px); font-weight: 600; letter-spacing: -0.03em; color: var(--negro, #111); }
.dr-qs .dr-qs-paso__d { margin: 0; font-size: 17px; line-height: 1.6; color: var(--tinta-2); }

/* Tierra */
.dr-qs-tierra { position: relative; min-height: clamp(460px, 52vw, 720px); display: flex; align-items: flex-end; overflow: hidden; background: #1a1612; }
.dr-qs-tierra__media, .dr-qs-tierra__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.dr-qs-tierra__img { object-fit: cover; object-position: 50% 60%; }
.dr-qs-tierra::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.72) 100%); }
.dr-qs-tierra__body { position: relative; z-index: 1; color: #fff; padding: 0 max(24px, calc((100vw - 1320px) / 2)) clamp(40px, 6vw, 80px); max-width: calc(760px + 2 * max(24px, calc((100vw - 1320px) / 2))); }
.dr-qs-tierra .dr-qs-eyebrow { color: rgba(255,255,255,.7); }
.dr-qs .dr-qs-tierra__title { margin: 0; color: #fff; font-family: var(--sans); font-weight: 600; letter-spacing: -0.045em; line-height: 1.02; font-size: clamp(36px, 4.6vw, 68px); }
.dr-qs .dr-qs-tierra__lead { margin: 18px 0 0; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: rgba(255,255,255,.85); max-width: 46ch; }

/* Confianza */
.dr-qs-confianza { padding: clamp(80px, 10vw, 140px) 0; }
.dr-qs-sellos { list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dr-qs-sello { background: var(--grasa-2, #F4F2EF); border-radius: var(--radius-lg, 22px); padding: 36px 32px; }
.dr-qs-sello__ico { display: inline-flex; align-items: center; justify-content: center; min-width: 56px; height: 56px; padding: 0 14px; border-radius: 999px; background: #fff; color: var(--negro, #111); margin-bottom: 24px; }
.dr-qs-sello__ico .dr-ico { width: 28px; height: 28px; color: var(--negro, #111); }
.dr-qs-sello__ico--tp { --tp-verde: #00B67A; }
.dr-qs-sello__ico--tp .dr-tp__star { width: 20px; height: 20px; }
.dr-qs-sello__ico--tp .dr-tp__star svg { width: 15px; height: 15px; }
.dr-qs .dr-qs-sello__t { margin: 0 0 10px; font-family: var(--sans); font-size: 22px; font-weight: 600; letter-spacing: -0.025em; color: var(--negro, #111); }
.dr-qs .dr-qs-sello__d { margin: 0; font-size: 16px; line-height: 1.55; color: var(--tinta-2); }
.dr-qs .dr-qs-sello__d a { color: var(--negro, #111); text-decoration: underline; text-underline-offset: 3px; }

/* Llamada final */
.dr-qs-cta { position: relative; overflow: hidden; background: var(--negro, #111); color: #fff; text-align: center; }
.dr-qs-cta__media, .dr-qs-cta__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.dr-qs-cta__img { object-fit: cover; opacity: .45; }
.dr-qs-cta__body { position: relative; z-index: 1; padding: clamp(96px, 12vw, 170px) 24px; }
.dr-qs .dr-qs-cta__title { margin: 0 0 32px; color: #fff; font-family: var(--sans); font-weight: 600; letter-spacing: -0.05em; line-height: 1; font-size: clamp(40px, 5.6vw, 88px); }
.dr-qs-cta__btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
body.dr-theme .dr-btn--blanco { background: #fff; color: var(--negro, #111); }
body.dr-theme .dr-btn--blanco:hover { background: var(--grasa-2, #F4F2EF); color: var(--negro, #111); }
.dr-qs-cta .dr-btn--light { color: #fff; border-color: rgba(255,255,255,.55); }
.dr-qs-cta .dr-btn--light:hover { background: #fff; color: var(--negro, #111); border-color: #fff; }
.dr-qs .dr-qs-cta__nota { margin: 28px 0 0; font-size: 16px; color: rgba(255,255,255,.75); }
.dr-qs .dr-qs-cta__nota a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
	.dr-qs-hero { grid-template-columns: 1fr; gap: 40px; padding: 56px 16px 40px; }
	.dr-qs-wrap { padding: 0 16px; }
	.dr-qs-historia__grid, .dr-qs-proceso__grid { grid-template-columns: 1fr; gap: 32px; }
	.dr-qs-proceso__intro { position: static; }
	.dr-qs-proceso__media { margin-top: 28px; }
	.dr-qs-paso { grid-template-columns: 44px minmax(0, 1fr); padding: 26px 0; }
	.dr-qs-tierra__body { padding: 0 16px 40px; }
	.dr-qs-sellos { grid-template-columns: 1fr; margin-top: 36px; }
	.dr-qs-sello { padding: 28px 24px; }
	.dr-qs-cta__btns .dr-btn { flex: 1 1 100%; }
}

/* =========================================================================
 * v3.4 — Envíos y Contacto (misma línea que Quiénes Somos)
 * ====================================================================== */
.dr-qs-hero--solo { grid-template-columns: minmax(0, 1fr); padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(56px, 7vw, 96px); }
.dr-qs-hero--solo .dr-qs-hero__inner { max-width: 900px; }
.dr-qs .dr-qs-hero--solo .dr-qs-hero__lead { max-width: 52ch; }

/* Envíos */
.dr-env { padding: clamp(56px, 7vw, 100px) 0 clamp(80px, 9vw, 130px); }
.dr-env__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dr-env-card { background: var(--grasa-2, #F4F2EF); border-radius: var(--radius-lg, 22px); padding: clamp(28px, 3.4vw, 48px); display: flex; flex-direction: column; }
.dr-env-card__head { display: flex; gap: 18px; align-items: center; }
.dr-env-card__ico { flex: none; width: 56px; height: 56px; border-radius: 999px; background: #fff; display: inline-flex; align-items: center; justify-content: center; }
.dr-env-card__ico .dr-ico { width: 26px; height: 26px; color: var(--negro, #111); }
.dr-qs .dr-env-card__t { margin: 0; font-family: var(--sans); font-size: clamp(24px, 2.2vw, 32px); font-weight: 600; letter-spacing: -0.035em; color: var(--negro, #111); }
.dr-qs .dr-env-card__que { margin: 4px 0 0; font-size: 15px; color: var(--tinta-2); }
.dr-qs .dr-env-card__gratis { margin: 32px 0 24px; font-size: clamp(22px, 2vw, 28px); font-weight: 500; letter-spacing: -0.03em; color: var(--negro, #111); line-height: 1.2; }
.dr-env-card__gratis span { display: block; font-size: clamp(40px, 4.4vw, 64px); font-weight: 600; letter-spacing: -0.05em; line-height: 1; margin-bottom: 6px; }
.dr-env-card__filas { margin: 0; border-top: 1px solid var(--grasa-ln, #E6E1DC); }
.dr-env-card__filas > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--grasa-ln, #E6E1DC); }
.dr-env-card__filas dt { font-size: 15px; color: var(--tinta-2); font-weight: 400; }
.dr-env-card__filas dd { margin: 0; font-size: 16px; font-weight: 500; color: var(--negro, #111); text-align: right; }
.dr-qs .dr-env-card__nota { margin: 16px 0 0; font-size: 13px; color: var(--tinta-2); }
.dr-env-avisos { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dr-env-avisos li { border: 1px solid var(--grasa-ln, #E6E1DC); border-radius: var(--radius-lg, 22px); padding: 28px; }
.dr-qs .dr-env-avisos h3 { margin: 0 0 8px; font-family: var(--sans); font-size: 18px; font-weight: 600; letter-spacing: -0.02em; color: var(--negro, #111); }
.dr-qs .dr-env-avisos p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--tinta-2); }
.dr-env-avisos a, .dr-qs-sello__d a { color: var(--negro, #111); text-decoration: underline; text-underline-offset: 3px; }

/* Contacto */
.dr-ct { padding: clamp(56px, 7vw, 100px) 0 clamp(80px, 9vw, 130px); }
.dr-ct__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.dr-ct-form { background: var(--grasa-2, #F4F2EF); border-radius: var(--radius-lg, 22px); padding: clamp(28px, 3.4vw, 48px); }
.dr-qs .dr-ct-form__t { margin: 0 0 28px; font-family: var(--sans); font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; letter-spacing: -0.035em; color: var(--negro, #111); }
.dr-ct-form .wpcf7-form p { margin: 0 0 18px; }
.dr-ct-form .wpcf7-form label { display: block; font-size: 14px; font-weight: 500; color: var(--tinta); }
.dr-ct-form .wpcf7-form br { display: none; }
.dr-ct-form .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.dr-ct-form input[type="text"],
.dr-ct-form input[type="email"],
.dr-ct-form input[type="tel"],
.dr-ct-form textarea {
	width: 100%; background: #fff; border: 1px solid var(--grasa-ln, #E6E1DC); border-radius: 14px;
	padding: 14px 16px; font: inherit; font-size: 16px; color: var(--negro, #111); box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.dr-ct-form textarea { min-height: 150px; resize: vertical; }
.dr-ct-form input:focus, .dr-ct-form textarea:focus { outline: none; border-color: var(--negro, #111); box-shadow: 0 0 0 3px rgba(17,17,17,.08); }
.dr-ct-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.dr-ct-form .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--tinta-2); }
.dr-ct-form .wpcf7-acceptance input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--negro, #111); }
.dr-ct-form .wpcf7-acceptance a { color: var(--negro, #111); text-decoration: underline; text-underline-offset: 3px; }
.dr-ct-form input[type="submit"] {
	min-height: 52px; padding: 0 36px; border: 0; border-radius: 999px; background: var(--negro, #111); color: #fff;
	font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .2s;
}
.dr-ct-form input[type="submit"]:hover { background: var(--negro-2, #2E2E2E); }
.dr-ct-form input[type="submit"]:disabled { opacity: .45; cursor: not-allowed; }
.dr-ct-form .wpcf7-response-output { margin: 18px 0 0 !important; border-radius: 14px; padding: 12px 16px !important; font-size: 15px; }
.dr-ct-form .wpcf7-not-valid-tip { font-size: 13px; margin-top: 6px; }
.dr-ct-info { display: grid; gap: 16px; }
.dr-ct-bloque { border: 1px solid var(--grasa-ln, #E6E1DC); border-radius: var(--radius-lg, 22px); padding: 28px; }
.dr-qs .dr-ct-bloque__t { margin: 0 0 14px; font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-2); }
.dr-ct-bloque__dir { font-style: normal; font-size: 18px; line-height: 1.55; color: var(--negro, #111); margin: 0 0 18px; }
.dr-ct-bloque__dir strong { font-weight: 600; }
.dr-qs .dr-ct-bloque p { margin: 0 0 18px; font-size: 16px; line-height: 1.55; }
.dr-ct-enlace { font-weight: 600; font-size: 15px; color: var(--negro, #111); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.dr-ct-enlace:hover { opacity: .7; }
.dr-ct-redes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dr-ct-redes a { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--grasa-ln, #E6E1DC); color: var(--negro, #111); font-size: 15px; font-weight: 500; text-decoration: none; transition: background .15s, border-color .15s; }
.dr-ct-redes a:hover { background: var(--negro, #111); border-color: var(--negro, #111); color: #fff; }
.dr-ct-bloque--oscuro { background: var(--negro, #111); border-color: var(--negro, #111); color: #fff; }
.dr-qs .dr-ct-bloque--oscuro .dr-ct-bloque__t { color: rgba(255,255,255,.6); }
.dr-qs .dr-ct-bloque--oscuro p { color: rgba(255,255,255,.8); }
.dr-ct-bloque--oscuro .dr-ct-enlace { color: #fff; }
.dr-ct-mapa { margin-top: 16px; border-radius: var(--radius-lg, 22px); overflow: hidden; background: var(--grasa-2, #F4F2EF); }
.dr-ct-mapa iframe { display: block; width: 100%; height: clamp(320px, 34vw, 460px); border: 0; filter: grayscale(1) contrast(1.05); }

@media (max-width: 900px) {
	.dr-env__grid, .dr-env-avisos, .dr-ct__grid { grid-template-columns: 1fr; }
	.dr-env-card__filas > div { grid-template-columns: 1fr; gap: 4px; }
	.dr-env-card__filas dd { text-align: left; }
	.dr-qs-hero--solo { padding: 48px 16px 40px; }
}
.dr-qs ul.dr-ct-redes, .dr-qs ul.dr-qs-sellos, .dr-qs ul.dr-env-avisos, .dr-qs ol.dr-qs-pasos { margin-left: 0; padding-left: 0; }
.dr-qs ul.dr-ct-redes li { margin: 0; }

/* v3.4.1 — Vídeo del proceso en Quiénes Somos */
.dr-qs-video { background: var(--negro, #111); color: #fff; padding: clamp(80px, 10vw, 140px) 0; }
.dr-qs-video .dr-qs-eyebrow { color: rgba(255,255,255,.6); }
.dr-qs .dr-qs-video .dr-qs-h2 { color: #fff; }
.dr-qs-video__head { max-width: 760px; margin-bottom: 40px; }
.dr-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius-lg, 22px); overflow: hidden; background: #000; }
.dr-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dr-video__btn { position: absolute; inset: 0; display: block; color: #fff; text-decoration: none; }
/* La miniatura de YouTube trae bandas negras a los lados: se recortan con un ligero zoom. */
.dr-video__poster { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform .8s var(--ease), opacity .3s; opacity: .85; }
.dr-video__btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 40%, rgba(0,0,0,.6)); }
.dr-video__play {
	position: absolute; left: 50%; top: 50%; z-index: 1; transform: translate(-50%, -50%);
	width: 88px; height: 88px; border-radius: 999px; background: #fff; color: var(--negro, #111);
	display: flex; align-items: center; justify-content: center; padding-left: 4px;
	box-shadow: 0 18px 40px rgba(0,0,0,.35); transition: transform .25s var(--ease);
}
.dr-video__label { position: absolute; left: clamp(20px, 3vw, 36px); bottom: clamp(18px, 3vw, 32px); right: 20px; z-index: 1; font-size: clamp(16px, 1.4vw, 19px); font-weight: 500; letter-spacing: -0.01em; }
.dr-video__btn:hover .dr-video__poster { transform: scale(1.15); opacity: 1; }
.dr-video__btn:hover .dr-video__play, .dr-video__btn:focus-visible .dr-video__play { transform: translate(-50%, -50%) scale(1.08); }
.dr-video__btn:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
@media (max-width: 900px) {
	.dr-qs-video__head { margin-bottom: 28px; }
	.dr-video { border-radius: 16px; }
	.dr-video__play { width: 64px; height: 64px; }
	.dr-video__label { display: none; }
}

/* v3.4.2 — Cabeceras de Envíos y Contacto con foto semitransparente */
.dr-qs-hero--fondo { position: relative; overflow: hidden; isolation: isolate; }
.dr-qs-hero__fondo { position: absolute; inset: 0; z-index: -1; }
.dr-qs-hero__fondo img {
	position: absolute; top: 0; right: 0; width: 72%; height: 100%; max-width: none;
	object-fit: cover; object-position: 60% 50%; opacity: .55;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 45%);
}
.dr-qs-hero--fondo .dr-qs-hero__inner { position: relative; }
@media (max-width: 900px) {
	.dr-qs-hero__fondo img {
		width: 100%; opacity: .32;
		-webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
		mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
	}
}
