/*!
Theme Name: Sakura Studio
Theme URI: https://example.com/
Author: Votre nom
Author URI: https://example.com/
Description: Thème WordPress de départ (basé sur Underscores) avec template-parts par page et CSS par page.
Version: 1.0.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: starter-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.

StarterTheme 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.
*/

/* ==========================================================
   STYLES GLOBAUX
   Styles propres à chaque page : css/<page>.css
   ========================================================== */
:root{
  /* Charte Sakura Studio : thème sombre unique, changer ces variables change tout le site */
  --noir:#07090F;
  --nuit:#0E1326;
  --nuit2:#141B33;
  --indigo:#2B3A67;
  --indigo-clair:#5A6FB0;
  --ivoire:#F6F1E9;
  --gris:#9AA1B8;
  --accent:#F76F46;
  --encre:#1D1D1B;
  --ligne:#262D47;
  --font:'Jost','Futura','Century Gothic',system-ui,sans-serif;
  --gutter:clamp(16px,4vw,64px);
  color-scheme:dark;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  color:var(--ivoire);
  background:var(--noir);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  font-size:17px; line-height:1.55;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{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;}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

.wrap{max-width:1320px; margin:0 auto; padding-inline:var(--gutter);}

.label{font-weight:600; font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gris);}
.tc{font-variant-numeric:tabular-nums; letter-spacing:0.12em;}
h1,h2,h3,h4{font-weight:800; line-height:1.08; text-wrap:balance;}
.section{padding:80px 0;}

/* Boutons */
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 22px; font-weight:600; font-size:15px; border:1px solid var(--ivoire); transition:background .2s,color .2s;}
.btn:hover,.btn:focus-visible{background:var(--ivoire); color:var(--noir); outline:none;}
.btn.primary{background:var(--accent); color:var(--encre); border-color:var(--accent);}
.btn.primary:hover,.btn.primary:focus-visible{background:var(--ivoire); border-color:var(--ivoire);}

/* En-tête */
#siteHeader{position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top,0px); background:linear-gradient(rgba(7,9,15,.85),rgba(7,9,15,0)); transition:background .25s;}
#siteHeader.solid{background:rgba(7,9,15,.94); backdrop-filter:blur(8px); border-bottom:1px solid #1F2640;}
.nav-inner{display:flex; align-items:center; gap:28px; height:78px;}
.logo{display:block; flex:none;}
.logo img,.custom-logo{width:190px; height:auto;}
nav.primary{display:flex; gap:26px; margin-left:auto; font-size:14px; font-weight:500;}
nav.primary a{opacity:.8;}
nav.primary a:hover,nav.primary a.active{opacity:1;}
nav.primary a.active{color:var(--accent);}
#siteHeader .btn{padding:10px 16px; font-size:14px;}
.burger{display:none;}
.mobile-menu{display:none;}
main#app{padding-top:0;}

@media (max-width:900px){
  nav.primary{display:none;}
  #siteHeader .btn{margin-left:auto;}
  .logo img,.custom-logo{width:150px;}
  .burger{display:flex; flex-direction:column; gap:5px; padding:8px;}
  .burger span{width:24px; height:2px; background:currentColor;}
  .mobile-menu.open{display:flex; flex-direction:column; gap:16px; position:fixed; inset:78px 0 0 0; padding:24px; font-size:22px; font-weight:600; background:var(--noir); z-index:49;}
  .mobile-menu nav{display:flex; flex-direction:column; gap:16px;}
}

/* Pied de page */
footer{background:#000; color:var(--ivoire); overflow:hidden; padding-top:56px;}
.footer-row{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; color:var(--gris); font-size:14px;padding-bottom:30px;}
.footer-row a:hover{color:var(--ivoire);}
.footer-social{display:flex; gap:20px;}
.footer-giant{font-size:clamp(64px,18.5vw,300px); font-weight:800; line-height:.78; letter-spacing:-.03em; white-space:nowrap; margin-top:40px; color:var(--nuit2); transform:translateY(12%); text-align:center;}

/* Curseur « viseur » (souris uniquement) */
.cur{position:fixed; left:0; top:0; width:46px; height:46px; margin:-23px 0 0 -23px; pointer-events:none; z-index:60; opacity:0; transition:opacity .2s,width .2s,height .2s,margin .2s;}
.cur i{position:absolute; width:10px; height:10px; border:0 solid var(--ivoire);}
.cur i:nth-child(1){top:0; left:0; border-width:1.5px 0 0 1.5px;}
.cur i:nth-child(2){top:0; right:0; border-width:1.5px 1.5px 0 0;}
.cur i:nth-child(3){bottom:0; left:0; border-width:0 0 1.5px 1.5px;}
.cur i:nth-child(4){bottom:0; right:0; border-width:0 1.5px 1.5px 0;}
.cur.big{width:84px; height:84px; margin:-42px 0 0 -42px;}
.cur.big i{border-color:var(--accent);}
@media (pointer:fine) and (prefers-reduced-motion:no-preference){ .cur.on{opacity:1;} }

/* En-tête de page (pages intérieures) */
.page-header{padding:140px 0 60px; background:var(--nuit);}
