/*!
Theme Name: Reiwa Creative v2.0
Theme URI: https://reiwacreative.com/
Author: Reiwa Creative
Author URI: https://reiwacreative.com/
Description: This theme is made for agency.
Version: 1.0.1
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: reiwa-creative
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

themeReiwaCreative is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/* ==========================================================
   REIWA CREATIVE — Charte graphique 2026 (styles globaux)
   Styles propres à chaque page : css/<page>.css
   ========================================================== */
  :root{
    /* marque */
    --noir:#000000;
    --encre:#1D1D1B;
    --encre-douce:#5E5853;
    --ivoire:#F6F1E9;
    --sable:#EDE5D8;
    --ligne:#D9D0C2;
    --ligne-sombre:#2A2826;
    --blanc:#FFFFFF;
    --corail:#F76F46;
    --corail-texte:#B4441E;
    --moutarde:#EDBE31;
    --prune:#682F4A;
    /* pôles */
    --pole-strategie:#682F4A;
    --pole-digital:#F76F46;
    --pole-rp:#EDBE31;
    --pole-audiovisuel:#2B3A67;
    --pole-evenementiel:#2F6B4F;
    /* compat. anciens noms */
    --black:var(--noir); --white:var(--ivoire); --orange:var(--corail); --cream:var(--sable); --ink:var(--encre-douce);
    --line-dark:var(--ligne-sombre); --line-light:var(--ligne);
    --font:'Jost','Futura','Century Gothic',system-ui,sans-serif;
    /* alias pour css/details-articles.css (ancien design) */
    --serif:var(--font); --sans:var(--font); --mono:var(--font);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font);
    color:var(--encre);
    background:var(--ivoire);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    font-size:16px; line-height:1.6;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}
  ::selection{background:var(--moutarde); color:var(--encre);}
  :focus-visible{outline:3px solid var(--moutarde); outline-offset:3px;}

  /* Photographie : noir et blanc, conformément à la charte */
  .hero-video, .proj-card img, .pf-card img, .ev-item img, .feat-card img, .mag-card img,.cs-image-full , 
  .cs-gallery img {filter:grayscale(1) contrast(1.06);}

  .cs-image-full:hover, .cs-gallery img:hover{
    filter:grayscale(0);
  }


  .wrap{max-width:1280px; margin:0 auto; padding:0 40px;}
  @media (max-width:768px){ .wrap{padding:0 10px;} }

  /* Surtitre de la charte : SemiBold, capitales, espacé */
  .label{
    font-family:var(--font); font-weight:600; font-size:12px; line-height:16px;
    letter-spacing:0.24em; text-transform:uppercase; color:var(--encre-douce);
  }
  .label.on-dark{color:#B5ADA3;}

  h1,h2,h3,h4{font-family:var(--font); font-weight:800; line-height:1.08; letter-spacing:-0.005em; text-wrap:balance;}

  /* Pastille de pôle (couleur + forme) */
  .pole{display:inline-flex; align-items:center; gap:8px;}
  .pole::before{content:""; width:12px; height:12px; flex:none; background:var(--pc,var(--corail));}
  .pole.p-strategie{--pc:var(--pole-strategie);} .pole.p-strategie::before{clip-path:polygon(100% 0,100% 100%,0 100%);}
  .pole.p-digital{--pc:var(--pole-digital);}
  .pole.p-rp{--pc:var(--pole-rp);} .pole.p-rp::before{border-radius:50%;}
  .pole.p-audiovisuel{--pc:var(--pole-audiovisuel);} .pole.p-audiovisuel::before{border-radius:12px 12px 0 0; height:6px; margin-top:6px;}
  .pole.p-evenementiel{--pc:var(--pole-evenementiel);} .pole.p-evenementiel::before{border-radius:0 12px 0 0;}
  .on-dark .pole.p-audiovisuel::before, .pole.on-dark.p-audiovisuel::before{background:#8A9BD6;}
  .on-dark .pole.p-evenementiel::before, .pole.on-dark.p-evenementiel::before{background:#6DB592;}
  .on-dark .pole.p-strategie::before, .pole.on-dark.p-strategie::before{background:#C0729A;}

  /* Frise de marque (une par page, en pied) */
  .frise{display:flex; height:28px; overflow:hidden;}
  .frise i{width:28px; height:28px; flex:none; display:block;}
  .frise i:nth-child(6n+1),.frise i:nth-child(6n+4){background:var(--moutarde); border-radius:50%;}
  .frise i:nth-child(6n+2),.frise i:nth-child(6n+5){background:var(--corail);}
  .frise i:nth-child(6n+3){background:var(--prune); clip-path:polygon(100% 0,100% 100%,0 100%);}
  .frise i:nth-child(6n){background:var(--prune); clip-path:polygon(0 0,100% 100%,0 100%);}
  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:1000;
    background:rgba(246,241,233,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--ligne);
    transition:background .3s ease, border-color .3s ease;
    color:var(--encre);
  }
  header.on-dark{background:rgba(0,0,0,0.78); border-bottom:1px solid var(--ligne-sombre); color:var(--blanc);}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; height:78px; gap:24px;}
  .logo{display:flex; align-items:center;}
  .logo-mark{height:40px; width:auto; display:block; color:inherit;}
  @media (max-width:400px){ .logo-mark{height:34px;} }
  nav.primary{display:flex; gap:28px;}
  nav.primary a{font-weight:500; font-size:14px; color:inherit; opacity:.78; position:relative; padding:4px 0;}
  nav.primary a:hover{opacity:1;}
  nav.primary a.active{opacity:1; font-weight:600;}
  nav.primary a.active::after{content:''; position:absolute; left:0; right:0; bottom:-4px; height:3px; background:var(--corail);}
  .nav-cta{
    font-weight:600; font-size:14px; padding:11px 18px; border:2px solid currentColor; white-space:nowrap;
    transition:background .25s ease, color .25s ease, border-color .25s ease;
  }
  .nav-cta:hover{background:var(--encre); border-color:var(--encre); color:var(--ivoire);}
  header.on-dark .nav-cta:hover{background:var(--corail); border-color:var(--corail); color:var(--encre);}
  .burger{display:none; width:26px; height:20px; position:relative;}
  .burger span{position:absolute; left:0; right:0; height:2px; background:currentColor; transition:transform .3s ease, opacity .3s ease;}
  .burger span:nth-child(1){top:0;} .burger span:nth-child(2){top:9px;} .burger span:nth-child(3){top:18px;}
  .burger.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}
  @media (max-width:1060px){ nav.primary{gap:18px;} nav.primary a{font-size:13px;} }
  @media (max-width:900px){
    nav.primary, .nav-cta{display:none;}
    .burger{display:block;}
    .mobile-menu{
      position:fixed; inset:78px 0 0 0; background:var(--noir); z-index:999;
      display:flex; flex-direction:column; justify-content:space-between;
      padding:40px 24px; transform:translateX(100%); transition:transform .4s cubic-bezier(.65,0,.35,1);
    }
    .mobile-menu.open{transform:translateX(0);}
    .mobile-menu nav{display:flex; flex-direction:column; gap:22px;}
    .mobile-menu nav a{font-weight:800; font-size:30px; color:var(--ivoire); text-align:left;}
    .mobile-menu nav a.active{color:var(--corail);}
    .mobile-menu .nav-cta{display:inline-block; align-self:flex-start; color:var(--ivoire);}
  }
  .mobile-menu{display:none;}
  @media (max-width:900px){ .mobile-menu{display:flex;} }
  section{position:relative;}
  /* ---------- BOUTONS (carrés, Jost SemiBold) ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-weight:600; font-size:15px; line-height:20px; padding:14px 24px;
    background:var(--corail); color:var(--encre); border:2px solid var(--corail);
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
    white-space:nowrap;
  }
  .btn:hover{background:var(--moutarde); border-color:var(--moutarde); transform:translateY(-2px);}
  .btn.dark{background:var(--encre); color:var(--ivoire); border-color:var(--encre);}
  .btn.dark:hover{background:transparent; color:var(--encre);}
  .btn.outline{background:transparent; color:var(--encre); border-color:var(--encre);}
  .btn.outline:hover{background:var(--encre); color:var(--ivoire);}
  .hero-sub .btn.outline, .cta-final .btn.outline{color:var(--ivoire); border-color:var(--ivoire);}
  .hero-sub .btn.outline:hover, .cta-final .btn.outline:hover{background:var(--ivoire); color:var(--encre);}
  .proj-card, .pf-card{
    background:var(--encre); position:relative; overflow:hidden; cursor:pointer;
    display:flex; flex-direction:column; justify-content:flex-end; padding:28px;
  }
  .proj-card{aspect-ratio:4/3;}
  .proj-card img, .pf-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1);}
  .proj-card:hover img, .pf-card:hover img{transform:scale(1.04);}
  .proj-card::before, .pf-card::before{content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.7) 100%);}
  /* duotone au survol : la couleur du pôle */
  .proj-card::after, .pf-card::after{content:''; position:absolute; inset:0; z-index:1; background:var(--pc,var(--corail)); mix-blend-mode:multiply; opacity:0; transition:opacity .4s ease;}
  .proj-card:hover::after, .pf-card:hover::after{opacity:.55;}
  .proj-card-meta{position:relative; z-index:2; color:var(--ivoire);}
  .proj-card-meta .label{margin-bottom:10px; display:flex;}
  .proj-card-meta h3{font-size:26px; font-weight:800;}
  [data-pole="strategie"]{--pc:var(--pole-strategie);} [data-pole="digital"]{--pc:var(--pole-digital);}
  [data-pole="rp"]{--pc:var(--pole-rp);} [data-pole="audiovisuel"]{--pc:var(--pole-audiovisuel);} [data-pole="evenementiel"]{--pc:var(--pole-evenementiel);}
  /* ---------- CTA FINAL ---------- */
  .cta-final{background:var(--noir); color:var(--ivoire); padding:130px 0; overflow:hidden;}
  .cta-final::after{content:''; position:absolute; right:-90px; bottom:-90px; width:min(38vw,420px); aspect-ratio:1; background:var(--corail);}
  .cta-final .wrap{position:relative; z-index:2;}
  .cta-final h2{font-size:clamp(34px,5vw,68px); font-weight:900; text-transform:uppercase; line-height:1; max-width:15ch; margin-bottom:44px;}
  .cta-final-row{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--noir); color:#B5ADA3; padding:64px 0 0; border-top:1px solid var(--ligne-sombre);}
  .footer-grid{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:40px;}
  .footer-col h4{font-size:12px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--ivoire); margin-bottom:16px;}
  .footer-col a, .footer-col p{display:block; font-size:14px; color:#B5ADA3; margin-bottom:8px;}
  .footer-col a:hover{color:var(--moutarde);}
  .footer-logo{width:150px; color:var(--blanc); margin-bottom:18px; display:block;}
  .footer-bottom{border-top:1px solid var(--ligne-sombre); padding:22px 0 28px; display:flex; justify-content:space-between; font-size:12px; letter-spacing:.08em; flex-wrap:wrap; gap:12px;}
  footer .frise{margin-top:0;}

  /* ---------- EN-TÊTE DE PAGE ---------- */
  .page-header{padding:170px 0 80px; background:var(--noir); color:var(--ivoire); overflow:hidden;}
  .page-header::after{content:''; position:absolute; right:-80px; top:-80px; width:min(34vw,380px); aspect-ratio:1; background:var(--pc,var(--corail)); opacity:1;z-index: 3;}
  .page-header .wrap{position:relative; z-index:2;}
  .page-header .label{margin-bottom:20px; display:block;}
  .page-header h1{font-size:clamp(34px, 5vw, 64px); max-width:18ch; font-weight:800;}
  .page-header h1 em{font-style:normal; color:var(--corail);}
  .page-header p{color:#CFC7BD; max-width:60ch; margin-top:22px; font-size:17px; line-height:1.6;}
  .page-header.shape-cercle::after{border-radius:50%;}
  .page-header.shape-triangle::after{clip-path:polygon(100% 0,100% 100%,0 100%);}
  .page-header.shape-demi::after{border-radius:380px 380px 0 0; height:190px; top:auto; bottom:-1px; right:6%;}
  .page-header.shape-quart::after{border-radius:0 0 0 380px; }
  .cs-body{padding:90px 0;}
  .cs-block{display:grid; grid-template-columns:200px 1fr; gap:60px; padding-bottom:80px; border-bottom:1px solid var(--ligne); margin-bottom:80px;}
  .cs-block:last-child{border-bottom:none;}
  .cs-block h2{font-size:clamp(22px,2.4vw,32px); margin-bottom:18px;}
  .cs-block p{color:var(--encre-douce); line-height:1.7; max-width:62ch; font-size:16px;}
  @media (max-width:800px){ .cs-block{grid-template-columns:1fr; gap:14px;} }
  .ev-highlights{padding:90px 0; background:var(--ivoire);}
  .ev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  .ev-box{background:var(--sable); padding:40px 32px;}
  .ev-box .label{margin-bottom:20px; display:block;}
  .ev-box h3{font-size:24px; margin-bottom:12px;}
  .ev-box p{color:var(--encre-douce); font-size:15px; line-height:1.6;}
  @media (max-width:800px){ .ev-grid{grid-template-columns:1fr;} }
  /* apparition au défilement (part d'un état visible) */
  .reveal{transition:transform .7s cubic-bezier(.16,1,.3,1); transform:translateY(10px);}
  .reveal.in{transform:none;}

  /* ---------- FILTRES (projets + contenus) ---------- */
  .filters-inner{display:flex; gap:10px; flex-wrap:wrap; padding-bottom:22px;}
  .filter-btn{font-weight:500; font-size:14px; padding:9px 16px; border:2px solid var(--ligne); color:var(--encre); transition:all .2s ease;}
  .filter-btn:hover{border-color:var(--encre);}
  .filter-btn.active{background:var(--encre); border-color:var(--encre); color:var(--ivoire);}

  /* ---------- PAGINATION (projets, contenus, évènements) ---------- */
  .pagination, .pagination-container, .ev-pagination{display:flex; justify-content:center; gap:8px; flex-wrap:wrap; padding:0 0 100px; list-style:none;}
  .pagination ul{display:flex; gap:8px; flex-wrap:wrap; list-style:none;}
  .page-numbers{display:inline-block; font-weight:600; font-size:14px; padding:9px 16px; border:2px solid var(--ligne); color:var(--encre); transition:all .2s ease;}
  a.page-numbers:hover{border-color:var(--encre);}
  .page-numbers.current{background:var(--encre); border-color:var(--encre); color:var(--ivoire);}
