/* catalogo: estilos de la maqueta (catalogo.html), sin cambios. Compartido: base.css */
  /* Marquee dorado sobre negro */
  .marquee { height: 38px; overflow: hidden; border-bottom: 1px solid var(--line); display: flex; align-items: center; }
  .marquee__track { display: flex; flex: none; white-space: nowrap; animation: marquee 32s linear infinite; }
  .marquee span { padding: 0 28px; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
  .marquee span::after { content: "◆"; margin-left: 56px; font-size: 7px; vertical-align: 2px; }
  @keyframes marquee { to { transform: translateX(-50%); } }
  .nav { position: absolute; top: 38px; }

  /* Cabecera + filtros */
  .head { padding: 150px clamp(16px, 4vw, 48px) 36px; }
  .head h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(48px, 8vw, 120px); line-height: .9; }
  .filters { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
             padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .pills, .swatches { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
  .pill { font: 500 12px var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--white);
          background: none; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 10px 18px; cursor: pointer; }
  .pill sup { color: var(--gold); font-size: 10px; margin-left: 4px; }
  .pill:hover { border-color: var(--gold); }
  .pill[aria-pressed="true"] { background: var(--black); border-color: var(--gold); color: var(--gold); }
  .swatches[hidden] { display: none; }
  .swatches > span { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-right: 6px; }
  .pill:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

  /* Contenedor de filtros + grid: centrado, con tope de ancho y aire a los lados (como el Home) */
  .wrap { max-width: 1500px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 80px); }
  /* Sidebar de filtros (marfil) + resultados */
  .shop { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; align-items: start; padding-top: 32px; }
  .side { position: sticky; top: 24px; background: var(--ivory); color: var(--black); padding: 8px 20px 20px; }
  .side > details > summary { display: none; }            /* en desktop el panel siempre está abierto */
  .side__search { padding: 16px 0; border-bottom: 1px solid rgba(10,10,10,.12); }
  .side__sec { border-bottom: 1px solid rgba(10,10,10,.12); }
  .side__sec > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
                         padding: 16px 0; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
  .side summary::-webkit-details-marker { display: none; }
  .side__sec > summary::after { content: "−"; color: var(--gold-deep); font-size: 16px; }
  .side__sec:not([open]) > summary::after { content: "+"; }
  .side ul { list-style: none; padding-bottom: 14px; }
  .side li button { width: 100%; display: flex; justify-content: space-between; gap: 8px; background: none; border: 0; cursor: pointer;
                    padding: 8px 0; font: 14px var(--sans); color: rgba(10,10,10,.75); text-align: left; }
  .side li button:hover { color: var(--black); }
  .side li button small { color: rgba(10,10,10,.45); }
  .side li button[aria-pressed="true"] { color: var(--black); font-weight: 600; box-shadow: inset 2px 0 0 var(--gold); padding-left: 10px; }
  .side form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-bottom: 16px; }
  .side label { display: grid; gap: 4px; font-size: 11px; letter-spacing: .08em; color: rgba(10,10,10,.6); }
  .side input { width: 100%; min-width: 0; padding: 10px; border: 1px solid rgba(10,10,10,.25); background: #fff; font: 14px var(--sans); color: var(--black); }
  .side input:focus { outline: 2px solid var(--gold-deep); outline-offset: 0; border-color: transparent; }
  .side__apply { grid-column: 1 / -1; background: var(--black); color: var(--gold); border: 0; padding: 12px; cursor: pointer;
                 font: 600 11px var(--sans); letter-spacing: .2em; text-transform: uppercase; }
  .side__apply:hover { color: var(--white); }
  .side__note, .side__err { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; color: rgba(10,10,10,.6); }
  .side__err { color: #9A2B0A; }
  .side__note[hidden], .side__err[hidden], .side__clear[hidden] { display: none; }
  .side__clear { background: none; border: 0; padding: 14px 0 0; cursor: pointer; font: 600 11px var(--sans); letter-spacing: .16em;
                 text-transform: uppercase; color: var(--gold-deep); text-decoration: underline; text-underline-offset: 3px; }
  .side button:focus-visible, .side summary:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 2px; }
  @media (max-width: 900px) {
    .shop { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 20px; }
    .side { position: static; padding: 0 16px; }
    .side > details > summary { display: flex; justify-content: space-between; list-style: none; cursor: pointer; padding: 16px 0;
                                font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
    .side > details > summary::after { content: "+"; color: var(--gold-deep); }
    .side > details[open] > summary::after { content: "−"; }
    .side > details[open] { padding-bottom: 8px; }
  }
  /* con sidebar, columnas según el espacio que queda: 3 (901-1149 px), 4 (1150-1359 px), 5 desde 1360 px */
  @media (min-width: 901px) and (max-width: 1149px) { .shop .grid--dense { grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 1150px) and (max-width: 1359px) { .shop .grid--dense { grid-template-columns: repeat(4, 1fr); } }

  .more { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 48px 16px 24px; }
  .more p { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.55); }
  .more__btn { background: var(--black); color: var(--gold); border: 1px solid var(--gold); padding: 18px 40px; cursor: pointer;
               font: 600 12px var(--sans); letter-spacing: .22em; text-transform: uppercase; transition: background .2s, color .2s; }
  .more__btn:hover { background: var(--gold); color: var(--black); }
  .more__btn:active { transform: scale(.98); }
  .more__btn:focus-visible { outline: 2px solid var(--white); outline-offset: 3px; }
  .more__btn[hidden] { display: none; }
  .empty { grid-column: 1 / -1; padding: 80px 16px; text-align: center; color: rgba(255,255,255,.6); }
  .empty button { margin-top: 18px; }

  @media (prefers-reduced-motion: reduce) { .marquee__track { animation: none; } }

  /* Celular: la cabecera se queda pegada arriba justo bajo la cinta (no flota sobre el título) */
  @media (max-width: 800px) { .nav { position: sticky; top: 0; } .head { padding-top: 28px; } }
