/* ===== DigiVet — estilos del front ===== */

/* Formularios Contact Form 7 */
.dv-form label {
	display: block;
	margin-bottom: 1rem;
	font-weight: 600;
	color: #26201C;
}
.dv-form input[type="text"],
.dv-form input[type="email"],
.dv-form input[type="tel"],
.dv-form select,
.dv-form textarea {
	width: 100%;
	padding: 0.8rem 1rem;
	margin-top: 0.35rem;
	border: 1px solid #E6DCCB;
	border-radius: 10px;
	font: inherit;
	font-weight: 400;
	background: #fff;
	color: #26201C;
	box-sizing: border-box;
}
.dv-form input:focus,
.dv-form select:focus,
.dv-form textarea:focus {
	outline: none;
	border-color: #F6A81C;
	box-shadow: 0 0 0 3px rgba(246, 168, 28, 0.22);
}
.dv-form textarea { min-height: 130px; resize: vertical; }

.dv-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
}

.dv-form .wpcf7-submit {
	background: #F6A81C;
	color: #26201C;
	border: none;
	border-radius: 10px;
	padding: 0.95rem 2.2rem;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	margin-top: 0.5rem;
	transition: background 0.15s ease, color 0.15s ease;
}
.dv-form .wpcf7-submit:hover { background: #E0940C; color: #fff; }

.wpcf7-response-output { border-radius: 10px; margin: 1rem 0 0 !important; }
.wpcf7-not-valid-tip { color: #d63638; font-weight: 600; }

@media (max-width: 600px) {
	.dv-form-row { grid-template-columns: 1fr; }
}

/* Tarjetas de categoría con hover suave (home) */
.wp-block-column.has-cream-background-color { transition: transform 0.15s ease, box-shadow 0.15s ease; }
.wp-block-column.has-cream-background-color:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(38,32,28,0.08); }

/* ===== HEADER (estilo referencia) ===== */
.dv-topbar { max-width: calc(1440px + 48px); margin: 0 auto; width: 100%; gap: 1.5rem !important; }
.dv-topbar .wp-block-site-logo { flex: 0 0 auto; }
.dv-topbar .wp-block-site-logo img { width: 92px; height: auto; }

.dv-search { flex: 1 1 auto; min-width: 0; }
.dv-search-form { display: flex; align-items: center; background: #F1EFEA; border-radius: 999px; padding: 5px 5px 5px 20px; }
.dv-search-form input[type="search"] { flex: 1 1 auto; min-width: 0; border: none; background: transparent; padding: 0.65rem 0; font: inherit; color: #26201C; outline: none; }
.dv-search-form input[type="search"]::placeholder { color: #9C9186; }
.dv-search-form button { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: #F6A81C; border: none; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s; }
.dv-search-form button:hover { background: #E0940C; }
.dv-search-form button svg { width: 20px; height: 20px; }

.dv-actions { flex: 0 0 auto; gap: 1.2rem !important; }
.dv-acct { color: #26201C; display: inline-flex; }
.dv-acct svg { width: 26px; height: 26px; }
.dv-topbar .wc-block-mini-cart__button { color: #26201C; }

/* Barra de navegación */
.dv-navbar { border-top: 1px solid #F0ECE4; }
.dv-navbar-inner { max-width: 1440px; margin: 0 auto; width: 100%; flex-wrap: nowrap !important; column-gap: 1.5rem !important; row-gap: 0 !important; justify-content: flex-start !important; overflow-x: auto; scrollbar-width: none; }
.dv-navbar-inner::-webkit-scrollbar { display: none; }
@media (min-width: 782px) { .dv-navbar .wp-block-navigation__responsive-container-open { display: none !important; } }
.dv-navbar .wp-block-navigation { margin-left: 0 !important; }
.dv-navbar .wp-block-navigation__responsive-container,
.dv-navbar .wp-block-navigation__container { padding-left: 0 !important; margin-left: 0 !important; }
.dv-navbar nav { flex: 0 1 auto; min-width: 0; }
.dv-navbar nav .wp-block-navigation__container { justify-content: flex-start; flex-wrap: nowrap; }
.dv-volume { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.4rem; background: #F6A81C; color: #26201C; font-weight: 700; font-size: 0.9rem; border-radius: 999px; padding: 0.42rem 1rem; white-space: nowrap; text-decoration: none; transition: background .15s; }
.dv-volume i { font-size: 1.15em; }
.dv-volume:hover { background: #E0940C; color: #fff; }
.dv-navbar nav .wp-block-navigation__container { gap: 1.4rem; }
.dv-navbar nav a { font-weight: 600; color: #26201C; font-size: 0.95rem; white-space: nowrap; }
.dv-navbar nav .wp-block-navigation-item { white-space: nowrap; }
.dv-navbar nav a:hover { color: #E0940C; }

@media (max-width: 860px) {
	.dv-topbar { flex-wrap: wrap !important; }
	.dv-search { order: 3; flex-basis: 100%; }
}

/* ===== Landing genérica de producto ([dv_landing]) ===== */
.dvl-btn { display: inline-block; background: var(--wp--preset--color--brand); color: var(--wp--preset--color--contrast); font-weight: 700; border-radius: 10px; padding: 0.85em 1.7em; text-decoration: none; transition: background 0.15s, color 0.15s; }
.dvl-btn:hover { background: var(--wp--preset--color--brand-dark); color: #fff; }
.dvl-btn--ghost { background: transparent; color: var(--wp--preset--color--contrast); border: 2px solid var(--wp--preset--color--contrast); padding: calc(0.85em - 2px) calc(1.7em - 2px); }
.dvl-btn--ghost:hover { background: var(--wp--preset--color--contrast); color: #fff; }
.dvl-cta { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1.5rem; }
.dvl-cta--center { justify-content: center; }

.dvl-hero { background: var(--wp--preset--color--cream); padding: clamp(2.5rem,5vw,4rem) 24px; }
.dvl-hero__inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; gap: 2.5rem; }
.dvl-hero__media { flex: 0 0 44%; max-width: 44%; }
.dvl-hero__media img { width: 100%; height: auto; display: block; border-radius: 16px; background: #fff; box-shadow: 0 8px 30px rgba(38,32,28,0.08); }
.dvl-hero__body { flex: 1 1 auto; }
.dvl-eyebrow { font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8rem; color: var(--wp--preset--color--brand-dark); margin: 0; }
.dvl-title { font-family: var(--wp--preset--font-family--beiruti); font-weight: 700; line-height: 1.1; font-size: clamp(1.8rem,3.2vw,2.6rem); margin: 0.4rem 0 0.75rem; }
.dvl-lead { color: var(--wp--preset--color--accent-4); font-size: 1.05rem; margin: 0; }

.dvl-sec { max-width: 760px; margin: 0 auto; padding: clamp(2rem,4vw,3rem) 24px; }
.dvl-ficha ul { list-style: none; margin: 1rem 0 0; padding: 0; }
.dvl-ficha li { padding: 0.7rem 0; border-bottom: 1px solid #F0ECE4; }
.dvl-band { background: var(--wp--preset--color--accent-5); padding: clamp(2.5rem,5vw,4rem) 24px; }
.dvl-band__inner { max-width: 1100px; margin: 0 auto; }
.dvl-band h2, .dvl-final h2 { text-align: center; }
.dvl-trust { max-width: 900px; }
.dvl-final { text-align: center; }
.dvl-final p { color: var(--wp--preset--color--accent-4); margin: 0.5rem 0 1.5rem; }

@media (max-width: 820px) {
	.dvl-hero__inner { flex-direction: column; }
	.dvl-hero__media { flex-basis: auto; max-width: 320px; }
}

/* ===== Landing de producto (ExterPro) ===== */
.dv-landing-hero .wp-block-columns { align-items: center; }
.dv-landing-img { margin: 0; }
.dv-landing-img img { width: 100%; height: auto; display: block; border-radius: 16px; background: #fff; box-shadow: 0 8px 30px rgba(38,32,28,0.08); }
.dv-ingrediente { display: inline-flex; align-items: center; gap: 0.5rem; background: #fff; border: 1px solid #EFE6D7; border-radius: 999px; padding: 0.4rem 1rem; font-size: 0.92rem; margin: 0.75rem 0 0; }
.dv-ingrediente i { color: #F6A81C; font-size: 1.2rem; }
.dv-precio { margin-top: 1.25rem; }
.dv-precio__val, .dv-precio__val .amount, .dv-precio__val bdi { font-family: var(--wp--preset--font-family--beiruti); font-size: 2rem; font-weight: 800; color: #26201C; }
.dv-precio__nota { display: block; color: #6E635B; font-size: 0.9rem; margin-top: 0.35rem; }

.dv-domino-inner { display: flex; align-items: center; gap: 1.75rem; max-width: 900px; margin: 0 auto; }
.dv-domino-num { font-family: var(--wp--preset--font-family--beiruti); font-weight: 800; font-size: clamp(3rem,7vw,5rem); color: #F6A81C; line-height: 1; flex: 0 0 auto; }
.dv-domino-txt { font-size: 1.05rem; line-height: 1.6; }
.dv-domino-txt strong { color: #F6A81C; }

.dv-benefits { display: grid; grid-template-columns: repeat(5,1fr); gap: 1.75rem; margin-top: 2.25rem; }
.dv-benefits .b { text-align: center; }
.dv-benefits .b i { font-size: 46px; color: #F6A81C; }
.dv-benefits .b h3 { font-size: 1.02rem; margin: 0.6rem 0 0.35rem; }
.dv-benefits .b p { font-size: 0.86rem; color: #6E635B; line-height: 1.45; }

.dv-trust-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.75rem; }
.dv-trust-cards .tc { display: flex; gap: 0.9rem; align-items: flex-start; }
.dv-trust-cards .tc i { font-size: 34px; color: #F6A81C; flex: 0 0 auto; }
.dv-trust-cards .tc strong { display: block; color: #26201C; }
.dv-trust-cards .tc span { font-size: 0.88rem; color: #6E635B; }

@media (max-width: 820px) {
	.dv-benefits { grid-template-columns: 1fr 1fr; }
	.dv-trust-cards { grid-template-columns: 1fr; }
	.dv-domino-inner { flex-direction: column; text-align: center; }
}

/* ===== Archivo de producto (tienda / categoría) con sidebar ===== */
.dv-archive-cols { align-items: flex-start; }
.dv-archive .dv-sidebar__title {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 1.05rem; font-weight: 700;
	border-bottom: 2px solid #F0ECE4; padding-bottom: 0.6rem;
	margin: 1.75rem 0 1rem;
}
.dv-archive .dv-sidebar > .dv-sidebar__title:first-child { margin-top: 0; }

/* Lista de categorías */
.dv-sidebar .wc-block-product-categories-list { list-style: none; margin: 0; padding: 0; }
.dv-sidebar .wc-block-product-categories-list li { margin: 0 0 0.55rem; padding-left: 1.7rem; position: relative; font-size: 0.92rem; line-height: 1.4; }
.dv-sidebar .wc-block-product-categories-list li::before {
	content: ""; position: absolute; left: 0; top: 0.1rem; width: 1.15rem; height: 1.15rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F6A81C'%3E%3Cellipse cx='6.5' cy='11' rx='2' ry='2.7'/%3E%3Cellipse cx='11' cy='8.5' rx='2' ry='2.8'/%3E%3Cellipse cx='15.5' cy='9' rx='2' ry='2.7'/%3E%3Cellipse cx='19' cy='12.5' rx='1.8' ry='2.4'/%3E%3Cpath d='M12.7 12.5c-2.6 0-4.5 2-4.5 4 0 1.6 1.3 2.4 2.6 2.4 .9 0 1.2-.35 1.9-.35s1 .35 1.9 .35c1.3 0 2.6-.8 2.6-2.4 0-2-1.9-4-4.5-4z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.dv-sidebar .wc-block-product-categories-list a { color: #26201C; text-decoration: none; }
.dv-sidebar .wc-block-product-categories-list a:hover { color: #E0940C; }
.dv-sidebar .wc-block-product-categories-list-item-count { color: #9C9186; }
.dv-sidebar .wc-block-product-categories-list li.current-cat > a { color: #E0940C; font-weight: 700; }

/* Etiquetas como pills */
.dv-sidebar .dv-tags a {
	display: inline-block; border: 1px solid #E6DCCB; border-radius: 999px;
	padding: 0.28rem 0.85rem; margin: 0 0.35rem 0.55rem 0;
	font-size: 0.8rem !important; color: #6E635B; text-decoration: none;
}
.dv-sidebar .dv-tags a:hover { border-color: #F6A81C; color: #26201C; }

/* El grid clásico ocupa todo el ancho de su columna (sin sidebar clásico) */
.dv-archive-main .woocommerce { width: 100%; }
.dv-archive-main #secondary, .dv-archive-main .widget-area { display: none; }

@media (max-width: 780px) { .dv-archive-cols { display: block; } .dv-sidebar { margin-bottom: 2rem; } }

/* ===== Tarjeta de producto ===== */
.woocommerce ul.products li.product,
.woocommerce div.product div.images { position: relative; }

/* Título de producto: fuente de texto (no display) y color estándar */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--manrope);
	font-weight: 700;
	letter-spacing: 0;
	color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--wp--preset--color--brand-dark); }

.dv-nuevo {
	position: absolute; top: 22px; left: 22px; z-index: 3;
	display: inline-flex; align-items: center; height: 28px; padding: 0 0.75rem;
	border-radius: 999px; background: #F6A81C;
	font: 800 0.66rem/1 Manrope, sans-serif;
	text-transform: uppercase; letter-spacing: 0.08em; color: #26201C;
	box-shadow: 0 4px 12px rgba(246,168,28,0.40);
	pointer-events: none;
}

/* ===== HOME (estilo referencia) ===== */

/* Hero */
.dv-hero .wp-block-cover__inner-container { max-width: 1440px; margin: 0 auto; width: 100%; }
.dv-hero h1 { color: #fff; font-size: clamp(2.4rem, 4.2vw, 3.6rem); line-height: 1.08; max-width: 15ch; }
.dv-hero p { color: #fff; font-size: 1.1rem; max-width: 34ch; }

/* Fila de beneficios */
.dv-trust {
	max-width: 1440px; margin: 0 auto; padding: 2.5rem 24px;
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5rem;
}
.dv-trust .item { display: flex; gap: 0.85rem; align-items: flex-start; border-left: 1px solid #EFE6D7; padding-left: 1rem; }
.dv-trust .item:first-child { border-left: none; padding-left: 0; }
.dv-trust .item i { flex: 0 0 auto; width: 54px; height: 54px; display: inline-flex; align-items: center; justify-content: center; background: #FFF6E1; border-radius: 16px; color: #E0940C; font-size: 28px; line-height: 1; transition: transform .2s ease, background .2s ease; }
.dv-trust .item:hover i { transform: translateY(-2px); background: #FCE9BE; }
.dv-trust strong { display: block; font-weight: 700; font-size: 0.9rem; line-height: 1.3; color: #26201C; margin-bottom: 0.2rem; }
.dv-trust span { font-size: 0.82rem; color: #6E635B; line-height: 1.35; }
@media (max-width: 980px) { .dv-trust { grid-template-columns: 1fr 1fr; } .dv-trust .item { border-left: none; padding-left: 0; } }
@media (max-width: 560px) { .dv-trust { grid-template-columns: 1fr; } }

/* Banners de categoría */
.dv-banners {
	max-width: 1440px; margin: 1rem auto 0; padding: 1rem 24px 2rem;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem;
}
.dv-banners a { display: block; border-radius: 14px; overflow: hidden; line-height: 0; box-shadow: 0 4px 16px rgba(38,32,28,0.08); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.dv-banners a:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(38,32,28,0.14); }
.dv-banners img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
@media (max-width: 900px) { .dv-banners { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .dv-banners { grid-template-columns: 1fr; } }

/* Encabezado de sección con botón a la derecha */
.dv-section-head { max-width: 1440px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.dv-section-head h2 { margin: 0; }

/* Barra WhatsApp fija */
.dv-wa-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
	background: #F6A81C; color: #fff; text-align: center;
	padding: 0.7rem 1rem; font-weight: 700; letter-spacing: 0.02em;
	box-shadow: 0 -2px 12px rgba(0,0,0,0.12);
}
.dv-wa-bar a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.5rem; }
.dv-wa-bar svg { width: 22px; height: 22px; }
body { padding-bottom: 3rem; }

/* ===== FOOTER (estilo referencia) ===== */
.dv-footer { background: #241E1B; color: #EFE6D7; padding: clamp(2.5rem, 5vw, 4rem) 24px 1.5rem; }
.dv-footer .inner { max-width: 1440px; margin: 0 auto; }
.dv-footer .cols { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; }
.dv-footer img.logo { width: 120px; margin-bottom: 1rem; }
.dv-footer h4 { color: #fff; font-family: Beiruti, sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: 0.03em; margin: 0 0 1rem; text-transform: uppercase; }
.dv-footer p { color: #C9BCAC; font-size: 0.9rem; line-height: 1.6; margin: 0 0 0.6rem; }
.dv-footer a { color: #C9BCAC; text-decoration: none; }
.dv-footer a:hover { color: #F6A81C; }
.dv-footer ul { list-style: none; margin: 0; padding: 0; }
.dv-footer ul li { margin-bottom: 0.55rem; font-size: 0.9rem; }
.dv-footer .contact strong { color: #F6A81C; }

.dv-footer .news { grid-column: 1 / -1; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid #3A322C; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.dv-footer .news .txt { max-width: 520px; }
.dv-footer .news h4 { margin-bottom: 0.4rem; }
.dv-footer .news form { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.dv-footer .news input { padding: 0.75rem 1rem; border-radius: 10px; border: none; min-width: 240px; font: inherit; }
.dv-footer .news button { background: #F6A81C; color: #26201C; border: none; border-radius: 10px; padding: 0.75rem 1.6rem; font-weight: 700; cursor: pointer; }
.dv-footer .news button:hover { background: #fff; }

.dv-footer .social { display: flex; gap: 0.7rem; margin-top: 1.2rem; }
.dv-footer .social a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 38px; height: 38px; aspect-ratio: 1; border-radius: 50%; background: #3A322C; color: #EFE6D7; }
.dv-footer .social a:hover { background: #F6A81C; color: #26201C; }
.dv-footer .social svg { width: 18px; height: 18px; }

.dv-footer .legal { border-top: 1px solid #3A322C; margin-top: 2rem; padding-top: 1.25rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; font-size: 0.82rem; color: #9C9186; }
.dv-footer .legal a { color: #9C9186; }

@media (max-width: 900px) { .dv-footer .cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dv-footer .cols { grid-template-columns: 1fr; } .dv-footer .news { flex-direction: column; align-items: flex-start; } }

/* ===========================================================
   DETALLES v2 — contraste, tarjetas de producto y targets
   =========================================================== */

:root {
	/* Ámbar accesible para TEXTO sobre blanco (5.2:1). El #F6A81C solo
	   funciona como relleno con texto oscuro encima (8:1). */
	--dv-tinta-marca: #9A5F00;
	--dv-linea: #EFE9DE;
}

/* ── Contraste de enlaces y precios ───────────────────────── */
.wp-block-post-content a:not(.wp-element-button),
.woocommerce-breadcrumb a,
.woocommerce-loop-product__title,
.woocommerce a.woocommerce-review-link,
.dv-sidebar .wc-block-product-categories-list a:hover,
.dv-sidebar .wc-block-product-categories-list li.current-cat > a { color: var(--dv-tinta-marca); }

.woocommerce-breadcrumb { color: #6E635B; font-size: 0.86rem; }
.woocommerce-breadcrumb a:hover { color: #26201C; }

/* El precio de las tarjetas heredaba el ámbar del enlace: ilegible. */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price bdi { color: #26201C; }

/* Iconos sobre relleno ámbar: siempre en tinta oscura. */
.dv-search-form button { color: #26201C; }
.dv-volume:hover { background: #E0940C; color: #26201C; }
.dv-footer .news button:hover { background: #fff; color: #26201C; }
.dv-nuevo { color: #26201C; }

/* ── Tarjetas de producto (tienda, categoría y relacionados) ── */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--dv-linea);
	border-radius: 20px;
	padding: 14px 14px 18px;
	text-align: left;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(38, 32, 28, 0.10);
	border-color: #E6DCCB;
}

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 10px;
	margin-bottom: 0.9rem;
	border-radius: 14px;
	background: #FFF9F0;
	/* Las fotos vienen con fondo blanco: se funden con el crema. */
	mix-blend-mode: multiply;
	box-sizing: border-box;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 0.95rem !important;
	line-height: 1.35;
	min-height: 3.9em;
	margin: 0 0 0.5rem;
	padding: 0;
}

.woocommerce ul.products li.product .price {
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--beiruti), sans-serif;
	font-size: 1.15rem !important;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.woocommerce ul.products li.product .price del { font-size: 0.7em; font-weight: 500; opacity: 0.65; }

/* CTA de tarjeta: presente pero sin gritar. Se rellena al pasar el cursor. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	box-sizing: border-box;
	margin-top: auto;
	width: 100%;
	text-align: center;
	border: 1.5px solid #F6A81C;
	border-radius: 999px;
	padding: 0.7rem 1rem;
	background: #FFF6E9;
	color: #26201C;
	font-size: 0.9rem;
	font-weight: 700;
	transition: background 0.16s ease, border-color 0.16s ease;
}

.woocommerce ul.products li.product .button:hover {
	background: #F6A81C;
	border-color: #F6A81C;
	color: #26201C;
}

.woocommerce ul.products li.product .added_to_cart {
	display: block;
	margin-top: 0.5rem;
	background: transparent;
	color: var(--dv-tinta-marca);
	text-decoration: underline;
}

/* Rejilla con aire uniforme (sustituye a los floats de WooCommerce). */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

@media (max-width: 1100px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } }
@media (max-width: 420px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ── Áreas táctiles ───────────────────────────────────────── */
.dv-navbar nav a { display: inline-block; padding: 0.72rem 0; }
.dv-acct { width: 44px; height: 44px; align-items: center; justify-content: center; }
.dv-footer ul li a,
.dv-footer .legal a { display: inline-block; padding: 0.25rem 0; }

/* Foco visible y consistente en todo el sitio. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid rgba(246, 168, 28, 0.75);
	outline-offset: 2px;
	border-radius: 6px;
}

/* Estrellas del formulario de reseñas: ámbar oscuro para llegar a 3:1. */
.woocommerce #review_form #respond p.stars a,
.woocommerce .star-rating { color: #B87200; }

/* Enlaces del sidebar con área táctil suficiente. */
.dv-sidebar .wc-block-product-categories-list a { display: inline-block; padding: 0.3rem 0; }

/* Áreas táctiles del pie y del menú móvil (mínimo cómodo en pantalla táctil). */
.dv-footer ul li a,
.dv-footer .contact a { padding: 0.45rem 0; }
.dv-footer ul li { margin-bottom: 0.15rem; }
/* Sin tocar «display»: el propio bloque decide cuándo se muestra el botón. */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}

/* El menú se compacta antes que romperse en dos líneas (1024–1400 px). */
@media (max-width: 1400px) {
	.dv-navbar-inner { column-gap: 0 !important; }
	.dv-navbar nav .wp-block-navigation__container { gap: 1rem; }
	.dv-navbar nav a { font-size: 0.9rem; }
}

@media (max-width: 1260px) {
	.dv-navbar nav .wp-block-navigation__container { gap: 0.7rem; }
	.dv-navbar nav a { font-size: 0.85rem; }
	.dv-volume { padding: 0.5rem 1.1rem; font-size: 0.9rem; }
}

/* Por debajo de ~1180 px el menú no cabe junto a la píldora: pasa a su propia
   fila, alineado al mismo borde izquierdo, para que se lea como decisión. */
@media (max-width: 1180px) {
	.dv-navbar nav .wp-block-navigation__container { justify-content: flex-start; }
}

/* ===========================================================
   PÁGINA DE MAYORISTAS
   =========================================================== */

.dv-may-hero { text-align: center; }
.dv-may-hero .dv-may-lead { max-width: 62ch; margin-left: auto; margin-right: auto; }

.dv-may-cta { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }
.dv-may-cta a {
	display: inline-flex; align-items: center; gap: 0.5rem;
	min-height: 52px; padding: 0 1.8rem; border-radius: 999px;
	font-weight: 800; text-decoration: none; transition: background .16s ease, transform .16s ease;
}
.dv-may-cta .primario { background: #F6A81C; color: #26201C; box-shadow: 0 8px 20px rgba(246,168,28,.28); }
.dv-may-cta .primario:hover { background: #E0940C; color: #26201C; transform: translateY(-2px); }
.dv-may-cta .secundario { background: #fff; color: #26201C; border: 1.5px solid #E6DCCB; }
.dv-may-cta .secundario:hover { border-color: #25874A; color: #26201C; }
.dv-may-cta i { font-size: 1.25rem; }

/* Lista de beneficios con palomita */
.dv-may-check { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem 2rem; }
.dv-may-check li { position: relative; padding-left: 1.85rem; font-size: 0.97rem; line-height: 1.55; color: #4A4139; }
.dv-may-check li::before {
	content: ""; position: absolute; left: 0; top: 0.28em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: rgba(246,168,28,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5400' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 0.7rem;
}

/* Tarjetas de ventajas */
.dv-may-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
.dv-may-cards .c {
	background: #fff; border: 1px solid #EFE9DE; border-radius: 20px; padding: 1.6rem 1.4rem;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dv-may-cards .c:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(38,32,28,.10); border-color: #E6DCCB; }
.dv-may-cards .c i { font-size: 40px; line-height: 1; color: #F6A81C; }
.dv-may-cards .c h3 { font-size: 1.05rem; margin: 0.7rem 0 0.35rem; }
.dv-may-cards .c p { margin: 0; font-size: 0.9rem; line-height: 1.55; color: #6E635B; }

/* Giros del negocio como etiquetas */
.dv-may-giros { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.5rem; }
.dv-may-giros span {
	display: inline-flex; align-items: center; gap: 0.4rem;
	border: 1px solid #E6DCCB; border-radius: 999px; padding: 0.4rem 0.95rem;
	background: #fff; font-size: 0.86rem; color: #4A4139;
}
.dv-may-giros span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #F6A81C; }
.dv-may-giros .mas { border-style: dashed; color: #6E635B; }

/* Aviso «¿no encuentras la marca?» */
.dv-may-nota {
	display: flex; gap: 1.1rem; align-items: flex-start;
	background: #FFF6E9; border-radius: 20px; padding: 1.6rem 1.8rem; margin-top: 2rem;
}
.dv-may-nota i { font-size: 34px; line-height: 1; color: #9A5F00; flex: 0 0 auto; }
.dv-may-nota h3 { margin: 0 0 0.3rem; font-size: 1.1rem; }
.dv-may-nota p { margin: 0; font-size: 0.94rem; color: #4A4139; }

/* Datos de contacto */
.dv-may-datos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid #EFE9DE; }
.dv-may-datos .d i { font-size: 26px; color: #9A5F00; }
.dv-may-datos .d strong { display: block; font-size: 0.85rem; margin: 0.4rem 0 0.15rem; }
.dv-may-datos .d a, .dv-may-datos .d span { font-size: 0.9rem; color: #6E635B; text-decoration: none; line-height: 1.5; }
.dv-may-datos .d a:hover { color: #9A5F00; }

/* Formulario: fila de dos columnas y casilla de aceptación */
.dv-form-row--2 { grid-template-columns: 1fr 1fr; }

/* Contact Form 7 envuelve cada fila en un <p> con <br>: lo hacemos transparente
   para que las etiquetas sigan siendo celdas de la rejilla. */
.dv-form-row > p { display: contents; }
.dv-form-row > p > br { display: none; }
.dv-form label { margin-bottom: 0; }
.dv-form > p { margin: 0 0 1rem; }
.dv-form-row { margin-bottom: 1rem; align-items: end; }
.dv-form .wpcf7-acceptance { display: block; margin: 0.5rem 0 1rem; }
.dv-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.dv-form .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 0.6rem; font-weight: 400; font-size: 0.92rem; margin: 0; }
.dv-form .wpcf7-acceptance input[type="checkbox"] { width: 20px; height: 20px; margin-top: 0.1rem; accent-color: #F6A81C; flex: 0 0 auto; }
.dv-form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E635B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; background-size: 1.1rem; padding-right: 2.6rem; }
.dv-form .dv-form-nota { font-size: 0.82rem; color: #6E635B; margin: 0 0 1.2rem; }

@media (max-width: 900px) {
	.dv-may-cards { grid-template-columns: 1fr 1fr; }
	.dv-may-datos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.dv-may-check { grid-template-columns: 1fr; }
	.dv-may-cards { grid-template-columns: 1fr; }
	.dv-may-datos { grid-template-columns: 1fr; }
	.dv-form-row--2 { grid-template-columns: 1fr; }
	.dv-may-nota { flex-direction: column; gap: 0.7rem; }
}

/* Botón de envío con el mismo lenguaje que el resto del sitio. */
.dv-form .wpcf7-submit {
	min-height: 54px;
	min-width: 260px;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 800;
	box-shadow: 0 8px 20px rgba(246, 168, 28, 0.28);
	transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.dv-form .wpcf7-submit:hover { background: #E0940C; color: #26201C; transform: translateY(-2px); }
.dv-form .wpcf7-spinner { vertical-align: middle; }

/* El botón del carrito trae 9px de relleno propio: se los quitamos por la
   derecha para que el importe cierre en la misma vertical que el menú. */
.dv-topbar .wc-block-mini-cart__button { padding-right: 0; }

/* ===========================================================
   HEADER MÓVIL (≤600px) — barra naranja estilo referencia
   =========================================================== */
.dv-mobile-promo { display: none; }

/* Evita el scroll horizontal (p.ej. el drawer off-canvas del mini-carrito). */
html, body { overflow-x: clip; max-width: 100%; }

@media (max-width: 600px) {
	header.wp-block-template-part { position: relative; }

	/* Barra superior naranja — layout en BLOQUE (evita el sizing de flex), compacta */
	header.wp-block-template-part { overflow-x: clip; }
	.dv-topbar { display: block !important; position: relative; background: #F6A81C !important; padding: 0.55rem 14px !important; box-sizing: border-box; text-align: left; }
	/* Sin franja blanca entre el header y el contenido */
	.wp-site-blocks > main { margin-top: 0 !important; margin-block-start: 0 !important; }
	/* Logo a la izquierda, junto a la hamburguesa */
	.dv-topbar > .wp-block-site-logo { display: inline-block; margin: 0 0 0 48px; }
	.dv-topbar > .wp-block-site-logo img { width: 58px; }
	/* Cuenta + carrito: misma altura (24px) y centrados con el logo/hamburguesa */
	.dv-topbar > .dv-actions { position: absolute; top: 26px; right: 14px; display: flex; align-items: center; gap: 0.15rem; }
	.dv-topbar .dv-acct { width: auto; height: 24px; min-width: 0; padding: 0; }
	.dv-topbar .dv-acct svg { width: 24px; height: 24px; }
	.dv-topbar .wc-block-mini-cart__button { height: 24px; min-height: 0; padding: 0 !important; }
	.dv-topbar .wc-block-mini-cart__icon { width: 24px; height: 24px; }
	.dv-topbar .wc-block-mini-cart__amount { display: none !important; } /* sólo ícono+contador en móvil */
	.dv-topbar > .dv-search { display: block; margin-top: 0.5rem; }
	/* Buscador rectangular (sin píldora), ícono a la derecha sin círculo */
	.dv-topbar .dv-search-form { background: #fff; box-sizing: border-box; width: 100%; padding: 4px 6px 4px 16px; border-radius: 12px; }
	.dv-topbar .dv-search-form button { background: transparent; color: #26201C; width: 40px; height: 40px; flex: 0 0 40px; }
	.dv-topbar .dv-search-form button:hover { background: transparent; color: #E0940C; }
	.dv-topbar .dv-search-form input[type="search"] { padding: 0.5rem 0; }
	.dv-topbar .dv-search-form button { width: 38px; height: 38px; flex: 0 0 38px; }
	/* Hamburguesa alineada verticalmente con el centro del logo */
	.dv-navbar .wp-block-navigation { top: 28px !important; }
	.dv-mobile-promo { padding: 0.6rem 1rem !important; font-size: 0.9rem !important; }
	/* Íconos de cuenta y carrito en blanco (sobre el naranja).
	   Ambos SVG usan currentColor (cuenta=stroke, carrito=fill), así que basta color. */
	.dv-topbar .dv-acct,
	.dv-topbar .wc-block-mini-cart__button { color: #fff !important; }

	/* Hamburguesa: el botón se posiciona relativo al <nav>, así que movemos
	   todo el <nav> (que en móvil sólo muestra el botón) arriba a la izquierda. */
	.dv-navbar .wp-block-navigation { position: absolute; top: 24px; left: 16px; z-index: 40; margin: 0 !important; }
	/* Hamburguesa: 3 líneas blancas */
	.dv-navbar .wp-block-navigation__responsive-container-open {
		padding: 0; width: 30px; height: 20px; min-width: 30px; min-height: 20px;
		background:
			linear-gradient(#fff, #fff) left top / 100% 2.5px no-repeat,
			linear-gradient(#fff, #fff) left center / 100% 2.5px no-repeat,
			linear-gradient(#fff, #fff) left bottom / 100% 2.5px no-repeat;
	}
	.dv-navbar .wp-block-navigation__responsive-container-open svg { display: none; }

	/* La fila de navegación se convierte en banda promo negra */
	.dv-navbar { padding: 0 !important; background: transparent !important; border: none !important; }
	.dv-navbar-inner { display: block !important; column-gap: 0 !important; overflow: visible !important; }
	.dv-mobile-promo { width: 100%; box-sizing: border-box; }
	.dv-volume { display: none !important; }
	.dv-mobile-promo {
		display: block; background: #241E1B; color: #fff; text-align: center;
		padding: 0.85rem 1rem; font-weight: 700; text-decoration: none; font-size: 0.95rem;
	}
	.dv-mobile-promo span { text-decoration: underline; }

	/* Lista del menú hamburguesa: filas parejas con divisores sutiles */
	/* Quitar el recuadro negro (focus ring) que aparece al abrir el overlay del menú.
	   El contenedor recibe foco programático por accesibilidad; su borde visible sobra. */
	.wp-block-navigation__responsive-container:focus,
	.wp-block-navigation__responsive-container.is-menu-open:focus,
	.wp-block-navigation__responsive-container-content:focus,
	.wp-block-navigation__responsive-container-content:focus-visible,
	.wp-block-navigation__responsive-dialog:focus,
	.wp-block-navigation__responsive-dialog:focus-visible { outline: 0 !important; box-shadow: none !important; }
	.wp-block-navigation__responsive-container .wp-block-navigation__container { gap: 0 !important; width: 100%; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item { width: 100%; border-bottom: 0; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:last-child { border-bottom: 0; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item__content {
		display: flex; align-items: center; width: 100%; box-sizing: border-box;
		padding: 0.42rem 0.2rem !important; font-size: 0.95rem; color: #26201C;
	}
	.wp-block-navigation__responsive-container .wp-block-navigation-item__content::before {
		font-family: "Phosphor-Light" !important; font-weight: normal; font-style: normal;
		margin-right: 0.6rem; color: #F6A81C; font-size: 1.2em; line-height: 1; width: 1.5em; text-align: center; flex: 0 0 auto;
	}
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(1) .wp-block-navigation-item__content::before { content: "\e74a"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content::before { content: "\e5f6"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content::before { content: "\e1d8"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(4) .wp-block-navigation-item__content::before { content: "\e5f4"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(5) .wp-block-navigation-item__content::before { content: "\e7e4"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(6) .wp-block-navigation-item__content::before { content: "\ebae"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(7) .wp-block-navigation-item__content::before { content: "\e570"; }
	.wp-block-navigation__responsive-container .wp-block-navigation-item:nth-child(8) .wp-block-navigation-item__content::before { content: "\e584"; }
	/* Íconos de los ítems de cuenta por CLASE (robusto ante reordenamientos) */
	.dv-navbar .dv-mob-login .wp-block-navigation-item__content::before { content: "\e428"; } /* sign-in */
	.dv-navbar .dv-mob-help .wp-block-navigation-item__content::before { content: "\e63a"; }  /* lifebuoy */

	/* Grupo de cuenta separado de las categorías (línea más marcada arriba) */
	.dv-navbar .dv-mob-login { margin-top: 0.3rem; border-top: 0; }
	.dv-navbar .dv-mob-login .wp-block-navigation-item__content { font-weight: 800; }
	.dv-navbar .dv-mob-login .wp-block-navigation-item__content::before,
	.dv-navbar .dv-mob-help .wp-block-navigation-item__content::before { color: #26201C; }

	/* Bloque de ayuda por WhatsApp al pie del menú hamburguesa (es un <li> a lo ancho) */
	li.dv-menu-help { display: none !important; width: 100%; list-style: none; border-bottom: 0 !important; margin-top: 0.9rem; padding: 1.2rem 0.2rem 0.4rem; border-top: 4px solid #F4F1EC; }
	li.dv-menu-help::before { content: none !important; }
	.dv-menu-help__t { display: block; font-weight: 800; color: #26201C; font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.35; }
	.dv-menu-help__wa { display: inline-flex; align-items: center; gap: 0.55rem; margin-top: 0.75rem; font-weight: 800; font-size: 1.2rem; color: #1FA855; text-decoration: none; }
	.dv-menu-help__wa svg { width: 26px; height: 26px; flex: 0 0 auto; }

	/* Newsletter intercalado tras el 7º producto (móvil).
	   Especificidad alta (li.product.dv-news-inline) para vencer la tarjeta de producto. */
	.dv-archive ul.products li.product.dv-news-inline {
		grid-column: 1 / -1 !important; width: 100% !important; float: none !important; margin: 0.5rem 0 1rem !important;
		box-sizing: border-box; background: #241E1B !important; color: #fff !important;
		border: 0 !important; box-shadow: none !important; border-radius: 20px !important; padding: 1.6rem 1.4rem !important; list-style: none !important;
	}
	.dv-archive ul.products li.product.dv-news-inline::before,
	.dv-archive ul.products li.product.dv-news-inline::after { content: none !important; }
	.dv-news-inline__t { color: #fff; font-size: 1.5rem; line-height: 1.15; font-weight: 800; margin: 0 0 0.5rem; }
	.dv-news-inline__p { color: #E8E2DA; font-size: 0.95rem; line-height: 1.45; margin: 0 0 1rem; }
	.dv-news-inline__p strong { color: #F6A81C; }
	.dv-news-inline__form input { width: 100%; box-sizing: border-box; border: none; border-radius: 10px; padding: 0.9rem 1rem; font-size: 1rem; margin-bottom: 0.7rem; }
	.dv-news-inline__form button { width: 100%; border: 1px solid #fff; background: transparent; color: #fff; border-radius: 10px; padding: 0.9rem 1rem; font-weight: 800; font-size: 1rem; cursor: pointer; }
	.dv-news-inline__form button:hover { background: #F6A81C; border-color: #F6A81C; color: #241E1B; }
}

/* Elementos exclusivos del menú móvil, ocultos en escritorio */
@media (min-width: 601px) {
	.dv-navbar nav .dv-mob-only,
	.dv-menu-help,
	.dv-news-inline { display: none !important; }
}

/* ==========================================================================
   Barra de navegación inferior tipo app (SÓLO móvil)
   Inicio · Categorías · Carrito (centro elevado) · Favoritos · Cuenta
   ========================================================================== */
.dv-tabbar { display: none; }
@media (max-width: 600px) {
	body { padding-bottom: 46px; } /* espacio para no tapar contenido */
	.dv-wa-bar { display: none !important; } /* la reemplaza la barra inferior */

	.dv-tabbar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
		align-items: center; justify-content: space-around;
		background: #fff; box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.10);
		border-top-left-radius: 22px; border-top-right-radius: 22px;
		padding: 3px 6px calc(3px + env(safe-area-inset-bottom, 0px));
	}
	.dv-tab {
		flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 2px;
		text-decoration: none; color: #8A837C; font-size: 0.62rem; font-weight: 600; line-height: 1.1;
		min-width: 0; padding: 2px 0;
	}
	.dv-tab i { font-size: 1.28rem; line-height: 1; color: #8A837C; transition: color 0.2s ease; }
	.dv-tab span { white-space: nowrap; }
	.dv-tab.is-active { color: #26201C; }
	.dv-tab.is-active i { color: #F5A300; }
	.dv-tab:active i { transform: scale(0.92); }

	/* Botón central del carrito, elevado (FAB) */
	.dv-tab--cart { position: relative; flex: 1 1 0; align-self: auto; justify-content: center; }
	.dv-tab__fab {
		position: relative; top: 0; width: 34px; height: 34px; border-radius: 50%;
		background: #F5A300; display: flex; align-items: center; justify-content: center;
		box-shadow: 0 3px 8px rgba(245, 163, 0, 0.4); border: 0;
		transition: transform 0.2s ease;
	}
	.dv-tab--cart:active .dv-tab__fab { transform: scale(0.94); }
	.dv-tab__fab i { font-size: 1.15rem; color: #fff; }
	.dv-tab--cart.is-active .dv-tab__fab { background: #E0940C; }

	/* Contador de artículos sobre el botón central */
	.dv-tab__count {
		position: absolute; top: -2px; left: 50%; margin-left: 4px;
		min-width: 20px; height: 20px; padding: 0 5px; box-sizing: border-box;
		border-radius: 999px; background: #E23B3B; color: #fff; border: 2px solid #fff;
		font-size: 0.7rem; font-weight: 800; line-height: 1;
		display: inline-flex; align-items: center; justify-content: center;
	}
	.dv-tab__count[hidden] { display: none; }
}

/* ==========================================================================
   Aviso de cookies / privacidad (barra inferior, estilo cloudstudio.mx)
   ========================================================================== */
.dv-cookie[hidden] { display: none; }
.dv-cookie {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 950;
	background: #241E1B; color: #fff; padding: 1rem 1.4rem;
	display: flex; align-items: center; justify-content: center; gap: 1.2rem; flex-wrap: wrap;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.18);
}
.dv-cookie__txt { margin: 0; font-size: 0.9rem; line-height: 1.45; max-width: 640px; }
.dv-cookie__txt a { color: #F6A81C; text-decoration: underline; }
.dv-cookie__btns { display: flex; gap: 0.6rem; flex: 0 0 auto; }
.dv-cookie__btn {
	border-radius: 10px; padding: 0.62rem 1.15rem; font-weight: 700; font-size: 0.9rem;
	cursor: pointer; border: 1px solid transparent; transition: background 0.2s ease, border-color 0.2s ease;
}
.dv-cookie__btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.4); }
.dv-cookie__btn--ghost:hover { border-color: #fff; }
.dv-cookie__btn--accept { background: #F5A300; color: #241E1B; }
.dv-cookie__btn--accept:hover { background: #E0940C; }
@media (max-width: 600px) {
	.dv-cookie { bottom: 76px; flex-direction: column; gap: 0.75rem; padding: 0.95rem 1.1rem; text-align: center; }
	.dv-cookie__btns { width: 100%; }
	.dv-cookie__btn { flex: 1 1 0; }
}
