/* Blog (categoría CMS «blog» y sus artículos), páginas de zona de cocinas a medida y bloque «Dónde montamos»
   de la categoría 14. Se carga solo en páginas CMS y en la categoría 14 (stylesheets.tpl).
   Reutiliza .kc-btn, .kc-eyebrow y .kc-cta de cocinas.css. */

/* ---------- contenedor general ---------- */
body#cms .page-content--post,body#cms .page-content--zona,body#cms .page-content:has(.kb-list){max-width:none;padding:0;background:none;border:0;box-shadow:none}
.kb-post,.kb-list,.kz{color:var(--km-ink,#22312b);font-family:var(--km-font,Manrope,Arial,sans-serif)}
.kb-post a,.kz-body a{color:var(--km-green,#254f41);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.kb-post a:hover,.kz-body a:hover{color:var(--km-green-dark,#173b30)}
.kb-post .kc-btn,.kb-list .kc-btn,.kz .kc-btn{text-decoration:none}
.kb-post .btn-primary.kc-btn,.kb-list .btn-primary.kc-btn{color:#fff}

/* ---------- artículo ---------- */
.kb-post{max-width:1120px;margin:0 auto;padding:1rem 0 3rem}
.kb-post__head{max-width:780px;margin:0 auto 1.75rem}
.kb-kicker{margin:0 0 .9rem;font-size:.72rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--km-green,#254f41)}
.kb-kicker a{text-decoration:none!important}
.kb-post__title{font-size:clamp(1.9rem,4vw,3rem);font-weight:650;line-height:1.08;letter-spacing:-.035em;color:var(--km-green-dark,#173b30);margin:0 0 1rem}
.kb-post__lead{font-size:1.12rem;line-height:1.6;color:var(--km-muted,#66736a);margin:0 0 1.1rem}
.kb-post__byline{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;margin:0;font-size:.84rem;color:var(--km-muted,#66736a)}
.kb-post__byline span+span:before{content:"·";margin-right:1.1rem;color:var(--km-line,#c9cbbf)}
.kb-post__cover{max-width:1120px;margin:0 auto 2.5rem;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:var(--km-sand,#e9e3d6)}
.kb-post__cover img{width:100%;height:100%;object-fit:cover;display:block}
.kb-post__grid{display:grid;grid-template-columns:240px minmax(0,780px);gap:3rem;justify-content:center;align-items:start}
.kb-post__grid--solo{grid-template-columns:minmax(0,780px)}

/* índice */
.kb-toc{position:sticky;top:110px;border-left:2px solid var(--km-yellow,#e3be54);padding:.2rem 0 .2rem 1.1rem;font-size:.86rem}
.kb-toc__title{margin:0 0 .6rem;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--km-green,#254f41)}
.kb-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.kb-toc a{color:var(--km-ink,#22312b)!important;text-decoration:none!important;line-height:1.35;display:block}
.kb-toc a:hover{color:var(--km-green,#254f41)!important}

/* cuerpo del artículo y de las páginas de zona */
.kb-post__body,.kz-body{font-size:1.04rem;line-height:1.72}
.kb-post__body>*:first-child{margin-top:0}
.kb-post__body h2,.kz-body h2{font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:650;line-height:1.18;letter-spacing:-.03em;color:var(--km-green-dark,#173b30);margin:2.6rem 0 1rem;scroll-margin-top:110px}
.kb-post__body h3,.kz-body h3{font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--km-green-dark,#173b30);margin:1.8rem 0 .6rem}
.kb-post__body p,.kz-body p{margin:0 0 1.05rem}
.kb-post__body ul,.kb-post__body ol,.kz-body ul,.kz-body ol{margin:0 0 1.2rem;padding-left:1.25rem}
.kb-post__body li,.kz-body li{margin-bottom:.4rem}
.kb-post__body img,.kz-body img{max-width:100%;height:auto}
.kb-post__body strong,.kz-body strong{color:var(--km-green-dark,#173b30)}

/* tablas */
.km-tabla{width:100%;overflow-x:auto;margin:1.4rem 0 1.6rem;border:1px solid var(--km-line,#dedfd5);border-radius:10px}
.km-tabla table{width:100%;margin:0!important;border-collapse:collapse;font-size:.92rem;line-height:1.45;min-width:520px}
.km-tabla th,.km-tabla td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--km-line,#dedfd5);vertical-align:top}
.km-tabla th{background:var(--km-cream,#f7f5ef);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--km-green-dark,#173b30)}
.km-tabla tr:last-child td{border-bottom:0}
.km-tabla td a{font-weight:700}

/* nota destacada y respuesta corta */
.km-nota{background:var(--km-cream,#f7f5ef);border-left:4px solid var(--km-yellow,#e3be54);border-radius:0 10px 10px 0;padding:1.05rem 1.25rem;margin:1.5rem 0}
.km-nota p:last-child{margin-bottom:0}
.km-resumen{border:1px solid var(--km-line,#dedfd5);border-radius:12px;padding:1.2rem 1.35rem;margin:0 0 2rem;background:#fff}
.km-resumen p:first-child{margin:0 0 .5rem;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--km-green,#254f41)}
.km-resumen ul{margin-bottom:0}

/* fotos dentro del texto */
.km-img{margin:1.6rem 0;border-radius:12px;overflow:hidden;background:var(--km-sand,#e9e3d6)}
.km-img img{display:block;width:100%;height:auto}
.km-pie{margin:-1rem 0 1.6rem!important;font-size:.84rem;color:var(--km-muted,#66736a)}

/* tarjetas de producto enlazadas desde el texto */
.km-prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.4rem 0 2rem}
.km-prods a.km-prod{display:flex;flex-direction:column;border:1px solid var(--km-line,#dedfd5);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none!important;color:var(--km-ink,#22312b)!important;transition:border-color .2s,transform .2s}
.km-prods a.km-prod:hover{border-color:var(--km-green,#254f41);transform:translateY(-2px)}
.km-prod img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--km-cream,#f7f5ef)}
.km-prod__t{display:block;padding:.75rem .9rem .15rem;font-weight:750;font-size:.95rem;line-height:1.3;color:var(--km-green-dark,#173b30)}
.km-prod__d{display:block;padding:0 .9rem .85rem;font-size:.82rem;line-height:1.45;color:var(--km-muted,#66736a)}

/* preguntas frecuentes */
.km-faq{margin:1rem 0 2rem;border-top:1px solid var(--km-line,#dedfd5)}
.km-faq h3{margin:0!important;padding:1.1rem 0 .4rem;font-size:1.02rem!important}
.km-faq p{padding-bottom:1rem;margin:0!important;border-bottom:1px solid var(--km-line,#dedfd5);color:var(--km-muted,#4f5c54)}

/* lista de pasos */
.km-pasos{list-style:none;counter-reset:kmp;padding:0!important;display:grid;gap:.9rem}
.km-pasos li{counter-increment:kmp;position:relative;padding:.95rem 1rem .95rem 3.4rem;border:1px solid var(--km-line,#dedfd5);border-radius:10px;background:#fff;margin:0!important}
.km-pasos li:before{content:counter(kmp);position:absolute;left:1rem;top:.9rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--km-yellow,#e3be54);color:var(--km-green-dark,#173b30);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}

/* pueblos */
.km-pueblos{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0!important;margin:1rem 0 1.5rem!important}
.km-pueblos li{margin:0!important;padding:.38rem .8rem;border-radius:999px;background:var(--km-cream,#f7f5ef);border:1px solid var(--km-line,#dedfd5);font-size:.88rem;font-weight:650;color:var(--km-green-dark,#173b30)}

/* llamada final */
.kb-cta{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:2rem;align-items:center;max-width:1020px;margin:3.5rem auto 1.5rem;padding:2.2rem 2.4rem;border-radius:16px;background:var(--km-green,#254f41);color:#e7efe9}
.kb-cta p{margin:0 0 .6rem;line-height:1.6}
.kb-cta__eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--km-yellow,#e3be54)!important}
.kb-cta__title{font-size:1.55rem;font-weight:650;letter-spacing:-.03em;line-height:1.2;color:#fff!important}
.kb-cta__actions{display:grid;gap:.6rem}
.kb-cta .btn-primary.kc-btn{--bs-btn-bg:var(--km-yellow,#e3be54);--bs-btn-border-color:var(--km-yellow,#e3be54);--bs-btn-color:#173b30;--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff;--bs-btn-hover-color:#173b30;color:#173b30!important}
.kb-cta .kc-btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff!important}
.kb-cta .kc-btn--ghost:hover{background:#fff;color:var(--km-green,#254f41)!important}
.kb-cta__link{color:#fff!important;font-weight:700;font-size:.9rem;text-align:center;text-decoration:none!important}
.kb-back{max-width:780px;margin:0 auto;font-weight:700}
.kb-back a{text-decoration:none!important}

/* ---------- listado del blog ---------- */
.kb-list{padding:1rem 0 3rem}
.kb-list__head{max-width:760px;margin:0 0 2.2rem}
.kb-list__head h1{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:650;line-height:1.06;letter-spacing:-.04em;color:var(--km-green-dark,#173b30);margin:0 0 1rem}
.kb-list__intro,.kb-list__intro p{font-size:1.08rem;line-height:1.6;color:var(--km-muted,#66736a);margin:0}
.kb-list__empty{font-size:1.05rem;color:var(--km-muted,#66736a)}
.kb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.kb-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--km-line,#dedfd5);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.kb-card:hover{border-color:var(--km-green,#254f41);box-shadow:0 10px 28px rgba(23,59,48,.08)}
.kb-card__media{display:block;aspect-ratio:16/9;background:var(--km-sand,#e9e3d6);overflow:hidden}
.kb-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.kb-card:hover .kb-card__media img{transform:scale(1.03)}
.kb-card__ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.02em;font-size:1.3rem;color:var(--km-green,#254f41);background:linear-gradient(135deg,var(--km-cream,#f7f5ef),var(--km-sand,#e9e3d6))}
.kb-card__body{display:flex;flex-direction:column;flex:1;padding:1.2rem 1.3rem 1.35rem}
.kb-card__date{margin:0 0 .45rem;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--km-muted,#66736a)}
.kb-card__title{font-size:1.18rem;font-weight:700;line-height:1.28;letter-spacing:-.02em;margin:0 0 .6rem}
.kb-card__title a{color:var(--km-green-dark,#173b30);text-decoration:none}
.kb-card__title a:hover{color:var(--km-green,#254f41)}
.kb-card__text{font-size:.92rem;line-height:1.55;color:var(--km-muted,#66736a);margin:0 0 1rem}
.kb-card__more{margin-top:auto;font-weight:750;font-size:.9rem;color:var(--km-green,#254f41);text-decoration:none}
.kb-card--first{grid-column:span 2;flex-direction:row}
.kb-card--first .kb-card__media{flex:0 0 58%;aspect-ratio:auto;min-height:320px}
.kb-card--first .kb-card__body{padding:1.8rem 1.8rem 2rem;justify-content:center}
.kb-card--first .kb-card__title{font-size:1.6rem}
.kb-subcats{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0 0}
.kb-subcats a{padding:.45rem .9rem;border:1px solid var(--km-line,#dedfd5);border-radius:999px;text-decoration:none;font-weight:650}
.kb-cta--list{margin-top:3rem}

/* ---------- páginas de zona de cocinas ---------- */
.kz{padding:1rem 0 3rem}
.kz-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center;margin-bottom:3rem}
.kz-head h1{font-size:clamp(2rem,4vw,3.3rem);font-weight:650;line-height:1.07;letter-spacing:-.04em;color:var(--km-green-dark,#173b30);margin:0 0 1rem}
.kz-lead{font-size:1.08rem;line-height:1.62;color:var(--km-muted,#66736a);margin:0 0 1.5rem}
.kz-head__photo{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--km-sand,#e9e3d6)}
.kz-head__photo img{width:100%;height:100%;object-fit:cover;display:block}
.kz-body{max-width:820px;margin:0 auto}
.kz-body>h2:first-child{margin-top:0}
.kz-cta{margin:3.5rem 0}

/* ---------- bloque «Dónde montamos» de la categoría 14 ---------- */
.kc-zona__text{max-width:52rem;margin-bottom:1.75rem}
.kc-zona__text p{font-size:1rem;line-height:1.7;color:var(--km-muted,#4f5c54);margin:0 0 .9rem}
.kc-zona__text strong{color:var(--km-green-dark,#173b30)}
.kc-zona__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.kc-zona__card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--km-line,#dedfd5);border-top:4px solid var(--km-yellow,#e3be54);border-radius:12px;padding:1.4rem 1.3rem}
.kc-zona__card h3{font-size:1.1rem;font-weight:700;margin:0 0 .5rem}
.kc-zona__card p{font-size:.9rem;line-height:1.55;color:var(--km-muted,#66736a);margin:0 0 1rem}
.kc-zona__card a{margin-top:auto;font-weight:750;color:var(--km-green,#254f41);text-decoration:none}
.kc-zona .kc-hint a{color:var(--km-green,#254f41)}

/* ---------- móvil ---------- */
@media (max-width:991px){
  .kb-post__grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .kb-toc{position:static;border:1px solid var(--km-line,#dedfd5);border-left:4px solid var(--km-yellow,#e3be54);border-radius:0 10px 10px 0;padding:1rem 1.1rem;background:var(--km-cream,#f7f5ef)}
  .kb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kb-card--first{grid-column:span 2}
  .kz-head{grid-template-columns:1fr;gap:1.5rem}
  .kz-head__photo{order:-1}
  .kb-cta{grid-template-columns:1fr;padding:1.8rem 1.4rem}
  .kc-zona__cards{grid-template-columns:1fr}
}
@media (max-width:575px){
  .kb-post{padding-top:.25rem}
  .kb-post__byline{flex-direction:column;gap:.15rem}
  .kb-post__byline span+span:before{content:none}
  .kb-post__cover{border-radius:10px;margin-bottom:1.6rem}
  .kb-post__body,.kz-body{font-size:1rem}
  .km-prods{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .km-prod__t{font-size:.86rem;padding:.6rem .7rem .1rem}
  .km-prod__d{font-size:.76rem;padding:0 .7rem .7rem}
  .kb-grid{grid-template-columns:1fr;gap:1.1rem}
  .kb-card--first{grid-column:auto;flex-direction:column}
  .kb-card--first .kb-card__media{flex:none;aspect-ratio:16/9;min-height:0}
  .kb-card--first .kb-card__body{padding:1.2rem 1.3rem 1.35rem}
  .kb-card--first .kb-card__title{font-size:1.25rem}
  .kz-head .kc-actions .kc-btn{width:100%}
}
