/*
Theme Name: Yeshurun
Theme URI: https://yeshurun.fr
Author: Yeshurun
Description: Thème sur-mesure pour le site vitrine Yeshurun, construit à partir de la maquette validée (direction « moderne & tech »).
Version: 1.2
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: yeshurun
*/

:root{
  --ink:#07061B; --gray:#5B5B6B; --gray-soft:#8B8A9A;
  --purple-light:#B854E1; --purple-mid:#8B2FC4; --purple-dark:#4F0A9F;
  --bg:#FCFBFE; --bg-alt:#F6F1FB; --border:#E7E0F1;
  --grad: linear-gradient(120deg,var(--purple-light) 0%, var(--purple-mid) 55%, var(--purple-dark) 100%);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);}
h1,h2,h3{font-family:'Space Grotesk','Inter',system-ui,sans-serif;margin:0;letter-spacing:-0.01em;}
p{margin:0;}
a{color:var(--purple-mid);text-decoration:none;}
a:hover{color:var(--purple-dark);}
img{max-width:100%;height:auto;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:10px;font-family:'Inter';font-weight:600;font-size:15px;cursor:pointer;white-space:nowrap;border:none;}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 24px -8px rgba(139,47,196,0.55);}
.btn-primary:hover{color:#fff;opacity:0.94;}
.btn-ghost{background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.35);}
.btn-ghost:hover{color:#fff;}
.btn-outline{background:#fff;color:var(--purple-dark);border:1.5px solid var(--border);}
.section{padding:72px 96px;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--purple-mid);}
.placeholder-tag{display:inline-block;font-size:11px;font-weight:600;color:var(--purple-dark);background:var(--bg-alt);border:1px dashed var(--purple-light);border-radius:6px;padding:3px 8px;margin-top:10px;}

/* Site container */
.site{width:100%;overflow-x:hidden;}
.wrap{width:1440px;max-width:100%;margin:0 auto;background:var(--bg);position:relative;}

/* Header / nav */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:0 96px;height:88px;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:50;}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);}
.brand:hover{color:var(--ink);}
.brand img{height:34px;width:auto;display:block;}
.brand span{font-family:'Space Grotesk';font-weight:700;font-size:20px;color:var(--ink);}
.primary-nav ul{list-style:none;display:flex;align-items:center;gap:40px;margin:0;padding:0;}
.primary-nav li{margin:0;}
.primary-nav a{font-size:15px;font-weight:500;color:var(--ink);}
.primary-nav .current-menu-item > a{color:var(--purple-dark);font-weight:700;}
.header-cta{padding:11px 22px;font-size:14px;}
.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:none;background:transparent;color:var(--ink);cursor:pointer;padding:0;margin-left:4px;}
.mobile-nav{display:none;}

/* Footer */
.site-footer{padding:56px 96px 40px;background:#0F0A1E;}
.site-footer a{color:#9C93AE;font-size:13.5px;}
.site-footer a:hover{color:#fff;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.footer-col-title{color:#fff;font-weight:600;font-size:13.5px;margin-bottom:14px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-bottom{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08);color:#6E6482;font-size:12.5px;}
.footer-simple{padding:44px 96px;background:#0F0A1E;display:flex;align-items:center;justify-content:space-between;}

/* Generic content pages (page.php) */
.page-content{max-width:760px;margin:0 auto;padding:80px 32px 100px;}
.page-content h1.page-title{font-size:36px;color:var(--ink);margin-bottom:28px;}
.page-content h2{font-size:22px;color:var(--purple-mid);margin-top:36px;margin-bottom:14px;}
.page-content p{font-size:16.5px;line-height:1.7;color:var(--ink);margin-bottom:18px;}
.page-content ul{padding-left:22px;margin-bottom:18px;}
.page-content li{font-size:16.5px;line-height:1.7;color:var(--ink);margin-bottom:8px;}
.page-content a{text-decoration:underline;}

/* Responsive — the page templates reuse the maquette's inline styles (grid/flex
   layouts and paddings tuned for a 1440px canvas); these attribute-selector
   overrides collapse the same known patterns to one column and tighter spacing
   below 900px, since inline styles can't otherwise be reached from CSS. */
@media (max-width: 900px){
  .site-header{padding:0 24px;}
  .primary-nav{display:none;}
  .header-cta{display:none;}
  .nav-toggle{display:flex;}
  .mobile-nav.is-open{display:flex;flex-direction:column;gap:4px;padding:8px 24px 24px;background:#fff;border-bottom:1px solid var(--border);}
  .mobile-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
  .mobile-nav li{margin:0;}
  .mobile-nav li a{display:block;padding:14px 2px;font-size:16px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--border);}
  .mobile-nav > .btn{margin-top:16px;justify-content:center;}
  .section{padding:48px 24px !important;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-simple, .site-footer{padding:40px 24px !important;}
  h1{font-size:32px !important;line-height:1.2 !important;}

  [style*="padding:120px"],
  [style*="padding: 76px"],
  [style*="padding:76px"],
  [style*="padding: 70px"],
  [style*="padding:70px"],
  [style*="padding: 64px"],
  [style*="padding:64px"],
  [style*="padding: 44px"],
  [style*="padding:44px"]{ padding:48px 24px !important; }

  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.1fr 0.9fr"],
  [style*="grid-template-columns:1.6fr 1fr"]{ grid-template-columns:1fr !important; }

  [style*="display:flex"][style*="gap:56px"],
  [style*="display:flex"][style*="gap:24px"][style*="justify-content:center"]{ flex-wrap:wrap !important; }

  .page-content{padding:56px 20px 72px;}
}
