/* SergioImagen · hoja de estilos compartida (páginas optimizadas 2026) */
/* ===== Tokens (paleta del sitio: naranja #f69730, tinta #2c2c2c) ===== */
    :root{
      --bg:#ffffff;
      --bg-alt:#f7f7f7;
      --ink:#2c2c2c;
      --muted:#777777;
      --line:#e2e2e2;
      --primary:#f69730;
      --primary-dark:#e97e0a;
      --year:#3399ff;
      --herd:#640903;
      --shadow:0 14px 34px -12px rgba(44,44,44,.35);
      --radius:10px;
      --maxw:1180px;
      --head-h:118px;
    }

    /* ===== Base ===== */
    *,*::before,*::after{box-sizing:border-box}
    html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--bg);
      color:var(--ink);
      font:400 clamp(.95rem,.9rem + .2vw,1.05rem)/1.7 Roboto,system-ui,sans-serif;
      -webkit-font-smoothing:antialiased;
    }
    h1,h2,h3{font-family:"Roboto Slab",Georgia,serif;line-height:1.2;margin:0;text-wrap:balance}
    p{margin:0}
    img{display:block;max-width:100%;height:auto}
    a{color:inherit}
    ul{margin:0}
    :focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
      clip:rect(0 0 0 0);white-space:nowrap;border:0}
    .ico{width:1em;height:1em;flex:none;vertical-align:-.12em}
    .skip{position:absolute;left:12px;top:-70px;z-index:30;background:var(--primary);color:#fff;
      padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none;transition:top .2s}
    .skip:focus{top:12px}

    /* ===== Cabecera ===== */
    .site-header{position:sticky;top:0;z-index:20;background:#fff;
      border-bottom:1px solid var(--line)}
    .site-header__bar{position:relative;max-width:var(--maxw);margin:0 auto;padding:14px clamp(16px,4vw,32px);
      display:flex;align-items:center;justify-content:space-between;gap:16px}
    .brand{text-decoration:none;font-family:"Roboto Slab",Georgia,serif;font-size:1.35rem;
      letter-spacing:-.01em;color:var(--ink);line-height:1.1}
    .brand em{font-style:normal;color:var(--primary)}
    .brand small{display:block;font-family:Roboto,sans-serif;font-size:.68rem;letter-spacing:.16em;
      text-transform:uppercase;color:var(--muted);font-weight:400;margin-top:2px}
    .site-nav ul{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:0}
    .site-nav a{display:inline-block;padding:8px 12px;border-radius:999px;text-decoration:none;
      font-size:.86rem;color:var(--muted);transition:color .2s,background .2s}
    .site-nav a:hover{color:var(--primary);background:#fff7ef}
    .site-nav a[aria-current]{color:var(--ink);background:var(--bg-alt);font-weight:500}
    .nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;
      padding:8px 10px;cursor:pointer;color:var(--ink)}
    .nav-toggle .ico{width:20px;height:20px}

    /* Filtro de temporadas */
    .years{position:relative;z-index:1;border-top:1px solid var(--line);background:var(--bg-alt)}
    .years__inner{max-width:var(--maxw);margin:0 auto;padding:8px clamp(16px,4vw,32px);
      display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin}
    @media (max-width:860px){
      .years__inner{box-shadow:inset -28px 0 20px -18px rgba(44,44,44,.35)}
    }
    .years__label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
      white-space:nowrap;margin-right:4px}
    .years a{white-space:nowrap;text-decoration:none;font-size:.85rem;font-weight:500;
      padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;
      color:var(--ink);transition:border-color .2s,color .2s}
    .years a:hover,.years a.is-active{border-color:var(--year);color:var(--year)}
    .years a.is-outdated{border-style:dashed;color:var(--muted)}

    /* ===== Contenido ===== */
    main{max-width:var(--maxw);margin:0 auto;padding:clamp(24px,4vw,44px) clamp(16px,4vw,32px) 8px}
    .intro{max-width:70ch;margin-bottom:clamp(20px,3vw,32px)}
    .intro h1{font-size:clamp(1.9rem,1.3rem + 2.4vw,2.7rem);margin-bottom:.5rem}
    .intro h1 span{color:var(--primary)}
    .intro p{color:var(--muted)}
    .intro .note{font-size:.85rem;margin-top:.6rem}

    .year{margin:clamp(34px,5vw,56px) 0;scroll-margin-top:calc(var(--head-h) + 12px)}
    .year__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
      flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:22px}
    .year__head h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem)}
    .year__num{color:var(--year)}
    .year__count{font-family:Roboto,sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.1em;
      text-transform:uppercase;color:var(--muted);white-space:nowrap}
    .totop{text-decoration:none;font-size:.8rem;color:var(--muted);display:inline-flex;
      align-items:center;gap:6px;transition:color .2s}
    .totop:hover{color:var(--primary)}

    /* ===== Rejilla de tarjetas ===== */
    .grid{display:grid;gap:clamp(16px,2vw,24px);list-style:none;padding:0;align-items:start;
      grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
    .card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
      border-radius:var(--radius);overflow:hidden;
      transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
    .card:hover,.card:focus-within{transform:translateY(-6px);box-shadow:var(--shadow);
      border-color:var(--primary)}
    .card__media{position:relative;margin:0;aspect-ratio:4/3;background:var(--bg-alt);overflow:hidden}
    .card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
    .card:hover .card__media img{transform:scale(1.06)}
    .card__open{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
      gap:8px;background:rgba(44,44,44,.62);color:#fff;text-decoration:none;font-size:.85rem;
      font-weight:500;opacity:0;transition:opacity .25s ease;padding:12px;text-align:center}
    .card:hover .card__open,.card__open:focus-visible{opacity:1}
    .card__open svg{width:22px;height:22px;flex:none}
    .card__body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:4px}
    .card__title{font-size:1.02rem}
    .card__title a{text-decoration:none;transition:color .2s}
    .card__title a:hover{color:var(--primary)}
    .card__club{color:var(--muted);font-size:.86rem}
    .card__date{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
    .card__herds{list-style:none;padding:0;margin:8px 0 0;font-size:.85rem;
      border-top:1px dashed var(--line);padding-top:8px}
    .card__herds li{margin-bottom:2px}
    .card__herd-label{color:var(--muted)}
    .herd{color:var(--herd);font-weight:500}

    /* ===== Pie ===== */
    .site-footer{margin-top:clamp(36px,6vw,64px);background:var(--ink);color:#d5d5d5}
    .site-footer__inner{max-width:var(--maxw);margin:0 auto;padding:28px clamp(16px,4vw,32px);
      display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
      font-size:.86rem}
    .site-footer a{color:var(--primary);text-decoration:none}
    .site-footer a:hover{text-decoration:underline}

    /* ===== Botón flotante "arriba" ===== */
    .fab{position:fixed;right:18px;bottom:18px;z-index:20;display:inline-flex;align-items:center;
      gap:8px;background:var(--primary);color:#fff;border:0;border-radius:999px;padding:12px 16px;
      font:500 .85rem/1 Roboto,sans-serif;text-decoration:none;box-shadow:var(--shadow);
      opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,
      visibility .25s,background .2s}
    .fab.is-visible{opacity:1;visibility:visible;transform:none}
    .fab:hover{background:var(--primary-dark)}

    /* ===== Responsive ===== */
    @media (max-width:860px){
      .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;
        border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:8px 16px 16px}
      .site-nav.is-open{display:block;z-index:6}
      .site-nav ul{flex-direction:column;gap:2px}
      .site-nav a{display:block;border-radius:8px}
      .nav-toggle{display:inline-flex}
      :root{--head-h:104px}
    }
    @media (max-width:520px){
      .grid{grid-template-columns:1fr}
      .year__head{flex-direction:column;align-items:flex-start;gap:6px}
    }
    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
      .card:hover{transform:none}
    }
    @media print{
      .site-header,.years,.fab,.card__open,.totop{display:none!important}
      .card{break-inside:avoid;border:1px solid #ccc}
    }
