/* EGE Llibres i Cosetes — tema hijo de Hummingbird 1.0.x
   Estilo «cartel de librería-discoteca»: bordes de tinta, sombras planas, color por sección,
   movimiento con intención. Maqueta: «Tienda EGE Llibres» (portada B).
   Primera versión escrita sin ver el resultado en PrestaShop: revisar en la copia de pruebas. */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=JetBrains+Mono:wght@500;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
  --ege-tinta: #15171C;
  --ege-papel: #FBF6EA;
  --ege-crema: #F7E8C8;
  --ege-amarillo: #F2C230;
  --ege-rosa: #F08CB4;
  --ege-rosa-suave: #FDE7F0;
  --ege-azul: #2A3FD6;
  --ege-verde: #1F6F5C;
  --ege-lila: #EEF0FF;
  --ege-sombra: 4px 4px 0 var(--ege-tinta);
  --ege-titulos: 'Bricolage Grotesque', system-ui, sans-serif;
  --ege-datos: 'JetBrains Mono', ui-monospace, monospace;
}

body { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--ege-tinta); background: var(--ege-papel); }
h1, h2, h3, .h1, .h2, .h3 { font-family: var(--ege-titulos); font-weight: 800; letter-spacing: -0.03em; }
a { color: var(--ege-tinta); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--ege-azul); outline-offset: 3px; }
.ege-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; width: 100%; }

