/*
Theme Name: All-Whey (Journal)
Template: generatepress
Author: All-Whey
Version: 1.0
*/
:root{
  --xigo-paper:#f5f4f1; --xigo-surface:#ffffff; --xigo-surface2:#ecebe7; --xigo-line:#e0ded7; --xigo-line2:#d3d0c6;
  --xigo-ink:#141414; --xigo-muted:#56554f; --xigo-faint:#8d8c84;
  --xigo-accent:#e23829; --xigo-accent-deep:#bb2a1d; --xigo-accent-soft:rgba(226,56,41,.08);
  --xigo-gold:#b1842f;
  --xigo-shadow:0 22px 54px -30px rgba(20,20,20,.45);
  --xigo-display:"Bricolage Grotesque",system-ui,sans-serif;
  --xigo-body:"Newsreader",Georgia,serif;
  --xigo-label:"Bricolage Grotesque",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{background:var(--xigo-paper);color:var(--xigo-ink);font-family:var(--xigo-body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
.site-content{display:block!important;padding:0!important}
.inside-article,.entry-content,.site-main{margin:0}
a{color:var(--xigo-accent);text-decoration:none}a:hover{color:var(--xigo-accent-deep)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--xigo-display);font-weight:700;line-height:1.08;color:var(--xigo-ink);letter-spacing:-.015em}
.xigo-w{max-width:1240px;margin:0 auto;padding:0 28px}
.xigo-narrow{max-width:760px;margin:0 auto}
.xigo-overline2{font-family:var(--xigo-label);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--xigo-accent)}
.xigo-overline{display:inline-block;font-family:var(--xigo-label);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--xigo-accent)}

