@font-face { font-family: 'Pacifico'; src: url('../../../fonts/Pacifico-Regular.ttf') format('truetype'); font-display: swap; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--azul-noche);
  background: radial-gradient(circle at 8% 8%, rgba(255,213,74,.3), transparent 24rem), radial-gradient(circle at 92% 28%, rgba(78,198,255,.2), transparent 26rem), linear-gradient(180deg,#fffdf7,#fff6e5 55%,#effbed);
  font-family: var(--font-cuerpo);
  line-height: 1.55;
}
button { color: inherit; font: inherit; }
[hidden] { display: none !important; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; border-radius: 12px; color:#fff; background:var(--azul-noche); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.activity-header { display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:20px; padding:12px clamp(16px,4vw,56px); border-bottom:1px solid rgba(39,75,143,.1); background:rgba(255,255,255,.92); box-shadow:0 8px 30px rgba(39,75,143,.07); }
.brand { display:flex; min-width:0; flex-direction:column; color:inherit; line-height:1.05; text-decoration:none; }
.brand__collection { font-family:var(--font-titulo); font-weight:800; }
.brand__signature,.signature { color:var(--naranja-texto); font-family:var(--font-firma); font-weight:400; }
.brand__signature { font-size:1.3rem; }
.back-link { display:inline-flex; min-height:44px; align-items:center; padding:9px 16px; border:2px solid rgba(39,75,143,.12); border-radius:999px; color:var(--azul-noche); background:#fff; font-family:var(--font-titulo); font-weight:700; text-decoration:none; }
.downloads-page { width:min(1160px,100%); margin:0 auto; padding:clamp(32px,5vw,68px) clamp(14px,3vw,36px) 64px; }
.downloads-intro { max-width:840px; margin:0 auto 32px; text-align:center; }
.eyebrow { display:inline-block; margin-bottom:8px; padding:7px 14px; border-radius:999px; background:var(--amarillo-sol); font-family:var(--font-titulo); font-size:.8rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.downloads-intro h1 { margin:0 0 12px; font-family:var(--font-titulo); font-size:clamp(2.2rem,6vw,4.3rem); line-height:1.04; }
.downloads-intro p { max-width:720px; margin:0 auto; color:var(--gris-suave); font-size:clamp(1rem,2vw,1.15rem); }
.resource-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:10px; }
.filter-button { min-height:42px; padding:8px 16px; border:2px solid rgba(39,75,143,.1); border-radius:999px; background:#fff; cursor:pointer; font-family:var(--font-titulo); font-weight:800; }
.filter-button.is-active { border-color:var(--cielo-renzo); background:var(--celeste-claro); }
.results-count { margin:0 0 20px; color:var(--gris-suave); font-size:.9rem; text-align:center; }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.resource-card { display:grid; grid-template-columns:minmax(180px,.8fr) 1.2fr; overflow:hidden; border:1px solid rgba(39,75,143,.1); border-radius:26px; background:rgba(255,255,255,.96); box-shadow:0 16px 40px rgba(39,75,143,.09); }
.resource-card__preview { position:relative; display:flex; min-height:300px; align-items:flex-end; justify-content:center; gap:4px; overflow:hidden; padding:18px 10px; background:var(--crema-papel); }
.resource-card__preview img { display:block; max-width:48%; max-height:235px; object-fit:contain; }
.resource-card__preview--coloring { background:linear-gradient(150deg,#fff,#eaf9ff); }
.resource-card__preview--coloring img:first-child { transform:rotate(-5deg) translateX(10px); }
.resource-card__preview--coloring img:nth-child(2) { transform:rotate(5deg) translateX(-10px); }
.resource-card__preview--memory { align-items:center; background:linear-gradient(150deg,#fff3b0,#fff); }
.resource-card__preview--memory img { width:42%; border:3px solid #fff; border-radius:12px; box-shadow:0 7px 18px rgba(39,75,143,.18); }
.resource-card__preview--puzzle { padding:0; }
.resource-card__preview--puzzle img { width:100%; max-width:none; height:100%; max-height:none; object-fit:cover; }
.puzzle-grid { position:absolute; inset:0; background:linear-gradient(to right,transparent 49.7%,rgba(255,255,255,.9) 50%,transparent 50.3%),linear-gradient(to bottom,transparent 33%,rgba(255,255,255,.9) 33.3%,transparent 33.6%,transparent 66%,rgba(255,255,255,.9) 66.3%,transparent 66.6%); }
.resource-card__preview--certificate { align-items:center; flex-direction:column; color:var(--azul-noche); background:linear-gradient(145deg,#fff8d8,#eaf9ff); text-align:center; }
.resource-card__preview--certificate strong { font-family:var(--font-titulo); font-size:1.15rem; }
.resource-card__preview--certificate img { position:absolute; right:-4px; bottom:-18px; width:72px; }
.certificate-star { font-size:3rem; }
.resource-card__pages { position:absolute; top:12px; right:12px; padding:5px 9px; border-radius:999px; color:#fff; background:rgba(39,75,143,.9); font-size:.72rem; font-weight:800; }
.resource-card__body { display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:22px; }
.resource-tag { color:var(--cielo-texto); font-family:var(--font-titulo); font-size:.76rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.resource-card h2 { margin:7px 0 8px; font-family:var(--font-titulo); font-size:1.35rem; line-height:1.15; }
.resource-card p { margin:0 0 18px; color:var(--gris-suave); }
.resource-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; }
.download-button { display:inline-flex; min-height:44px; align-items:center; padding:9px 15px; border-radius:13px; color:#fff; background:var(--azul-noche); font-family:var(--font-titulo); font-weight:800; text-decoration:none; }
.preview-link { color:var(--azul-noche); font-weight:800; }
.download-button:hover { filter:brightness(1.1); transform:translateY(-2px); }
.print-help { display:flex; align-items:flex-start; gap:14px; margin-top:24px; padding:18px 22px; border-radius:22px; background:rgba(255,255,255,.9); box-shadow:0 9px 25px rgba(39,75,143,.07); }
.print-help > span { font-size:2rem; }
.print-help h2 { margin:0 0 3px; font-family:var(--font-titulo); font-size:1.1rem; }
.print-help p { margin:0; color:var(--gris-suave); }
.activity-footer { padding:28px 16px; color:rgba(255,255,255,.82); background:var(--azul-noche); text-align:center; }
.activity-footer p { margin:0; }
.activity-footer .signature { color:var(--amarillo-sol); font-size:1.15rem; }
:focus-visible { outline:3px solid var(--naranja-icono); outline-offset:3px; }
@media (max-width:920px) { .resource-grid { grid-template-columns:1fr; } .resource-card { grid-template-columns:220px 1fr; } }
@media (max-width:560px) {
  .activity-header { gap:8px; align-items:flex-start; }
  .back-link { padding:8px 12px; font-size:.78rem; }
  .back-link__wide { display:none; }
  .downloads-intro { text-align:left; }
  .downloads-intro h1 { font-size:2.05rem; }
  .resource-filter { justify-content:flex-start; }
  .resource-card { grid-template-columns:1fr; }
  .resource-card__preview { min-height:230px; }
  .resource-card__body { padding:18px; }
  .print-help { padding:15px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

:root { --verde-texto:#397522; --cielo-texto:#176B9A; }
