
/* Biblioteca de conteudos editorial — isolada dos estilos existentes. */
.kp-editorial{padding:clamp(4.25rem,8vw,7rem) 0;background:linear-gradient(165deg,#fff 0%,#faf5f2 58%,#f7f3f1 100%);position:relative;overflow:hidden;scroll-margin-top:6rem}
.kp-editorial:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(155,106,104,.09);border-radius:50%;right:-160px;top:-175px;pointer-events:none}
.kp-editorial-wrap{position:relative;z-index:1}
.kp-editorial-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.1rem}
.kp-editorial-copy{max-width:660px}
.kp-editorial-kicker{font:700 .7rem/1.4 var(--font-sans);letter-spacing:.18em;color:#9b6a68;text-transform:uppercase;margin-bottom:.8rem}
.kp-editorial-title{font:400 clamp(2.3rem,4.8vw,3.6rem)/1.07 var(--font-serif);letter-spacing:-.015em;color:#2d1f20;max-width:18ch}
.kp-editorial-description{font:400 .97rem/1.8 var(--font-sans);color:#6b4f50;margin-top:1rem;max-width:57ch}
.kp-editorial-summary{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:135px;height:135px;border-radius:50%;border:1px solid rgba(155,106,104,.23);background:rgba(255,255,255,.72);color:#9b6a68}
.kp-summary-strong{font:400 2.9rem/.95 var(--font-serif)}
.kp-summary-text{margin-top:.45rem;font:500 .7rem/1.3 var(--font-sans);text-align:center;color:#6b4f50;padding:0 10px}
.kp-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.kp-story-card{width:100%;text-align:left;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(155,106,104,.13);border-radius:22px;overflow:hidden;box-shadow:0 3px 18px rgba(86,60,67,.035);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;color:inherit;min-width:0}
.kp-story-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px rgba(86,60,67,.11);border-color:rgba(155,106,104,.32)}
.kp-story-card:focus-visible{outline:3px solid #9b6a68;outline-offset:4px}
.kp-story-media{position:relative;display:block;aspect-ratio:1.48;overflow:hidden;background:#f0e9e4}
.kp-story-media img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;padding:.35rem;transition:transform .5s ease}
.kp-story-card:hover .kp-story-media img{transform:scale(1.035)}
.kp-story-media:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.2));pointer-events:none}
.kp-story-count{position:absolute;z-index:1;bottom:.8rem;right:.8rem;display:inline-block;background:rgba(255,255,255,.96);border-radius:100px;padding:.4rem .75rem;color:#563c43;font:600 .72rem/1 var(--font-sans);box-shadow:0 1px 8px rgba(0,0,0,.07)}
.kp-story-info{padding:1.3rem 1.35rem 1.4rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.kp-story-category{font:700 .66rem/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#9b6a68;margin-bottom:.55rem}
.kp-story-title{display:block;font:500 clamp(1.4rem,2vw,1.67rem)/1.14 var(--font-serif);color:#2d1f20;margin-bottom:.6rem}
.kp-story-description{font:400 .83rem/1.7 var(--font-sans);color:#6b4f50;flex:1}
.kp-story-action{font:700 .77rem/1 var(--font-sans);color:#9b6a68;display:block;margin-top:1.2rem}
.kp-editorial-note{margin-top:1.5rem;color:#866b6a;font:.77rem/1.6 var(--font-sans);max-width:70ch}

/* Modal centralizado, uma publicação por vez */
.kp-lightbox{
  position:fixed;inset:0;margin:auto;
  width:min(94vw,880px);max-width:880px;
  height:min(90dvh,900px);max-height:90dvh;
  padding:0;border:0;border-radius:22px;
  background:#fbf7f5;color:#2d1f20;
  box-shadow:0 26px 95px rgba(43,24,31,.35);
  overflow:hidden;
}
.kp-lightbox::backdrop{background:rgba(34,21,26,.78);backdrop-filter:blur(7px)}
.kp-lightbox-panel{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.kp-lightbox-toolbar{padding:.95rem 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #eadfda;flex:0 0 auto}
.kp-lightbox-eyebrow{font:700 .64rem/1.5 var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:#9b6a68}
.kp-lightbox-heading{font:500 1.6rem/1.15 var(--font-serif);color:#2d1f20}
.kp-lightbox-close{font:600 1.1rem/1 var(--font-sans);border:1px solid #e6d5d0;background:#fff6;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#563c43;flex:0 0 auto;cursor:pointer}
.kp-lightbox-stage{position:relative;min-height:0;flex:1 1 auto;background:linear-gradient(150deg,#f4edeb,#eae0db);display:grid;place-items:center;overflow:hidden;padding:1rem 3.8rem}
.kp-lightbox-viewport{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.kp-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center;border-radius:10px;box-shadow:0 8px 30px rgba(38,22,24,.14);user-select:none}
.kp-slide-enter{animation:kp-image-appear .32s ease-out both}
@keyframes kp-image-appear{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.kp-lightbox-side{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #e7d7d2;background:#ffffffef;color:#795a5c;display:grid;place-items:center;border-radius:50%;font:400 2rem/1 var(--font-serif);box-shadow:0 4px 12px #38202022;cursor:pointer;z-index:1}
.kp-lightbox-side--left{left:.65rem}.kp-lightbox-side--right{right:.65rem}
.kp-lightbox-footer{flex:0 0 auto;background:#fcf8f6;border-top:1px solid #e8dad5;padding:.7rem 1.25rem .85rem}
.kp-lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.kp-lightbox-arrow{font:600 .83rem/1.2 var(--font-sans);border:1px solid #e6d5d0;border-radius:100px;background:#fff7;padding:.6rem .9rem;color:#563c43;cursor:pointer;min-width:96px}
.kp-lightbox-arrow:disabled,.kp-lightbox-side:disabled{opacity:.25;cursor:default}
.kp-lightbox-close:hover,.kp-lightbox-arrow:hover:not(:disabled),.kp-lightbox-side:hover:not(:disabled){background:#e9dbd5}
.kp-lightbox-progress{font:700 .82rem/1.2 var(--font-sans);color:#866b6a;white-space:nowrap;font-variant-numeric:tabular-nums}
.kp-lightbox-extras{display:flex;justify-content:space-between;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.7rem}
.kp-lightbox-dots{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem}
.kp-lightbox-dot{border:0;width:9px;height:9px;padding:0;border-radius:50%;background:#d9bcb7;cursor:pointer;transition:background .2s ease,width .2s ease}
.kp-lightbox-dot.is-active{background:#9b6a68;width:26px;border-radius:10px}
.kp-lightbox-auto,.kp-lightbox-enlarge{font:600 .72rem/1.2 var(--font-sans);background:transparent;color:#8a6869;white-space:nowrap;padding:.35rem 0;cursor:pointer;text-decoration:none}
.kp-lightbox :is(button):focus-visible{outline:2px solid #9b6a68;outline-offset:3px}
@media(max-width:960px){.kp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:610px){
 .kp-editorial{padding:4.2rem 0}.kp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
 .kp-editorial-header{align-items:flex-start;gap:.6rem}.kp-editorial-summary{width:84px;height:84px}
 .kp-summary-strong{font-size:2rem}.kp-summary-text{font-size:.58rem;margin-top:.2rem}
 .kp-editorial-description{font-size:.9rem}.kp-story-card{border-radius:14px}
 .kp-story-media{aspect-ratio:1/1}.kp-story-info{padding:.85rem .8rem 1rem}
 .kp-story-title{font-size:1.18rem}.kp-story-description{font-size:.73rem;line-height:1.55}
 .kp-story-category{font-size:.57rem}.kp-story-count{font-size:.62rem;padding:.28rem .45rem;right:.4rem;bottom:.4rem}
 .kp-story-action{font-size:.65rem}
 .kp-lightbox{width:96vw;height:min(88dvh,820px);max-height:88dvh;border-radius:16px}
 .kp-lightbox-toolbar{padding:.7rem .9rem}.kp-lightbox-heading{font-size:1.34rem}
 .kp-lightbox-stage{padding:.55rem 2.1rem}
 .kp-lightbox-side{width:29px;height:39px;border-radius:10px;font-size:1.8rem}
 .kp-lightbox-side--left{left:.15rem}.kp-lightbox-side--right{right:.15rem}
 .kp-lightbox-footer{padding:.55rem .65rem .65rem}
 .kp-lightbox-arrow{min-width:80px;padding:.5rem .5rem;font-size:.74rem}
 .kp-lightbox-auto,.kp-lightbox-enlarge{font-size:.65rem}.kp-lightbox-dot{width:8px;height:8px}
}
@media(max-width:370px){.kp-editorial-grid{grid-template-columns:1fr}.kp-story-media{aspect-ratio:1.45}}
@media(prefers-reduced-motion:reduce){.kp-story-card,.kp-story-media img,.kp-slide-enter{transition:none!important;animation:none!important}}