/* ---------- Header / masthead ---------- */
.xigo-topline{background:var(--xigo-ink);color:#efeae0}
.xigo-topline-in{max-width:1240px;margin:0 auto;padding:0 28px;height:36px;display:flex;align-items:center;justify-content:space-between;font-family:var(--xigo-label);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.xigo-topline-in span{color:#b8b1a3}
.xigo-topline-in .xigo-tl-accent{color:#fff}
.xigo-header{position:sticky;top:0;z-index:100;background:rgba(245,244,241,.96);backdrop-filter:blur(10px);border-bottom:2px solid var(--xigo-ink)}
.xigo-masthead{display:flex;align-items:center;justify-content:space-between;gap:26px;height:84px}
.xigo-wordmark{display:flex;align-items:center;gap:13px;flex-shrink:0}
.xigo-mark2{width:46px;height:46px;border:2px solid var(--xigo-ink);display:flex;align-items:center;justify-content:center;color:var(--xigo-ink);position:relative}
.xigo-mark2 svg{width:26px;height:26px}
.xigo-bname{font-family:var(--xigo-display);font-size:27px;font-weight:800;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;color:var(--xigo-ink)}
.xigo-bname em{color:var(--xigo-accent);font-style:normal}
.xigo-bsub{display:block;font-family:var(--xigo-label);font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--xigo-faint);margin-top:5px}
.xigo-bar{display:flex;align-items:center;gap:2px}
.xigo-menubar{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.xigo-menubar>li{position:relative;list-style:none}
.xigo-menubar>li>a{display:flex;align-items:center;gap:6px;padding:9px 11px;font-family:var(--xigo-label);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--xigo-ink);white-space:nowrap;transition:.16s}
.xigo-menubar>li>a:hover{color:var(--xigo-accent)}
.xigo-menubar>li.xigo-has-children>a::after{content:"";width:5px;height:5px;border-right:2px solid var(--xigo-faint);border-bottom:2px solid var(--xigo-faint);transform:rotate(45deg);margin-top:-3px;transition:.2s}
.xigo-menubar>li.xigo-has-children:hover>a::after{transform:rotate(225deg);margin-top:2px;border-color:var(--xigo-accent)}
.xigo-child2{position:absolute;top:calc(100% + 10px);left:0;min-width:248px;background:var(--xigo-surface);border:1px solid var(--xigo-line);border-top:3px solid var(--xigo-accent);box-shadow:var(--xigo-shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s;list-style:none}
.xigo-menubar>li:hover .xigo-child2{opacity:1;visibility:visible;transform:translateY(0)}
.xigo-menubar>li:nth-last-child(-n+2) .xigo-child2{left:auto;right:0}
.xigo-child2::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.xigo-child2 li{list-style:none}
.xigo-child2 a{display:block;padding:10px 13px;font-family:var(--xigo-body);font-size:16px;color:var(--xigo-ink);font-weight:500;transition:.14s}
.xigo-child2 a:hover{background:var(--xigo-accent-soft);color:var(--xigo-accent);padding-left:18px}
.xigo-htools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.xigo-cta{background:var(--xigo-ink)!important;color:#fff!important;padding:11px 19px!important;font-family:var(--xigo-label);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:.16s}
.xigo-cta:hover{background:var(--xigo-accent)!important;color:#fff!important}
.xigo-opener{display:none;width:46px;height:46px;border:2px solid var(--xigo-ink);background:transparent;cursor:pointer;align-items:center;justify-content:center}
.xigo-opener span,.xigo-opener span::before,.xigo-opener span::after{content:"";display:block;width:20px;height:2px;background:var(--xigo-ink);position:relative;transition:.2s}
.xigo-opener span::before{position:absolute;top:-6px}.xigo-opener span::after{position:absolute;top:6px}
.xigo-mob{display:none;border-bottom:2px solid var(--xigo-ink);background:var(--xigo-paper)}
.xigo-mob.xigo-open{display:block}
.xigo-mob-in{padding:18px 28px 26px}
.xigo-mob h4{font-family:var(--xigo-label);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--xigo-accent);margin:18px 0 6px}
.xigo-mob a{display:block;padding:9px 0;font-family:var(--xigo-display);font-size:19px;font-weight:600;color:var(--xigo-ink);border-bottom:1px solid var(--xigo-line)}
.xigo-mob a.xigo-mob-top{font-size:21px}

/* ---------- Cover / hero ---------- */
.xigo-cover{border-bottom:2px solid var(--xigo-ink);padding:0}
.xigo-cover-set{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px}
.xigo-cover-text{padding:64px 56px 60px;display:flex;flex-direction:column;justify-content:center;border-right:2px solid var(--xigo-ink)}
.xigo-cover-text .xigo-overline{margin-bottom:20px}
.xigo-cover h1{font-size:clamp(40px,5vw,68px);font-weight:800;margin:0 0 22px;letter-spacing:-.03em}
.xigo-cover h1 em{font-style:normal;color:var(--xigo-accent)}
.xigo-dek{font-size:20px;line-height:1.55;color:var(--xigo-muted);max-width:34em;margin:0 0 30px}
.xigo-cover-controls2{display:flex;gap:14px;flex-wrap:wrap}
.xigo-link2{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;font-family:var(--xigo-label);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:.16s}
.xigo-button-primary{background:var(--xigo-accent);color:#fff}
.xigo-button-primary:hover{background:var(--xigo-accent-deep);color:#fff}
.xigo-action-ghost{background:transparent;color:var(--xigo-ink);border:2px solid var(--xigo-ink)}
.xigo-action-ghost:hover{background:var(--xigo-ink);color:#fff}
.xigo-cover-media{position:relative;overflow:hidden;background:var(--xigo-surface2)}
.xigo-cover-media img{width:100%;height:100%;object-fit:cover}
.xigo-cover-media figcaption{position:absolute;left:0;bottom:0;background:var(--xigo-ink);color:#efeae0;font-family:var(--xigo-label);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px}

/* ---------- Rubriques (sommaire) ---------- */
.xigo-sec{padding:72px 0}
.xigo-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;border-bottom:2px solid var(--xigo-ink);padding-bottom:16px}
.xigo-sec-head h2{font-size:clamp(26px,3vw,38px);margin:0}
.xigo-sec-head .xigo-overline2{display:block;margin-bottom:10px}
.xigo-sec-head a{font-family:var(--xigo-label);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--xigo-ink);white-space:nowrap}
.xigo-sec-head a:hover{color:var(--xigo-accent)}
.xigo-rub-collection{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--xigo-line)}
.xigo-rub{display:flex;gap:18px;padding:26px 28px;border:1px solid var(--xigo-line);margin:-1px 0 0 -1px;background:var(--xigo-surface);transition:.16s;align-items:flex-start}
.xigo-rub:hover{background:var(--xigo-accent-soft)}
.xigo-rub-num{font-family:var(--xigo-display);font-size:15px;font-weight:800;color:var(--xigo-accent);min-width:34px;padding-top:3px}
.xigo-rub-title3{font-family:var(--xigo-display);font-size:21px;font-weight:700;color:var(--xigo-ink);margin:0 0 5px;letter-spacing:-.01em}
.xigo-rub:hover .xigo-rub-title3{color:var(--xigo-accent-deep)}
.xigo-rub-lead2{font-size:15.5px;color:var(--xigo-muted);line-height:1.5;margin:0}

/* ---------- Manifesto band ---------- */
.xigo-manifesto{background:var(--xigo-ink);color:#f1ece2}
.xigo-mani-in{padding:66px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.xigo-mani-in .xigo-overline2{color:var(--xigo-accent)}
.xigo-mani-in h2{color:#fff;font-size:clamp(28px,3.2vw,40px);margin:14px 0 0}
.xigo-mani-items2{display:flex;flex-direction:column;gap:0}
.xigo-mani-pt{padding:20px 0;border-top:1px solid rgba(255,255,255,.16)}
.xigo-mani-pt:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.xigo-mani-pt b{display:block;font-family:var(--xigo-display);font-size:19px;color:#fff;margin-bottom:4px}
.xigo-mani-pt span{font-size:16px;color:#bdb6a8;line-height:1.5}

/* ---------- Articles (feature + cards) ---------- */
.xigo-latest{padding:72px 0}
.xigo-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:2px solid var(--xigo-ink);margin-bottom:36px}
.xigo-feat-media{overflow:hidden;background:var(--xigo-surface2);min-height:340px}
.xigo-feat-media img{width:100%;height:100%;object-fit:cover}
.xigo-feat-body{padding:40px 42px;display:flex;flex-direction:column;justify-content:center;border-left:2px solid var(--xigo-ink)}
.xigo-feat-body h3{font-size:clamp(24px,2.6vw,34px);margin:14px 0 12px;line-height:1.1}
.xigo-feat-body h3 a{color:var(--xigo-ink)}.xigo-feat-body h3 a:hover{color:var(--xigo-accent)}
.xigo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.xigo-item{background:var(--xigo-surface);border:1px solid var(--xigo-line);display:flex;flex-direction:column;transition:.18s}
.xigo-item:hover{border-color:var(--xigo-ink);transform:translateY(-3px);box-shadow:var(--xigo-shadow)}
.xigo-item-media{aspect-ratio:16/10;overflow:hidden;background:var(--xigo-surface2)}
.xigo-item-media img{width:100%;height:100%;object-fit:cover;transition:.3s}
.xigo-item:hover .xigo-item-media img{transform:scale(1.04)}
.xigo-piece-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.xigo-tag{align-self:flex-start;font-family:var(--xigo-label);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--xigo-accent);margin-bottom:9px}
.xigo-cell-head3{font-family:var(--xigo-display);font-size:20px;font-weight:700;line-height:1.15;margin:0 0 9px}
.xigo-cell-head3 a{color:var(--xigo-ink)}.xigo-cell-head3 a:hover{color:var(--xigo-accent)}
.xigo-tile-ex{font-size:15.5px;color:var(--xigo-muted);line-height:1.5;margin:0 0 14px}
.xigo-piece-sub2{margin-top:auto;font-family:var(--xigo-label);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--xigo-faint)}
.xigo-none2{text-align:center;color:var(--xigo-faint);font-style:italic;padding:30px}

/* ---------- Archive head ---------- */
.xigo-archead{border-bottom:2px solid var(--xigo-ink);padding:54px 0 30px}
.xigo-archead h1{font-size:clamp(34px,4.4vw,56px);margin:12px 0 0}
.xigo-archead p{color:var(--xigo-muted);font-size:18px;margin:14px 0 0;max-width:40em}

/* ---------- Single ---------- */
.xigo-article2{padding:54px 0 70px}
.xigo-art-head{margin-bottom:30px}
.xigo-art-head h1{font-size:clamp(32px,4.2vw,52px);margin:14px 0 16px}
.xigo-art-sub2{font-family:var(--xigo-label);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--xigo-faint);display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.xigo-art-sub2 a{color:var(--xigo-accent)}
.xigo-art-cover{margin:0 0 36px;border:2px solid var(--xigo-ink)}
.xigo-art-cover img{width:100%}
.xigo-prose{font-size:19px;line-height:1.75;color:#262420}
.xigo-prose>*{max-width:720px;margin-left:auto;margin-right:auto}
.xigo-prose h2{font-size:30px;margin:42px auto 16px;padding-top:8px}
.xigo-prose h3{font-size:23px;margin:32px auto 12px}
.xigo-prose p{margin:0 auto 22px}
.xigo-prose img,.xigo-prose figure,.xigo-prose .wp-block-image{max-width:100%;margin:30px auto;border:1px solid var(--xigo-line)}
.xigo-prose a{text-decoration:underline;text-underline-offset:3px}
.xigo-prose blockquote{border-left:4px solid var(--xigo-accent);background:var(--xigo-surface);margin:30px auto;padding:18px 26px;font-size:22px;font-style:italic;color:var(--xigo-ink)}
.xigo-prose ul,.xigo-prose ol{margin:0 auto 22px;padding-left:1.3em}
.xigo-prose li{margin-bottom:8px}
.xigo-prose code{background:var(--xigo-surface2);padding:2px 6px;font-size:.9em}

/* ---------- Page ---------- */
.xigo-page{padding:54px 0 70px}
.xigo-page h1{font-size:clamp(32px,4vw,48px);margin:0 0 26px}
.xigo-lead{font-size:21px;line-height:1.55;color:var(--xigo-muted);border-left:3px solid var(--xigo-accent);padding:6px 0 6px 22px;margin:0 0 28px}
.xigo-page .xigo-prose>*{max-width:none}

/* ---------- Comments ---------- */
.xigo-comments{max-width:760px;margin:54px auto 0;padding-top:36px;border-top:2px solid var(--xigo-ink)}
.xigo-comments h2,.comment-reply-title{font-family:var(--xigo-display);font-size:24px;margin:0 0 22px}
.xigo-comments .comment-list{list-style:none;margin:0;padding:0}
.xigo-comments .comment-body{padding:18px 0;border-bottom:1px solid var(--xigo-line)}
.xigo-comments .comment-author{font-family:var(--xigo-display);font-weight:700}
.xigo-comments input[type=text],.xigo-comments input[type=email],.xigo-comments input[type=url],.xigo-comments textarea{width:100%;border:1px solid var(--xigo-line2);background:var(--xigo-surface);padding:12px 14px;font-family:var(--xigo-body);font-size:16px;margin-bottom:12px}
.xigo-comments .submit,.xigo-comments input[type=submit]{background:var(--xigo-ink);color:#fff;border:0;padding:13px 26px;font-family:var(--xigo-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.xigo-comments .submit:hover{background:var(--xigo-accent)}

/* ---------- Pagination ---------- */
.xigo-pag{display:flex;gap:8px;justify-content:center;margin-top:48px;flex-wrap:wrap}
.xigo-pag .page-numbers{display:inline-flex;min-width:44px;height:44px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--xigo-line2);font-family:var(--xigo-label);font-weight:700;font-size:14px;color:var(--xigo-ink)}
.xigo-pag .page-numbers.current{background:var(--xigo-ink);color:#fff;border-color:var(--xigo-ink)}
.xigo-pag .page-numbers:hover{border-color:var(--xigo-accent);color:var(--xigo-accent)}

/* ---------- WPForms ---------- */
.wpforms-field-label{font-family:var(--xigo-label)!important;font-weight:600!important;font-size:14px!important;letter-spacing:.02em}
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form textarea,.wpforms-form select{border:1px solid var(--xigo-line2)!important;background:var(--xigo-surface)!important;font-family:var(--xigo-body)!important;font-size:16px!important;border-radius:0!important;padding:12px 14px!important}
.wpforms-form button[type=submit]{background:var(--xigo-ink)!important;color:#fff!important;border:0!important;border-radius:0!important;font-family:var(--xigo-label)!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:13px 28px!important}
.wpforms-form button[type=submit]:hover{background:var(--xigo-accent)!important}

/* ---------- Easy TOC ---------- */
#ez-toc-container,.ez-toc-container{background:var(--xigo-surface)!important;border:1px solid var(--xigo-line)!important;border-left:3px solid var(--xigo-accent)!important;box-shadow:none!important;border-radius:0!important;padding:18px 22px!important;max-width:720px;margin:0 auto 26px!important}
#ez-toc-container .ez-toc-title,.ez-toc-title{font-family:var(--xigo-label)!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--xigo-ink)!important;font-size:13px!important}
#ez-toc-container a,.ez-toc-list a{color:var(--xigo-muted)!important;font-family:var(--xigo-body)!important}
#ez-toc-container a:hover{color:var(--xigo-accent)!important}

/* ---------- Footer ---------- */
.xigo-foot{background:var(--xigo-paper);border-top:2px solid var(--xigo-ink);padding:60px 0 30px;margin-top:10px}
.xigo-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.xigo-fbrand .xigo-bname{font-size:24px}
.xigo-fabout{font-size:15.5px;color:var(--xigo-muted);line-height:1.55;margin:14px 0 0;max-width:30em}
.xigo-fcol h4{font-family:var(--xigo-label);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--xigo-accent);margin:0 0 14px}
.xigo-fcol ul{list-style:none;margin:0;padding:0}
.xigo-fcol li{margin-bottom:9px}
.xigo-fcol a{color:var(--xigo-ink);font-size:16px}
.xigo-fcol a:hover{color:var(--xigo-accent)}
.xigo-fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:42px;padding-top:22px;border-top:1px solid var(--xigo-line);font-family:var(--xigo-label);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--xigo-faint)}
.xigo-fbot a{color:var(--xigo-faint)}.xigo-fbot a:hover{color:var(--xigo-accent)}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .xigo-menubar,.xigo-cta-d{display:none}
  .xigo-opener{display:flex}
  .xigo-cover-set{grid-template-columns:1fr}
  .xigo-cover-text{border-right:0;border-bottom:2px solid var(--xigo-ink);padding:48px 28px}
  .xigo-cover-media{min-height:320px}
  .xigo-feature{grid-template-columns:1fr}
  .xigo-feat-body{border-left:0;border-top:2px solid var(--xigo-ink)}
  .xigo-mani-in{grid-template-columns:1fr;gap:28px;padding:48px 0}
  .xigo-cards{grid-template-columns:repeat(2,1fr)}
  .xigo-fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  body{font-size:17px}
  .xigo-rub-collection{grid-template-columns:1fr}
  .xigo-cards{grid-template-columns:1fr}
  .xigo-fgrid{grid-template-columns:1fr}
  .xigo-sec,.xigo-latest{padding:48px 0}
  .xigo-cover-text{padding:40px 24px}
  .xigo-feat-body{padding:30px 24px}
  .xigo-topline-in span:first-child{display:none}
}
@media(max-width:430px){
  .xigo-bname{font-size:21px}.xigo-mark2{width:40px;height:40px}.xigo-mark2 svg{width:22px;height:22px}.xigo-wordmark{gap:10px}
}
