:root{
  /* =========================================================
     Casa Polska - CatArchive (tokens)
     Scope original: .casapolska-catarchive
     ========================================================= */
  /* Layout */
  --cp-catarchive-wrap-max: 1180px;
  --cp-catarchive-wrap-pad: 2.3rem 1.25rem 3rem;
  --cp-catarchive-wrap-gap: 2.2rem;

  /* Spacing / Gaps */
  --cp-catarchive-gap-xxs: 6px;
  --cp-catarchive-gap-xs: 8px;
  --cp-catarchive-gap-sm: 10px;
  --cp-catarchive-gap-md: 20px;
  --cp-catarchive-gap-lg: 22px;

  /* Colores base */
  --cp-catarchive-bg: #f7f4ee;
  --cp-catarchive-surface: #ffffff;
  --cp-catarchive-text: #1f2328;
  --cp-catarchive-white: #ffffff;

  /* Muted / líneas */
  --cp-catarchive-muted-70: rgba(31,35,40,.70);
  --cp-catarchive-muted-62: rgba(31,35,40,.62);
  --cp-catarchive-muted-60: rgba(31,35,40,.60);
  --cp-catarchive-muted-55: rgba(31,35,40,.55);
  --cp-catarchive-muted-dot: rgba(31,35,40,.45);
  --cp-catarchive-line: rgba(31,35,40,.10);

  /* Brand / accent */
  --cp-catarchive-brand: #2c5f2d;
  --cp-catarchive-brand-soft: rgba(44,95,45,.12);
  --cp-catarchive-brand-soft-cta: rgba(44,95,45,.06);
  --cp-catarchive-brand-border-28: rgba(44,95,45,.28);
  --cp-catarchive-brand-border-22: rgba(44,95,45,.22);

  /* Chips / badges */
  --cp-catarchive-chip-bg: rgba(255,255,255,.8);
  --cp-catarchive-chip-bg-hover: #ffffff;

  --cp-catarchive-badge-bg: rgba(255,255,255,.92);
  --cp-catarchive-badge-brand-bg: rgba(255,255,255,.10);
  --cp-catarchive-badge-brand-border: rgba(255,255,255,.18);
  --cp-catarchive-badge-brand-text: #ffffff;

  /* Breadcrumb */
  --cp-catarchive-breadcrumb-color: rgba(31,35,40,.60);
  --cp-catarchive-breadcrumb-sep: rgba(31,35,40,.35);

  /* Inputs / botones */
  --cp-catarchive-search-max: 720px;
  --cp-catarchive-search-gap: 10px;
  --cp-catarchive-search-pad: 10px;
  --cp-catarchive-search-border: 1px solid rgba(31,35,40,.10);
  --cp-catarchive-search-radius: 999px;
  --cp-catarchive-search-shadow: 0 8px 18px rgba(17,24,39,.06);

  --cp-catarchive-input-pad: 10px 14px;
  --cp-catarchive-input-size: 1rem;
  --cp-catarchive-placeholder: rgba(31,35,40,.55);

  --cp-catarchive-btn-pad: 10px 16px;
  --cp-catarchive-btn-bg: #2c5f2d;
  --cp-catarchive-btn-text: #ffffff;

  /* Radios */
  --cp-catarchive-radius-pill: 999px;
  --cp-catarchive-radius-card: 18px;

  /* Sombras */
  --cp-catarchive-shadow-lead: 0 10px 28px rgba(17,24,39,.08);
  --cp-catarchive-shadow-card-hover: 0 12px 28px rgba(17,24,39,.10);

  /* Lead (destacado) */
  --cp-catarchive-lead-cols: 1.4fr 1fr;
  --cp-catarchive-lead-minh: 280px;
  --cp-catarchive-lead-img-scale: 1.02;
  --cp-catarchive-lead-img-scale-hover: 1.06;
  --cp-catarchive-lead-overlay: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.38) 100%);
  --cp-catarchive-lead-badge-pos: 14px;
  --cp-catarchive-lead-body-pad: 24px 24px 26px;

  /* Grid */
  --cp-catarchive-grid-cols: 3;
  --cp-catarchive-grid-gap: 20px;

  /* Card */
  --cp-catarchive-card-hover-translate: -3px;
  --cp-catarchive-card-aspect: 16 / 9;

  /* Badge en card media */
  --cp-catarchive-cardbadge-left: 10px;
  --cp-catarchive-cardbadge-bottom: 10px;
  --cp-catarchive-cardbadge-pad: 6px 10px;
  --cp-catarchive-cardbadge-size: .82rem;

  /* Meta / dot */
  --cp-catarchive-meta-gap: 10px;
  --cp-catarchive-meta-gap-sm: 8px;
  --cp-catarchive-meta-size: .92rem;
  --cp-catarchive-meta-size-sm: .86rem;

  --cp-catarchive-dot: 4px;
  --cp-catarchive-dot-radius: 50%;

  /* Verified */
  --cp-catarchive-verified-size: 16px;
  --cp-catarchive-verified-color: #3b82f6;

  /* Tags */
  --cp-catarchive-tags-gap: 8px;
  --cp-catarchive-tag-pad: 6px 10px;
  --cp-catarchive-tag-size: .82rem;
  --cp-catarchive-tag-bg: rgba(255,255,255,.85);
  --cp-catarchive-tag-border: 1px solid rgba(31,35,40,.10);

  /* CTA */
  --cp-catarchive-cta-gap: 6px;
  --cp-catarchive-cta-gap-hover: 10px;
  --cp-catarchive-cta-mt: 10px;
  --cp-catarchive-cta-mt-sm: 8px;
  --cp-catarchive-cta-size-sm: .92rem;
  --cp-catarchive-cta-color: #2c5f2d;
  --cp-catarchive-ctaicon-size: .85em;

  /* Paginación */
  --cp-catarchive-pagebtn-pad: 9px 16px;
  --cp-catarchive-pagebtn-bg: rgba(255,255,255,.85);
  --cp-catarchive-pagebtn-bg-hover: #ffffff;
  --cp-catarchive-pagebtn-active-bg: rgba(44,95,45,.12);

  /* Empty state */
  --cp-catarchive-empty-pad: 40px 24px;

  /* Tipografía (kicker / títulos) */
  --cp-catarchive-kicker-size: .92rem;
  --cp-catarchive-kicker-letter: .12em;

  --cp-catarchive-title-size: clamp(1.9rem, 3.2vw, 2.6rem);
  --cp-catarchive-title-line: 1.1;
  --cp-catarchive-title-letter: -0.02em;

  --cp-catarchive-subtitle-size: 1rem;
  --cp-catarchive-subtitle-line: 1.65;
  --cp-catarchive-subtitle-max: 70ch;

  --cp-catarchive-count-size: .88rem;

  --cp-catarchive-leadtitle-size: clamp(1.3rem, 2.2vw, 1.75rem);
  --cp-catarchive-leadtitle-line: 1.25;
  --cp-catarchive-leadtitle-letter: -0.01em;

  --cp-catarchive-cardtitle-size: 1.06rem;
  --cp-catarchive-cardtitle-line: 1.35;

  --cp-catarchive-cardexcerpt-size: .94rem;
  --cp-catarchive-cardexcerpt-line: 1.65;

  /* Underline offsets */
  --cp-catarchive-underline-off-3: 3px;
  --cp-catarchive-underline-off-4: 4px;

  /* Transiciones */
  --cp-catarchive-ease: ease;

  --cp-catarchive-t-fast: .15s;
  --cp-catarchive-t-med: .18s;
  --cp-catarchive-t-img: .3s;
  --cp-catarchive-t-img-lead: .35s;

  --cp-catarchive-trans-transform-fast: transform .15s ease;
  --cp-catarchive-trans-transform-filter: transform .15s ease, filter .15s ease;
  --cp-catarchive-trans-transform-bg: transform .15s ease, background .15s ease;
  --cp-catarchive-trans-transform-shadow: transform .15s ease, box-shadow .15s ease;
  --cp-catarchive-trans-gap: gap .18s ease;
  --cp-catarchive-trans-icon: transform .18s ease;

  /* Breakpoints */
  --cp-catarchive-bp-lead: 860px;
  --cp-catarchive-bp-grid-2: 980px;
  --cp-catarchive-bp-grid-1: 600px;
}

