/* =========================================================
   COFFY'S — ARTICLE SOLO
   Template : templates/posts/single-post-coffys.php
   ========================================================= */
.coffys-post-single{
  --cp-bg:#080808;
  --cp-surface:#111111;
  --cp-surface-soft:#161616;
  --cp-text:#f4efe9;
  --cp-muted:#b0a8a1;
  --cp-line:rgba(255,255,255,.12);
  --cp-accent:var(--co-bronze,#b79c86);
  background:var(--cp-bg);
  color:var(--cp-text);
  font-family:var(--co-sans,Arial,sans-serif);
}
.coffys-post-single__container{width:min(1320px,calc(100% - 56px));margin:0 auto}
.coffys-post-single__hero{padding:clamp(115px,14vw,190px) 0 70px;border-bottom:1px solid var(--cp-line)}
.coffys-post-single__back{display:inline-block;margin-bottom:34px;color:#9d9690;font-size:9px;font-weight:700;letter-spacing:.13em;text-decoration:none;text-transform:uppercase}
.coffys-post-single__back:hover{color:#fff}
.coffys-post-single__header{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:clamp(34px,5vw,72px);align-items:start}
.coffys-post-single__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.coffys-post-single__chips a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid var(--cp-line);border-radius:999px;color:var(--cp-muted);text-decoration:none;font:700 9px/1 var(--co-sans,Arial,sans-serif);letter-spacing:.13em;text-transform:uppercase;transition:.2s ease}
.coffys-post-single__chips a:hover{border-color:var(--cp-accent);background:var(--cp-accent);color:#111}
.coffys-post-single__eyebrow{margin:0 0 16px;color:var(--cp-accent);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.coffys-post-single__title{margin:0;font-family:var(--co-serif,Georgia,serif);font-size:clamp(54px,8.4vw,128px);font-weight:400;line-height:.88;letter-spacing:-.05em}
.coffys-post-single__infos{display:flex;flex-wrap:wrap;gap:10px 16px;margin:22px 0 0;color:#938d88;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.coffys-post-single__infos span{display:inline-flex;align-items:center;gap:10px}.coffys-post-single__infos span:not(:last-child)::after{content:"";width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.22)}
.coffys-post-single__excerpt{max-width:680px;margin:24px 0 0;color:var(--cp-muted);font-size:15px;line-height:1.85}
.coffys-post-single__media{width:100%}
.coffys-post-single__image-wrap,.coffys-post-single__video-wrap{margin:0;overflow:hidden;background:#0d0d0d;box-shadow:0 26px 70px rgba(0,0,0,.25)}
.coffys-post-single__image-wrap{aspect-ratio:4/4.8}
.coffys-post-single__image-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.coffys-post-single__video{display:block;width:100%;height:auto;background:#000;aspect-ratio:16/10}
.coffys-post-single__body-section{padding:44px 0 100px}
.coffys-post-single__body-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(34px,5vw,76px);align-items:start}
.coffys-post-single__side{position:relative}
.coffys-post-single__side-box{position:sticky;top:120px;padding:24px;border:1px solid var(--cp-line);background:var(--cp-surface)}
.coffys-post-single__side-box p{margin:0 0 14px;color:var(--cp-accent);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.coffys-post-single__side-box ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.coffys-post-single__side-box li{color:#c6bfb9;font-size:13px;line-height:1.6}
.coffys-post-single__side-box strong{color:#fff;font-weight:600}
.coffys-post-single__content{max-width:860px}
.coffys-post-single__content > *:first-child{margin-top:0}
.coffys-post-single__content p,.coffys-post-single__content li{color:#c2bbb5;font-size:15px;line-height:1.95}
.coffys-post-single__content h2,.coffys-post-single__content h3,.coffys-post-single__content h4{color:#fff;font-family:var(--co-serif,Georgia,serif);font-weight:400;letter-spacing:-.03em}
.coffys-post-single__content h2{margin:1.5em 0 .45em;font-size:clamp(36px,4vw,64px);line-height:1}
.coffys-post-single__content h3{margin:1.55em 0 .5em;font-size:clamp(28px,3vw,42px);line-height:1.1}
.coffys-post-single__content h4{margin:1.4em 0 .45em;font-size:24px}
.coffys-post-single__content a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.coffys-post-single__content blockquote{margin:34px 0;padding:24px 28px;border-left:2px solid var(--cp-accent);background:var(--cp-surface-soft);color:#e8dfd5;font-family:var(--co-serif,Georgia,serif);font-size:25px;line-height:1.4}
.coffys-post-single__content figure{margin:34px 0}
.coffys-post-single__content img{display:block;max-width:100%;height:auto}
.coffys-post-single__content video{display:block;width:100%;height:auto;background:#000}
.coffys-post-single__content iframe{display:block;width:100%;min-height:420px;border:0}
.coffys-post-single__content ul,.coffys-post-single__content ol{padding-left:22px}
.coffys-post-single__footer-nav{padding:0 0 100px}
.coffys-post-single__all{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line);color:#fff;text-decoration:none}
.coffys-post-single__all span{font-family:var(--co-serif,Georgia,serif);font-size:clamp(25px,3vw,42px)}
.coffys-post-single__all em{font-style:normal;font-size:18px;transition:transform .25s ease}
.coffys-post-single__all:hover em{transform:translate(4px,-4px)}

@media (max-width:980px){
  .coffys-post-single__header,.coffys-post-single__body-grid{grid-template-columns:1fr}
  .coffys-post-single__media{max-width:760px}
  .coffys-post-single__side-box{position:static}
}
@media (max-width:700px){
  .coffys-post-single__container{width:min(100% - 28px,1320px)}
  .coffys-post-single__hero{padding:108px 0 46px}
  .coffys-post-single__title{font-size:clamp(44px,15vw,76px)}
  .coffys-post-single__infos{gap:8px 12px}
  .coffys-post-single__excerpt,.coffys-post-single__content p,.coffys-post-single__content li{font-size:14px}
  .coffys-post-single__content blockquote{padding:20px 22px;font-size:21px}
  .coffys-post-single__content iframe{min-height:260px}
}