/* ---------- Movimiento ---------- */
@keyframes ege-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ege-marquee-r { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes ege-float { 0%,100% { transform: translateY(0) rotate(var(--r)); } 50% { transform: translateY(-14px) rotate(var(--r)); } }
@keyframes ege-spin { to { transform: rotate(360deg); } }
@keyframes ege-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes ege-draw { from { background-size: 0 38%; } to { background-size: 100% 38%; } }
@keyframes ege-pop { 0% { transform: scale(.6) rotate(-14deg); opacity: 0; } 70% { transform: scale(1.08) rotate(3deg); opacity: 1; } 100% { transform: scale(1) rotate(-6deg); opacity: 1; } }
@keyframes ege-logo-float { 0%,100% { transform: translateY(0) rotate(-1.5deg); } 50% { transform: translateY(-6px) rotate(1.5deg); } }
@keyframes ege-logo-wiggle { 0% { transform: rotate(0) scale(1); } 25% { transform: rotate(-6deg) scale(1.07); } 55% { transform: rotate(5deg) scale(1.07); } 100% { transform: rotate(0) scale(1); } }
.ege-rise { animation: ege-rise .9s cubic-bezier(.2,.7,.2,1) both; }
.ege-spin { animation: ege-spin 18s linear infinite; }
.ege-spin--rev { animation-duration: 14s; animation-direction: reverse; }
.ege-float { animation: ege-float 6s ease-in-out infinite; }
@supports (animation-timeline: view()) { .ege-reveal { animation: ege-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; } }

/* ---------- Cinta de promo ---------- */
.ege-promo { background: var(--ege-tinta); color: #fff; overflow: hidden; white-space: nowrap; padding: 10px 0; font: 500 13px var(--ege-datos); }
.ege-promo__track { display: flex; width: max-content; animation: ege-marquee 40s linear infinite; }
.ege-promo__track span { padding-right: 56px; }

/* ---------- Cabecera ---------- */
#header { background: var(--ege-crema); border-bottom: 0; }
.ege-hd__in { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "lg bar" "lg nav"; align-items: center; column-gap: 36px; row-gap: 14px; max-width: 1280px; margin: 0 auto; padding: 16px 24px 18px; box-sizing: border-box; }
.ege-hd__logo { grid-area: lg; display: block; line-height: 0; position: relative; z-index: 2; }
.ege-hd__logo img { display: block; width: 216px; height: auto; filter: drop-shadow(0 12px 10px rgba(21,23,28,.30)); transform-origin: 50% 85%; animation: ege-logo-float 6s ease-in-out infinite; }
.ege-hd__logo:hover img { animation: ege-logo-wiggle .7s ease-in-out; }
.ege-hd__bar { grid-area: bar; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; }
.ege-hd__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.ege-hd__search #_desktop_search { display: flex !important; margin: 0 !important; }
.ege-hd__search .search-widgets input[type="search"], .ege-hd__search .search-widgets input.js-search-input { width: 250px; max-width: 100%; box-sizing: border-box; padding: 11px 16px 11px 40px; border: 2px solid var(--ege-tinta); border-radius: 999px; font: inherit; font-size: 14px; background: #fff; }
.ege-hd__acts .header-block__action-btn { color: var(--ege-tinta); font-weight: 600; font-size: 15px; }
.ege-hd__acts .blockcart .header-block__action-btn { background: var(--ege-amarillo); border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 8px 16px; font-weight: 700; }
.ege-hd__acts .language-selector__wrapper select { border: 2px solid var(--ege-tinta); border-radius: 999px; font-weight: 700; font-size: 13px; padding: 6px 28px 6px 12px; background-color: #fff; }

/* Menú en píldoras. El contenido sale del módulo de menú del back-office. */
.ege-hd__nav { grid-area: nav; background: #fff; border: 2px solid var(--ege-tinta); border-radius: 30px; padding: 6px 10px; box-shadow: var(--ege-sombra); }
.ege-hd__nav .main-menu { display: flex; align-items: center; justify-content: center; width: 100%; }
.ege-hd__nav .main-menu__tree { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px; margin: 0; padding: 0; list-style: none; height: auto !important; }
.ege-hd__nav .main-menu__tree__item { height: auto !important; position: relative; }
.ege-hd__nav .main-menu__tree__link { display: inline-block; padding: 8px 11px; border-radius: 999px; font-weight: 700; font-size: 13.5px; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; text-decoration: none; color: var(--ege-tinta); transition: background .15s, transform .15s; }
.ege-hd__nav .main-menu__tree__link:hover { background: var(--ege-rosa-suave); transform: translateY(-2px); }
.ege-hd__nav .main-menu__tree__link.dropdown-toggle::after { display: none; }
.ege-hd__nav .main-menu__tree__link.dropdown-toggle::before { content: ""; }
.ege-hd__nav .main-menu__tree__item > .menu-container { display: none; position: absolute; top: 100%; left: 0; z-index: 20; min-width: 260px; padding: 6px; background: #fff; border: 2px solid var(--ege-tinta); border-radius: 12px; box-shadow: var(--ege-sombra); }
.ege-hd__nav .main-menu__tree__item:hover > .menu-container, .ege-hd__nav .main-menu__tree__item:focus-within > .menu-container { display: block; }
.ege-hd__nav .menu-container .container { padding: 0; max-width: none; }
.ege-hd__nav .menu-container ul { display: flex !important; flex-direction: column; list-style: none; margin: 0; padding: 0; }
.ege-hd__nav .menu-container .dropdown-item { padding: 8px 12px; border-radius: 8px; font-weight: 600; font-size: 14px; }
.ege-hd__nav .menu-container .dropdown-item:hover { background: var(--ege-rosa-suave); }
.ege-hd__nav .header-block { margin: 0 auto; }
.ege-stripe { height: 7px; background: linear-gradient(90deg, #00465A 0 20%, #05797F 20% 40%, #DD4458 40% 60%, #E8903A 60% 80%, #7A2530 80%); }
.ege-hd { border-bottom: 0; }
@media (max-width: 980px) {
  .ege-hd__in { grid-template-columns: 1fr; grid-template-areas: "lg" "bar" "nav"; justify-items: center; }
  .ege-hd__bar { justify-content: center; }
  .ege-hd__logo img { width: 180px; }
}

/* ---------- Botones y enlaces ---------- */
.ege-tbtn, .btn-primary { display: inline-block; border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 14px 26px; font-weight: 600; font-size: 16px; box-shadow: var(--ege-sombra); background: #fff; color: var(--ege-tinta); text-decoration: none; transition: transform .18s, box-shadow .18s; cursor: pointer; }
.ege-tbtn:hover, .btn-primary:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--ege-tinta); text-decoration: none; color: var(--ege-tinta); }
.ege-tbtn--primary, .btn-primary { background: var(--ege-azul); color: #fff; }
.ege-tbtn--primary:hover, .btn-primary:hover { color: #fff; }
.ege-tbtn--yellow { background: var(--ege-amarillo); }
.btn-outline-primary { color: var(--ege-tinta); border: 2px solid var(--ege-tinta); border-radius: 999px; }
.ege-link { font-weight: 700; font-size: 15px; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .25s; padding-bottom: 3px; }
.ege-link:hover { background-size: 100% 2px; }

/* ---------- Secciones ---------- */
.ege-home { padding: 0; }
.ege-sec { padding: 80px 0; }
.ege-sec__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 36px; }
.ege-sec__sub { margin: 10px 0 0; font-size: 17px; line-height: 1.5; max-width: 520px; }
.ege-h1 { margin: 0; font-family: var(--ege-titulos); font-weight: 800; font-size: clamp(48px, 7vw, 96px); line-height: .96; letter-spacing: -0.045em; text-wrap: balance; animation-delay: .1s; }
.ege-h2 { margin: 0; font-family: var(--ege-titulos); font-weight: 800; font-size: clamp(36px, 5vw, 64px); line-height: .98; letter-spacing: -0.04em; }
.ege-h2--xl { font-size: clamp(40px, 6vw, 72px); }
.ege-hl { background: linear-gradient(var(--c), var(--c)) 0 90% / 100% 38% no-repeat; animation: ege-draw .9s .5s cubic-bezier(.3,.7,.2,1) both; padding: 0 .08em; }
.ege-hl--2 { animation-delay: .9s; }
.ege-eyebrow { align-self: flex-start; font: 700 13px var(--ege-datos); letter-spacing: .08em; text-transform: uppercase; background: #fff; border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 7px 14px; }
.ege-tcard { display: block; border: 2px solid var(--ege-tinta); border-radius: 10px; box-shadow: 6px 6px 0 var(--ege-tinta); text-decoration: none; transition: transform .22s, box-shadow .22s; }
.ege-tcard:hover { transform: translate(-3px, -3px); box-shadow: 10px 10px 0 var(--ege-tinta); text-decoration: none; }
.ege-bg-yellow { background: var(--ege-amarillo); color: var(--ege-tinta); }
.ege-bg-blue { background: var(--ege-azul); color: #fff; }
.ege-bg-pink { background: var(--ege-rosa); color: var(--ege-tinta); }
.ege-bg-green { background: var(--ege-verde); color: #fff; }
.ege-bg-lilac { background: var(--ege-lila); }
.ege-bg-cream { background: #FFF4CC; }
.ege-bg-rose { background: var(--ege-rosa-suave); }

/* ---------- Hero ---------- */
.ege-hero { background: var(--ege-lila); border-bottom: 2px solid var(--ege-tinta); position: relative; }
.ege-hero__in { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 56px; padding-top: 72px; padding-bottom: 96px; position: relative; }
.ege-hero__txt { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.ege-hero__p { margin: 0; font-size: 19px; line-height: 1.55; max-width: 500px; animation-delay: .25s; }
.ege-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; animation-delay: .4s; }
.ege-hero__art { flex: 1 1 420px; min-width: 0; position: relative; min-height: 500px; }
.ege-vinyl { position: absolute; right: -4%; top: 14%; width: 62%; aspect-ratio: 1/1; border-radius: 50%; border: 2px solid var(--ege-tinta); box-shadow: 6px 6px 0 var(--ege-tinta); background: radial-gradient(circle, var(--ege-amarillo) 0 15%, var(--ege-tinta) 16% 100%), repeating-radial-gradient(circle, rgba(255,255,255,.12) 0 1px, transparent 1px 7px); }
.ege-hero__cover { position: absolute; width: 44%; aspect-ratio: 2/3; border: 2px solid var(--ege-tinta); box-shadow: 6px 6px 0 var(--ege-tinta); overflow: hidden; background: #E4E6EB; border-radius: 3px 8px 8px 3px; }
.ege-hero__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ege-hero__cover--1 { --r: -7deg; left: 2%; top: 10%; animation-delay: -1s; }
.ege-hero__cover--2 { --r: 4deg; left: 30%; top: 34%; animation-delay: -3s; }
.ege-sticker { position: absolute; left: -2%; bottom: 2%; width: 140px; height: 140px; border-radius: 50%; background: var(--ege-rosa); border: 2px solid var(--ege-tinta); box-shadow: 4px 4px 0 var(--ege-tinta); display: flex; align-items: center; justify-content: center; animation: ege-pop .8s 1s cubic-bezier(.3,1.4,.4,1) both; }
.ege-ribbon { background: var(--ege-amarillo); border-top: 2px solid var(--ege-tinta); border-bottom: 2px solid var(--ege-tinta); transform: rotate(-1.2deg); margin: -14px -20px 0; overflow: hidden; white-space: nowrap; padding: 16px 0; position: relative; z-index: 1; }
.ege-ribbon__track { display: flex; width: max-content; animation: ege-marquee-r 34s linear infinite; font: 800 34px var(--ege-titulos); letter-spacing: -0.02em; text-transform: uppercase; }
.ege-ribbon__track span { padding-right: 40px; }

/* ---------- Accesos ---------- */
.ege-access { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 28px; }
.ege-access__card { position: relative; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; gap: 36px; min-height: 230px; box-sizing: border-box; min-width: 0; }
.ege-access__img { position: absolute; right: 18px; top: 18px; width: 104px; height: 104px; border: 2px solid var(--ege-tinta); border-radius: 10px; background: #fff center/cover no-repeat; box-shadow: 3px 3px 0 var(--ege-tinta); }
.ege-access__img--contain { background-size: contain; }
.ege-access__q { max-width: 52%; font: 700 12px var(--ege-datos); line-height: 1.4; }
.ege-access__t { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; font: 800 28px/1 var(--ege-titulos); letter-spacing: -0.03em; }
.ege-arr { display: inline-block; transition: transform .22s; }
.ege-tcard:hover .ege-arr { transform: translateX(8px); }

/* ---------- Miniaturas de producto ---------- */
/* Cada portada con su proporción natural: sin marco, sin sombra y sin recorte. Las miniaturas de PrestaShop
   son cuadradas con relleno blanco; sobre la tarjeta blanca ese relleno no se ve. */
.ege-featured { padding-top: 0; }
.product-miniature { background: transparent; border: 0; }
.product-miniature .card { background: #fff; border: 0; box-shadow: none; border-radius: 10px; overflow: hidden; }
.product-miniature__image-container { position: relative; border: 0; box-shadow: none; background: #fff; border-radius: 0; aspect-ratio: auto; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.product-miniature__image-container .product-miniature__link, .product-miniature__image-container picture { display: block; height: auto; }
.product-miniature__image-container img { width: 100%; height: auto; display: block; object-fit: contain; }
.product-miniature:hover .product-miniature__image-container { transform: translateY(-4px); }
.product-miniature__infos { background: transparent; }
.ege-mini-resumen { margin: 6px 0 0; font-size: 13.5px; line-height: 1.45; color: #3d4653; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.product-miniature__title a { font-weight: 700; color: var(--ege-tinta); text-decoration: none; }
.product-miniature__price, .product-miniature__regular-price, .product-miniature__discount-price { font-family: var(--ege-datos); font-weight: 700; }
.product-flags .product-flag, .product-flag { border: 2px solid var(--ege-tinta); border-radius: 999px; font: 700 11px var(--ege-datos); background: var(--ege-amarillo); color: var(--ege-tinta); }
.product-flag.discount, .product-flag.discount-percentage { background: var(--ege-rosa); }

/* ---------- Tienda EGE (discos) ---------- */
.ege-shop { background: var(--ege-rosa-suave); border-top: 2px solid var(--ege-tinta); border-bottom: 2px solid var(--ege-tinta); }
.ege-shop__in { padding-top: 88px; padding-bottom: 88px; }
.ege-h2 > .ege-shop__logo { display: inline-block; vertical-align: middle; width: 96px; height: 96px; border-radius: 12px; border: 2px solid var(--ege-tinta); box-shadow: 4px 4px 0 var(--ege-tinta); transform: rotate(-4deg); margin-left: 10px; }
.ege-recs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 32px; }
.ege-rec { display: flex; flex-direction: column; gap: 6px; text-decoration: none; }
.ege-rec__art { position: relative; display: block; aspect-ratio: 1/1; }
.ege-rec__sleeve { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: cover; border: 2px solid var(--ege-tinta); box-shadow: 5px 5px 0 var(--ege-tinta); background: #fff; box-sizing: border-box; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.ege-rec__vin { position: absolute; top: 6%; left: 6%; width: 88%; aspect-ratio: 1/1; border-radius: 50%; background: radial-gradient(circle, var(--ege-amarillo) 0 16%, var(--ege-tinta) 17% 100%); border: 2px solid var(--ege-tinta); box-sizing: border-box; z-index: 1; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.ege-rec:hover .ege-rec__vin, .ege-rec:focus-visible .ege-rec__vin { transform: translateX(20%) rotate(160deg); }
.ege-rec:hover .ege-rec__sleeve, .ege-rec:focus-visible .ege-rec__sleeve { transform: translateX(-5%); }
.ege-rec__t { margin-top: 8px; font-weight: 700; font-size: 17px; }
.ege-rec__s { font-size: 14px; }

/* ---------- Actividades, blog, tienda física ---------- */
.ege-stack { display: flex; flex-direction: column; gap: 64px; }
.ege-act { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.ege-blog { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 28px; }
.ege-blog__card { padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.ege-blog__cat { font: 700 12px var(--ege-datos); }
.ege-blog__t { font: 700 24px/1.15 var(--ege-titulos); letter-spacing: -0.02em; }
.ege-visit { background: #FFF4CC; border-top: 2px solid var(--ege-tinta); border-bottom: 2px solid var(--ege-tinta); }
.ege-visit__in { padding-top: 88px; padding-bottom: 88px; }
.ege-visit__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.ege-visit__addr { font: 700 28px/1.15 var(--ege-titulos); letter-spacing: -0.02em; font-style: normal; margin-top: 8px; }
.ege-visit__contact { font: 14px/1.7 var(--ege-datos); margin: 0; }

/* ---------- Botones de la cesta, pie ---------- */
.footer__main { background: var(--ege-papel); border-top: 2px solid var(--ege-tinta); }
.ege-kit { background: #fff; border-top: 1px solid #E4E6EB; }
.ege-kit__logos { max-width: 800px; width: 100%; }
.ege-kit__apoyo { max-width: 360px; width: 100%; }
.ege-kit__text { margin: 0 0 8px; font-size: 12px; text-transform: uppercase; color: #5b5b5b; }

@media (max-width: 760px) { .ege-sec { padding: 56px 0; } .ege-hero__in { padding-top: 40px; padding-bottom: 64px; } .ege-hero__art { min-height: 380px; } .ege-ribbon__track { font-size: 24px; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .ege-hl { background-size: 100% 38%; }
}

/* ---------- Cabecera NO fija (Hummingbird la pone sticky) ---------- */
#header.header, #header.js-sticky-header, .header.js-sticky-header { position: relative !important; top: auto !important; }
html { scroll-padding-top: 0 !important; }

/* ---------- Ficha de producto ---------- */
#wrapper.wrapper { background: var(--ege-papel); }
.ege-prod { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr) minmax(0, 300px); gap: 40px; align-items: start; padding: 24px 0 64px; }
@media (max-width: 1100px) { .ege-prod { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); } .ege-prod__side { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); } .ege-prod__side .ege-prod__h2 { grid-column: 1 / -1; } }
@media (max-width: 720px) { .ege-prod { grid-template-columns: minmax(0, 1fr); gap: 28px; } }
.ege-prod__left, .ege-prod__main, .ege-prod__side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ege-prod__h2 { margin: 0; font-family: var(--ege-titulos); font-weight: 800; font-size: 26px; letter-spacing: -0.03em; line-height: 1.05; }
.ege-mono { font-family: var(--ege-datos); }

/* Portada: con lomo si es libro, cuadrada si no */
.ege-prod .product__images { position: relative; }
.ege-prod .product__images .carousel { border: 2px solid var(--ege-tinta); box-shadow: 6px 6px 0 var(--ege-tinta); overflow: hidden; background: #fff; position: relative; }
.ege-prod .product__images .carousel-item picture, .ege-prod .product__images .carousel-item img { display: block; width: 100%; height: auto; }
.ege-libro .product__images .carousel { border-radius: 3px 10px 10px 3px; background: #E4E6EB; }
.ege-prod .product__images .carousel-item img.ege-cover-img { width: 100%; height: auto; }
.ege-libro .product__images .carousel-item img { aspect-ratio: auto; object-fit: contain; }
.ege-cuadrado .product__images .carousel { border-radius: 6px; }
.ege-cuadrado .product__images .carousel-item img { aspect-ratio: 1 / 1; object-fit: contain; }
.ege-prod .product__images .product-flags { display: none; }
.ege-prod .product__images__modal-opener { z-index: 3; }

/* Ficha técnica bajo la portada */
.ege-prod__ficha { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.ege-prod__dl { margin: 0; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px 14px; font-size: 14px; padding-top: 10px; border-top: 2px solid var(--ege-tinta); }
.ege-prod__dl dt { color: #555B66; }
.ege-prod__dl dd { margin: 0; overflow-wrap: anywhere; }
.ege-prod__details-ps { display: none; }

/* Centro */
.ege-prod__top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ege-prod__cat { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #555B66; font-weight: 600; }
.ege-prod__top .product-flags { position: static; display: flex; gap: 6px; margin: 0; }
.ege-prod__name { margin: 0; font-family: var(--ege-titulos); font-weight: 700; font-size: clamp(30px, 4vw, 50px); line-height: 1.02; letter-spacing: -0.03em; text-wrap: balance; }
.ege-prod .product__prices { display: flex; flex-direction: column; gap: 4px; }
.ege-prod .product__current-price { font-family: var(--ege-titulos); font-weight: 700; font-size: 40px; color: var(--ege-azul); line-height: 1; }
.ege-prod .product__price-regular { text-decoration: line-through; color: #555B66; font-size: 18px; }
.ege-prod .product__discount-percentage, .ege-prod .product__discount-amount { display: inline-block; font-size: 13px; font-weight: 600; background: var(--ege-rosa); padding: 3px 9px; border-radius: 4px; margin-left: 6px; }
.ege-prod .product__tax-label { font-size: 13px; color: #555B66; }
.ege-prod__resumen { font-size: 17px; line-height: 1.55; max-width: 560px; }
.ege-prod__resumen p:last-child { margin-bottom: 0; }

/* Nota de bajo pedido (sustituye al aviso de disponibilidad de PrestaShop) */
.ege-dispo { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 2px solid var(--ege-tinta); border-radius: 10px; background: #E3F4EA; color: #14532D; box-shadow: 4px 4px 0 var(--ege-tinta); }
.ege-dispo svg { flex: none; margin-top: 2px; }
.ege-dispo__t { font-weight: 700; font-size: 15px; line-height: 1.3; }
.ege-dispo__s { font-size: 14px; line-height: 1.4; margin-top: 3px; }
.ege-bajo-pedido .product-availability { display: none; }

/* Comprar */
.ege-prod .product-availability .alert { border: 2px solid var(--ege-tinta); border-radius: 10px; box-shadow: 4px 4px 0 var(--ege-tinta); font-weight: 600; }
.ege-prod .quantity-button .input-group { border: 2px solid var(--ege-tinta); border-radius: 10px; overflow: hidden; }
.ege-prod .quantity-button .input-group .btn, .ege-prod .quantity-button .input-group .form-control { border: 0; min-height: 48px; font-weight: 700; }
.ege-prod .add-to-cart { min-height: 52px; font-size: 17px; }
.ege-prod .product__add-to-cart .row { align-items: stretch; }
.ege-prod__sobre { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; padding-top: 20px; border-top: 2px solid var(--ege-tinta); }
.ege-prod__sobre .rich-text { font-size: 16px; line-height: 1.65; color: #3d4653; }
.ege-prod__sobre .rich-text p:last-child { margin-bottom: 0; }
.ege-prod__sobre .ege-traduccio-automatica, .ege-prod__sobre .traduccion-automatica { margin: 10px 0 0; padding: 10px 14px; border-left: 3px solid #CDD0D7; background: #fff; font-size: 13px; line-height: 1.5; color: #555B66; }

/* Etiquetas y panel de equipo */
.ege-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ege-tag { display: inline-flex; align-items: center; padding: 6px 12px; border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; text-decoration: none; }
.ege-tag:hover { background: var(--ege-rosa-suave); text-decoration: none; }
.ege-adm { padding: 12px 16px; border: 2px dashed var(--ege-tinta); border-radius: 10px; background: var(--ege-lila); font-size: 14px; display: flex; flex-direction: column; gap: 8px; }
.ege-adm__t { font: 700 12px var(--ege-datos); letter-spacing: .06em; text-transform: uppercase; }
.ege-adm__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ege-adm__pill { padding: 4px 12px; border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; font-weight: 700; }
.ege-adm a { font-weight: 700; text-decoration: underline; }
.ege-adm__meta { font: 12px var(--ege-datos); }
.ege-adm__no { color: #555B66; }

/* Compromisos (lateral) */
.ege-comp { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 14px; align-items: start; padding: 14px 16px; border: 2px solid var(--ege-tinta); border-radius: 10px; box-shadow: 4px 4px 0 var(--ege-tinta); }
.ege-comp__ico { grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 2px solid var(--ege-tinta); display: flex; align-items: center; justify-content: center; }
.ege-comp h3 { margin: 0; font-family: var(--ege-titulos); font-weight: 800; font-size: 19px; line-height: 1.1; letter-spacing: -0.02em; align-self: center; }
.ege-comp ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.4; }
.ege-comp li { display: flex; gap: 8px; }
.ege-comp li::before { content: "✓"; font-weight: 800; }
.ege-bg-white { background: #fff; }
.ege-prod__acc { padding-bottom: 48px; }

/* ---------- Listados (categorías, búsqueda, novedades…) ---------- */
.ege-listhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 22px 40px; background: var(--ege-amarillo); border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 8px 8px 0 var(--ege-tinta); padding: 36px 40px; margin: 8px 0 32px; box-sizing: border-box; }
.ege-listhead--plain { background: var(--ege-lila); }
.ege-listhead__txt { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.ege-listhead__h1 { margin: 0; font-family: var(--ege-titulos); font-weight: 800; font-size: clamp(40px, 6vw, 80px); line-height: .96; letter-spacing: -0.04em; text-transform: none; }
.ege-listhead__h1--small { font-size: 36px; margin: 8px 0 24px; }
.ege-listhead__desc { font-size: 17px; line-height: 1.5; max-width: 560px; }
.ege-listhead__desc p:last-child { margin-bottom: 0; }
.ege-listhead__subs { flex: 1 1 320px; min-width: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ege-subcat { display: inline-block; border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 9px 16px; font-weight: 700; font-size: 14px; background: #fff; color: var(--ege-tinta); text-decoration: none; transition: transform .15s, background .15s; }
.ege-subcat:hover { transform: translateY(-2px); background: var(--ege-rosa-suave); text-decoration: none; color: var(--ege-tinta); }
@media (max-width: 720px) { .ege-listhead { padding: 24px; } }

/* Barra: cuántos + ordenar */
.ege-listbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
.ege-listbar__count { margin: 0; font: 700 14px var(--ege-datos); }
.ege-listbar__right { display: flex; align-items: center; gap: 10px; }
.ege-listbar .sort-by { font-size: 14px; font-weight: 600; }
.ege-listbar .sort-by .material-icons { display: none; }
.ege-listbar .products-sort-order .select-title { border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; font-weight: 600; font-size: 14px; padding: 9px 18px !important; min-height: 44px; }
.ege-listbar .products-sort-order .dropdown-menu { border: 2px solid var(--ege-tinta); border-radius: 12px; box-shadow: var(--ege-sombra); padding: 6px; }
.ege-listbar .products-sort-order .dropdown-item { border-radius: 8px; font-weight: 600; font-size: 14px; padding: 8px 12px; }
.ege-listbar .products-sort-order .dropdown-item.current, .ege-listbar .products-sort-order .dropdown-item:hover { background: var(--ege-rosa-suave); color: var(--ege-tinta); }
.ege-tbtn--sm { padding: 9px 18px; font-size: 14px; }

/* Columna izquierda (árbol de categorías y filtros) como panel */
#left-column .block-categories, #left-column #search_filters, #left-column .ps_categorytree, #left-column > .block, #left-column > section { background: #fff; border: 2px solid var(--ege-tinta); border-radius: 12px; box-shadow: 6px 6px 0 var(--ege-tinta); padding: 20px 22px; margin-bottom: 28px; }
#left-column .h6, #left-column .block-categories__title, #left-column .facet__title, #left-column .h5 { font-family: var(--ege-titulos); font-weight: 800; letter-spacing: -0.02em; }
#left-column a { color: var(--ege-tinta); font-weight: 600; text-decoration: none; }
#left-column a:hover { color: var(--ege-tinta); text-decoration: underline; }
#left-column .facet { border-top: 2px solid var(--ege-tinta); padding-top: 12px; margin-top: 12px; }
#left-column .facet:first-of-type { border-top: 0; margin-top: 0; padding-top: 0; }
#left-column input[type="checkbox"], #left-column input[type="radio"] { accent-color: var(--ege-tinta); width: 18px; height: 18px; }
#js-active-search-filters .filter-block, .active-filters .filter-block { border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; font-weight: 600; font-size: 13px; }

/* Paginación */
.pagination-container { margin-top: 36px; align-items: center; }
.pagination-number { font: 13px var(--ege-datos); }
.pagination--custom { gap: 6px; flex-wrap: wrap; }
.pagination--custom .page-link { border: 2px solid var(--ege-tinta); border-radius: 999px !important; color: var(--ege-tinta); font-weight: 700; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; background: #fff; }
.pagination--custom .page-item.active .page-link { background: var(--ege-tinta); color: #fff; }
.pagination--custom .page-link:hover { background: var(--ege-rosa-suave); color: var(--ege-tinta); }

/* ---------- Tarjeta de producto afinada (listados) ---------- */
.products > .product-miniature { display: flex; }
.product-miniature .card { display: flex; flex-direction: column; width: 100%; height: 100%; }
.product-miniature__infos { display: flex; flex-direction: column; flex: 1 1 auto; padding: 14px 16px 16px; gap: 10px; }
.product-miniature__infos__top { display: flex; flex-direction: column; gap: 6px; }
.product-miniature__infos__bottom { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
.product-miniature__title { margin: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 700; font-size: 15px; line-height: 1.3; letter-spacing: 0; color: var(--ege-tinta); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.product-miniature__infos__top > a { text-decoration: none; }
.product-miniature__infos__top > a:hover .product-miniature__title { text-decoration: underline; }
.ege-mini-resumen { margin: 0; -webkit-line-clamp: 3; }
.product-miniature__prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.product-miniature__price { font: 700 18px var(--ege-datos); color: var(--ege-tinta); }
.product-miniature__discount-price { order: 2; }
.product-miniature__regular-price { font: 500 13px var(--ege-datos); color: #737d8c; text-decoration: line-through; }
.ege-mini-buy { margin: 0; }
.ege-mini-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 10px 16px; border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; color: var(--ege-tinta); font: 600 14px 'Plus Jakarta Sans', system-ui, sans-serif; text-decoration: none; cursor: pointer; transition: background .15s, transform .15s; box-sizing: border-box; }
.ege-mini-btn:hover { background: var(--ege-rosa-suave); color: var(--ege-tinta); text-decoration: none; transform: translateY(-1px); }
.ege-mini-btn--add { background: var(--ege-tinta); color: #fff; }
.ege-mini-btn--add:hover { background: var(--ege-azul); color: #fff; }
/* Etiquetas sobre la portada (-5 %, Nuevo, Fuera de stock) */
.product-flags { gap: 6px; }
.product-flags .badge { border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 4px 10px; font: 700 11px var(--ege-datos); letter-spacing: 0; background: #fff; color: var(--ege-tinta); }
.product-flags .badge.discount, .product-flags .badge.discount-percentage, .product-flags .badge.discount-amount, .product-flags .badge.on-sale { background: var(--ege-rosa); }
.product-flags .badge.new { background: var(--ege-amarillo); }
.product-flags .badge.out_of_stock { background: #fff; color: #737d8c; border-color: #737d8c; }

/* ---------- Ficha: la portada sin marco ni sombra (muchas imágenes ya traen su propio margen/sombra) ---------- */
.ege-prod .product__images .carousel, .ege-libro .product__images .carousel, .ege-cuadrado .product__images .carousel { border: 0; box-shadow: none; background: transparent; border-radius: 0; overflow: visible; }
.ege-prod .product__images .carousel-item img { width: 100%; height: auto; max-height: 80vh; object-fit: contain; aspect-ratio: auto; }
.ege-prod .product__images__modal-opener { opacity: 0; transition: opacity .2s; }
.ege-prod .product__images:hover .product__images__modal-opener, .ege-prod .product__images__modal-opener:focus-within { opacity: 1; }

/* Más introducción en la tarjeta para llenar el hueco hasta el precio (el texto se corta por líneas, no por letras) */
.ege-mini-resumen { -webkit-line-clamp: 7; }
.product-miniature__infos { gap: 8px; }

/* ---------- Buscador: los resultados por ENCIMA del logo y del menú ---------- */
.ege-hd__bar { position: relative; z-index: 40; }
.ege-hd__logo { z-index: 1; }
.ege-hd__nav { position: relative; z-index: 10; }
.ege-hd__search .search-widgets__dropdown { z-index: 50; top: calc(100% + 8px); left: 0; right: auto; width: min(520px, 92vw); max-width: none; background: #fff; border: 2px solid var(--ege-tinta); border-radius: 12px; box-shadow: 6px 6px 0 var(--ege-tinta); }
.ege-hd__search .search-widgets__results { max-height: 60vh; padding: 8px; overflow-y: auto; list-style: none; }
.ege-hd__search .search-result { margin: 2px 0; }
.ege-hd__search .search-result__link { display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--ege-tinta); }
.ege-hd__search .search-result__link:hover, .ege-hd__search .search-result__link:focus-visible { background: var(--ege-rosa-suave); }
.ege-hd__search .search-result__image { width: 44px; max-width: 44px; height: auto; border-radius: 3px; flex: none; }
.ege-hd__search .search-result__name { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--ege-tinta); }
@media (max-width: 980px) { .ege-hd__search .search-widgets__dropdown { left: 50%; transform: translateX(-50%); } }

/* Hueco en blanco en las tarjetas: el módulo de opiniones reserva sitio para las estrellas (aunque no haya
   ninguna) y el bloque de variantes va vacío en libros. Fuera los dos en los listados. */
.product-miniature .product-list-reviews, .product-miniature:not(.reviews-loaded) .product-list-reviews { display: none !important; min-height: 0 !important; }
.product-miniature__variants:empty, .product-miniature__variants:not(:has(*)) { display: none; }

/* Descuento en la ficha: «−5%» en negro sobre amarillo, bien legible (antes rosa con texto gris) */
.ege-prod .product__discount { display: flex; align-items: center; gap: 10px; }
.ege-prod .product__discount-percentage, .ege-prod .product__discount-amount { display: inline-block; margin: 0; background: var(--ege-amarillo); color: var(--ege-tinta); border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 3px 12px; font: 700 14px var(--ege-datos); white-space: nowrap; }

/* Tarjeta: la portada a todo el ancho y más aire en el texto */
.product-miniature__image-container { background: #fff; }
.product-miniature__image-container img.ege-mini-img { width: 100%; height: auto; display: block; object-fit: cover; }
.product-miniature__infos { padding: 18px 22px 22px; }

/* Ficha: el descuento ya sale junto al precio; arriba solo quedan «Nuevo», «Fuera de stock», etc. */
.ege-prod__top .product-flags .badge.discount, .ege-prod__top .product-flags .badge.discount-percentage, .ege-prod__top .product-flags .badge.discount-amount, .ege-prod__top .product-flags .badge.on-sale { display: none; }

/* Submenú (Fonogramas…): el módulo de menú pinta las opciones como columnas de Bootstrap (row-cols-4)
   y dentro del desplegable estrecho quedaban letra a letra. Lista normal, una opción por línea. */
.ege-hd__nav .menu-container ul.row, .ege-hd__nav .menu-container ul { margin: 0 !important; --bs-gutter-x: 0; --bs-gutter-y: 0; }
.ege-hd__nav .menu-container ul > li { width: auto !important; max-width: none !important; flex: 0 0 auto !important; padding: 0 !important; margin: 0 !important; }
.ege-hd__nav .menu-container .dropdown-item, .ege-hd__nav .menu-container a { display: block; white-space: nowrap; text-transform: none; letter-spacing: 0; color: var(--ege-tinta); text-decoration: none; }
.ege-hd__nav .main-menu__tree__item > .menu-container { min-width: 220px; width: max-content; padding: 8px; }

/* 4 columnas: tarjetas algo más compactas para que quepan junto a la columna lateral */
@media (min-width: 1200px) {
  #content-wrapper .products .product-miniature__infos { padding: 16px 16px 18px; }
  #content-wrapper .products .product-miniature__title { font-size: 14px; }
  #content-wrapper .products .ege-mini-resumen { font-size: 13px; }
  #content-wrapper .products .ege-mini-btn { font-size: 13px; padding: 9px 10px; }
}

/* Sin «Vista rápida»: no funcionaba con la tarjeta nueva y la ficha está a un clic */
.product-miniature__quickview, .product-miniature__quickview_touch, .product-miniature__quickview_button { display: none !important; }

/* Actividades (widget del panel) */
.ege-act-page { display: flex; flex-direction: column; gap: 48px; margin: 8px 0 48px; }
.ege-act { align-items: stretch; }
.ege-act > .ege-act-page { margin-top: 16px; }
#ege-activitats-passades { border-top: 2px solid var(--ege-tinta); padding-top: 28px; }
.ege-cms-content img { max-width: 100%; height: auto; }
#ege-act-proximas-slot { margin: 24px 0 40px; }

/* Actividades: cabecera con imagen a la izquierda y próximas a la derecha; carteles en 4 columnas */
.ege-act-top { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 32px; align-items: center; margin: 8px 0 40px; }
.ege-act-top--solo { grid-template-columns: minmax(0, 1fr); }
.ege-act-top__img img { max-width: 100%; height: auto; display: block; }
.ege-act-top__img p { margin: 0; }
@media (max-width: 900px) { .ege-act-top { grid-template-columns: minmax(0, 1fr); } }
.ege-act-pasadas-h { margin-top: 24px; }
#ege-activitats-passades { margin: 16px 0 32px; border-top: 0; padding-top: 0; }
.ege-carteles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 8px 0 48px; }
@media (max-width: 1100px) { .ege-carteles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .ege-carteles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ege-cartel img { width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 1px 2px rgba(21,23,28,.08), 0 6px 18px rgba(21,23,28,.10); }
.ege-cartel a { display: block; }

/* Carteles de una misma actividad: recuadro con las imágenes pasando solas */
.ege-cartel--reel { position: relative; display: grid; }
.ege-cartel--reel .ege-cartel__slide { grid-area: 1 / 1; opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.ege-cartel--reel .ege-cartel__slide.is-on { opacity: 1; pointer-events: auto; }
.ege-cartel__dots { grid-area: 2 / 1; display: flex; justify-content: center; gap: 6px; padding-top: 10px; }
.ege-cartel__dots button { width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 0; background: #c9ccd3; cursor: pointer; }
.ege-cartel__dots button.is-on { background: var(--ege-tinta); }
@media (prefers-reduced-motion: reduce) { .ege-cartel--reel .ege-cartel__slide { transition: none; } }

/* Portada · Actividades: texto y botón a la izquierda, próxima actividad a la derecha */
.ege-home-act { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 40px; align-items: start; }
.ege-home-act__txt { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.ege-home-act__txt .ege-tbtn { white-space: nowrap; }
.ege-home-act__next .ege-act-page { margin: 0; gap: 0; }
.ege-home-act__next #ege-activitats { max-height: 520px; overflow: hidden; border-radius: 16px; }
@media (max-width: 900px) { .ege-home-act { grid-template-columns: minmax(0, 1fr); } }

.ege-home-act { align-items: center; }
.ege-home-act__gif { display: block; line-height: 0; }
.ege-home-act__gif img { width: 100%; max-width: 340px; height: auto; display: block; }

/* ---------- Librizine (blog) con aire de fanzine: fondo de tinta, páginas fotocopiadas y torcidas ---------- */
.ege-zine { background: var(--ege-tinta); color: var(--ege-papel); padding: 88px 0 96px; border-top: 2px solid var(--ege-tinta); }
.ege-zine__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 44px; }
.ege-zine__h2 { margin: 0; font-family: var(--ege-titulos); font-weight: 800; font-size: clamp(56px, 9vw, 120px); line-height: .9; letter-spacing: -0.05em; color: var(--ege-papel); display: inline-block; transform: rotate(-2deg); background: linear-gradient(var(--ege-rosa), var(--ege-rosa)) 0 88% / 100% 30% no-repeat; padding: 0 .08em; }
.ege-zine__sub { margin: 18px 0 0; font: 500 14px var(--ege-datos); letter-spacing: .02em; color: #e9e2d0; max-width: 560px; }
.ege-zine__all, .ege-zine__all:hover { color: var(--ege-amarillo); }
.ege-zine__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 36px 32px; }
.ege-zine__card { display: flex !important; flex-direction: column; gap: 12px; background: #fdfbf5; color: var(--ege-tinta); padding: 16px 16px 20px; border: 2px solid var(--ege-tinta); box-shadow: 8px 8px 0 var(--ege-amarillo); text-decoration: none; transition: transform .25s, box-shadow .25s; }
.ege-zine__card:nth-child(3n+1) { transform: rotate(-1.4deg); }
.ege-zine__card:nth-child(3n+2) { transform: rotate(1deg); box-shadow: 8px 8px 0 var(--ege-rosa); }
.ege-zine__card:nth-child(3n+3) { transform: rotate(-.6deg); box-shadow: 8px 8px 0 #7FD1C2; }
.ege-zine__card:hover { transform: rotate(0) translateY(-4px); color: var(--ege-tinta); text-decoration: none; }
.ege-zine__img { display: block; aspect-ratio: 13 / 9; overflow: hidden; background: #ddd; border: 2px solid var(--ege-tinta); }
.ege-zine__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: filter .3s; }
.ege-zine__card:hover .ege-zine__img img { filter: grayscale(1) contrast(1.25); }
.ege-zine__cat { align-self: flex-start; font: 700 11px var(--ege-datos); text-transform: uppercase; letter-spacing: .08em; border: 2px solid var(--ege-tinta); padding: 3px 8px; background: var(--ege-amarillo); transform: rotate(-2deg); }
.ege-zine__t { font: 800 22px/1.12 var(--ege-titulos); letter-spacing: -0.02em; }
.ege-zine__desc { font-size: 14px; line-height: 1.5; color: #3d4653; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ege-zine__more { margin-top: auto; font: 700 13px var(--ege-datos); }
@media (prefers-reduced-motion: reduce) { .ege-zine__card { transform: none !important; } }

/* Accesos de la portada: colores, título que no se corta */
.ege-access__t { font-size: clamp(22px, 2.2vw, 28px); flex-wrap: wrap; }
.ege-access__t > :first-child, .ege-access__t { overflow-wrap: anywhere; }
.ege-access__img--contain { background-size: cover; }
/* Accesos: título y flecha siempre en la misma línea (Merchandising bajaba la flecha) */
.ege-access__t { flex-wrap: nowrap !important; align-items: center; font-size: clamp(20px, 1.9vw, 28px); }
.ege-access__t .ege-arr { flex: none; }
/* Acceso Libros: la portada entera, en vertical como un libro */
.ege-access__img--libro { width: 88px; height: 132px; background-size: cover; background-position: center; border-radius: 3px 8px 8px 3px; }

/* Accesos con icono en círculo blanco (Merchandising mantiene el logo de EGE) */
.ege-access__ico { position: absolute; right: 18px; top: 18px; width: 92px; height: 92px; border-radius: 50%; background: #fff; border: 2px solid var(--ege-tinta); box-shadow: 3px 3px 0 var(--ege-tinta); display: flex; align-items: center; justify-content: center; transition: transform .25s; }
.ege-tcard:hover .ege-access__ico { transform: rotate(-8deg) scale(1.05); }
/* Título sin partir palabras y que quepa siempre en una línea */
.ege-access__t, .ege-access__t > :first-child { overflow-wrap: normal !important; word-break: normal; white-space: nowrap; }
.ege-access__t { font-size: clamp(18px, 1.65vw, 26px) !important; gap: 8px; }

/* Hero: el último disco con el vinilo saliendo de la funda */
.ege-hero__disc { position: absolute; right: 14%; top: 10%; width: 50%; aspect-ratio: 1 / 1; }
.ege-hero__disc .ege-vinyl { position: absolute; top: 4%; left: 36%; right: auto; width: 92%; height: 92%; z-index: 0; }
.ege-hero { overflow: hidden; }
.ege-hero__sleeve { position: absolute; inset: 0; z-index: 1; border: 2px solid var(--ege-tinta); box-shadow: 6px 6px 0 var(--ege-tinta); background: #fff; overflow: hidden; }
.ege-hero__sleeve img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ege-hero__cover { z-index: 2; }
.ege-sticker { z-index: 3; }
.ege-hero__cover--1 { left: 0; top: 6%; }
.ege-hero__cover--2 { left: 22%; top: 36%; }

/* El vinilo entra y sale de la funda mientras gira */
@keyframes ege-vinyl-io {
  0%   { transform: translateX(-34%) rotate(0deg); }
  15%  { transform: translateX(-34%) rotate(60deg); }
  45%  { transform: translateX(0) rotate(300deg); }
  60%  { transform: translateX(0) rotate(420deg); }
  90%  { transform: translateX(-34%) rotate(660deg); }
  100% { transform: translateX(-34%) rotate(720deg); }
}
.ege-vinyl--io { animation: ege-vinyl-io 9s ease-in-out infinite; }

/* ---------- Destacados (elegidos a mano) ---------- */
.ege-dest { padding-bottom: 24px; }
.ege-dest__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px; }
.ege-dest__card { display: flex; flex-direction: column; background: #fff; border-radius: 10px; overflow: hidden; color: var(--ege-tinta); text-decoration: none; transition: transform .25s; }
.ege-dest__card:hover { transform: translateY(-4px); color: var(--ege-tinta); text-decoration: none; }
.ege-dest__img { display: block; background: #fff; }
.ege-dest__img img { width: 100%; height: auto; display: block; }
.ege-dest__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.ege-dest__t { font-weight: 700; font-size: 15px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ege-dest__res { font-size: 13.5px; line-height: 1.45; color: #3d4653; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ege-dest__price { margin-top: auto; display: flex; gap: 10px; align-items: baseline; }
.ege-dest__price strong { font: 700 18px var(--ege-datos); }
.ege-dest__price del { font: 500 13px var(--ege-datos); color: #737d8c; }
.ege-dest__more { font: 700 13px var(--ege-datos); }
.ege-dest__vacio { padding: 24px; border: 2px dashed var(--ege-tinta); border-radius: 12px; font-size: 15px; }
.ege-dest__edit { background: var(--ege-amarillo); }
/* Editor (solo equipo) */
.ege-dest-dlg { width: min(720px, 94vw); max-height: 90vh; padding: 0; border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 8px 8px 0 var(--ege-tinta); background: #fff; }
.ege-dest-dlg::backdrop { background: rgba(21,23,28,.45); }
.ege-dest-dlg__in { display: flex; flex-direction: column; gap: 12px; padding: 24px; }
.ege-dest-dlg__head { display: flex; justify-content: space-between; align-items: center; }
.ege-dest-dlg__x { border: 2px solid var(--ege-tinta); background: #fff; border-radius: 999px; width: 44px; height: 44px; font-size: 22px; cursor: pointer; }
.ege-dest-dlg__lbl { font-weight: 700; font-size: 13px; }
.ege-dest-dlg__q { width: 100%; box-sizing: border-box; padding: 12px 16px; border: 2px solid var(--ege-tinta); border-radius: 10px; font: inherit; font-size: 15px; }
.ege-dest-dlg__res, .ege-dest-dlg__sel { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; max-height: 32vh; overflow-y: auto; }
.ege-dest-dlg__item { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 8px; background: #fafbfd; }
.ege-dest-dlg__item img { width: 40px; height: 56px; object-fit: cover; border-radius: 3px; flex: none; background: #eee; }
.ege-dest-dlg__name { flex: 1; font-size: 14px; font-weight: 600; min-width: 0; }
.ege-dest-dlg__mini { width: 36px; height: 36px; border: 2px solid var(--ege-tinta); border-radius: 8px; background: #fff; font-weight: 700; cursor: pointer; flex: none; }
.ege-dest-dlg__mini:disabled { opacity: .3; cursor: default; }
.ege-dest-dlg__rm { color: #b91c1c; }
.ege-dest-dlg__h3 { margin: 8px 0 0; font-size: 16px; font-weight: 800; }
.ege-dest-dlg__hint { padding: 8px; color: #555B66; font-size: 14px; }
.ege-dest-dlg__msg { margin: 0; min-height: 1.2em; font-size: 14px; font-weight: 600; }
.ege-dest-dlg__foot { display: flex; justify-content: flex-end; gap: 12px; }

/* Tienda física: datos a la izquierda, mapa de Google a la derecha */
.ege-visit__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
.ege-visit__map { border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 8px 8px 0 var(--ege-tinta); overflow: hidden; background: #fff; min-height: 340px; }
.ege-visit__map iframe { display: block; width: 100%; height: 100%; min-height: 340px; border: 0; }
@media (max-width: 900px) { .ege-visit__in { grid-template-columns: minmax(0, 1fr); } }

.ege-dest__grid--corto > :nth-child(n+11) { display: none; }
.ege-dest__mas { display: block; margin: 28px auto 0; }

/* Destacados: 5 columnas en pantalla grande */
.ege-dest__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 1100px) { .ege-dest__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 860px) { .ege-dest__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ege-dest__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.ege-dest__body { padding: 14px 14px 16px; }

/* Listas de la portada: cositas en cuadrado, botones de la cabecera de sección */
.ege-dest__card--sq .ege-dest__img { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; padding: 10px; box-sizing: border-box; }
.ege-dest__card--sq .ege-dest__img img { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); object-fit: contain; }
.ege-sec__acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ege-rec__s del { color: #737d8c; font-size: 13px; }
.ege-rec__s strong { font-family: var(--ege-datos); }

/* Novedades de la portada: 5 columnas, como Destacados */
.ege-np { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
.ege-np__item { min-width: 0; }
@media (max-width: 1100px) { .ege-np { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 860px) { .ege-np { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ege-np { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }


/* Hero más compacto (19-oct): titular más pequeño, menos aire y portadas más bajas */
.ege-hero .ege-h1 { font-size: clamp(40px, 5vw, 68px); }
.ege-hero__in { padding-top: 40px; padding-bottom: 52px; gap: 28px 48px; }
.ege-hero__txt { gap: 18px; }
.ege-hero__p { font-size: 17px; }
.ege-sticker { width: 112px; height: 112px; }
.ege-sticker svg { width: 100px; height: 100px; }
@media (max-width: 760px) { .ege-hero__in { padding-top: 28px; padding-bottom: 40px; } }

/* Collage del hero: alto según el ancho, para que las portadas nunca bajen hasta la cinta */
.ege-hero__art { min-height: 0; flex-basis: 400px; aspect-ratio: 5 / 4; }
.ege-hero__cover { width: 36%; }
.ege-hero__cover--1 { left: 4%; top: 4%; }
.ege-hero__cover--2 { left: 26%; top: 24%; }
.ege-hero__disc { right: 8%; top: 6%; width: 42%; }
.ege-sticker { left: -2%; bottom: 0; }

/* Cinta: más ancha que la pantalla y algo menos inclinada, para que no asome el borde por la izquierda */
.ege-home { overflow-x: clip; }
.ege-ribbon { margin: -24px -80px 0; transform: rotate(-.8deg); }

/* Próxima actividad: cartelito clavado en el collage, con calendario de hoja */
.ege-nextact { position: absolute; right: 0; bottom: 0; z-index: 4; width: 220px; display: flex; flex-direction: column; gap: 8px; padding: 12px 14px 12px; background: #fff; border: 2px solid var(--ege-tinta); border-radius: 12px; box-shadow: var(--ege-sombra); color: var(--ege-tinta); text-decoration: none; transform: rotate(3deg); transition: transform .15s, box-shadow .15s; }
.ege-nextact[hidden] { display: none; }
.ege-nextact:hover, .ege-nextact:focus-visible { transform: rotate(0) translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ege-tinta); color: var(--ege-tinta); }
.ege-nextact__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ege-nextact__cal { flex: none; width: 58px; border: 2px solid var(--ege-tinta); border-radius: 8px; overflow: hidden; background: #fff; text-align: center; font-family: var(--ege-datos); line-height: 1; }
.ege-nextact__mes { display: block; background: var(--ege-rosa); border-bottom: 2px solid var(--ege-tinta); padding: 4px 0 3px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.ege-nextact__dia { display: block; padding: 6px 0 7px; font-size: 26px; }
.ege-nextact__gif { width: 112px; height: auto; display: block; }
.ege-nextact__tit { font-weight: 800; font-size: 15px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ege-nextact__meta { font-size: 12.5px; color: #555B66; }
.ege-nextact__more { font-size: 13px; font-weight: 700; border-top: 2px dashed #D6DBE6; padding-top: 8px; }
@media (max-width: 520px) { .ege-nextact { width: 190px; } .ege-nextact__gif { width: 92px; } }

/* Collage más pequeño y centrado en su columna, con aire hasta la cinta */
.ege-hero__art { flex: 0 1 460px; max-width: 460px; margin: 0 auto; }
.ege-hero__in { padding-bottom: 92px; }
.ege-hero__cover { width: 31%; }
.ege-hero__disc { width: 36%; }
/* Sello que gira: letra más grande y gruesa para que se lea */
.ege-sticker { width: 128px; height: 128px; }
.ege-sticker svg { width: 120px; height: 120px; }
.ege-nextact { width: 205px; right: -2%; bottom: -2%; }
/* Si hay más de una actividad: «Después: …» y una segunda hoja asomando detrás */
.ege-nextact__despues { font-size: 12px; font-weight: 600; color: var(--ege-tinta); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ege-nextact__despues[hidden] { display: none; }
.ege-nextact--mas { box-shadow: 4px 4px 0 var(--ege-tinta), 10px 10px 0 -2px #fff, 10px 10px 0 0 var(--ege-tinta); }
@media (max-width: 760px) { .ege-hero__in { padding-bottom: 56px; } }

/* Menos hueco entre los accesos y «Libros que destacamos» */
.ege-sec--accesos { padding-bottom: 40px; }
#destacados.ege-sec { padding-top: 32px; }

/* Destacados / Tienda EGE / Cositas: etiquetas «Nuevo» y «−5%» sobre la imagen */
.ege-dest__img { position: relative; }
.ege-dest__flags { position: absolute; top: 8px; left: 8px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.ege-dest__flag { border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 3px 9px; font: 700 11px var(--ege-datos); line-height: 1.2; background: #fff; color: var(--ege-tinta); }
.ege-dest__flag--new { background: var(--ege-amarillo); }
.ege-dest__flag--dto { background: var(--ege-rosa); }

/* Filas limitadas (data-filas): lo que no cabe se esconde y sale «Ver más» */
.ege-oculto { display: none !important; }
/* «Tienda» + logotipo de El Genio Equivocado en texto */
.ege-shop__h2 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.ege-shop__wordmark { height: 72px; width: auto; display: block; }
@media (max-width: 600px) { .ege-shop__wordmark { height: 48px; } }

/* .ege-tbtn lleva display propio y pisaba el atributo hidden: «Editar» salía al público */
.ege-home [hidden] { display: none !important; }
.ege-dest__mas { width: fit-content; }
.ege-visit__contact { font-size: 15px; }
.ege-visit__contact a { color: var(--ege-tinta); font-weight: 700; }

/* =====================================================================
   LIBRIZINE — blog (módulo ybc_blog) con pinta de fanzine fotocopiado.
   El módulo pinta listado y artículo con body#ybc_blog_page; aquí solo se viste su HTML.
   ===================================================================== */
.ege-zinehead { background: var(--ege-tinta); color: var(--ege-papel); border-bottom: 2px solid var(--ege-tinta); overflow: hidden; }
.ege-zinehead__in { max-width: 1240px; margin: 0 auto; padding: 34px 24px 40px; position: relative; }
.ege-zinehead__issue { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 14px; font: 700 12px var(--ege-datos); letter-spacing: .12em; text-transform: uppercase; border-top: 1px dashed rgba(251,246,234,.5); border-bottom: 1px dashed rgba(251,246,234,.5); padding: 8px 0; }
.ege-zinehead__title { display: inline-flex; flex-wrap: wrap; gap: 4px; text-decoration: none; margin: 6px 0 14px; }
.ege-zinehead__title:hover { text-decoration: none; }
/* Letras recortadas de revista, cada una con su papel y su giro */
.ege-zinehead__l { display: inline-block; font: 800 clamp(28px, 7.4vw, 112px)/1 var(--ege-titulos); padding: .04em .1em .08em; border: 2px solid var(--ege-tinta); box-shadow: 3px 3px 0 rgba(0,0,0,.35); text-transform: uppercase; }
.ege-zinehead__l--1 { background: var(--ege-amarillo); color: var(--ege-tinta); transform: rotate(-4deg); }
.ege-zinehead__l--2 { background: var(--ege-papel); color: var(--ege-tinta); transform: rotate(3deg) translateY(6px); font-family: var(--ege-datos); text-transform: lowercase; }
.ege-zinehead__l--3 { background: var(--ege-rosa); color: var(--ege-tinta); transform: rotate(-2deg); }
.ege-zinehead__l--4 { background: var(--ege-azul); color: #fff; transform: rotate(5deg) translateY(-4px); }
.ege-zinehead__l--5 { background: #fff; color: var(--ege-tinta); transform: rotate(-6deg); text-transform: lowercase; }
.ege-zinehead__l--6 { background: var(--ege-verde); color: #fff; transform: rotate(2deg) translateY(8px); font-family: var(--ege-datos); }
.ege-zinehead__l--7 { background: var(--ege-amarillo); color: var(--ege-tinta); transform: rotate(-3deg); }
.ege-zinehead__l--8 { background: var(--ege-papel); color: var(--ege-tinta); transform: rotate(4deg) translateY(-6px); text-transform: lowercase; }
.ege-zinehead__l--9 { background: var(--ege-rosa); color: var(--ege-tinta); transform: rotate(-5deg) translateY(4px); }
.ege-zinehead__sub { margin: 0; max-width: 720px; font-size: 17px; line-height: 1.5; }
/* En cada artículo la cabecera va más pequeña */
body:has(.ybc-blog-wrapper-detail) .ege-zinehead__in { padding: 16px 24px 20px; }
body:has(.ybc-blog-wrapper-detail) .ege-zinehead__l { font-size: clamp(28px, 4.5vw, 52px); }
body:has(.ybc-blog-wrapper-detail) .ege-zinehead__sub { display: none; }

/* Papel: fondo crema con trama de puntos de fotocopia */
#ybc_blog_page #wrapper, #ybc_blog_page .wrapper { background-color: var(--ege-papel); background-image: radial-gradient(rgba(21,23,28,.07) 1px, transparent 1.2px); background-size: 6px 6px; }

/* Lo que sobra en un fanzine: carrusel, barra de orden, visitas y la etiqueta «Publicado en» */
#ybc_blog_page .bybc-blog-slider, #ybc_blog_page .post-selection, #ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-toolbar,
#ybc_blog_page .be-label, #ybc_blog_page .ybc_block_rss, #ybc_blog_page .ets_blog_loading { display: none !important; }

/* Listado: recortes pegados con cinta, ligeramente torcidos */
#ybc_blog_page ul.ybc-blog-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; list-style: none; margin: 24px 0 40px; padding: 0; }
#ybc_blog_page ul.ybc-blog-list > li { width: auto; max-width: none; flex: none; padding: 0; margin: 0; float: none; }
#ybc_blog_page ul.ybc-blog-list > li:first-child { grid-column: 1 / -1; }
#ybc_blog_page ul.ybc-blog-list .post-wrapper { position: relative; height: 100%; display: flex; flex-direction: column; background: #fff; border: 2px solid var(--ege-tinta); box-shadow: 5px 5px 0 var(--ege-tinta); padding: 12px 12px 18px; transform: rotate(-1deg); transition: transform .2s, box-shadow .2s; }
#ybc_blog_page ul.ybc-blog-list > li:nth-child(2n) .post-wrapper { transform: rotate(1.2deg); }
#ybc_blog_page ul.ybc-blog-list > li:nth-child(3n) .post-wrapper { transform: rotate(-.4deg); }
#ybc_blog_page ul.ybc-blog-list .post-wrapper:hover { transform: rotate(0) translate(-2px, -2px); box-shadow: 8px 8px 0 var(--ege-tinta); }
#ybc_blog_page ul.ybc-blog-list .post-wrapper::before { content: ""; position: absolute; top: -14px; left: 50%; width: 96px; height: 26px; margin-left: -48px; background: rgba(242,194,48,.75); transform: rotate(-3deg); z-index: 2; }
#ybc_blog_page ul.ybc-blog-list > li:nth-child(2n) .post-wrapper::before { background: rgba(240,140,180,.75); transform: rotate(4deg); left: 30%; }
#ybc_blog_page ul.ybc-blog-list .ybc_item_img { display: block; float: none; width: 100%; margin: 0 0 14px; border: 2px solid var(--ege-tinta); overflow: hidden; aspect-ratio: 13 / 9; background: #E4E6EB; }
#ybc_blog_page ul.ybc-blog-list .ybc_item_img img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; }
#ybc_blog_page ul.ybc-blog-list .ybc-blog-wrapper-content { float: none; width: auto; padding: 0; flex: 1; display: flex; flex-direction: column; }
#ybc_blog_page ul.ybc-blog-list .ybc-blog-wrapper-content-main { display: flex; flex-direction: column; gap: 10px; flex: 1; }
#ybc_blog_page ul.ybc-blog-list .ybc-blog-sidear-post-meta { order: -1; }
#ybc_blog_page ul.ybc-blog-list a.ybc_title_block { font: 800 22px/1.15 var(--ege-titulos); letter-spacing: -0.02em; color: var(--ege-tinta); text-decoration: none; }
#ybc_blog_page ul.ybc-blog-list a.ybc_title_block:hover { background: linear-gradient(var(--ege-amarillo), var(--ege-amarillo)) 0 85% / 100% 40% no-repeat; }
#ybc_blog_page ul.ybc-blog-list .ybc-blog-categories a, #ybc_blog_page .be-categories a { display: inline-block; font: 700 11px var(--ege-datos); letter-spacing: .1em; text-transform: uppercase; color: var(--ege-tinta); border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 3px 10px; background: var(--ege-papel); text-decoration: none; margin: 0 4px 4px 0; }
#ybc_blog_page ul.ybc-blog-list .blog_description { font: 14px/1.6 var(--ege-datos); color: #3d4653; }
#ybc_blog_page ul.ybc-blog-list .blog_description p { margin: 0; }
/* La entrada más reciente, a lo ancho, como titular */
#ybc_blog_page ul.ybc-blog-list > li:first-child .post-wrapper { flex-direction: row; gap: 24px; transform: rotate(-.6deg); padding: 16px; }
#ybc_blog_page ul.ybc-blog-list > li:first-child .ybc_item_img { flex: 0 0 min(46%, 440px); margin: 0; aspect-ratio: 13 / 9; }
#ybc_blog_page ul.ybc-blog-list > li:first-child a.ybc_title_block { font-size: clamp(26px, 3vw, 40px); line-height: 1.05; }
#ybc_blog_page ul.ybc-blog-list > li:first-child .blog_description { font-size: 15px; }
@media (max-width: 1100px) { #ybc_blog_page ul.ybc-blog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  #ybc_blog_page ul.ybc-blog-list { grid-template-columns: minmax(0, 1fr); }
  #ybc_blog_page ul.ybc-blog-list > li:first-child .post-wrapper { flex-direction: column; }
}
#ybc_blog_page .blog-paggination { font: 700 14px var(--ege-datos); }
#ybc_blog_page .blog-paggination a { color: var(--ege-tinta); }

/* Columna lateral: el «índice» del fanzine */
#ybc_blog_page .ybc_blog_sidebar .block { background: #fff; border: 2px dashed var(--ege-tinta); padding: 16px; margin-bottom: 22px; }
#ybc_blog_page .ybc_blog_sidebar .block h4, #ybc_blog_page .ybc_blog_sidebar .block .title_block, #ybc_blog_page .ybc_blog_sidebar .block .h4 { font: 800 13px var(--ege-datos); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 12px; padding: 0 0 8px; border-bottom: 2px solid var(--ege-tinta); }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-bottom: 1px dashed #D6DBE6; }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item img { width: 64px; height: 64px; object-fit: cover; border: 2px solid var(--ege-tinta); }
#ybc_blog_page .ybc_blog_sidebar a { color: var(--ege-tinta); }
#ybc_blog_page .ybc_blog_sidebar .ybc_title_block { font-size: 14px; line-height: 1.25; }
#ybc_blog_page .ybc_blog_sidebar .blog_tag a { display: inline-block; font: 600 12px var(--ege-datos); border: 1px solid var(--ege-tinta); border-radius: 999px; padding: 2px 9px; margin: 0 4px 6px 0; text-decoration: none; background: var(--ege-papel); }
#ybc_blog_page .ybc_block_search input { border: 2px solid var(--ege-tinta); border-radius: 10px; padding: 8px 12px; width: 100%; font: inherit; }
#ybc_blog_page .blog_view_all_button a { font: 700 12px var(--ege-datos); text-transform: uppercase; letter-spacing: .08em; }

/* Artículo: columna de lectura, foto con cinta, titular subrayado a rotulador y letra capital */
#ybc_blog_page .ybc-blog-wrapper-detail { background: #fff; border: 2px solid var(--ege-tinta); box-shadow: 6px 6px 0 var(--ege-tinta); padding: clamp(18px, 4vw, 48px); margin: 28px 0 40px; }
#ybc_blog_page .ybc_blog_img_wrapper { position: relative; margin: 0 0 28px; }
#ybc_blog_page .ybc_blog_img_wrapper::before { content: ""; position: absolute; top: -14px; left: 40px; width: 120px; height: 28px; background: rgba(242,194,48,.75); transform: rotate(-4deg); z-index: 2; }
#ybc_blog_page .ybc_image-single img { width: 100%; height: auto; display: block; border: 2px solid var(--ege-tinta); transform: rotate(-.6deg); }
#ybc_blog_page .ybc-blog-wrapper-detail h1.page-heading { font: 800 clamp(32px, 5vw, 60px)/1.02 var(--ege-titulos); letter-spacing: -0.035em; color: var(--ege-tinta); text-transform: none; margin: 0 0 16px; border: 0; }
#ybc_blog_page .ybc-blog-wrapper-detail h1.page-heading span, #ybc_blog_page .ybc-blog-wrapper-detail h1.page-heading { background: linear-gradient(var(--ege-amarillo), var(--ege-amarillo)) 0 88% / 100% 28% no-repeat; display: inline; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
#ybc_blog_page .post-details .blog-extra { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font: 600 12px var(--ege-datos); letter-spacing: .06em; text-transform: uppercase; color: #3d4653; border-top: 1px dashed var(--ege-tinta); border-bottom: 1px dashed var(--ege-tinta); padding: 10px 0; margin: 22px 0 28px; }
#ybc_blog_page .post-details .blog-extra a { color: var(--ege-tinta); }
#ybc_blog_page .post-details .blog-extra .author-block { display: inline; }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description { max-width: 68ch; font: 18px/1.7 var(--ege-cuerpo, 'Plus Jakarta Sans', system-ui, sans-serif); color: var(--ege-tinta); }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description p { margin: 0 0 1.1em; }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description > p:first-of-type::first-letter, #ybc_blog_page .ybc-blog-wrapper-detail .elementor-ybc-blog-detail > p:first-of-type::first-letter { float: left; font: 800 4.2em/.8 var(--ege-titulos); margin: .08em .12em 0 0; padding: .06em .12em; background: var(--ege-rosa); border: 2px solid var(--ege-tinta); }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description h2, #ybc_blog_page .ybc-blog-wrapper-detail .blog_description h3 { font-family: var(--ege-titulos); font-weight: 800; letter-spacing: -0.02em; margin: 1.6em 0 .5em; }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description blockquote { margin: 1.6em 0; padding: 18px 22px; background: var(--ege-amarillo); border: 2px solid var(--ege-tinta); box-shadow: 4px 4px 0 var(--ege-tinta); font: 700 20px/1.4 var(--ege-titulos); transform: rotate(-.8deg); }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description img { max-width: 100%; height: auto; border: 2px solid var(--ege-tinta); }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description a { color: var(--ege-azul); font-weight: 600; }
#ybc_blog_page .ybc-blog-tags-social, #ybc_blog_page .extra_tag_cat { font: 600 13px var(--ege-datos); margin: 24px 0; }
#ybc_blog_page .ybc-blog-related-products-wrapper > h4, #ybc_blog_page .ybc-blog-related-posts > h4, #ybc_blog_page .ybc-blog-related-posts-wrapper > h4, #ybc_blog_page .ybc-blog-wrapper-comment h4 { font: 800 13px var(--ege-datos); letter-spacing: .12em; text-transform: uppercase; border-bottom: 2px solid var(--ege-tinta); padding-bottom: 8px; margin: 36px 0 18px; }

/* Reparto: la lista a la izquierda y el índice (buscar, últimas, etiquetas) en una columna estrecha a la derecha */
#ybc_blog_page .row:has(> .left-column) { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 36px; margin: 0; }
#ybc_blog_page .row:has(> .left-column) > div { width: auto; max-width: none; padding: 0; flex: none; }
#ybc_blog_page .row:has(> .left-column) > .left-column { grid-column: 1; grid-row: 1; }
#ybc_blog_page .row:has(> .left-column) > div:not(.left-column) { grid-column: 2; grid-row: 1; }
@media (max-width: 900px) {
  #ybc_blog_page .row:has(> .left-column) { grid-template-columns: minmax(0, 1fr); }
  #ybc_blog_page .row:has(> .left-column) > div:not(.left-column) { grid-column: 1; grid-row: 2; }
}
#ybc_blog_page .ybc_blog_sidebar .ybc_item_img { flex: none; }
#ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-post-content { min-width: 0; }
#ybc_blog_page .ybc-navigation-blog { display: none; }
#ybc_blog_page .ybc_block_search button, #ybc_blog_page .ybc_block_search input[type=submit] { margin-top: 8px; border: 2px solid var(--ege-tinta); border-radius: 999px; background: var(--ege-amarillo); font-weight: 700; padding: 6px 14px; }
#ybc_blog_page ul.ybc-blog-list .blog_description { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
#ybc_blog_page ul.ybc-blog-list > li:first-child .blog_description { -webkit-line-clamp: 8; }
#ybc_blog_page .ybc_block_search .ets_svg, #ybc_blog_page .ybc_block_search i { display: none; }
#ybc_blog_page .ybc-blog-wrapper-detail .ets_begin_heading_table, #ybc_blog_page .ybc-blog-wrapper-detail .ets_end_heading_table { display: none; }
/* En el artículo, de la barra del módulo solo interesa la fecha */
#ybc_blog_page .post-details .blog-extra .ybc-blog-latest-toolbar { display: contents !important; }
#ybc_blog_page .post-details .ybc-blog-tags-social:empty { display: none; }
@media (max-width: 600px) { .ege-zinehead__title { gap: 2px; } .ege-zinehead__l { border-width: 1.5px; } }

/* Últimas entradas de la columna: en la tienda real, el CSS del propio módulo y el .row de Bootstrap
   estrujaban el texto a una palabra por línea. Se rehace a mano: miniatura de 64 px + texto. */
#ybc_blog_page .ybc_blog_sidebar .block_content.row { display: block; margin: 0; }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block { display: block; width: auto; float: none; padding: 0; margin: 0; }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item { display: grid !important; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; align-items: start; width: auto !important; float: none !important; margin: 0 !important; padding: 10px 0 !important; }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item .ybc_item_img { width: 64px !important; height: 64px; max-width: none; padding: 0 !important; margin: 0 !important; float: none !important; background: none; border: 0; }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item .ybc_item_img img { width: 64px !important; height: 64px !important; max-width: none; object-fit: cover; display: block; }
#ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-post-content { width: auto !important; max-width: none !important; float: none !important; position: static !important; padding: 0 !important; margin: 0 !important; display: flex; flex-direction: column; gap: 4px; }
#ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-post-content .ybc_title_block { text-transform: none; font: 700 14px/1.3 var(--ege-cuerpo, 'Plus Jakarta Sans', system-ui, sans-serif); letter-spacing: 0; word-break: normal; overflow-wrap: break-word; }
#ybc_blog_page .ybc_blog_sidebar .post-date { font: 600 11px var(--ege-datos); color: #555B66; }

/* Buscar en el blog: el CSS del módulo pone el botón encima del campo (para el icono). Se ponen uno debajo del otro. */
#ybc_blog_page .ybc_block_search form { position: static; display: flex; flex-direction: column; gap: 8px; }
#ybc_blog_page .ybc_block_search input[type=text], #ybc_blog_page .ybc_block_search input.form-control { position: static !important; width: 100% !important; height: auto !important; box-sizing: border-box; padding: 10px 14px !important; border: 2px solid var(--ege-tinta) !important; border-radius: 10px !important; background: #fff !important; font: 15px var(--ege-cuerpo, 'Plus Jakarta Sans', system-ui, sans-serif) !important; color: var(--ege-tinta); opacity: 1 !important; }
#ybc_blog_page .ybc_block_search input[type=submit], #ybc_blog_page .ybc_block_search input.button { position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 9px 14px !important; opacity: 1 !important; text-indent: 0 !important; color: var(--ege-tinta) !important; background: var(--ege-amarillo) !important; border: 2px solid var(--ege-tinta) !important; border-radius: 999px !important; font: 700 15px var(--ege-cuerpo, 'Plus Jakarta Sans', system-ui, sans-serif) !important; cursor: pointer; }
#ybc_blog_page .ybc_block_search .icon_search { display: none !important; }

/* ---------- Artículo del Librizine, afinado contra el CSS del módulo ---------- */
/* Texto: el módulo lo dejaba a 14 px; columna de lectura cómoda y entradilla más grande */
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description,
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description p,
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description li { font-size: 18px !important; line-height: 1.7 !important; color: var(--ege-tinta); }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description { margin: 0; }
#ybc_blog_page .ybc-blog-wrapper-detail .elementor-ybc-blog-detail > p:first-of-type,
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description > p:first-of-type { font-size: 21px !important; line-height: 1.55 !important; font-weight: 600; margin-bottom: 1.2em; }
#ybc_blog_page .ybc-blog-wrapper-detail .elementor-ybc-blog-detail > p:first-of-type strong { font-weight: 700; }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description > p:first-of-type::first-letter,
#ybc_blog_page .ybc-blog-wrapper-detail .elementor-ybc-blog-detail > p:first-of-type::first-letter { font-size: 3.1em; line-height: .82; margin-top: .06em; }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description em { font-style: italic; }
/* Fecha y autor: todo en la misma letra */
#ybc_blog_page .post-details .blog-extra * { font: inherit !important; color: inherit; letter-spacing: inherit; }
#ybc_blog_page .post-details .blog-extra .post-author-name { font-weight: 800 !important; }
#ybc_blog_page .ybc-blog-wrapper-detail .extra_tag_cat { margin: 28px 0 0; }

/* Títulos de las secciones de abajo (producto y publicaciones relacionadas) */
#ybc_blog_page .ybc-blog-wrapper-detail h4, #ybc_blog_page .ybc-blog-related-posts h4.title_blog { font: 800 13px var(--ege-datos) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ege-tinta); border-bottom: 2px solid var(--ege-tinta); padding: 0 0 8px; margin: 44px 0 20px; }
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description h4 { font: 800 20px var(--ege-titulos) !important; letter-spacing: -0.01em; text-transform: none; border: 0; padding: 0; margin: 1.4em 0 .4em; }

/* Producto relacionado: ficha horizontal pequeña */
#ybc_blog_page .ybc-blog-related-products-list .product_list { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; }
#ybc_blog_page .ybc-blog-related-products-list .ajax_block_product { width: auto; max-width: 420px; flex: 1 1 300px; padding: 0; }
#ybc_blog_page .ybc-blog-related-products-list .product-container { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: start; border: 2px solid var(--ege-tinta); border-radius: 10px; padding: 12px; background: #fff; box-shadow: 4px 4px 0 var(--ege-tinta); }
#ybc_blog_page .ybc-blog-related-products-list .left-block, #ybc_blog_page .ybc-blog-related-products-list .right-block { width: auto; float: none; padding: 0; margin: 0; }
#ybc_blog_page .ybc-blog-related-products-list .ybc_item_img img { width: 96px; height: auto; display: block; border: 1px solid #D6DBE6; }
#ybc_blog_page .ybc-blog-related-products-list h5 { margin: 0 0 6px; font: 800 15px/1.25 var(--ege-titulos); }
#ybc_blog_page .ybc-blog-related-products-list h5 a { color: var(--ege-tinta); text-decoration: none; }
#ybc_blog_page .ybc-blog-related-products-list .content_price { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-family: var(--ege-datos); }
#ybc_blog_page .ybc-blog-related-products-list .content_price [class$="-label"], #ybc_blog_page .ybc-blog-related-products-list .bp-save { display: none; }
#ybc_blog_page .ybc-blog-related-products-list .bp-price-display { font-weight: 700; font-size: 17px; }
#ybc_blog_page .ybc-blog-related-products-list .bp-price-old-display { text-decoration: line-through; color: #737d8c; font-size: 13px; }
#ybc_blog_page .ybc-blog-related-products-list .bp-percent-display { border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 1px 8px; background: var(--ege-rosa); font-size: 11px; font-weight: 700; }
#ybc_blog_page .ybc-blog-related-products-list .bp-percent-display::before { content: "−"; }
#ybc_blog_page .ybc-blog-related-products-list .blog-product-desc { font-size: 13px; line-height: 1.45; color: #3d4653; margin-top: 6px; }
#ybc_blog_page .ybc-blog-related-products-list .product-list-reviews { display: none; }

/* Publicaciones relacionadas: recortes como en el listado, con aire entre ellos (sirve con o sin el carrusel del módulo) */
#ybc_blog_page .ybc-blog-related-posts-list-li { position: relative; isolation: isolate; box-sizing: border-box; padding: 14px 24px 20px !important; display: flex !important; flex-direction: column; gap: 8px; }
#ybc_blog_page .ybc-blog-related-posts-list-li::before { content: ""; position: absolute; inset: 0 10px; z-index: -1; background: #fff; border: 2px solid var(--ege-tinta); box-shadow: 4px 4px 0 var(--ege-tinta); }
#ybc_blog_page .ybc-blog-related-posts-list-li .ybc_item_img { display: block; aspect-ratio: 13 / 9; overflow: hidden; border: 2px solid var(--ege-tinta); margin: 0 0 4px; }
#ybc_blog_page .ybc-blog-related-posts-list-li .ybc_item_img img { width: 100%; height: 100%; object-fit: cover; display: block; }
#ybc_blog_page .ybc-blog-related-posts-list-li a.ybc_title_block { font: 800 17px/1.2 var(--ege-titulos) !important; text-transform: none !important; letter-spacing: -0.01em; color: var(--ege-tinta) !important; text-decoration: none; }
#ybc_blog_page .ybc-blog-related-posts-list-li .blog_description { font: 13px/1.55 var(--ege-datos) !important; color: #3d4653; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
#ybc_blog_page .ybc-blog-related-posts-list-li .post-date { font: 600 11px var(--ege-datos); color: #555B66; }
#ybc_blog_page .ybc-blog-related-posts-list-li .read_more { align-self: flex-start; margin-top: auto; font: 700 12px var(--ege-datos) !important; text-transform: uppercase; letter-spacing: .08em; color: var(--ege-tinta) !important; border: 0 !important; text-decoration: none; background: linear-gradient(var(--ege-amarillo), var(--ege-amarillo)) 0 90% / 100% 40% no-repeat; }
#ybc_blog_page .ybc-blog-related-posts .owl-nav button, #ybc_blog_page .ybc-blog-related-posts .slick-arrow { border: 2px solid var(--ege-tinta) !important; border-radius: 999px !important; background: #fff !important; }
/* Últimas entradas: miniatura entera (las del blog son 260×180), sin recortar a cuadrado */
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item { grid-template-columns: 92px minmax(0, 1fr); }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item .ybc_item_img { width: 92px !important; height: auto; }
#ybc_blog_page .ybc_blog_sidebar .ybc_blog_content_block_item .ybc_item_img img { width: 92px !important; height: auto !important; aspect-ratio: 13 / 9; object-fit: contain; background: #fff; border: 2px solid var(--ege-tinta); }
/* Sin el carrusel del módulo (o antes de que arranque), las relacionadas van en rejilla de 3 */
#ybc_blog_page .ybc-blog-related-posts-list:not(.slick-initialized):not(.owl-loaded):not(.owl-carousel) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 0; margin: 0 -10px; }
#ybc_blog_page .ybc-blog-related-posts-list:not(.slick-initialized):not(.owl-loaded):not(.owl-carousel) > .ybc-blog-related-posts-list-li { width: auto; max-width: none; }
@media (max-width: 700px) { #ybc_blog_page .ybc-blog-related-posts-list:not(.slick-initialized):not(.owl-loaded):not(.owl-carousel) { grid-template-columns: minmax(0, 1fr); } }
#ybc_blog_page .ybc-blog-related-posts-list-li .ybc-blog-categories { display: none; }
/* Últimas entradas: el título arriba, a la altura de la miniatura (el módulo le mete margen y padding por encima) */
#ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-post-content { align-self: start; justify-content: flex-start; }
#ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-post-content > * { margin-top: 0 !important; }
#ybc_blog_page .ybc_blog_sidebar .ybc-blog-latest-post-content .ybc_title_block { display: block; margin: -3px 0 0 !important; padding: 0 !important; }

/* Visitas (el módulo las cuenta): en el artículo junto a la fecha, y en cada recorte del listado */
#ybc_blog_page .ybc-blog-latest-toolbar-views { display: inline-flex; align-items: center; gap: 5px; font: 600 11px var(--ege-datos) !important; letter-spacing: .06em; text-transform: uppercase; color: #555B66; }
#ybc_blog_page .ybc-blog-latest-toolbar-views svg { width: 13px; height: 13px; fill: currentColor; }
#ybc_blog_page .ybc-blog-latest-toolbar-views .ets_svg { display: inline-flex; }
#ybc_blog_page ul.ybc-blog-list .ybc-blog-latest-toolbar { order: 0; margin: 0; padding: 0; border: 0; background: none; }
#ybc_blog_page .ybc-blog-related-posts-list-li .ybc-blog-latest-toolbar { margin: 0; }
/* Texto del artículo justificado, con guiones para que no queden huecos */
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description p, #ybc_blog_page .ybc-blog-wrapper-detail .blog_description li { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
/* Letra capital sin recuadro: letra grande en tinta con sombra rosa desplazada, como mal registrada en la fotocopia */
#ybc_blog_page .ybc-blog-wrapper-detail .blog_description > p:first-of-type::first-letter,
#ybc_blog_page .ybc-blog-wrapper-detail .elementor-ybc-blog-detail > p:first-of-type::first-letter { background: none; border: 0; padding: 0; margin: .04em .1em 0 0; font-size: 3.4em; line-height: .8; color: var(--ege-tinta); text-shadow: 4px 4px 0 var(--ege-rosa); }

/* Productos relacionados (uno o varios): fichas verticales iguales, portada arriba, título y precio debajo.
   Sirve con el carrusel del módulo y sin él (entonces van en rejilla). */
#ybc_blog_page .ybc-blog-related-products-list .product_list:not(.slick-initialized):not(.owl-loaded):not(.owl-carousel) { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 18px; }
#ybc_blog_page .ybc-blog-related-products-list .ajax_block_product { max-width: none; flex: none; padding: 0 8px 8px !important; box-sizing: border-box; }
#ybc_blog_page .ybc-blog-related-products-list .product_list:not(.slick-initialized):not(.owl-loaded):not(.owl-carousel) .ajax_block_product { padding: 0 0 6px !important; }
#ybc_blog_page .ybc-blog-related-products-list .product-container { display: flex !important; flex-direction: column; gap: 10px; height: 100%; text-align: left !important; padding: 14px; }
#ybc_blog_page .ybc-blog-related-products-list .left-block { display: flex; justify-content: center; align-items: center; height: 190px; background: #fff; }
#ybc_blog_page .ybc-blog-related-products-list .ybc_item_img { display: flex; justify-content: center; align-items: center; height: 100%; width: 100%; }
#ybc_blog_page .ybc-blog-related-products-list .ybc_item_img img { width: auto !important; max-width: 100%; height: auto; max-height: 190px; object-fit: contain; box-shadow: 3px 3px 0 rgba(21,23,28,.18); }
#ybc_blog_page .ybc-blog-related-products-list .right-block { display: flex; flex-direction: column; gap: 6px; flex: 1; text-align: left !important; }
#ybc_blog_page .ybc-blog-related-products-list h5 { margin: 0; text-align: left !important; text-transform: none !important; font: 800 15px/1.25 var(--ege-titulos) !important; letter-spacing: -0.01em; word-break: normal; hyphens: none; }
#ybc_blog_page .ybc-blog-related-products-list .content_price { justify-content: flex-start; margin-top: auto; }
#ybc_blog_page .ybc-blog-related-products-list .bp-percent-display, #ybc_blog_page .ybc-blog-related-products-list .price-percent-reduction { background: var(--ege-rosa) !important; color: var(--ege-tinta) !important; border: 2px solid var(--ege-tinta) !important; border-radius: 999px !important; padding: 1px 8px !important; font: 700 11px var(--ege-datos) !important; }
#ybc_blog_page .ybc-blog-related-products-list .price-percent-reduction { padding: 0 !important; border: 0 !important; background: none !important; }
#ybc_blog_page .ybc-blog-related-products-list .blog-product-desc { display: none; }
#ybc_blog_page .ybc-blog-related-products-list .product_list:only-child .ajax_block_product:only-child .blog-product-desc { display: block; }

/* Listado: la miniatura del módulo es pequeña (260×180). Nunca se estira ni se recorta:
   formato fijo 13:9, imagen entera, y en el recorte ancho como mucho 360 px para que no se pixele. */
#ybc_blog_page ul.ybc-blog-list .ybc_item_img { align-self: flex-start; height: auto !important; aspect-ratio: 13 / 9; background: #fff; }
#ybc_blog_page ul.ybc-blog-list .ybc_item_img img { width: 100% !important; height: 100% !important; object-fit: contain; }
#ybc_blog_page ul.ybc-blog-list > li:first-child .ybc_item_img { flex: 0 0 min(40%, 360px); }
#ybc_blog_page ul.ybc-blog-list > li:first-child .post-wrapper { align-items: flex-start; }
/* En búsqueda y etiquetas el CSS del módulo pone los títulos en mayúsculas */
#ybc_blog_page ul.ybc-blog-list a.ybc_title_block { text-transform: none !important; }

/* ---------- Librizine en claro (Joan, 19-oct): papel crema con trama en vez de la franja negra ---------- */
.ege-zine { background-color: var(--ege-papel); background-image: radial-gradient(rgba(21,23,28,.08) 1px, transparent 1.2px); background-size: 6px 6px; color: var(--ege-tinta); border-top: 2px solid var(--ege-tinta); border-bottom: 2px solid var(--ege-tinta); }
.ege-zine__h2 { color: var(--ege-tinta); }
.ege-zine__sub { color: #3d4653; }
.ege-zine__all, .ege-zine__all:hover { color: var(--ege-tinta); background: linear-gradient(var(--ege-amarillo), var(--ege-amarillo)) 0 88% / 100% 40% no-repeat; }
.ege-zine__card { background: #fff; }
.ege-zine__card { box-shadow: 8px 8px 0 var(--ege-tinta); }
.ege-zine__card:nth-child(3n+2), .ege-zine__card:nth-child(3n+3) { box-shadow: 8px 8px 0 var(--ege-tinta); }
.ege-zinehead { background-color: var(--ege-papel); background-image: radial-gradient(rgba(21,23,28,.08) 1px, transparent 1.2px); background-size: 6px 6px; color: var(--ege-tinta); border-bottom: 2px dashed var(--ege-tinta); }
.ege-zinehead__issue { border-top-color: var(--ege-tinta); border-bottom-color: var(--ege-tinta); }
.ege-zinehead__l { box-shadow: 3px 3px 0 var(--ege-tinta); }
.ege-zinehead__l--2, .ege-zinehead__l--8 { background: #fff; }
.ege-zinehead__sub { color: #3d4653; }

/* ---------- Boletín (pie): sustituye al formulario gris de PrestaShop ---------- */
.ege-news { background: var(--ege-amarillo); border-top: 2px solid var(--ege-tinta); border-bottom: 2px solid var(--ege-tinta); }
.ege-news__in { max-width: 1240px; margin: 0 auto; padding: 44px 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px 48px; align-items: center; }
.ege-news__eyebrow { margin: 0 0 8px; font: 700 12px var(--ege-datos); letter-spacing: .14em; text-transform: uppercase; }
.ege-news__h { margin: 0 0 10px; font: 800 clamp(28px, 3.4vw, 44px)/1.02 var(--ege-titulos); letter-spacing: -0.03em; }
.ege-news__p { margin: 0; font-size: 16px; line-height: 1.5; max-width: 460px; }
.ege-news__form { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.ege-news__row { display: flex; gap: 10px; }
.ege-news__input { flex: 1; min-width: 0; padding: 14px 18px; border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; font: 16px var(--ege-cuerpo, 'Plus Jakarta Sans', system-ui, sans-serif); color: var(--ege-tinta); box-shadow: var(--ege-sombra); }
.ege-news__input:focus { outline: 3px solid var(--ege-azul); outline-offset: 2px; }
.ege-news__btn { white-space: nowrap; }
.ege-news__btn:disabled { opacity: .6; cursor: wait; }
.ege-news__consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.45; cursor: pointer; }
.ege-news__consent input { width: 18px; height: 18px; margin-top: 1px; flex: none; accent-color: var(--ege-tinta); }
.ege-news__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ege-news__msg { margin: 0; min-height: 1.3em; font-weight: 700; font-size: 14px; }
.ege-news__msg.is-ok { color: var(--ege-verde); }
.ege-news__msg.is-err { color: #9f1239; }
@media (max-width: 800px) { .ege-news__in { grid-template-columns: minmax(0, 1fr); padding: 32px 16px; } }
@media (max-width: 480px) { .ege-news__row { flex-direction: column; } }

/* Ruta del artículo, dentro de la hoja: pequeña, en mono, con línea discontinua debajo */
#ybc_blog_page .ege-ruta-hoja { background: none !important; margin: 0 0 22px !important; padding: 0 0 10px !important; border-bottom: 1px dashed var(--ege-tinta); }
#ybc_blog_page .ege-ruta-hoja .container, #ybc_blog_page .ege-ruta-hoja .container-md { padding: 0 !important; max-width: none !important; margin: 0 !important; }
#ybc_blog_page .ege-ruta-hoja ol, #ybc_blog_page .ege-ruta-hoja .breadcrumb { margin: 0 !important; padding: 0 !important; background: none !important; font: 600 11px var(--ege-datos) !important; letter-spacing: .06em; text-transform: uppercase; }
#ybc_blog_page .ege-ruta-hoja a { color: #555B66 !important; text-decoration: none; }
#ybc_blog_page .ege-ruta-hoja a:hover { color: var(--ege-tinta) !important; text-decoration: underline; }
#ybc_blog_page .ege-ruta-hoja li:last-child, #ybc_blog_page .ege-ruta-hoja li:last-child span { color: var(--ege-tinta); }

/* Índice flotante del artículo (módulo): con estilo del tema y escondido al llegar al boletín */
#ybc_blog_page .box_table_content_scroll { transition: opacity .2s, visibility .2s; }
body.ege-toc-off .box_table_content_scroll { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
#ybc_blog_page .ybc_btn_show_table_content { background: var(--ege-amarillo) !important; border: 2px solid var(--ege-tinta) !important; border-radius: 10px !important; box-shadow: 3px 3px 0 var(--ege-tinta) !important; }
#ybc_blog_page .ybc_btn_show_table_content svg { fill: var(--ege-tinta); }

/* Portada: «Librizine» con las mismas letras recortadas que la cabecera del blog */
.ege-zine__h2.ege-zinehead__title { background: none; transform: none; padding: 0; margin: 0; display: inline-flex; font-size: inherit; line-height: 1; }

/* Más texto del resumen en las tarjetas de libro, como en la tienda vieja (Joan, 19-oct) */
.ege-mini-resumen { -webkit-line-clamp: 10; }
.ege-dest__res { -webkit-line-clamp: 9; }

/* Modo equipo: botón para elegir las portadas del hero, arriba a la izquierda del collage */
.ege-hero__edit { position: absolute; top: -6px; left: 0; z-index: 6; }

/* Botón amarillo (hero: «Libros destacados») */
.ege-tbtn--amarillo, .ege-tbtn--amarillo:hover { background: var(--ege-amarillo); color: var(--ege-tinta); }
#destacados { scroll-margin-top: 24px; }

/* Vinilo del hero: sin sombra desplazada (al girar con él parecía que el disco se deformaba y asomaba por
   arriba), surcos visibles, un brillo que delata el giro y la galleta con la portada del disco */
.ege-hero__disc .ege-vinyl { box-shadow: none; overflow: hidden;
  background:
    conic-gradient(from 20deg, transparent 0 8%, rgba(255,255,255,.16) 12%, transparent 18% 50%, rgba(255,255,255,.12) 58%, transparent 64%),
    repeating-radial-gradient(circle, #15171C 0 2px, #262931 2px 3.5px);
}
.ege-vinyl__galleta { position: absolute; left: 50%; top: 50%; width: 36%; height: 36%; transform: translate(-50%, -50%); border-radius: 50%; border: 2px solid var(--ege-tinta); background-color: var(--ege-amarillo); background-size: cover; background-position: center; }
.ege-vinyl__galleta::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12%; height: 12%; transform: translate(-50%, -50%); border-radius: 50%; background: var(--ege-papel); border: 1.5px solid var(--ege-tinta); }
/* Sale más de la funda para que se vea la galleta */
@keyframes ege-vinyl-io2 {
  0%   { transform: translateX(-34%) rotate(0deg); }
  15%  { transform: translateX(-34%) rotate(60deg); }
  45%  { transform: translateX(30%) rotate(300deg); }
  62%  { transform: translateX(30%) rotate(460deg); }
  90%  { transform: translateX(-34%) rotate(660deg); }
  100% { transform: translateX(-34%) rotate(720deg); }
}
.ege-hero__disc .ege-vinyl--io { animation-name: ege-vinyl-io2; }
@media (prefers-reduced-motion: reduce) { .ege-hero__disc .ege-vinyl--io { animation: none; transform: translateX(30%); } }

/* Ficha: disponibilidad en una línea con punto de color (sustituye al cuadro amarillo de alerta) */
.ege-disp { display: flex; gap: 10px; align-items: baseline; margin: 4px 0 14px; font-size: 15px; line-height: 1.45; color: var(--ege-tinta); }
.ege-disp__punto { flex: none; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--ege-tinta); transform: translateY(1px); }
.ege-disp--ok .ege-disp__punto { background: #22a35a; }
.ege-disp--pocas .ege-disp__punto { background: var(--ege-amarillo); animation: ege-latido 1.6s ease-in-out infinite; }
.ege-disp--pedido .ege-disp__punto { background: #7aa7ff; }
.ege-disp--no .ege-disp__punto { background: #d6dbe6; }
.ege-disp--pocas strong { background: linear-gradient(var(--ege-amarillo), var(--ege-amarillo)) 0 88% / 100% 38% no-repeat; }
.ege-disp__sub { color: #555B66; font-size: 13.5px; }
@keyframes ege-latido { 0%, 100% { box-shadow: 0 0 0 0 rgba(242,194,48,.7); } 50% { box-shadow: 0 0 0 6px rgba(242,194,48,0); } }
@media (prefers-reduced-motion: reduce) { .ege-disp--pocas .ege-disp__punto { animation: none; } }

/* Lista de deseos: no se usa (Joan, 20-oct). Por si el módulo blockwishlist sigue enganchado, sus botones no se ven */
.wishlist-button-add, .wishlist-button-product, .js-wishlist-button-add, .wishlist-add-to, .product-miniature .wishlist-button-add, a[href*="module/blockwishlist/lists"] { display: none !important; }

/* =====================================================================
   PÁGINAS DE TIENDA (contacto, carrito, pago, cuenta, pedidos): mismo lenguaje que la portada
   ===================================================================== */
/* Títulos de página */
#contact h1, #contact .h2, #cart h1, #checkout h1, #my-account h1, #authentication h1, #registration h1, #history h1, #identity h1, #addresses h1, #address h1, #order-detail h1, #order-confirmation h1, #password h1, #discount h1, #order-slip h1, #guest-tracking h1,
.page-header h1, .contact-form .h2 { font-family: var(--ege-titulos); font-weight: 800; letter-spacing: -0.03em; color: var(--ege-tinta); }

/* Formularios en todo el tema */
.form-control, .form-select { border: 2px solid var(--ege-tinta); border-radius: 10px; padding: 10px 14px; font-size: 15px; background-color: #fff; color: var(--ege-tinta); box-shadow: none; }
.form-control:focus, .form-select:focus { border-color: var(--ege-azul); box-shadow: 0 0 0 3px rgba(42,63,214,.18); }
.form-control::placeholder { color: #8a909b; }
.form-label, label.form-label { font-weight: 700; font-size: 14px; color: var(--ege-tinta); }
.form-check-input { border: 2px solid var(--ege-tinta); }
.form-check-input:checked { background-color: var(--ege-tinta); border-color: var(--ege-tinta); }
.form-text { color: #555B66; }
.btn-outline-primary { border: 2px solid var(--ege-tinta); color: var(--ege-tinta); background: #fff; border-radius: 999px; font-weight: 700; box-shadow: var(--ege-sombra); }
.btn-outline-primary:hover, .btn-outline-primary:focus { background: var(--ege-amarillo); color: var(--ege-tinta); border-color: var(--ege-tinta); }
.btn-primary { border-radius: 999px; }
.alert { border: 2px solid var(--ege-tinta); border-radius: 12px; box-shadow: 4px 4px 0 var(--ege-tinta); color: var(--ege-tinta); }
.alert-success { background: #e6f6ec; } .alert-info { background: #eef0ff; } .alert-warning { background: #fff6dc; } .alert-danger { background: #fdecec; }

/* Tarjetas genéricas (resumen del carrito, bloques de cuenta, confirmación) */
#cart .card, #checkout .card, #order-confirmation .card, #my-account .card, #order-detail .card, .cart-summary.card { border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 5px 5px 0 var(--ege-tinta); background: #fff; }

/* Contacto */
.ege-contacto { background: #fff; border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 6px 6px 0 var(--ege-tinta); padding: 22px; margin-bottom: 24px; }
.ege-contacto__eyebrow { margin: 0 0 6px; font: 700 12px var(--ege-datos); letter-spacing: .14em; text-transform: uppercase; color: #555B66; }
.ege-contacto__h { margin: 0 0 12px; font: 800 26px/1.05 var(--ege-titulos); letter-spacing: -0.03em; }
.ege-contacto__dir { font-style: normal; font-weight: 700; font-size: 17px; line-height: 1.4; margin: 0 0 16px; }
.ege-contacto__lista { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 10px; border-top: 1px dashed var(--ege-tinta); padding-top: 14px; }
.ege-contacto__lista li { display: flex; flex-direction: column; gap: 2px; font-size: 15px; }
.ege-contacto__k { font: 700 11px var(--ege-datos); letter-spacing: .1em; text-transform: uppercase; color: #555B66; }
.ege-contacto__lista a { color: var(--ege-tinta); font-weight: 600; word-break: break-word; }
.ege-contacto__btn { display: inline-block; }
.ege-contacto__intro { font-size: 17px; line-height: 1.5; max-width: 640px; margin: 0 0 18px; color: #3d4653; }
.contact-form { background: #fff; border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 6px 6px 0 var(--ege-tinta); padding: clamp(18px, 3vw, 30px); }
.contact-form .form-footer { display: flex; justify-content: flex-end; }

/* Carrito: líneas de producto */
.cart-grid__body .card { padding: 6px 18px; }
.product-line { padding: 16px 0; border-bottom: 1px dashed #D6DBE6; }
.product-line:last-child { border-bottom: 0; }
.product-line__image img { border: 1px solid #D6DBE6; box-shadow: 3px 3px 0 rgba(21,23,28,.15); border-radius: 3px; }
.product-line__title { font-family: var(--ege-titulos); font-weight: 800; font-size: 17px; color: var(--ege-tinta); text-decoration: none; }
.product-line__title:hover { text-decoration: underline; }
.product-line__current, .product-line__price, .cart-summary .value, .cart-total .value { font-family: var(--ege-datos); font-weight: 700; }
.product-line__regular { font-family: var(--ege-datos); color: #737d8c; text-decoration: line-through; }
.product-line .discount, .product-line .badge.discount { background: var(--ege-rosa); color: var(--ege-tinta); border: 2px solid var(--ege-tinta); border-radius: 999px; font-family: var(--ege-datos); }
.remove-from-cart { color: #9f1239; }
.quantity-button, .js-quantity-button .input-group { border-radius: 999px; }
.cart-summary .cart-total, .cart-summary__totals .cart-total { font-size: 18px; border-top: 2px solid var(--ege-tinta); padding-top: 10px; }
.cart-summary .btn-primary, .cart-detailed-actions .btn-primary { width: 100%; padding: 14px 20px; font-size: 16px; }

/* Pago: pasos */
.step__title, .js-step-title { font-family: var(--ege-titulos); font-weight: 800; letter-spacing: -0.02em; }
.checkout-step { border: 2px solid var(--ege-tinta); border-radius: 14px; background: #fff; margin-bottom: 16px; box-shadow: 4px 4px 0 var(--ege-tinta); overflow: hidden; }
.checkout-step.-current, .checkout-step.step--current { box-shadow: 6px 6px 0 var(--ege-azul); }
.checkout-step.-complete .step__title, .checkout-step.step--complete .step__title { color: var(--ege-verde); }
.delivery-option, .payment-option { border: 2px solid #D6DBE6; border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; background: #fff; }
.delivery-option:has(input:checked), .payment-option:has(input:checked) { border-color: var(--ege-tinta); background: #fffbeb; }

/* Mi cuenta: enlaces como tarjetas */
.account-link, #my-account .link-item { display: flex; align-items: center; gap: 10px; background: #fff; border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 4px 4px 0 var(--ege-tinta); padding: 18px; color: var(--ege-tinta); font-weight: 700; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.account-link:hover, #my-account .link-item:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ege-tinta); color: var(--ege-tinta); background: var(--ege-amarillo); }
.account-link .material-icons, #my-account .link-item .material-icons { color: var(--ege-tinta); }

/* Historial de pedidos */
#history .table, #order-detail .table, .order-confirmation-table { background: #fff; border: 2px solid var(--ege-tinta); border-radius: 12px; overflow: hidden; }
#history .table thead th { background: var(--ege-papel); font: 700 12px var(--ege-datos); letter-spacing: .08em; text-transform: uppercase; }
#history .order__total, #history .order__reference { font-family: var(--ege-datos); }
#history .pill, #history .badge { border-radius: 999px; font-family: var(--ege-datos); font-size: 11px; }

/* ---------- Página «Tienda» (CMS tienda/botiga) ---------- */
.ege-tienda { display: flex; flex-direction: column; gap: 36px; margin: 8px 0 48px; }
.ege-tienda__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px; align-items: stretch; }
.ege-tienda__card, .ege-tienda__llegar { background: #fff; border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 6px 6px 0 var(--ege-tinta); padding: clamp(18px, 3vw, 30px); }
.ege-tienda__card p { font-size: 16px; line-height: 1.55; }
.ege-tienda__eyebrow { margin: 0 0 6px; font: 700 12px var(--ege-datos); letter-spacing: .14em; text-transform: uppercase; color: #555B66; }
.ege-tienda__h { margin: 0 0 14px; font: 800 clamp(26px, 3vw, 36px)/1.05 var(--ege-titulos); letter-spacing: -0.03em; }
.ege-tienda__dir { font-style: normal; font-weight: 800; font-size: 20px; line-height: 1.35; margin: 0 0 12px; }
.ege-tienda__contacto { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px dashed var(--ege-tinta); display: flex; flex-direction: column; gap: 10px; }
.ege-tienda__contacto li { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.ege-tienda__contacto span { min-width: 82px; font: 700 11px var(--ege-datos); letter-spacing: .1em; text-transform: uppercase; color: #555B66; }
.ege-tienda__contacto a { color: var(--ege-tinta); font-weight: 700; word-break: break-word; }
.ege-tienda__mapa { border: 2px solid var(--ege-tinta); border-radius: 14px; box-shadow: 6px 6px 0 var(--ege-tinta); overflow: hidden; min-height: 340px; background: #fff; }
.ege-tienda__mapa iframe { display: block; width: 100%; height: 100%; min-height: 340px; border: 0; }
.ege-tienda__fotos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.ege-tienda__fotos figure { margin: 0; background: #fff; padding: 10px 10px 26px; border: 2px solid var(--ege-tinta); box-shadow: 4px 4px 0 var(--ege-tinta); position: relative; }
.ege-tienda__fotos figure:nth-child(odd) { transform: rotate(-1.5deg); } .ege-tienda__fotos figure:nth-child(even) { transform: rotate(1.2deg); }
.ege-tienda__fotos figure::before { content: ""; position: absolute; top: -12px; left: 50%; width: 80px; height: 22px; margin-left: -40px; background: rgba(242,194,48,.75); transform: rotate(-3deg); }
.ege-tienda__fotos figure:nth-child(even)::before { background: rgba(240,140,180,.75); transform: rotate(4deg); }
.ege-tienda__fotos img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.ege-tienda__rutas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 20px; }
.ege-tienda__ruta p { margin: 8px 0 0; font-size: 15.5px; line-height: 1.5; }
.ege-tienda__tag { display: inline-block; font: 700 12px var(--ege-datos); letter-spacing: .08em; text-transform: uppercase; border: 2px solid var(--ege-tinta); border-radius: 999px; padding: 3px 10px; background: var(--ege-papel); }
.ege-tienda__tag--metro { background: #c8f0d2; } .ege-tienda__tag--fgc { background: #e6f0ff; }
@media (max-width: 900px) { .ege-tienda__top, .ege-tienda__rutas { grid-template-columns: minmax(0, 1fr); } .ege-tienda__fotos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Raya bajo la cabecera: los colores del logo fundiéndose uno en otro (sin cortes secos) */
.ege-stripe { height: 7px; margin-top: 0; background: linear-gradient(90deg, #00465A 0%, #05797F 22%, #DD4458 47%, #E8903A 72%, #7A2530 100%); }

/* Fin de la cabecera (Joan, 20-oct): ni rayas ni líneas. El color de la cabecera se funde con lo que viene
   debajo, con un velo muy suave de los colores del logo que se desvanece. Se monta encima de la sección
   siguiente (margen negativo) para que no quede ningún corte. */
.ege-stripe { position: relative; z-index: 2; height: 46px; margin: 0 0 -46px; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0,70,90,.20) 0%, rgba(5,121,127,.20) 22%, rgba(221,68,88,.20) 47%, rgba(232,144,58,.22) 72%, rgba(122,37,48,.20) 100%),
    var(--ege-crema);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 40%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 40%, transparent 100%); }
#header, .ege-hd { border-bottom: 0 !important; box-shadow: none !important; }
/* La miga de pan sin la franja gris: sobre el mismo fondo de la página */
.breadcrumb__wrapper, nav.breadcrumb__wrapper, .breadcrumb-wrapper { background: transparent !important; border: 0 !important; }
.breadcrumb__wrapper { padding-top: 18px; }
/* (ajuste) el color de la cabecera baja y se desvanece; el velo de colores entra y sale sin borde */
.ege-stripe { background: linear-gradient(to bottom, var(--ege-crema) 0%, rgba(247,232,200,0) 100%); -webkit-mask-image: none; mask-image: none; height: 56px; margin-bottom: -56px; }
.ege-stripe::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #00465A 0%, #05797F 22%, #DD4458 47%, #E8903A 72%, #7A2530 100%); opacity: .16;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 30%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 30%, transparent 100%); }
.breadcrumb__wrapper { position: relative; z-index: 3; }
/* (arreglo) el fundido ya no se monta sobre lo de debajo (tapaba la miga de pan): ocupa su propio hueco
   y termina en el color de la página (o en el lila del hero en la portada) */
.ege-stripe { position: relative; z-index: auto; height: 40px; margin: 0;
  background: linear-gradient(to bottom, var(--ege-crema) 0%, var(--ege-papel) 100%); }
#index .ege-stripe { background: linear-gradient(to bottom, var(--ege-crema) 0%, var(--ege-lila) 100%); }
#ybc_blog_page .ege-stripe { background: linear-gradient(to bottom, var(--ege-crema) 0%, var(--ege-papel) 100%); }
.breadcrumb__wrapper { padding-top: 0; }

/* (20-oct) Fundido de la cabecera más largo y suave arriba y abajo; el velo de color entra y sale sin borde */
.ege-stripe { height: 70px; }
.ege-stripe::after { opacity: .13;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.9) 50%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.9) 50%, transparent 100%); }
/* Miga de pan más abajo y pegada al contenido (en la ficha, justo encima de la portada) */
.breadcrumb__wrapper { padding: 6px 0 0; margin: 0; }
.breadcrumb__wrapper .breadcrumb { margin: 0; padding: 0; }
#product .ege-prod { padding-top: 10px; }

/* (20-oct) Entre sección y sección: sin línea negra; las secciones de color se funden con el fondo de la página */
.ege-hero, .ege-shop, .ege-visit, .ege-news, .ege-zine, .ege-zinehead, .footer__main, .ege-kit { border-top: 0 !important; border-bottom: 0 !important; }
:root { --ege-fundido: 64px; }
.ege-shop, .ege-visit {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ege-fundido), #000 calc(100% - var(--ege-fundido)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ege-fundido), #000 calc(100% - var(--ege-fundido)), transparent 100%); }
.ege-hero {
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--ege-fundido)), transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--ege-fundido)), transparent 100%); }
.ege-news {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ege-fundido), #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ege-fundido), #000 100%); }
.ege-news__in { padding-top: 72px; }
.ege-shop .ege-shop__in, .ege-visit .ege-visit__in { padding-top: 96px; padding-bottom: 96px; }
/* (ajuste) fundido de la cabecera más estrecho y la miga de pan con algo de aire */
.ege-stripe { height: 40px; }
.breadcrumb__wrapper { padding: 16px 0 6px; }
#product .ege-prod { padding-top: 14px; }

/* (20-oct) Un único estilo de transición en toda la web: cabecera → contenido, sección → sección y pie.
   Siempre el mismo fundido de color a color, sin líneas ni velos. */
:root { --ege-fundido: 48px; }
.ege-stripe { height: var(--ege-fundido); }
.ege-stripe::after { content: none; }
.ege-shop, .ege-visit, .ege-news {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ege-fundido), #000 calc(100% - var(--ege-fundido)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 var(--ege-fundido), #000 calc(100% - var(--ege-fundido)), transparent 100%); }
.ege-news__in { padding-top: 64px; padding-bottom: 64px; }
/* Pie: boletín (amarillo) → pie (papel) → franja Kit Digital (blanca), todo fundido */
#footer, .footer, .footer__before { background: var(--ege-papel) !important; border: 0 !important; }
.footer__main { background: var(--ege-papel) !important; }
.ege-kit { background: #fff; padding-top: var(--ege-fundido);
  -webkit-mask-image: none; mask-image: none;
  background: linear-gradient(to bottom, var(--ege-papel) 0, #fff var(--ege-fundido)); }

/* Pie sobre fondo claro: textos y enlaces en tinta (Hummingbird los pone blancos para fondo oscuro) */
#footer, #footer .footer__main, #footer .footer__main * { color: var(--ege-tinta); }
#footer .footer__main h1, #footer .footer__main h2, #footer .footer__main h3, #footer .footer__main h4, #footer .footer__main .h3, #footer .footer__main .h4,
#footer .footer__main .footer__block__title, #footer .footer__main .block-title, #footer .footer__main p.h4 { color: var(--ege-tinta) !important; font-family: var(--ege-titulos); font-weight: 800; letter-spacing: -0.01em; }
#footer .footer__main a { color: #3d4653 !important; text-decoration: none; }
#footer .footer__main a:hover { color: var(--ege-tinta) !important; text-decoration: underline; }
#footer .footer__main .material-icons { color: var(--ege-tinta) !important; }
#footer .copyright { color: #555B66 !important; font-size: 13px; }

/* Pie con el color de la cabecera (crema), entrando fundido desde el fondo de la página */
#footer.footer, #footer { background: linear-gradient(to bottom, var(--ege-papel) 0, var(--ege-crema) var(--ege-fundido)) !important; }
#footer .footer__before, #footer .footer__main { background: transparent !important; }
.ege-kit { background: linear-gradient(to bottom, var(--ege-crema) 0, #fff var(--ege-fundido)); }
/* El boletín está dentro del pie: sus textos en tinta (el pie de Hummingbird los ponía en blanco) */
#footer .ege-news, #footer .ege-news * { color: var(--ege-tinta); }
#footer .ege-news__h { color: var(--ege-tinta) !important; font-size: clamp(28px, 3.4vw, 44px) !important; }
#footer .ege-news__btn, #footer .ege-news__btn * { color: #fff; }
#footer .ege-news__msg.is-ok { color: var(--ege-verde); } #footer .ege-news__msg.is-err { color: #9f1239; }

/* Franja Kit Digital: el pie sigue en crema hasta abajo; los logos (con fondo blanco) van en una tarjeta blanca */
.ege-kit { background: var(--ege-crema) !important; padding: 8px 16px 36px; }
.ege-kit > .container:first-child { background: #fff; border-radius: 16px 16px 0 0; padding: 18px 20px 6px !important; max-width: 1000px; }
.ege-kit > .container:last-child { background: #fff; border-radius: 0 0 16px 16px; padding: 4px 20px 18px !important; max-width: 1000px; }
.ege-kit__text { color: #3d4653; }
/* Boletín: amarillo suave (el de los botones, en una franja tan grande, chillaba) */
.ege-news { background: #F8E3A3; }
/* Menos hueco entre Novedades y la Tienda El Genio Equivocado */
#novedades.ege-sec { padding-bottom: 24px; }
.ege-shop .ege-shop__in { padding-top: 64px; }
/* Menos hueco entre la Tienda El Genio Equivocado y Cositas */
.ege-shop .ege-shop__in { padding-bottom: 56px; }
#cositas.ege-sec { padding-top: 24px; }

/* Selector de idioma: interruptor CA · ES */
.ege-idioma { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 2px solid var(--ege-tinta); border-radius: 999px; background: #fff; box-shadow: 3px 3px 0 var(--ege-tinta); }
.ege-idioma__op { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 30px; padding: 0 10px; border-radius: 999px; font: 700 13px var(--ege-datos); letter-spacing: .06em; color: var(--ege-tinta); text-decoration: none; }
.ege-idioma__op:hover { background: var(--ege-crema); color: var(--ege-tinta); text-decoration: none; }
.ege-idioma__op.is-actual { background: var(--ege-tinta); color: #fff; }
