/* Dedicated freebie cards; approved Shop/Related product cards are unchanged. */
.cika-freebies-page { background: var(--cika-color-void); color: var(--cika-color-white); }
.cika-freebies-page .cika-container-wide { max-width: 1800px; width: calc(100% - 48px); padding-inline: 0; margin-inline: auto; }
.cika-freebies-body { padding-block: 32px 56px; scroll-margin-top: 90px; }
.cika-freebies-controls { display: flex; gap: 24px; align-items: start; margin-bottom: 32px; }
.cika-freebies-controls form { display: flex; flex: 0 1 400px; min-width: 220px; }
.cika-freebies-controls input[type=search] { min-width: 0; width: 100%; border: 1px solid var(--cika-color-border); background: var(--cika-color-surface); color: inherit; padding: 12px; }
.cika-freebies-controls button { width: 48px; flex: 0 0 48px; border: 1px solid var(--cika-color-border); background: var(--cika-color-surface); color: var(--cika-color-accent); cursor: pointer; }
.cika-freebies-controls nav { display: flex; flex: 1; flex-wrap: wrap; gap: 10px; min-width: 0; }
.cika-freebies-controls nav a { padding: 12px 16px; border: 1px solid var(--cika-color-border); color: inherit; font: 700 12px/1.5 var(--cika-font-mono); text-decoration: none; text-transform: uppercase; }
.cika-freebies-controls nav a[aria-current] { border-color: var(--cika-color-accent); color: var(--cika-color-accent); }
.cika-freebies-controls nav a:hover { border-color: var(--cika-color-accent-2); }
.cika-freebies-page :is(a,button,input):focus-visible { outline: 2px solid var(--cika-color-accent); outline-offset: 4px; }
.cika-freebies-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.cika-freebie-card { border: 1px solid var(--cika-color-border); background: var(--cika-color-surface-subtle); min-width: 0; }
.cika-freebie-card:hover { border-color: var(--cika-color-accent); }
.cika-freebie-card > a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.cika-freebie-card__image { aspect-ratio: 16/9; background: var(--cika-color-void); }
.cika-freebie-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cika-freebie-card__content { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.cika-freebie-card__category { color: var(--cika-color-accent-2); font: 700 12px/1.5 var(--cika-font-mono); text-transform: uppercase; margin: 0 0 12px; }
.cika-freebie-card h2 { font-size: clamp(26px,2vw,36px); line-height: 1.1; margin: 0 0 16px; overflow-wrap: anywhere; }
.cika-freebie-card__description { color: var(--cika-color-text-muted); line-height: 1.55; margin: 0 0 24px; }
.cika-freebie-card__action { display: flex; align-items: center; gap: 10px; margin-top: auto; font-size: 13px; }
.cika-freebie-icon { display: inline-block; width: 18px; height: 18px; flex: 0 0 18px; background: currentColor; mask-size: contain; mask-position: center; mask-repeat: no-repeat; }
.cika-freebie-icon.is-search { mask-image: url('../svg/lucide/search.svg'); }
.cika-freebie-icon.is-download { mask-image: url('../svg/lucide/download.svg'); }
.cika-freebie-icon.is-prev { mask-image: url('../svg/lucide/chevron-left.svg'); }
.cika-freebie-icon.is-next { mask-image: url('../svg/lucide/chevron-right.svg'); }
.cika-freebies-pagination { margin-top: 32px; }
.cika-freebies-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.cika-freebies-pagination li > :is(a,span) { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 6px; border: 1px solid var(--cika-color-border); color: inherit; text-decoration: none; font-size: 13px; }
.cika-freebies-pagination .current { background: var(--cika-color-accent); color: var(--cika-color-void); }
.cika-freebies-pagination a:hover { color: var(--cika-color-accent); border-color: var(--cika-color-accent); }
.cika-freebies-pagination .dots { border-color: transparent; color: var(--cika-color-text-muted); }
@media (max-width: 75rem) { .cika-freebies-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .cika-freebies-controls { flex-direction: column; } .cika-freebies-controls form { flex-basis: auto; width: 100%; } }
@media (max-width: 48rem) { .cika-freebies-page .cika-container-wide { width: calc(100% - 24px); } .cika-freebies-pagination ul { gap: 3px; } .cika-freebies-pagination li > :is(a,span) { min-width: 30px; padding: 4px; } }
@media (max-width: 42rem) { .cika-freebies-grid { grid-template-columns: minmax(0,1fr); gap: 24px; } .cika-freebie-card__content { padding: 20px; } }