/* =========================================================
   Casa Polska - Archivo de Categoría
   Scope: .casapolska-catarchive
   Basado en tokens :root (cp-catarchive-*)
   ========================================================= */

/* ── 0) Base y reset ── */
.casapolska-catarchive{
  background: var(--cp-catarchive-bg);
  color: var(--cp-catarchive-text);
  font-family: var(--cp-fuente-texto);
}
.casapolska-catarchive *{ box-sizing: border-box; }
.casapolska-catarchive img{ max-width: 100%; height: auto; display: block; }
.casapolska-catarchive a{ color: inherit; text-decoration: none; }
.casapolska-catarchive a:hover{
  text-decoration: underline;
  text-underline-offset: var(--cp-catarchive-underline-off-3);
}

.casapolska-catarchive__srOnly{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.casapolska-catarchive__wrap{
  max-width: var(--cp-catarchive-wrap-max);
  margin: 0 auto;
  padding: var(--cp-catarchive-wrap-pad);
  display: grid;
  gap: var(--cp-catarchive-wrap-gap);
}

/* ── 1) Header ── */
.casapolska-catarchive__head{
  display: grid;
  gap: var(--cp-catarchive-gap-lg);
}

.casapolska-catarchive__breadcrumb{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--cp-catarchive-gap-xxs);
  font-size: .88rem;
  color: var(--cp-catarchive-breadcrumb-color);
  margin-bottom: .2rem;
}

