/*
Theme Name:  Fitxetes
Theme URI:   https://fitxetes.cat
Description: Tema per a web de fitxes educatives infantils en PDF. Disseny colorit i accessible per a mestres i famílies.
Author:      Fitxetes
Author URI:  https://fitxetes.cat
Version:     1.0.0
License:     GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fitxetes
Tags:        education, kids, custom-colors, custom-menu, featured-images, full-width-template
*/

/* ══════════════════════════════════════════════════════════════════════════════
   FONTS
══════════════════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Variable.woff2') format('woff2');
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Fredoka One';
  src: url('fonts/Fredoka-Variable.woff2') format('woff2');
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}

/* ══════════════════════════════════════════════════════════════════════════════
   VARIABLES
══════════════════════════════════════════════════════════════════════════════ */
:root {
  --coral:     #FF6B6B;
  --sun:       #FFD166;
  --mint:      #06D6A0;
  --sky:       #4CC9F0;
  --lavender:  #A78BFA;
  --bg:        #FFF8F0;
  --dark:      #2D2A4A;
  --card-r:    20px;
  --shadow-sm: 0 4px 16px rgba(0,0,0,.07);
  --shadow-md: 0 8px 32px rgba(0,0,0,.10);
  --shadow-lg: 0 14px 40px rgba(0,0,0,.14);
}

/* ══════════════════════════════════════════════════════════════════════════════
   RESET & BASE
══════════════════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Nunito', sans-serif;
  background: var(--bg);
  color: var(--dark);
  overflow-x: hidden;
  line-height: 1.6;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

/* ══════════════════════════════════════════════════════════════════════════════
   NAV
══════════════════════════════════════════════════════════════════════════════ */
.site-header {
  background: white; box-shadow: 0 2px 20px rgba(0,0,0,.06); position: sticky; top: 0; z-index: 100; }
.site-header .inner {
  display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 5%;
  max-width: 1500px; margin: 0 auto; }
.site-logo {
  font-family: 'Fredoka One', cursive; font-size: 2rem; color: var(--coral); font-weight: 900; 
  text-decoration: none; display: flex; align-items: center; gap: 0; }
.logo-fitxes { font-family: 'Fredoka One', cursive; }
.logo-cat { font-family: 'Nunito', sans-serif; font-size: 2rem; font-weight: 300; opacity: 0.8; }
.logo-sol { width: 20px; height: 20px; margin-bottom: 2px; margin-left: 6px; }
.footer-logo-wrap { justify-content: center; margin-bottom: .8rem; }

.main-nav { margin-left: auto; margin-right: 2rem; }
.main-nav ul { display: flex; gap: 2rem; list-style: none; position: relative; }
.main-nav a { text-decoration: none; font-weight: 700; font-size: .95rem; transition: color .2s; }
.main-nav a:hover { color: var(--coral); }

.nav-cta {
  background: var(--coral);
  color: white !important;
  padding: .6rem 1.4rem;
  border-radius: 50px;
  font-weight: 800;
  font-size: .9rem;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(255,107,107,.4);
  transition: transform .2s, box-shadow .2s;
}
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,107,107,.5); }

/* Desplegable */
.main-nav ul ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
  padding: .6rem;
  min-width: 200px;
  z-index: 999;
}
.main-nav ul li { position: relative; list-style: none; }
.main-nav ul li:hover > ul { display: block; }
.main-nav ul ul li a {
  display: block;
  padding: .5rem 1rem;
  border-radius: 10px;
  font-size: .9rem;
  font-weight: 700;
  transition: background .2s, color .2s;
}
.main-nav ul ul li a:hover { background: #FFF0F0; color: var(--coral); }

/* Hamburguesa */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .5rem;
}
.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--dark);
  border-radius: 2px;
  transition: all .3s;
}
.menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ══════════════════════════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════════════════════════ */
.hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 6rem 5% 5rem;
  overflow: hidden;
}
.blob { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .35; pointer-events: none; }
.blob-1 { width:420px;height:420px;background:var(--sun);top:-80px;left:-100px;animation:float1 8s ease-in-out infinite; }
.blob-2 { width:350px;height:350px;background:var(--sky);top:40px;right:-80px;animation:float2 10s ease-in-out infinite; }
.blob-3 { width:280px;height:280px;background:var(--mint);bottom:-50px;left:40%;animation:float1 9s ease-in-out infinite reverse; }
@keyframes float1 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }
@keyframes float2 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(15px)} }

