/* Base compartida del catálogo: colores, tipografía, franja superior y encabezado */
:root {
	--ivory: #f7f4ef; --paper: #fffdf9; --sand: #efe9df; --ink: #0e1116; --navy: #0c2742; --navy-2: #12355a;
	--copper: #b8722f; --copper-2: #d1651a; --muted: #77706a; --line: #e4ddd2; --line-dark: rgba(255,255,255,.14);
	--serif: 'Playfair Display', Georgia, serif; --sans: Poppins, system-ui, -apple-system, Segoe UI, sans-serif;
	--ease: cubic-bezier(.2,.7,.2,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: var(--sans); font-weight: 300; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
.wrap { max-width: 1380px; margin: 0 auto; padding: 0 32px; }
.label { font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; }
.serif { font-family: var(--serif); }

/* Franja superior y encabezado */
.anuncio { background: var(--navy); color: rgba(255,255,255,.78); text-align: center; padding: 9px 16px; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; }
.top { position: sticky; top: 0; z-index: 60; background: rgba(247,244,239,.94); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid var(--line); }
.top .wrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 76px; }
.nav { display: flex; gap: 30px; }
.nav a { font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; position: relative; padding: 6px 0; }
.nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--copper); transition: right .35s var(--ease); }
.nav a:hover::after, .nav a.on::after { right: 0; }
.logo img { height: 42px; width: auto; }
.buscar { justify-self: end; position: relative; width: min(300px, 100%); }
.buscar input { width: 100%; height: 40px; border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 0 0 0 28px; font: inherit; font-size: 13px; outline: none; border-radius: 0; }
.buscar input::placeholder { color: var(--muted); letter-spacing: .04em; }
.buscar svg { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.top .volver { justify-self: end; display: inline-flex; gap: 10px; align-items: center; }

/* Menú del sitio dentro del catálogo (mismos ajustes de ancho que orgbless.com) */
@media (max-width: 1280px) { .nav { gap: clamp(12px, 1.6vw, 22px); } .nav a { letter-spacing: .12em; font-size: 10.5px; } }
@media (max-width: 980px) {
	.top .wrap { height: auto; padding-top: 10px; padding-bottom: 10px; row-gap: 8px; }
	.nav { flex-wrap: wrap; gap: 4px 16px; }
}