.casapolska-catarchive__breadSep{
  color: var(--cp-catarchive-breadcrumb-sep);
}

.casapolska-catarchive__kicker{
  margin: 0 0 .4rem;
  color: var(--cp-catarchive-muted-70);
  font-size: var(--cp-catarchive-kicker-size);
  letter-spacing: var(--cp-catarchive-kicker-letter);
  text-transform: uppercase;
}

.casapolska-catarchive__title{
  margin: 0 0 .35rem;
  font-size: var(--cp-catarchive-title-size);
  line-height: var(--cp-catarchive-title-line);
  letter-spacing: var(--cp-catarchive-title-letter);
}

.casapolska-catarchive__subtitle{
  margin: 0;
  color: var(--cp-catarchive-muted-70);
  font-size: var(--cp-catarchive-subtitle-size);
  line-height: var(--cp-catarchive-subtitle-line);
  max-width: var(--cp-catarchive-subtitle-max);
}

.casapolska-catarchive__count{
  margin: 0;
  font-size: var(--cp-catarchive-count-size);
  color: var(--cp-catarchive-muted-55);
  font-weight: 600;
}

/* Buscador */
.casapolska-catarchive__search{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--cp-catarchive-search-gap);
  background: var(--cp-catarchive-surface);
  border: var(--cp-catarchive-search-border);
  border-radius: var(--cp-catarchive-search-radius);
  padding: var(--cp-catarchive-search-pad);
  box-shadow: var(--cp-catarchive-search-shadow);
  max-width: var(--cp-catarchive-search-max);
}

.casapolska-catarchive__searchInput{
  width: 100%;
  border: 0;
  outline: none;
  padding: var(--cp-catarchive-input-pad);
  font-size: var(--cp-catarchive-input-size);
  background: transparent;
  color: var(--cp-catarchive-text);
}

.casapolska-catarchive__searchInput::placeholder{
  color: var(--cp-catarchive-placeholder);
}

.casapolska-catarchive__searchBtn{
  border: 0;
  border-radius: var(--cp-catarchive-radius-pill);
  padding: var(--cp-catarchive-btn-pad);
  font-weight: 700;
  background: var(--cp-catarchive-btn-bg);
  color: var(--cp-catarchive-btn-text);
  cursor: pointer;
  transition: var(--cp-catarchive-trans-transform-filter);
}

.casapolska-catarchive__searchBtn:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/* Chips */
.casapolska-catarchive__chips{
  display: flex;
  flex-wrap: wrap;
  gap: var(--cp-catarchive-gap-sm);
}

.casapolska-catarchive__chip{
  background: var(--cp-catarchive-chip-bg);
  border: 1px solid var(--cp-catarchive-line);
  padding: 8px 12px;
  border-radius: var(--cp-catarchive-radius-pill);
  font-weight: 600;
  font-size: .95rem;
  transition: var(--cp-catarchive-trans-transform-bg);
}

.casapolska-catarchive__chip:hover{
  transform: translateY(-1px);
  background: var(--cp-catarchive-chip-bg-hover);
}

.casapolska-catarchive__chip--active{
  background: var(--cp-catarchive-brand-soft);
  border-color: var(--cp-catarchive-brand-border-28);
  color: var(--cp-catarchive-brand);
  font-weight: 800;
}

/* ── 2) Badge ── */
.casapolska-catarchive__badge{
  display: inline-flex;
  align-items: center;
  gap: var(--cp-catarchive-gap-xs);
  padding: 8px 12px;
  border-radius: var(--cp-catarchive-radius-pill);
  background: var(--cp-catarchive-badge-bg);
  border: 1px solid var(--cp-catarchive-line);
  font-weight: 700;
  font-size: .88rem;
  line-height: 1;
}

.casapolska-catarchive__badge--brand{
  background: var(--cp-catarchive-badge-brand-bg);
  border-color: var(--cp-catarchive-badge-brand-border);
  color: var(--cp-catarchive-badge-brand-text);
}