.hero-badge {
  background: var(--sun);
  color: var(--dark);
  font-weight: 800;
  font-size: .8rem;
  padding: .4rem 1rem;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 1;
}
.hero h1 {
  font-family: 'Fredoka One', cursive;
  font-size: clamp(2.8rem,6vw,5rem);
  line-height: 1.1;
  max-width: 800px;
  position: relative;
  z-index: 1;
}
.hero h1 em {
  font-style: normal;
  color: var(--coral);
  position: relative;
  display: inline-block;
}
.hero h1 em::after {
  content:'';position:absolute;bottom:2px;left:0;right:0;
  height:8px;background:var(--sun);border-radius:4px;z-index:-1;opacity:.7;
}
.hero p {
  font-size: 1.15rem;
  color: #6b6a8a;
  max-width: 540px;
  margin: 1.5rem auto 2.5rem;
  line-height: 1.7;
  position: relative;
  z-index: 1;
}
.hero-btns {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.btn-primary {
  background: var(--coral);
  color: white;
  padding: .9rem 2.2rem;
  border-radius: 50px;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(255,107,107,.45);
  transition: transform .2s, box-shadow .2s;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(255,107,107,.55); }
.btn-secondary {
  background: white;
  color: var(--dark);
  padding: .9rem 2.2rem;
  border-radius: 50px;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
  border: 2px solid #e8e0f0;
  transition: transform .2s, border-color .2s;
}
.btn-secondary:hover { transform:translateY(-3px); border-color:var(--lavender); }
.hero-stats {
  display: flex;
  gap: 1.5rem;
  margin-top: 3rem;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.stat-pill {
  background: white;
  border-radius: 50px;
  padding: .6rem 1.4rem;
  font-weight: 800;
  font-size: .9rem;
  box-shadow: var(--shadow-sm);
  display: flex;
  align-items: center;
  gap: .5rem;
}

/* ══════════════════════════════════════════════════════════════════════════════
   SECCIONS GENÈRIQUES
══════════════════════════════════════════════════════════════════════════════ */
.section { padding: 4rem 5%; position: relative; z-index: 1; max-width: 1500px; margin: 0 auto; }
.section-title { font-family: 'Fredoka One', cursive; font-size: 2.2rem; text-align: center; margin-bottom: .5rem; }
.section-sub { text-align: center; color: #6b6a8a; font-size: 1rem; margin-bottom: 3rem; }

/* ══════════════════════════════════════════════════════════════════════════════
   CATEGORIES (matèries)
══════════════════════════════════════════════════════════════════════════════ */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px,1fr));
  gap: 1rem;
  max-width: 800px;
  margin: 0 auto;
}
.cat-card {
  background: white;
  border-radius: var(--card-r);
  padding: 1.5rem 1rem;
  text-align: center;
  text-decoration: none;
  color: var(--dark);
  font-weight: 800;
  font-size: .95rem;
  box-shadow: var(--shadow-sm);
  transition: transform .25s, box-shadow .25s;
  border: 2px solid transparent;
}
.cat-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.cat-card .cat-icon { font-size: 2.5rem; margin-bottom: .6rem; display: block; }
.cat-card .cat-icon img { width: 64px; height: 64px; object-fit: contain; display: block; margin: 0 auto; }
.cat-card img { filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.25)); }

