/* DigiMarkenet v2.0 — CEO Edition */
* { box-sizing:border-box; margin:0; padding:0; }
:root { --dgn-color-principal:#e8852c; --dgn-color-save:#c0392b; --dgn-turquoise:#1a9fc0; }
body { font-family:'Open Sans',Arial,sans-serif; color:#111; background:#ffffff; -webkit-font-smoothing:antialiased; }
img  { max-width:100%; height:auto; display:block; }
a    { transition:opacity .15s; }

/* ── HEADER TOP ─────────────────────────────── */
.dgn-header { background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.dgn-header-top {
	max-width:1200px; margin:0 auto; padding:12px 24px;
	display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.dgn-search-form { display:flex; border:1px solid #ccc; border-radius:3px; overflow:hidden; flex-shrink:0; }
.dgn-search-form input { border:none; padding:7px 12px; font-size:13px; width:180px; outline:none; font-family:'Open Sans',Arial,sans-serif; }
.dgn-search-form button { border:none; background:#f0f0f0; padding:7px 12px; cursor:pointer; color:#555; display:flex; align-items:center; }
.dgn-logo { font-family:'Oswald',Arial,sans-serif; font-size:28px; font-weight:700; letter-spacing:3px; text-decoration:none; color:#111; text-transform:uppercase; white-space:nowrap; }
/* Punto 1: espacio de logotipo (imagen subida vía Personalizador > Identidad) */
.dgn-logo-wrap { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
.dgn-logo-wrap .custom-logo-link { display:block; }
.dgn-logo-wrap img.custom-logo { max-height:56px; width:auto; display:block; }
.dgn-logo-notice { font-size:11px; color:#c0392b; margin-top:4px; }
.dgn-header-icons { display:flex; align-items:center; gap:14px; }
.dgn-header-icons a { color:#555; text-decoration:none; display:flex; align-items:center; }
.dgn-header-icons a:hover { color:var(--dgn-color-principal); }

/* ── MENÚ PRINCIPAL (pills flexibles) — STICKY en toda la página ─
   El nav vive FUERA de <header> en el HTML (ver header.php) para que el
   sticky no se corte al terminar el header — así se mantiene fijo durante
   TODO el scroll de la página (punto 4). */
.dgn-nav-main {
	position:sticky; top:0; z-index:600;
	border-top:1px solid #eee;
	display:flex;
	align-items:stretch;
	background:#fff;
}

/* Franjas de color en los extremos (conectan al borde de la pantalla).
   Punto 2: atenuadas al 50% para que no compitan visualmente con los pills.
   Llevan sombra propia para que se noten separadas del menú. */
.dgn-nav-edge {
	flex:1;
	min-width:24px;
	position:relative; z-index:2;
	box-shadow:0 3px 8px rgba(0,0,0,.18);
	opacity:.5;
}
.dgn-nav-edge--left  { background: var(--dgn-menu-1-bg, #e8852c); }
.dgn-nav-edge--right { background: #1e3a5f; }

.dgn-main-menu {
	list-style:none; display:flex;
	flex-shrink:0; flex-wrap:nowrap;
}
.dgn-menu-item { position:relative; flex-shrink:0; }

/* Punto 1: pill FLEXIBLE — crece con el largo del texto y con el tamaño de
   fuente que configures en el Personalizador. Ya no es un ancho fijo de 118px
   que forzaba el texto a apilarse; el contenedor cede espacio automáticamente
   porque las franjas de los extremos son flex:1. */
.dgn-menu-link {
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	padding:10px 22px; color:#333; text-decoration:none;
	min-width:96px; width:auto; height:100%; gap:4px;
	transition:opacity .15s;
}
.dgn-menu-link:hover { opacity:.85; }

/* Ícono: mismo color que el texto en TODOS los pills (hereda currentColor del SVG) */
.dgn-pill-icon { display:flex; align-items:center; justify-content:center; color:inherit; }
.dgn-pill-icon svg { display:block; }

/* Colores por posición (sobreescritos por Personalizador vía CSS inline) */
.dgn-main-menu .dgn-menu-item:nth-child(1) .dgn-menu-link { background:#f5f5f0; color:#333; }
.dgn-main-menu .dgn-menu-item:nth-child(2) .dgn-menu-link { background:#e8852c; color:#fff; }
.dgn-main-menu .dgn-menu-item:nth-child(3) .dgn-menu-link { background:#5aaa3c; color:#fff; }
.dgn-main-menu .dgn-menu-item:nth-child(4) .dgn-menu-link { background:#1a9fc0; color:#fff; }
.dgn-main-menu .dgn-menu-item:nth-child(5) .dgn-menu-link { background:#3b7dd8; color:#fff; }
.dgn-main-menu .dgn-menu-item:nth-child(6) .dgn-menu-link { background:#7b7b7b; color:#fff; }
.dgn-main-menu .dgn-menu-item:nth-child(7) .dgn-menu-link { background:#1e3a5f; color:#fff; }

.dgn-menu-label {
	font-family:'Oswald',Arial,sans-serif;
	font-size:11px; font-weight:600;
	letter-spacing:.6px; text-transform:capitalize;
	white-space:nowrap; display:block; text-align:center; line-height:1;
}
.dgn-arrow { font-size:9px; margin-left:2px; }

/* ── SUBMENÚ TRADICIONAL (dropdown clásico) ────
   Vuelve a ser el dropdown de toda la vida: aparece pegado debajo del
   pill, en vertical, al pasar el mouse (o al tocar, en pantallas táctiles).
   Sin JS, sin franjas raras — simple y predecible. */
.dgn-submenu {
	display:none; position:absolute; top:100%; left:0; z-index:300;
	background:#fff; min-width:210px;
	box-shadow:0 8px 20px rgba(0,0,0,.15);
	list-style:none; border-top:3px solid var(--dgn-color-principal);
	border-radius:0 0 4px 4px; overflow:hidden;
}
.dgn-menu-item--has-sub:hover .dgn-submenu,
.dgn-menu-item--has-sub:focus-within .dgn-submenu {
	display:block;
}
.dgn-submenu li a {
	display:block; padding:11px 18px;
	font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:500;
	text-transform:capitalize; color:#2c3e50; text-decoration:none; border-bottom:1px solid #f5f5f5;
	transition:background .15s, padding-left .15s;
}
.dgn-submenu li:last-child a { border-bottom:none; }
.dgn-submenu li a:hover { background:#fafafa; padding-left:23px; color:var(--dgn-color-principal); }
.dgn-menu-notice { padding:12px 24px; font-size:13px; color:#c0392b; }

/* ── HERO ─── banner único (fallback si solo hay 1 slide sin flechas) ── */
.dgn-hero {
	position:relative; overflow:hidden;
	text-align:center; padding:70px 20px 60px;
	background:#1b1b1b; color:#fff;
}
.dgn-hero-bg { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; opacity:.45; }
.dgn-hero-text { position:relative; z-index:2; }
.dgn-hero-line1 { font-family:'Oswald',Arial,sans-serif; font-size:36px; font-weight:400; letter-spacing:3px; text-transform:uppercase; }
.dgn-hero-line2 { font-family:'Oswald',Arial,sans-serif; font-size:52px; font-weight:700; margin-top:6px; color:var(--dgn-color-principal); letter-spacing:2px; }

/* ── HERO SLIDER (punto 5): hasta 5 imágenes, cada una con su propia URL ── */
.dgn-hero-slider { position:relative; overflow:hidden; height:340px; background:#1b1b1b; }
.dgn-hero-slide {
	position:absolute; inset:0; display:block; opacity:0; pointer-events:none;
	transition:opacity 1.4s ease-in-out; /* antes .6s — desvanecido elegante, no golpeado */
}
.dgn-hero-slide.active { opacity:1; pointer-events:auto; }
.dgn-hero-slide .dgn-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; }
.dgn-hero-slide .dgn-hero-text {
	position:absolute; left:0; right:0; bottom:36px; text-align:center; z-index:2;
	text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.dgn-slider-dots {
	position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:5;
	display:flex; gap:8px;
}
.dgn-slider-dot {
	width:9px; height:9px; border-radius:50%; border:2px solid #fff;
	background:transparent; cursor:pointer; padding:0; opacity:.7;
}
.dgn-slider-dot.active { background:#fff; opacity:1; }
.dgn-slider-arrow {
	position:absolute; top:50%; transform:translateY(-50%); z-index:5;
	background:rgba(0,0,0,.35); color:#fff; border:none; width:38px; height:38px;
	border-radius:50%; cursor:pointer; font-size:15px; display:flex; align-items:center; justify-content:center;
	transition:background .15s;
}
.dgn-slider-arrow:hover { background:rgba(0,0,0,.6); }
.dgn-slider-arrow--prev { left:16px; }
.dgn-slider-arrow--next { right:16px; }


/* ── MENÚ SECUNDARIO (debajo del hero) ─────────── */
.dgn-nav-secondary { background:#fff; border-bottom:2px solid #eee; }
.dgn-secondary-menu {
	list-style:none; display:flex; flex-wrap:wrap; align-items:center;
	max-width:1200px; margin:0 auto; padding:0 24px;
}
.dgn-secondary-menu li a {
	display:block; padding:12px 16px;
	font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:500;
	letter-spacing:.4px; text-transform:uppercase; color:#555; text-decoration:none;
}
.dgn-secondary-menu li a:hover, .dgn-secondary-menu li.current-menu-item a {
	color:var(--dgn-color-principal);
}

/* ── FILTROS — izquierda, turquesa ─────────────── */
.dgn-filter-bar { background:#fff; border-bottom:1px solid #eee; padding:10px 0; }
.dgn-filter-tabs {
	display:flex; flex-wrap:wrap; gap:6px;
	max-width:1200px; margin:0 auto; padding:0 24px;
	/* izquierda, NO centrado */
	justify-content:flex-start;
}
.dgn-filter-btn {
	padding:8px 18px; border:2px solid var(--dgn-turquoise);
	background:#fff; color:var(--dgn-turquoise); cursor:pointer;
	font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:600;
	letter-spacing:.5px; text-transform:capitalize; border-radius:3px;
	transition:background .15s, color .15s;
}
.dgn-filter-btn.active, .dgn-filter-btn:hover { background:var(--dgn-turquoise); color:#fff; }

/* Slider de precio */
.dgn-price-slider-wrap { padding:14px 0; background:#f9f9f9; border-top:1px solid #eee; }
.dgn-price-slider-inner { max-width:480px; margin:0 auto; text-align:center; }
.dgn-price-slider-inner label { font-family:'Oswald',Arial,sans-serif; font-size:14px; margin-bottom:8px; display:block; }
#dgn-price-range { width:100%; accent-color:var(--dgn-turquoise); cursor:pointer; }

/* ── GRID ─────────────────────────────────────── */
.dgn-grid {
	display:grid; grid-template-columns:repeat(3,1fr);
	gap:32px; max-width:1200px; margin:0 auto; padding:28px 24px;
}
@media(max-width:900px){ .dgn-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px){ .dgn-grid{ grid-template-columns:1fr; } }

/* ── CARD ─────────────────────────────────────── */
.dgn-card {
	display:flex; flex-direction:column;
	text-decoration:none; color:inherit;
	background:transparent; padding:0; border:none;
	border-radius:0; box-shadow:none;
	transition:transform .2s;
}
.dgn-card:hover { transform:translateY(-2px); }
.dgn-card-title, .dgn-card h3 {
	white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
	font-family:'Oswald',Arial,sans-serif; font-size:17px; font-weight:600;
	text-align:center; color:#111; /* NEGRO */
	margin-bottom:12px; line-height:1.25; letter-spacing:.2px;
	white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; /* una sola línea, con "..." si no cabe */
}
.dgn-card-title a {
	color:#111; text-decoration:none;
	display:block; overflow:hidden; text-overflow:ellipsis;
}
.dgn-card-title a:hover { color:var(--dgn-color-principal); }

/* Imagen con SAVE en hover */
.dgn-card-img-wrap { position:relative; overflow:hidden; border-radius:6px; }
.dgn-descuento-badge-img {
	position:absolute; bottom:0; right:0; z-index:3;
	background:var(--dgn-color-save); color:#fff;
	font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:700;
	padding:4px 10px; border-radius:4px 0 0 0;
	box-shadow:-2px -2px 6px rgba(0,0,0,.15);
}
.dgn-card-img-link img { width:100%; aspect-ratio:5/3; height:auto; object-fit:cover; display:block; transition:transform .3s; }
.dgn-card-img-wrap:hover .dgn-card-img-link img { transform:scale(1.04); }
.dgn-save-btn {
	position:absolute; top:0; right:0;
	background:var(--dgn-color-save); color:#fff; border:none;
	padding:10px 16px; font-family:'Oswald',Arial,sans-serif;
	font-size:13px; font-weight:600; letter-spacing:.5px; text-transform:uppercase;
	cursor:pointer; opacity:0; transform:translateY(-6px);
	transition:opacity .2s, transform .2s;
}
.dgn-card-img-wrap:hover .dgn-save-btn, .dgn-save-btn.dgn-saved { opacity:1; transform:translateY(0); }
.dgn-save-btn.dgn-saved { background:#888; }

.dgn-card-excerpt { flex:1; font-size:14px; color:#444; line-height:1.65; padding:14px 0; text-align:justify; }
.dgn-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:8px; }
.dgn-card-price-regular { font-family:'Oswald',Arial,sans-serif; font-size:12px; font-weight:400; color:#bbb; text-decoration:line-through; margin-right:4px; display:block; }
.dgn-descuento-badge {
	display:inline-block; background:var(--dgn-color-save); color:#fff;
	font-family:'Oswald',Arial,sans-serif; font-size:11px; font-weight:700;
	padding:2px 7px; border-radius:3px; margin-right:6px; vertical-align:middle;
}
.dgn-descuento-badge--grande { font-size:13px; padding:4px 9px; }
.dgn-card-price { font-family:'Oswald',Arial,sans-serif; font-size:22px; font-weight:700; color:var(--dgn-color-principal); }
.dgn-card-price-gratis, .dgn-sidebar-precio.dgn-card-price-gratis { color:#2e8b3d !important; } /* verde: GRATIS resalta distinto al precio pagado */
.dgn-card-saves { font-size:13px; color:#888; display:flex; align-items:center; gap:4px; cursor:pointer; }
.dgn-card-saves.dgn-saved .dgn-heart { color:var(--dgn-color-save); }
.dgn-heart { font-size:15px; }

/* ── BOTÓN CTA ────────────────────────────────── */
.dgn-cta-btn {
	display:inline-block; background:var(--dgn-color-principal); color:#fff !important;
	padding:13px 26px; border-radius:3px; text-decoration:none;
	font-family:'Oswald',Arial,sans-serif; font-size:14px; font-weight:600;
	letter-spacing:1px; text-transform:uppercase; text-align:center;
	border:none; cursor:pointer; transition:background .15s;
}
.dgn-cta-btn:hover { background:#d6741f; }
.dgn-cta-full { display:block; width:100%; padding:16px; font-size:16px; }

/* ── SINGLE PRODUCTO — 65% contenido / 35% sidebar, con gap ──── */
.dgn-single-wrap {
	display:flex; gap:36px;
	max-width:1200px; margin:28px auto;
	padding:0 24px;
	/* SIN align-items:flex-start: el sidebar debe ESTIRARSE a la altura completa
	   de la columna izquierda (que es más alta, por la descripción). Si no se
	   estira, su contenedor queda muy corto y el sticky se corta de inmediato
	   — ese era el bug de la captura (punto 5). align-items:stretch es el default. */
}
.dgn-single-left { flex:0 1 70%; min-width:0; }

/* Imagen con overlay de hover */
.dgn-single-hero {
	position:relative; max-width:100%;
	aspect-ratio: 5 / 3; /* fuerza SIEMPRE proporción 5:3 horizontal, sin importar la imagen que subas */
	overflow:hidden; /* clip del hover */
}
.dgn-single-hero img { width:100%; height:100%; object-fit:cover; display:block; }

/* Overlay superior (título + saves): SOLO visible al hacer hover */
.dgn-single-overlay-top {
	position:absolute; top:0; left:0; right:0;
	background:linear-gradient(rgba(0,0,0,.72),transparent);
	padding:18px 18px 50px;
	opacity:0; transition:opacity .25s;
	z-index:2; pointer-events:none;
}
.dgn-single-hero:hover .dgn-single-overlay-top { opacity:1; }
.dgn-single-title {
	font-family:'Oswald',Arial,sans-serif; color:#fff;
	font-size:26px; font-weight:700; line-height:1.2;
	padding-right:90px; /* espacio para el botón SAVE */
}
.dgn-single-saves-label { color:rgba(255,255,255,.85); font-size:13px; margin-top:5px; display:block; }

/* Botón SAVE en single: visible SOLO al hacer hover en la imagen */
.dgn-save-single {
	position:absolute !important; top:0 !important; right:0 !important;
	z-index:3; padding:12px 18px; font-size:14px;
	opacity:0 !important; transform:translateY(-6px) !important;
	transition:opacity .25s, transform .25s;
	pointer-events:none;
}
.dgn-single-hero:hover .dgn-save-single {
	opacity:1 !important; transform:translateY(0) !important;
	pointer-events:auto;
}
.dgn-save-single.dgn-saved { background:#888 !important; opacity:1 !important; transform:none !important; pointer-events:auto; }

/* GALERÍA: miniaturas debajo de la imagen principal, clic reemplaza la imagen grande */
.dgn-single-galeria { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.dgn-galeria-thumb {
	width:76px; height:76px; padding:0; border:2px solid transparent; border-radius:4px;
	overflow:hidden; cursor:pointer; background:none; transition:border-color .15s, opacity .15s;
	opacity:.75;
}
.dgn-galeria-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.dgn-galeria-thumb:hover { opacity:1; }
.dgn-galeria-thumb.active { border-color:var(--dgn-color-principal); opacity:1; }

/* ── TIPOGRAFÍA DEL CONTENIDO DEL PRODUCTO ──────
   FIX: el reset global "*{margin:0;padding:0}" (necesario para los pills
   del menú) también le quitaba el espaciado a TODO lo que se pega desde
   el editor de WordPress — títulos, párrafos, bullets y tablas quedaban
   pegados entre sí, sin jerarquía, aunque en el editor se vieran bien.
   Este bloque le devuelve el espaciado y la jerarquía SOLO al contenido
   del producto (the_content()), sin tocar el resto del tema. */
.dgn-single-content { margin-top:22px; font-size:16px; line-height:1.8; color:#111; text-align:justify; }

.dgn-single-content h2 {
	font-family:'Oswald',Arial,sans-serif; font-size:26px; font-weight:700;
	color:#111; text-align:left; line-height:1.3;
	margin-top:38px; margin-bottom:14px;
}
.dgn-single-content h3 {
	font-family:'Oswald',Arial,sans-serif; font-size:21px; font-weight:600;
	color:#111; text-align:left; line-height:1.3;
	margin-top:28px; margin-bottom:12px;
}
.dgn-single-content h2:first-child, .dgn-single-content h3:first-child { margin-top:0; }

.dgn-single-content p { margin-bottom:16px; }

.dgn-single-content ul, .dgn-single-content ol {
	margin:0 0 18px 0; padding-left:22px;
}
.dgn-single-content ul { list-style:disc; }
.dgn-single-content ol { list-style:decimal; }
.dgn-single-content li { margin-bottom:8px; text-align:left; }

.dgn-single-content strong { font-weight:700; color:#111; }
.dgn-single-content em { font-style:italic; }

.dgn-single-content blockquote {
	margin:0 0 20px 0; padding:14px 20px;
	border-left:3px solid var(--dgn-color-principal);
	background:#faf8f5; font-style:italic; color:#333;
	text-align:left; border-radius:0 4px 4px 0;
}
.dgn-single-content blockquote p { margin-bottom:0; }

.dgn-single-content table {
	width:100%; border-collapse:collapse; margin:0 0 22px 0;
	font-size:14px; text-align:left;
}
.dgn-single-content th, .dgn-single-content td {
	padding:10px 14px; border:1px solid #e5e5e5; text-align:left;
}
.dgn-single-content th {
	background:#f7f5f2; font-family:'Oswald',Arial,sans-serif;
	font-weight:600; text-transform:uppercase; font-size:12px; letter-spacing:.4px;
}
.dgn-single-content tr:nth-child(even) td { background:#fcfbfa; }

.dgn-single-content a { color:var(--dgn-color-principal); text-decoration:underline; }
.dgn-single-content hr { border:none; border-top:1px solid #e5e5e5; margin:28px 0; }

/* CAJA "EL RESPALDO" — tipo testimonio/comentario, rayita lateral + sombreado,
   diferenciada del blockquote genérico. Se pega como bloque HTML personalizado. */
.dgn-respaldo-box {
	display:flex; gap:16px; align-items:flex-start;
	background:#f7f9fb; border-left:4px solid var(--dgn-turquoise);
	border-radius:0 6px 6px 0; padding:18px 22px;
	margin:0 0 22px 0; box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.dgn-respaldo-icono { font-size:34px; line-height:1; flex-shrink:0; }
.dgn-respaldo-nombre { font-family:'Oswald',Arial,sans-serif; font-weight:700; font-size:16px; color:#111; margin-bottom:2px; }
.dgn-respaldo-credencial { font-size:14px; color:#555; line-height:1.5; }

/* SELLO DE GARANTÍA — ícono grande + rótulo diferenciado arriba, marco propio */
.dgn-sello-box {
	display:flex; align-items:center; gap:20px;
	background:#fbf8f2; border:2px solid var(--dgn-color-principal);
	border-radius:8px; padding:20px 26px;
	margin:0 0 22px 0;
}
.dgn-sello-icono { font-size:58px; line-height:1; flex-shrink:0; }
.dgn-sello-rotulo {
	font-family:'Oswald',Arial,sans-serif; font-weight:700; font-size:12px;
	letter-spacing:1.5px; text-transform:uppercase; color:var(--dgn-color-principal);
	margin-bottom:5px;
}
.dgn-sello-titulo { font-family:'Oswald',Arial,sans-serif; font-weight:700; font-size:19px; color:#111; margin-bottom:4px; }
.dgn-sello-texto { font-size:14px; color:#555; line-height:1.5; }
@media(max-width:480px){
	.dgn-respaldo-box, .dgn-sello-box { flex-direction:column; text-align:center; align-items:center; }
}
.dgn-single-cta-below { margin-top:20px; }

/* Sidebar (35%) sticky — se queda fija mientras se scrollea, respetando el menú sticky de arriba */
.dgn-single-sidebar { flex:0 0 30%; }
.dgn-sidebar-inner {
	position:sticky; top:78px; /* alto aprox. del menú principal sticky */
	background:#fff; border:1px solid #e0e0e0;
	border-radius:4px; padding:20px;
	box-shadow:0 2px 10px rgba(0,0,0,.07);
}
.dgn-sidebar-excerpt { font-size:14px; color:#111; line-height:1.7; margin-bottom:18px; text-align:justify; }
.dgn-sidebar-precio-wrap { display:flex; align-items:baseline; justify-content:center; gap:10px; margin-bottom:16px; }
.dgn-precio-regular { font-family:'Oswald',Arial,sans-serif; font-size:19px; font-weight:500; color:#999; text-decoration:line-through; }
.dgn-sidebar-precio { font-family:'Oswald',Arial,sans-serif; font-size:36px; font-weight:700; color:#111; text-align:center; margin-bottom:0; }
.dgn-save-sidebar {
	display:flex; align-items:center; justify-content:center; gap:6px;
	width:100%; margin-top:12px;
	background:transparent; border:2px solid var(--dgn-color-save);
	color:var(--dgn-color-save); padding:11px;
	font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:600;
	letter-spacing:.5px; text-transform:uppercase; cursor:pointer; border-radius:3px;
	transition:background .15s, color .15s;
}
.dgn-save-sidebar:hover, .dgn-save-sidebar.dgn-saved { background:var(--dgn-color-save); color:#fff; }

/* ── RELACIONADOS ──────────────────────────────── */
.dgn-relacionados { max-width:1200px; margin:10px auto 40px; padding:0 24px; }
.dgn-relacionados h2 {
	font-family:'Oswald',Arial,sans-serif; text-align:center;
	font-size:22px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
	color:#111; margin-bottom:24px; padding-bottom:12px;
	border-bottom:2px solid var(--dgn-color-principal);
}

/* ── RESEÑAS ───────────────────────────────────── */
.dgn-resenas { max-width:760px; margin:0 auto 50px; padding:0 24px; }
.dgn-resenas-titulo { font-family:'Oswald',Arial,sans-serif; font-size:24px; font-weight:700; color:#111; display:block; margin-bottom:20px; }
.dgn-resenas .comment-list { list-style:none; }
.dgn-resenas .comment { border-bottom:1px solid #eee; padding:16px 0; }
.dgn-resenas .comment-author { font-weight:700; font-size:14px; }
.dgn-resenas .comment-content p { font-size:14px; color:#444; margin-top:6px; }
.comment-form label { display:block; font-size:13px; font-weight:700; margin-bottom:5px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea { width:100%; border:1px solid #ddd; border-radius:3px; padding:9px 12px; font-size:13px; margin-bottom:12px; font-family:'Open Sans',Arial,sans-serif; }
.comment-form .submit input { background:var(--dgn-color-principal); color:#fff; border:none; padding:11px 28px; border-radius:3px; cursor:pointer; font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; }

/* ── EMPTY / 404 / PAGE ─────────────────────────── */
.dgn-empty-grid { grid-column:1/-1; text-align:center; padding:60px 20px; color:#888; }
.dgn-empty-grid p { margin-bottom:16px; font-size:16px; }
.dgn-page-simple { max-width:700px; margin:60px auto; padding:0 24px; line-height:1.7; }
.dgn-page-simple h1 { font-family:'Oswald',Arial,sans-serif; margin-bottom:16px; color:#111; }

/* ── FOOTER ─────────────────────────────────────── */
.dgn-footer { text-align:center; padding:34px 20px; background:#1b1b1b; color:#aaa; font-size:12px; margin-top:40px; }
.dgn-disclosure { max-width:640px; margin:10px auto 0; line-height:1.7; }
.dgn-disclosure a { color:var(--dgn-color-principal); }
.dgn-contact-float {
	position:fixed; bottom:0; right:24px; z-index:999; /* pegado 100% al borde inferior, "soldado" */
	background:var(--dgn-color-save); color:#fff !important;
	padding:12px 20px; border-radius:6px 6px 0 0; /* cuadrado, esquinas superiores redondeadas nada más */
	font-family:'Oswald',Arial,sans-serif; font-size:13px; font-weight:600;
	letter-spacing:.5px; text-transform:uppercase; text-decoration:none;
	box-shadow:0 -4px 14px rgba(0,0,0,.2); transition:background .15s;
}
.dgn-contact-float:hover { background:#a93226; }
@media(max-width:600px){
	.dgn-contact-float { right:12px; padding:10px 16px; font-size:11px; }
}

/* ── RESPONSIVE ──────────────────────────────────── */

/* Botón hamburguesa: oculto en desktop, aparece en tablet/móvil */
.dgn-mobile-toggle { display:none; background:none; border:none; cursor:pointer; color:#333; padding:4px; }

@media(max-width:900px){
	.dgn-header-top {
		padding:10px 14px; gap:8px;
		flex-wrap:wrap; justify-content:center; row-gap:10px;
	}
	/* Apilado real: el logo ocupa su propia fila (flex-basis:100% fuerza el salto de línea);
	   buscador + cuenta + hamburguesa comparten la fila de abajo, agrupados. */
	.dgn-logo-wrap { order:1; flex-basis:100%; }
	.dgn-search-form { order:2; position:relative; }
	.dgn-header-icons { order:2; }

	/* El buscador se reduce a solo el ícono; el campo de texto aparece
	   como un desplegable flotante debajo al tocar la lupa (no ocupa
	   espacio fijo en la fila, así se adapta a cualquier ancho). */
	.dgn-search-form input { display:none; }
	.dgn-search-form.dgn-search-open input {
		display:block; position:absolute; top:calc(100% + 8px); left:50%;
		transform:translateX(-50%); width:200px; z-index:50;
		box-shadow:0 6px 16px rgba(0,0,0,.15); border-radius:4px;
	}
	.dgn-search-form button { border-radius:4px; }

	.dgn-logo { font-size:18px; letter-spacing:1.5px; }
	.dgn-logo-wrap img.custom-logo { max-height:36px; }
	.dgn-header-icons { gap:14px; }
	.dgn-header-icons a svg { width:20px; height:20px; }

	.dgn-single-wrap { flex-direction:column; }
	.dgn-single-left, .dgn-single-sidebar { flex:1 1 100%; width:100%; }
	.dgn-sidebar-inner { position:static; }
	.dgn-logo { font-size:20px; letter-spacing:2px; }
	.dgn-logo-wrap img.custom-logo { max-height:42px; }

	/* Menú hamburguesa real: se acabó el "escritorio apretado" en pills */
	.dgn-mobile-toggle { display:block; }
	.dgn-nav-edge { display:none; }
	.dgn-nav-main {
		flex-wrap:wrap; /* permite que el menú desplegado empuje el contenido de abajo */
	}
	.dgn-main-menu {
		display:none; /* oculto hasta tocar la hamburguesa */
		flex-direction:column; width:100%;
		flex-wrap:nowrap;
	}
	.dgn-nav-main.dgn-mobile-open .dgn-main-menu { display:flex; }
	.dgn-menu-item { width:100%; flex-shrink:1; }
	.dgn-menu-link {
		flex-direction:row; justify-content:flex-start; gap:10px;
		width:100%; min-width:0; padding:14px 20px;
		border-bottom:1px solid rgba(0,0,0,.06);
	}
	.dgn-arrow { margin-left:auto; }

	/* Submenú en móvil: SIN hover (no existe en touch) — se abre con tap,
	   como acordeón vertical debajo de su padre, no como dropdown flotante. */
	.dgn-submenu {
		display:none; position:static; box-shadow:none; border-top:none;
		background:rgba(0,0,0,.03); min-width:0; border-radius:0;
	}
	.dgn-menu-item--has-sub.dgn-mobile-open-sub > .dgn-submenu { display:block; }
	.dgn-submenu li a { padding-left:38px; }
}

@media(max-width:380px){
	.dgn-search-form.dgn-search-open input { width:160px; }
	.dgn-logo { font-size:13px; }
}

/* Banner: tamaños de texto escalables — antes usaban el mismo px fijo del
   Personalizador sin importar el tamaño de pantalla, y se veía enorme/roto. */
@media(max-width:900px){
	.dgn-hero-slider, .dgn-hero { height:260px; }
	.dgn-hero-text { padding:0 20px; text-align:center; }
	.dgn-hero-line1 { font-size:22px !important; letter-spacing:1.5px !important; }
	.dgn-hero-line2 { font-size:30px !important; }
}
@media(max-width:600px){
	.dgn-hero-slider, .dgn-hero { height:200px; }
	.dgn-hero-line1 { font-size:17px !important; letter-spacing:1px !important; }
	.dgn-hero-line2 { font-size:22px !important; }
	.dgn-slider-arrow { width:32px; height:32px; font-size:12px; }
}

/* ── ANIMACIONES DEL BANNER ───────────────── */
@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes zoomIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}

.dgn-anim-fadeInDown{animation:fadeInDown .8s ease forwards}
.dgn-anim-fadeInUp{animation:fadeInUp .8s ease .2s both}
.dgn-anim-zoomIn{animation:zoomIn .7s cubic-bezier(.175,.885,.32,1.275) .1s both}
.dgn-anim-slideInLeft{animation:slideInLeft .7s ease .1s both}
.dgn-anim-none{animation:none}
/* Máquina de escribir — el cursor parpadeante */
.dgn-anim-typewriter::after{content:'|';animation:blink .75s step-end infinite}
@keyframes blink{from,to{opacity:1}50%{opacity:0}}

/* ── COMPARTIR EN REDES SOCIALES ──────────── */
.dgn-social-share{
	display:flex;align-items:center;flex-wrap:wrap;gap:10px;
	margin-top:18px;padding:14px 0;border-top:1px solid #eee;
}
.dgn-share-label{
	font-family:'Oswald',Arial,sans-serif;font-size:13px;font-weight:600;
	letter-spacing:.5px;text-transform:uppercase;color:#666;margin-right:4px;
}
.dgn-share-btn{
	display:inline-flex;align-items:center;gap:7px;
	padding:9px 16px;border-radius:4px;text-decoration:none;
	font-family:'Oswald',Arial,sans-serif;font-size:12px;font-weight:600;
	letter-spacing:.4px;text-transform:uppercase;color:#fff;
	transition:opacity .15s,transform .15s;
}
.dgn-share-btn:hover{opacity:.88;transform:translateY(-2px)}
.dgn-share-btn svg{width:16px;height:16px;flex-shrink:0}
.dgn-share-fb{background:#1877F2}
.dgn-share-wa{background:#25D366}
.dgn-share-tg{background:#229ED9}
.dgn-share-tw{background:#000}
.dgn-share-li{background:#0A66C2}

/* ── CABECERA DE CATEGORÍA ─────────────────── */
.dgn-cat-header{
	max-width:1200px;margin:0 auto;padding:20px 24px 0;
}
.dgn-cat-title{
	font-family:'Oswald',Arial,sans-serif;font-size:26px;font-weight:700;
	color:#111;letter-spacing:.5px;text-transform:capitalize;
}
.dgn-cat-desc{font-size:14px;color:#666;margin-top:6px;line-height:1.6}
/* cache-bust: 1784248013 */