/* ── 3) Lead (artículo destacado) ── */
.casapolska-catarchive__lead{
  background: var(--cp-catarchive-surface);
  border: 1px solid var(--cp-catarchive-line);
  border-radius: var(--cp-catarchive-radius-card);
  overflow: hidden;
  box-shadow: var(--cp-catarchive-shadow-lead);
  display: grid;
  grid-template-columns: var(--cp-catarchive-lead-cols);
  align-items: stretch;
}

@media (max-width: 860px){
  .casapolska-catarchive__lead{
    grid-template-columns: 1fr;
  }
}

.casapolska-catarchive__leadMedia{
  position: relative;
  display: block;
  overflow: hidden;
  min-height: var(--cp-catarchive-lead-minh);
}

.casapolska-catarchive__leadImg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(var(--cp-catarchive-lead-img-scale));
  transition: transform var(--cp-catarchive-t-img-lead) var(--cp-catarchive-ease);
}

.casapolska-catarchive__leadMedia:hover .casapolska-catarchive__leadImg{
  transform: scale(var(--cp-catarchive-lead-img-scale-hover));
}

.casapolska-catarchive__leadOverlay{
  position: absolute;
  inset: 0;
  background: var(--cp-catarchive-lead-overlay);
}

.casapolska-catarchive__leadMedia .casapolska-catarchive__badge{
  position: absolute;
  top: var(--cp-catarchive-lead-badge-pos);
  left: var(--cp-catarchive-lead-badge-pos);
  z-index: 2;
}