.cat-card.c1 { border-color: var(--coral);    background: #FFF5F5; }
.cat-card.c2 { border-color: var(--sun);      background: #FFFDF0; }
.cat-card.c3 { border-color: var(--mint);     background: #F0FDF8; }
.cat-card.c4 { border-color: var(--sky);      background: #F0FBFF; }
.cat-card.c5 { border-color: var(--lavender); background: #F8F5FF; }
.cat-card.c6 { border-color: var(--coral);    background: #FFF5F5; }
.cat-card.c7 { border-color: var(--mint);     background: #F0FDF8; }
.cat-card.c8 { border-color: var(--sun);      background: #FFFDF0; }

/* ══════════════════════════════════════════════════════════════════════════════
   CICLES
══════════════════════════════════════════════════════════════════════════════ */
.cicles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px,1fr));
  gap: 1.2rem;
  max-width: 1200px;
  margin: 0 auto;
}
.cicle-card {
  border-radius: var(--card-r);
  padding: 1.6rem 1.4rem;
  text-decoration: none;
  color: white;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.12);
  transition: transform .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
}
.cicle-card::after {
  content:'';position:absolute;width:120px;height:120px;
  border-radius:50%;background:rgba(255,255,255,.12);bottom:-30px;right:-20px;
}
.cicle-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.cicle-icon {
  font-size:2.8rem;flex-shrink:0;background:rgba(255,255,255,.2);
  width:62px;height:62px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
}
.cicle-icon img { filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.25)); }
.cicle-info { flex:1; }
.cicle-label { font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;opacity:.8;margin-bottom:.2rem; }
.cicle-name  { font-family:'Fredoka One',cursive;font-size:1.3rem;line-height:1.2;margin-bottom:.3rem; }
.cicle-cursos{ font-size:.78rem;opacity:.85;font-weight:700; }
.cicle-count {
  font-size: .75rem; background: rgba(255,255,255,.25); padding: .25rem .7rem; border-radius: 50px; 
  white-space: nowrap; font-weight: 800; display: inline-block; margin-top: .4rem;
}
.cicle-inf { background: linear-gradient(135deg,#FF6B6B,#FF8E53); }
.cicle-ci  { background: linear-gradient(135deg,#06D6A0,#00B4D8); }
.cicle-cm  { background: linear-gradient(135deg,#A78BFA,#7C3AED); }
.cicle-cs  { background: linear-gradient(135deg,#FFD166,#F59E0B); }

/* ══════════════════════════════════════════════════════════════════════════════
   FITXES GRID
══════════════════════════════════════════════════════════════════════════════ */
.fitxes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(240px,1fr));
  gap: 1.5rem;
}
.fitxa-card {
  background: white;
  border-radius: var(--card-r);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .25s, box-shadow .25s;
  position: relative;
}
.fitxa-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.fitxa-link { text-decoration: none; color: inherit; display: block; }
.fitxa-thumb {
  width:100%;height:180px;
  display:flex;align-items:center;justify-content:center;
  font-size:4rem;position:relative;overflow:hidden;
}
.fitxa-thumb img { width:100%;height:100%;object-fit:cover; }
.fitxa-thumb::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.08));
}
.fitxa-badge {
  position:absolute;top:10px;right:10px;
  border-radius:6px;padding:.25rem .6rem;
  font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;z-index:1;
}
.fitxa-new { background:var(--coral);color:white; }
.fitxa-pop { background:var(--sun);color:var(--dark); }
.fitxa-body { padding:1.2rem; }
.fitxa-level { font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#aaa;margin-bottom:.3rem; }
.fitxa-title { font-weight:800;font-size:1rem;margin-bottom:.8rem; }
.fitxa-excerpt {
  font-size: .78rem;
  color: #6b6a8a;
  line-height: 1.5;
  margin-bottom: .6rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.fitxa-footer { display:flex;align-items:center;justify-content:space-between; }
.fitxa-pages { font-size:.8rem;color:#aaa;font-weight:700; }
.fitxes-empty { grid-column: 1/-1; text-align: center; color: #aaa; font-weight: 700; padding: 2rem; }

.btn-dl {
  background:var(--dark);color:white;
  padding:.45rem 1rem;border-radius:50px;
  font-size:.8rem;font-weight:800;text-decoration:none;
  display:flex;align-items:center;gap:.3rem;
  transition:background .2s,transform .2s;
}
.btn-dl:hover { background:var(--coral);transform:scale(1.05); }

.bg-coral{background:#FFF0F0} .bg-sun{background:#FFFBEA}
.bg-mint{background:#EDFAF5} .bg-sky{background:#EAF8FF} .bg-lav{background:#F3EFFF}

/* ══════════════════════════════════════════════════════════════════════════════
   ETIQUETES / TAGS CLOUD
══════════════════════════════════════════════════════════════════════════════ */
.tags-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto;
}
.tag-pill {
  background: white;
  border: 2px solid;
  border-radius: 50px;
  padding: .45rem 1.1rem;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  transition: opacity .2s, transform .2s;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}
.tag-pill:hover { opacity: .85; transform: translateY(-2px); }
.tag-count { background: rgba(0,0,0,.08); border-radius: 50px; font-size: .7rem; padding: .1rem .45rem; }

/* ══════════════════════════════════════════════════════════════════════════════
   BANNER PREMIUM
══════════════════════════════════════════════════════════════════════════════ */
.banner {
  margin:0 5% 4rem;background:var(--dark);border-radius:28px;
  padding:3rem 5%;display:flex;align-items:center;
  justify-content:space-between;gap:2rem;flex-wrap:wrap;
  position:relative;overflow:hidden;z-index:1;
}
.banner::before {
  content:'';position:absolute;width:400px;height:400px;
  background:var(--lavender);border-radius:50%;opacity:.15;
  top:-150px;right:-100px;filter:blur(60px);
}
.banner-text h2 { font-family:'Fredoka One',cursive;font-size:2rem;color:white;margin-bottom:.5rem; }
.banner-text p  { color:#a8a8c0;font-size:1rem;max-width:420px;line-height:1.6; }
.btn-pro {
  background:var(--sun);color:var(--dark);padding:1rem 2.4rem;border-radius:50px;
  font-weight:800;font-size:1rem;text-decoration:none;white-space:nowrap;
  transition:transform .2s,box-shadow .2s;box-shadow:0 6px 20px rgba(255,209,102,.4);
}
.btn-pro:hover { transform:translateY(-3px);box-shadow:0 10px 30px rgba(255,209,102,.55); }
.banner-icon {
  width:36px;height:36px;display:inline-block;vertical-align:middle;
  margin-bottom:4px;filter:drop-shadow(0px 2px 4px rgba(0,0,0,0.2));
}

/* ══════════════════════════════════════════════════════════════════════════════
   COM FUNCIONA
══════════════════════════════════════════════════════════════════════════════ */
.steps { display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;max-width:900px;margin:0 auto; }
.step  { text-align:center;flex:1;min-width:180px;max-width:220px; }
.step-num {
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fredoka One',cursive;font-size:1.6rem;
  margin:0 auto 1rem;color:white;
}
.step:nth-child(1) .step-num{background:var(--coral)}
.step:nth-child(2) .step-num{background:var(--mint)}
.step:nth-child(3) .step-num{background:var(--lavender)}
.step h3 { font-size:1rem;font-weight:800;margin-bottom:.4rem; }
.step p  { font-size:.88rem;color:#6b6a8a;line-height:1.6; }

/* ══════════════════════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════════════════════ */
.site-footer { background:var(--dark);color:#8888aa;text-align:center;padding:2.5rem 5%;font-size:.9rem; }
.site-footer a { color:var(--sun);text-decoration:none; }

/* ══════════════════════════════════════════════════════════════════════════════
   SINGLE FITXA
══════════════════════════════════════════════════════════════════════════════ */
.breadcrumb {
  padding: 1.2rem 5%;
  font-size: .95rem;
  color: #aaa;
  font-weight: 700;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  max-width: 1500px;
  margin: 1rem auto;
}
.breadcrumb a { color: var(--coral); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }

.single-wrap {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 2rem;
  padding: 0 5% 5rem;
  max-width: 1500px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  align-items: start;
}
.preview-card {
  background: white;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  margin-bottom: 1.5rem;
}
.preview-header {
  background: linear-gradient(135deg,#FF6B6B,#FF8E53);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.preview-header::before {
  content:'';position:absolute;width:250px;height:250px;
  border-radius:50%;background:rgba(255,255,255,.12);top:-80px;right:-60px;
}
.preview-header::after {
  content:'';position:absolute;width:160px;height:160px;
  border-radius:50%;background:rgba(255,255,255,.08);bottom:-50px;left:-30px;
}
.preview-header h1 {
  font-family:'Fredoka One',cursive;font-size:3rem;color:white;
  text-align:center;position:relative;z-index:1;line-height:1.2;
}
.preview-meta {
  display:flex;gap:.8rem;margin-top:1rem;flex-wrap:wrap;
  justify-content:center;position:relative;z-index:1;
}
.meta-pill { background:rgba(255,255,255,.25);color:white;padding:.3rem .9rem;border-radius:50px;font-size:.78rem;font-weight:800; }

.desc-card { background:white; border-radius:24px; padding:2rem; box-shadow:var(--shadow-sm); margin-bottom:1.5rem; }
.desc-card h2 { font-family:'Fredoka One',cursive; font-size:1.4rem; margin-bottom:1.6rem; }
.desc-card p { color:#6b6a8a; line-height:1.8; font-size:1.2rem; margin-bottom:3rem; }

.entry-tags { display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem; }
.entry-tags .tag {
  background:#f0f0f8;color:var(--dark);padding:.35rem .9rem;border-radius:50px;
  font-size:.78rem;font-weight:800;text-decoration:none;transition:background .2s;
}
.entry-tags .tag:hover { background:var(--lavender);color:white; }

.entry-content ul {
  padding-left: 1.5rem;
  margin: 1rem 0 3rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.entry-content ul li {
  font-size: 1.05rem;
  color: #6b6a8a;
  line-height: 1.6;
}
.entry-content ul li::marker {
  color: var(--coral);
}

.sidebar { align-self: start; }

.info-card { background:white;border-radius:24px;padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem; }
.info-card h3 { font-family:'Fredoka One',cursive;font-size:1.1rem;margin-bottom:1rem; }
.info-row {
  display:flex;justify-content:space-between;align-items:center;
  padding:.55rem 0;border-bottom:1px solid #f5f5f5;font-size:.85rem;
}
.info-row:last-child { border-bottom:none; }
.info-label { font-size:1rem;color:#aaa;font-weight:700; }
.info-value { font-weight:800; }

.sidebar-icon {
  width:26px;height:26px;vertical-align:middle;margin-bottom:3px;
  filter:drop-shadow(0px 2px 4px rgba(0,0,0,0.15));
}

/* Cercador sidebar */
.info-card .search-form { display:flex;gap:.5rem;margin-top:.5rem; }
.info-card .search-field {
  flex:1;padding:.6rem 1rem;border:2px solid #f0f0f0;border-radius:12px;
  font-family:'Nunito',sans-serif;font-weight:700;font-size:.85rem;outline:none;transition:border-color .2s;
}
.info-card .search-field:focus { border-color:var(--coral); }
.info-card .search-submit {
  background:var(--coral);color:white;border:none;padding:.6rem 1rem;border-radius:12px;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:.85rem;cursor:pointer;transition:transform .2s;
}
.info-card .search-submit:hover { transform:translateY(-2px); }

/* ══════════════════════════════════════════════════════════════════════════════
   PÀGINA DE CATEGORIA
══════════════════════════════════════════════════════════════════════════════ */
.cat-hero {
  background: linear-gradient(135deg, #FF6B6B, #FF8E53);
  padding: 3.5rem 5%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.cat-hero::before {
  content:'';position:absolute;width:350px;height:350px;
  border-radius:50%;background:rgba(255,255,255,.1);top:-100px;right:-80px;
}
.cat-hero::after {
  content:'';position:absolute;width:200px;height:200px;
  border-radius:50%;background:rgba(255,255,255,.08);bottom:-60px;left:5%;
}
.cat-hero-inner { max-width:1500px;margin:0 auto;position:relative;z-index:1; }
.cat-hero .breadcrumb { color:rgba(255,255,255,.8);padding:0;margin-bottom:1rem; }
.cat-hero .breadcrumb a { color:white; }
.cat-hero .breadcrumb span { color:rgba(255,255,255,.5); }
.cat-hero-title {
  font-family:'Fredoka One',cursive;font-size:clamp(2rem,5vw,3.5rem);
  color:white;line-height:1.1;margin-bottom:1rem;
}
.cat-hero-title em { font-style:normal;opacity:.9; }
.cat-hero-desc { color:rgba(255,255,255,.9);font-size:1.05rem;max-width:600px;line-height:1.7;margin-bottom:1.5rem; }
.cat-hero-stats { display:flex;gap:1rem;flex-wrap:wrap; }
.cat-hero-stats .stat-pill { background:rgba(255,255,255,.25);color:white;box-shadow:none; }

.cat-section { max-width:1500px;margin:0 auto;padding:3rem 5%; }
.cat-section-title {
  font-family:'Fredoka One',cursive;font-size:1.8rem;margin-bottom:1.5rem;
  display:flex;align-items:center;gap:.8rem;
}
.cat-count-badge {
  background:var(--coral);color:white;font-size:.9rem;padding:.2rem .8rem;
  border-radius:50px;font-family:'Nunito',sans-serif;font-weight:800;
}
.subcats-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem; }
.subcat-card {
  background:white;border-radius:var(--card-r);padding:1.2rem;
  display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--dark);
  box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;border:2px solid transparent;
}
.subcat-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--coral); }
.subcat-card img { width:48px;height:48px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0px 2px 4px rgba(0,0,0,0.15)); }
.subcat-info { flex:1; }
.subcat-name { font-weight:800;font-size:.95rem; }
.subcat-count { font-size:.75rem;color:var(--mint);font-weight:800;margin-top:.1rem; }
.subcat-arrow { font-weight:800;color:var(--coral);transition:transform .2s; }
.subcat-card:hover .subcat-arrow { transform:translateX(4px); }

.cat-pagination { margin-top:3rem;display:flex;justify-content:center; }
.cat-pagination .nav-links { display:flex;gap:.5rem;align-items:center; }
.cat-pagination .page-numbers {
  background:white;color:var(--dark);padding:.6rem 1rem;border-radius:12px;
  font-weight:800;font-size:.9rem;text-decoration:none;box-shadow:var(--shadow-sm);transition:background .2s,color .2s;
}
.cat-pagination .page-numbers.current,
.cat-pagination .page-numbers:hover { background:var(--coral);color:white; }

/* ══════════════════════════════════════════════════════════════════════════════
   PÀGINA DE CERCA
══════════════════════════════════════════════════════════════════════════════ */
.search-hero {
  background: linear-gradient(135deg, var(--lavender), #7C3AED);
  padding: 3.5rem 5%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.search-hero::before {
  content:'';position:absolute;width:350px;height:350px;
  border-radius:50%;background:rgba(255,255,255,.1);top:-100px;right:-80px;
}
.search-hero-inner { max-width:1500px;margin:0 auto;position:relative;z-index:1; }
.search-hero-title { font-family:'Fredoka One',cursive;font-size:clamp(1.8rem,4vw,3rem);color:white;margin-bottom:.8rem; }
.search-hero-title em { font-style:normal;opacity:.85; }
.search-hero-desc { color:rgba(255,255,255,.85);font-size:1rem;margin-bottom:1.5rem;font-weight:700; }
.search-form-wrap form { display:flex;gap:.6rem;max-width:600px; }
.search-input-big {
  flex:1;padding:.9rem 1.4rem;border:none;border-radius:50px;
  font-family:'Nunito',sans-serif;font-weight:700;font-size:1rem;outline:none;
  box-shadow:0 4px 16px rgba(0,0,0,.15);
}
.search-btn-big {
  background:var(--sun);color:var(--dark);border:none;padding:.9rem 1.6rem;border-radius:50px;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer;
  white-space:nowrap;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px rgba(255,209,102,.4);
}
.search-btn-big:hover { transform:translateY(-2px); }
.no-results { text-align:center;padding:3rem 0; }
.no-results-icon { font-size:4rem;margin-bottom:1rem; }
.no-results h2 { font-family:'Fredoka One',cursive;font-size:1.8rem;margin-bottom:.5rem; }
.no-results p { color:#6b6a8a;font-size:1rem; }

/* ══════════════════════════════════════════════════════════════════════════════
   PÀGINA D'ETIQUETA
══════════════════════════════════════════════════════════════════════════════ */
.tag-hero {
  background: linear-gradient(135deg, #06D6A0, #00B4D8);
  padding: 3.5rem 5%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.tag-hero::before {
  content:'';position:absolute;width:350px;height:350px;
  border-radius:50%;background:rgba(255,255,255,.1);top:-100px;right:-80px;
}
.tag-hero-inner { max-width:1500px;margin:0 auto;position:relative;z-index:1; }
.tag-hero .breadcrumb { color:rgba(255,255,255,.8);padding:0;margin-bottom:1rem; }
.tag-hero .breadcrumb a { color:white; }
.tag-hero .breadcrumb span { color:rgba(255,255,255,.5); }
.tag-hero-title {
  font-family:'Fredoka One',cursive;font-size:clamp(2rem,5vw,3.5rem);
  color:white;line-height:1.1;margin-bottom:1rem;
}
.tag-hero-title em { font-style:normal;opacity:.9; }
.tag-hero-desc { color:rgba(255,255,255,.9);font-size:1.05rem;max-width:600px;line-height:1.7;margin-bottom:1.5rem; }
.tag-hero .cat-hero-stats .stat-pill { background:rgba(255,255,255,.25);color:white;box-shadow:none; }

/* ══════════════════════════════════════════════════════════════════════════════
   BOTÓ DE DESCÀRREGA (SDM)
══════════════════════════════════════════════════════════════════════════════ */
.butoon-download-smd {
  display:flex; margin:40px auto; align-items:center; justify-content:center;
  width:fit-content; padding:12px 40px; border-radius:30px;
  font-family:'Nunito',sans-serif; font-weight:700; font-size:1.2rem; line-height:1;
  white-space:nowrap; color:#ffffff; background:#ed5565; text-decoration:none;
  cursor:pointer; border:none; transition:background-color .2s ease,box-shadow .2s ease,transform .06s ease;
  -webkit-tap-highlight-color:transparent;
}
.butoon-download-smd:hover { background:#DA4453; color:#ffffff; }
.butoon-download-smd:focus { outline:none; }
a.butoon-download-smd,
a.butoon-download-smd:link,
a.butoon-download-smd:visited,
a.butoon-download-smd:hover,
a.butoon-download-smd:focus,
a.butoon-download-smd:active { text-decoration:none; }
@media(prefers-reduced-motion:reduce) { .butoon-download-smd { transition:none; } }

/* ══════════════════════════════════════════════════════════════════════════════
   TARGETES AMAZON AFILIATS
══════════════════════════════════════════════════════════════════════════════ */
.aff-card {
  display:grid;grid-template-columns:0.7fr 1.3fr;gap:1.25rem;background:#ffffff;color:#1f2937;
  /*border-radius:20px;*//*box-shadow:0 8px 28px rgba(0,0,0,.08);*/padding:3rem 1rem;align-items:start;
  overflow:hidden;width:100%;margin:4rem 0; border-top: 3px dashed var(--dark); 
  border-bottom: 3px dashed var(--dark); }
.aff-card .aff-card__media { overflow:hidden;display:flex;align-items:center;justify-content:center;padding:1.6rem; }
.aff-card .aff-card__media img { width:100%;height:100%;max-width:250px;object-fit:contain;display:block; }
.aff-card .aff-card__body { display:flex;flex-direction:column;gap:0.75rem; }
.aff-card .aff-card__titlewrap { padding:0.25rem 0 0.5rem; }
.aff-card .aff-card__title {
  margin:0;font-family:'Fredoka One',cursive;font-weight:600;
  font-size:clamp(1.2rem,1vw + 1.1rem,2rem);color:var(--lavender);padding-bottom:0.2rem;
}
.aff-card .aff-card__desc { color:#585858;font-size:1rem;padding:0.60rem 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb; }
.aff-card .aff-card__note { display:flex;flex-direction:column;gap:1rem;padding-top:0.15rem; }
.aff-card .aff-card__disclaimer { margin:0;font-size:0.8rem;color:#6b7280; }
.aff-card .aff-card__cta { gap:0.6rem;padding-top:0.8rem; }
.aff-card .aff-card__button {
  display:inline-flex;align-items:center;justify-content:center;padding:0.5rem 1.6rem;
  border-radius:999px;background:#FFB700;font-size:1rem;color:#111111;
  font-weight:500;text-decoration:none;outline:none;
  transition:transform .08s ease,box-shadow .2s ease,background-color .2s ease;width:auto;
}
.aff-card .aff-card__button:hover { background:#FF9900;color:#111111; }
.aff-card .aff-card__button:focus { box-shadow:0 0 0 4px rgba(255,153,0,.35); }
.aff-card .aff-card__button:active { transform:translateY(1px); }


@media(max-width:1200px) {
  .aff-card { grid-template-columns:1fr; }
  .aff-card__cta { align-items:center;text-align:center; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════════════════ */
@media(max-width:780px) {
  .nav-cta { display:none; }
  .site-header .inner {
    display:flex;flex-direction:row;align-items:center;
    justify-content:space-between;padding:1rem 5%;min-height:64px;
  }
  .menu-toggle { display:flex;margin-left:auto;order:3; }
  .main-nav {
    display:none;position:absolute;top:64px;left:0;right:0;
    background:white;padding:1rem;box-shadow:0 8px 24px rgba(0,0,0,.1);margin:0;order:2;
  }
  .main-nav.open { display:block; }
  .main-nav ul { flex-direction:column;gap:.3rem; }
  .main-nav ul ul { position:static;box-shadow:none;padding-left:1rem;display:block; }

  .single-wrap { grid-template-columns:1fr; }
  .sidebar { position:static; }
  .hero h1 { font-size:2.4rem; }
  .banner { text-align:center;justify-content:center; }
  .search-form-wrap form { flex-direction:column; }
  .search-btn-big { border-radius:50px; }
  .subcats-grid { grid-template-columns:1fr 1fr; }
  .cicles-grid { grid-template-columns:1fr; }



/* reduir l'espaiat general en mòbil */
.single-wrap { padding: 0 3% 3rem; }
.desc-card { padding: 1rem; }




}

