/* Zenicook – Catalogue. Styles limités au shortcode .zcc. */
.zcc {
  --zcc-bordeaux: #76220b;
  --zcc-bordeaux-fonce: #521807;
  --zcc-creme: #fff6ec;
  --zcc-texte: #34241e;
  --zcc-secondary: #75675f;
  --zcc-border: #eee4db;
  max-width: 1200px;
  margin: 0 auto;
  color: var(--zcc-texte);
  font-family: inherit;
}
.zcc *, .zcc *::before, .zcc *::after { box-sizing: border-box; }
.zcc a { text-decoration: none !important; }
.zcc__intro { text-align: center; margin: 0 auto 32px; max-width: 750px; }
.zcc__eyebrow, .zcc__section-eyebrow, .zcc__cta-eyebrow {
  color: var(--zcc-bordeaux);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.zcc h2.zcc__main-heading,
.zcc__section-header h2,
.zcc__cta h2 {
  font-family: 'Merienda One', Merienda, Georgia, serif;
  font-weight: 700;
  line-height: 1.26;
  color: var(--zcc-bordeaux);
}
.zcc h2.zcc__main-heading { font-size: clamp(1.65rem, 3vw, 2.5rem); margin: 10px 0 10px; }
.zcc__intro p { font-size: 1.06rem; line-height: 1.7; color: var(--zcc-secondary); }

.zcc__categories { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; margin: 0 0 65px; }
.zcc__category { position: relative; overflow: hidden; border-radius: 22px; min-height: 295px; display: flex; align-items: flex-end; isolation: isolate; box-shadow: 0 15px 35px rgba(42,19,7,.10); transition: box-shadow .2s ease; }
.zcc__category--salty { background: linear-gradient(130deg, #8e4c2b, #452519); }
.zcc__category--sweet { background: linear-gradient(130deg, #a26844, #673c28); }
.zcc__category:focus-visible { outline: 3px solid #c17e5d; outline-offset: 4px; }
.zcc__category:hover { box-shadow: 0 19px 42px rgba(42,19,7,.16); }
.zcc__category-image { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; transition: none; }

.zcc__category-shade { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(32,18,11,.87) 0%,rgba(32,18,11,.42) 49%,rgba(32,18,11,.06) 100%); z-index: -1; }
.zcc__category-content { display: flex; flex-direction: column; width: 100%; padding: 30px; color: white; }
.zcc__category-kicker { font-weight: 600; font-size: .79rem; letter-spacing: .1em; text-transform: uppercase; opacity: .9; }
.zcc__category-title { font-family: 'Merienda One', Merienda, Georgia, serif; color: white; font-size: clamp(1.25rem,2.3vw,1.8rem); font-weight: 700; margin: 9px 0 7px; line-height: 1.4; }
.zcc__category-desc { color: #fff; opacity: .93; line-height: 1.5; font-size: .96rem; }
.zcc__category-action { align-self: flex-start; background: #fff; color: var(--zcc-bordeaux); font-weight: 700; border-radius: 999px; padding: 10px 18px; margin-top: 19px; font-size: .88rem; transition: background .2s ease; }
.zcc__category:hover .zcc__category-action { background: #fff0df; }

.zcc__section { scroll-margin-top: 110px; margin: 0 0 64px; }
.zcc__section-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--zcc-border); margin-bottom: 25px; }
.zcc__section-header h2 { font-size: clamp(1.5rem,2.5vw,2rem); margin: 7px 0 8px; }
.zcc__section-header p { margin: 0; color: var(--zcc-secondary); line-height: 1.6; }
.zcc__archive-link { white-space: nowrap; color: var(--zcc-bordeaux) !important; font-size: .9rem; font-weight: 700; padding-bottom: 5px; }
.zcc__archive-link:hover { text-decoration: underline !important; }
.zcc__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.zcc__recipe-card { background: #fff; border: 1px solid var(--zcc-border); border-radius: 18px; overflow: hidden; box-shadow: 0 8px 25px rgba(54,27,11,.055); display:flex; flex-direction: column; transition: box-shadow .2s ease; }
.zcc__recipe-card:hover { box-shadow: 0 15px 33px rgba(54,27,11,.11); }
.zcc__recipe-image-link { display:block; height: 205px; background: var(--zcc-creme); overflow:hidden; }
.zcc__recipe-image { width:100%; height:100% !important; object-fit:cover; display:block; transition:none; }

.zcc__recipe-placeholder { display:flex; align-items:center; justify-content:center; height:100%; font-size:3.4rem; background:linear-gradient(135deg,#f7e6d2,#e5c4a4); }
.zcc__recipe-body { padding: 21px; display:flex; flex-direction:column; flex:1; }
.zcc h3.zcc__recipe-title { font-family: 'Merienda One', Merienda, Georgia, serif; font-weight:700; font-size:1.08rem; line-height:1.5; margin:0 0 9px; }
.zcc__recipe-title a { color:var(--zcc-texte) !important; }
.zcc__recipe-title a:hover { color:var(--zcc-bordeaux) !important; }
.zcc__recipe-summary { margin:0 0 16px; line-height:1.65; font-size:.91rem; color:var(--zcc-secondary); }
.zcc__recipe-link { color:var(--zcc-bordeaux) !important; margin-top:auto; font-size:.92rem; font-weight:700; }
.zcc__recipe-link:hover { text-decoration: underline !important; }
.zcc__empty { padding:22px; background:var(--zcc-creme); color:var(--zcc-secondary); border-radius:14px; }

.zcc__cta { background: var(--zcc-creme); border: 1px solid #f0ddd0; border-radius: 22px; padding: 35px 39px; display: flex; align-items:center; justify-content:space-between; gap:32px; }
.zcc__cta h2 { font-size: clamp(1.35rem,2.5vw,1.85rem); margin: 9px 0; }
.zcc__cta p { color:var(--zcc-secondary); margin:0; max-width:600px; }
.zcc a.zcc__cta-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap; border-radius:999px; padding:15px 24px; color:#fff !important; background:var(--zcc-bordeaux) !important; font-weight:700; transition:background .2s ease; }
.zcc a.zcc__cta-button:hover { background:var(--zcc-bordeaux-fonce) !important; }
.zcc a:focus-visible { outline: 3px solid #a96c42; outline-offset: 3px; }
@media (max-width: 980px) {
  .zcc__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap:18px; }
  .zcc__cta { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 680px) {
  .zcc__intro { margin-bottom:25px; }
  .zcc__categories { grid-template-columns:1fr; gap:16px; margin-bottom:44px; }
  .zcc__category { min-height:270px; }
  .zcc__category-content { padding:24px; }
  .zcc__section { margin-bottom:45px; }
  .zcc__section-header { display:block; }
  .zcc__archive-link { display:inline-block; margin-top:14px; }
  .zcc__grid { grid-template-columns:1fr; gap:18px; }
  .zcc__recipe-image-link { height:220px; }
  .zcc__cta { padding:25px 22px; gap:22px; }
  .zcc a.zcc__cta-button { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
  .zcc__category, .zcc__recipe-card, .zcc__category-image, .zcc__recipe-image, .zcc__cta-button { transition:none !important; transform:none !important; }
}

/* Etiquettes sobres sur les dernières recettes : pas de double titre sucré/salé. */
.zcc__recipe-type { color: var(--zcc-bordeaux); font-size: .74rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .075em; margin-bottom: 9px; }

/* Pas de décalage au passage de souris : seuls les tons/ombres changent. */
.zcc .zcc__category:hover,
.zcc .zcc__category:hover .zcc__category-image,
.zcc .zcc__recipe-card:hover,
.zcc .zcc__recipe-card:hover .zcc__recipe-image,
.zcc a.zcc__cta-button:hover { transform: none !important; }

/* Espace Premium : même grille et même esprit que le catalogue gratuit. */
.zcc--premium .zcc__category--salty { background: linear-gradient(135deg,#9f5b37,#493026); }
.zcc--premium .zcc__category--sweet { background: linear-gradient(135deg,#ad7f60,#6c423c); }
.zcc--premium .zcc__category { min-height: 315px; }
.zcc--premium .zcc__section { margin-top: 0; }
.zcc--premium .zcc-premium-locked { margin-top: 30px; }
.zcc--premium .zcc-premium-note { margin-bottom: 35px; }