.casapolska-catarchive__leadBody{
  padding: var(--cp-catarchive-lead-body-pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.casapolska-catarchive__leadTitle{
  margin: 0 0 .55rem;
  font-size: var(--cp-catarchive-leadtitle-size);
  line-height: var(--cp-catarchive-leadtitle-line);
  letter-spacing: var(--cp-catarchive-leadtitle-letter);
}

.casapolska-catarchive__leadTitle a:hover{
  text-decoration: underline;
  text-underline-offset: var(--cp-catarchive-underline-off-4);
}

.casapolska-catarchive__leadExcerpt{
  margin: 0 0 .85rem;
  color: var(--cp-catarchive-muted-70);
  line-height: 1.7;
}

/* ── 4) Grid de tarjetas ── */
.casapolska-catarchive__grid{
  display: grid;
  gap: var(--cp-catarchive-grid-gap);
  grid-template-columns: repeat(var(--cp-catarchive-grid-cols), 1fr);
}

@media (max-width: 980px){
  .casapolska-catarchive__grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px){
  .casapolska-catarchive__grid{
    grid-template-columns: 1fr;
  }
}

.casapolska-catarchive__card{
  background: var(--cp-catarchive-surface);
  border: 1px solid var(--cp-catarchive-line);
  border-radius: var(--cp-catarchive-radius-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: var(--cp-catarchive-trans-transform-shadow);
}

.casapolska-catarchive__card:hover{
  transform: translateY(var(--cp-catarchive-card-hover-translate));
  box-shadow: var(--cp-catarchive-shadow-card-hover);
}

.casapolska-catarchive__cardMedia{
  position: relative;
  display: block;
  aspect-ratio: var(--cp-catarchive-card-aspect);
  overflow: hidden;
}

.casapolska-catarchive__cardImg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--cp-catarchive-t-img) var(--cp-catarchive-ease);
}

.casapolska-catarchive__cardMedia:hover .casapolska-catarchive__cardImg{
  transform: scale(1.04);
}

.casapolska-catarchive__cardMedia .casapolska-catarchive__badge{
  position: absolute;
  left: var(--cp-catarchive-cardbadge-left);
  bottom: var(--cp-catarchive-cardbadge-bottom);
  padding: var(--cp-catarchive-cardbadge-pad);
  font-size: var(--cp-catarchive-cardbadge-size);
}

.casapolska-catarchive__cardBody{
  padding: 16px 16px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.casapolska-catarchive__cardTitle{
  margin: 0 0 .4rem;
  font-size: var(--cp-catarchive-cardtitle-size);
  line-height: var(--cp-catarchive-cardtitle-line);
}

.casapolska-catarchive__cardExcerpt{
  margin: 0 0 .65rem;
  color: var(--cp-catarchive-muted-70);
  font-size: var(--cp-catarchive-cardexcerpt-size);
  line-height: var(--cp-catarchive-cardexcerpt-line);
  flex: 1;
}

/* ── 5) Meta, dot, author, verified ── */
.casapolska-catarchive__meta{
  display: flex;
  align-items: center;
  gap: var(--cp-catarchive-meta-gap);
  color: var(--cp-catarchive-muted-62);
  font-size: var(--cp-catarchive-meta-size);
  flex-wrap: wrap;
}

.casapolska-catarchive__meta--sm{
  font-size: var(--cp-catarchive-meta-size-sm);
  gap: var(--cp-catarchive-meta-gap-sm);
}

.casapolska-catarchive__dot{
  width: var(--cp-catarchive-dot);
  height: var(--cp-catarchive-dot);
  border-radius: var(--cp-catarchive-dot-radius);
  background: var(--cp-catarchive-muted-dot);
  display: inline-block;
  flex-shrink: 0;
}

.casapolska-catarchive__author{
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.casapolska-catarchive__author a{
  font-weight: 800;
  text-decoration: none;
}

.casapolska-catarchive__author a:hover{
  text-decoration: underline;
  text-underline-offset: var(--cp-catarchive-underline-off-3);
}

.casapolska-catarchive__verified{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cp-catarchive-verified-size);
  height: var(--cp-catarchive-verified-size);
  flex-shrink: 0;
  color: var(--cp-catarchive-verified-color);
  line-height: 1;
}

.casapolska-catarchive__verified .iconify{
  width: var(--cp-catarchive-verified-size);
  height: var(--cp-catarchive-verified-size);
  display: block;
}

/* ── 6) Tags ── */
.casapolska-catarchive__tags{
  display: flex;
  flex-wrap: wrap;
  gap: var(--cp-catarchive-tags-gap);
  margin: 0 0 .65rem;
}

.casapolska-catarchive__tags--sm{
  margin: 0 0 .5rem;
}

.casapolska-catarchive__tag{
  display: inline-flex;
  align-items: center;
  padding: var(--cp-catarchive-tag-pad);
  border-radius: var(--cp-catarchive-radius-pill);
  border: var(--cp-catarchive-tag-border);
  background: var(--cp-catarchive-tag-bg);
  font-weight: 800;
  font-size: var(--cp-catarchive-tag-size);
  text-decoration: none;
}

.casapolska-catarchive__tag:hover{
  background: var(--cp-catarchive-brand-soft-cta);
  text-decoration: none;
}

/* ── 7) CTA ── */
.casapolska-catarchive__cta{
  display: inline-flex;
  align-items: center;
  gap: var(--cp-catarchive-cta-gap);
  margin-top: var(--cp-catarchive-cta-mt);
  font-weight: 900;
  color: var(--cp-catarchive-cta-color);
  text-decoration: none;
  transition: var(--cp-catarchive-trans-gap);
}

.casapolska-catarchive__cta:hover{
  text-decoration: underline;
  text-underline-offset: var(--cp-catarchive-underline-off-3);
  gap: var(--cp-catarchive-cta-gap-hover);
}

.casapolska-catarchive__cta--sm{
  margin-top: var(--cp-catarchive-cta-mt-sm);
  font-size: var(--cp-catarchive-cta-size-sm);
}

.casapolska-catarchive__ctaIcon{
  font-size: var(--cp-catarchive-ctaicon-size);
  line-height: 1;
  flex-shrink: 0;
  transition: var(--cp-catarchive-trans-icon);
}

/* ── 8) Paginación ── */
.casapolska-catarchive__pagination{
  display: flex;
  flex-wrap: wrap;
  gap: var(--cp-catarchive-gap-sm);
}

.casapolska-catarchive__pageBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--cp-catarchive-pagebtn-pad);
  border-radius: var(--cp-catarchive-radius-pill);
  border: 1px solid var(--cp-catarchive-line);
  background: var(--cp-catarchive-pagebtn-bg);
  font-weight: 800;
  text-decoration: none;
  transition: var(--cp-catarchive-trans-transform-bg);
}

.casapolska-catarchive__pageBtn:hover{
  transform: translateY(-1px);
  background: var(--cp-catarchive-pagebtn-bg-hover);
}

.casapolska-catarchive__pageBtn--active{
  background: var(--cp-catarchive-pagebtn-active-bg);
  border-color: var(--cp-catarchive-brand-border-22);
  color: var(--cp-catarchive-brand);
}

/* ── 9) Estado vacío ── */
.casapolska-catarchive__empty{
  background: var(--cp-catarchive-surface);
  border: 1px solid var(--cp-catarchive-line);
  border-radius: var(--cp-catarchive-radius-card);
  padding: var(--cp-catarchive-empty-pad);
  text-align: center;
  color: var(--cp-catarchive-muted-70);
  line-height: 1.7;
}