/*
Theme Name: Rockus Investissement
Description: Thème sur mesure pour Rockus Investissement — investissement locatif clé en main. Pages : Accueil, Simulateur de rentabilité, Simulateur de crédit, Projets, Contact.
Author: Rockus Investissement
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: rockus-investissement
*/

:root{
  --green-950:#132925;
  --green-900:#1B3A33;
  --green-800:#264F45;
  --green-700:#37695B;
  --cream:#F6F1E6;
  --cream-dim:#E4DCC9;
  --stone:#B7A98A;
  --bronze:#A9803F;
  --bronze-light:#C79C55;
  --ink:#152420;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.wordmark{font-family:'Fraunces',serif;}
a{text-decoration:none;color:inherit;}
img,svg{display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--bronze);
}

/* Logo */
.logo-img{display:block;object-fit:contain;}

/* Header */
header{position:sticky; top:0; z-index:50; background:rgba(19,41,37,.92); backdrop-filter:blur(6px);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;gap:24px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand .wordmark{color:var(--cream);font-size:18px;letter-spacing:.04em;font-weight:600;}
.brand .wordmark span{display:block;font-family:'Inter',sans-serif;font-size:9px;letter-spacing:.28em;color:var(--stone);font-weight:600;margin-top:1px;}
nav ul{list-style:none;display:flex;gap:32px;}
nav ul a{color:var(--cream-dim);font-size:14px;font-weight:500;transition:color .2s;}
nav ul a:hover, nav ul a.active{color:var(--bronze-light);}
.btn{display:inline-block;padding:12px 24px;border-radius:2px;font-size:13px;font-weight:600;letter-spacing:.04em;transition:all .25s ease;border:1px solid transparent;}
.btn-primary{background:var(--bronze);color:var(--green-950);}
.btn-primary:hover{background:var(--bronze-light);}
.btn-ghost{border-color:rgba(246,241,230,.35);color:var(--cream);}
.btn-ghost:hover{border-color:var(--cream);}
.menu-toggle{display:none;background:none;border:0;color:var(--cream);font-size:22px;cursor:pointer;}

/* Hero (home) */
.hero{
  background:linear-gradient(180deg, rgba(19,41,37,.78) 0%, rgba(19,41,37,.55) 45%, rgba(19,41,37,.92) 100%),
    url('assets/hero.jpg') center 30%/cover no-repeat;
  color:var(--cream); padding:110px 32px 140px; position:relative; overflow:hidden; text-align:center;
}
.hero .logo-img{margin:0 auto 34px;height:96px;width:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35));}
.hero h1{font-size:clamp(40px,6vw,76px);font-weight:600;letter-spacing:.01em;line-height:1.02;max-width:900px;margin:0 auto 26px;}
.hero h1 em{font-style:normal;color:var(--bronze-light);}
.hero p.lead{max-width:560px;margin:0 auto 42px;color:var(--cream-dim);font-size:17px;}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-strata{position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(180deg, transparent, var(--cream) 92%);}

/* Page hero (sub-pages) */
.page-hero{
  background:linear-gradient(160deg, var(--green-950), var(--green-800));
  color:var(--cream); padding:76px 32px 64px; text-align:center;
}
.page-hero .eyebrow{color:var(--bronze-light);}
.page-hero h1{font-size:clamp(32px,5vw,52px);font-weight:600;margin-top:10px;line-height:1.1;}
.page-hero p{max-width:560px;margin:16px auto 0;color:var(--cream-dim);font-size:16px;}
.breadcrumb{font-size:12.5px;color:var(--cream-dim);margin-bottom:12px;}
.breadcrumb a{color:var(--bronze-light);}
.breadcrumb span{opacity:.6;margin:0 6px;}

/* Section shells */
section{padding:100px 32px;}
.section-head{max-width:640px;margin:0 0 56px;}
.section-head.center{margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:clamp(30px,4vw,42px);font-weight:600;margin-top:10px;line-height:1.15;}

/* Approche / process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--cream-dim);border:1px solid var(--cream-dim);}
.process .step{background:var(--cream);padding:36px 28px;}
.process .num{font-family:'Fraunces',serif;font-size:15px;color:var(--bronze);margin-bottom:22px;}
.process h3{font-size:19px;font-weight:600;margin-bottom:10px;}
.process p{font-size:14.5px;color:#4B5A54;}

/* Simulateurs teaser */
.simulateurs{background:var(--green-950);color:var(--cream);}
.simulateurs .section-head h2{color:var(--cream);}
.simulateurs .section-head p{color:var(--cream-dim);}
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.sim-card{background:var(--green-900);border:1px solid rgba(246,241,230,.1);padding:44px 38px;transition:border-color .25s ease, transform .25s ease;display:block;}
.sim-card:hover{border-color:var(--bronze);transform:translateY(-3px);}
.sim-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--bronze);display:flex;align-items:center;justify-content:center;margin-bottom:26px;color:var(--bronze-light);font-size:18px;}
.sim-card h3{font-size:22px;font-weight:600;margin-bottom:12px;}
.sim-card p{color:var(--cream-dim);font-size:14.5px;margin-bottom:26px;}
.sim-link{font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--bronze-light);border-bottom:1px solid var(--bronze);padding-bottom:3px;}

/* Projets */
.projets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.projet{border:1px solid var(--cream-dim);background:var(--cream);}
.projet-visual{height:200px;background:linear-gradient(160deg, rgba(19,41,37,.55), rgba(19,41,37,.15)), linear-gradient(135deg, var(--green-700), var(--stone));position:relative;}
.projet-visual .tag{position:absolute;top:16px;left:16px;background:var(--cream);color:var(--green-950);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;}
.projet-body{padding:22px 24px 26px;}
.projet-body .loc{font-size:12.5px;color:var(--bronze);font-weight:600;letter-spacing:.04em;margin-bottom:6px;}
.projet-body h3{font-size:20px;font-weight:600;margin-bottom:8px;}
.projet-body p{font-size:14px;color:#4B5A54;margin-bottom:14px;}
.projet-body .stat-row{display:flex;gap:18px;font-size:12.5px;color:var(--green-800);font-weight:600;border-top:1px solid var(--cream-dim);padding-top:12px;margin-top:4px;}

/* CTA banner (used to link Home -> Contact, etc.) */
.cta-banner{background:var(--green-900);color:var(--cream);text-align:center;padding:70px 32px;}
.cta-banner h2{font-size:clamp(26px,3.6vw,36px);font-weight:600;margin-bottom:16px;}
.cta-banner p{color:var(--cream-dim);max-width:520px;margin:0 auto 30px;}
.cta-banner .ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* Contact */
.contact{background:var(--green-950);color:var(--cream);background-image:radial-gradient(90% 70% at 100% 0%, var(--green-800), transparent 60%);}
.contact-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;}
.contact-info h2{font-size:clamp(30px,4vw,42px);font-weight:600;margin-bottom:22px;line-height:1.15;}
.contact-info p{color:var(--cream-dim);margin-bottom:28px;max-width:400px;}
.contact-info .mail{display:inline-block;font-size:16px;font-weight:600;color:var(--bronze-light);border-bottom:1px solid var(--bronze);padding-bottom:3px;margin-bottom:18px;}
.contact-info .links{margin-top:34px;display:flex;flex-direction:column;gap:10px;}
.contact-info .links a{font-size:13.5px;color:var(--cream-dim);border-bottom:1px solid rgba(246,241,230,.25);width:fit-content;padding-bottom:2px;}
.contact-info .links a:hover{color:var(--bronze-light);border-color:var(--bronze);}
form{display:grid;gap:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;font-weight:600;}
input,textarea,select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(246,241,230,.28);color:var(--cream);font-family:'Inter',sans-serif;font-size:15px;padding:10px 2px;transition:border-color .2s;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--bronze-light);}
textarea{resize:vertical;min-height:90px;}
::placeholder{color:rgba(246,241,230,.35);}
form .btn-primary{justify-self:start;margin-top:10px;border:0;cursor:pointer;font-family:inherit;}
select option{color:var(--ink);}

/* Simulator calculator layout */
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.calc-form{background:var(--green-900);border:1px solid rgba(246,241,230,.1);padding:40px 36px;}
.calc-form h3{color:var(--cream);font-size:20px;margin-bottom:26px;font-weight:600;}
.calc-form .field{margin-bottom:20px;}
.calc-form label{color:var(--stone);}
.calc-form input, .calc-form select{color:var(--cream);}
.calc-results{background:var(--cream);border:1px solid var(--cream-dim);padding:40px 36px;position:sticky;top:110px;}
.calc-results h3{font-size:20px;margin-bottom:24px;font-weight:600;color:var(--ink);}
.result-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--cream-dim);}
.result-row:last-child{border-bottom:0;}
.result-row .label{font-size:13.5px;color:#4B5A54;}
.result-row .value{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--green-900);}
.result-row.highlight .value{color:var(--bronze);font-size:30px;}
.calc-note{font-size:12.5px;color:#6B7A74;margin-top:22px;line-height:1.5;}
.calc-form-section{background:var(--green-950);}

/* Footer */
footer{background:var(--green-900);color:var(--cream-dim);padding:44px 32px;}
.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.footer-inner .brand .wordmark{font-size:15px;}
.footer-links{display:flex;gap:26px;font-size:13px;flex-wrap:wrap;}
.footer-copy{font-size:12.5px;color:var(--stone);}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--bronze-light); outline-offset:3px;}

@media (max-width: 860px){
  nav ul{display:none;}
  .menu-toggle{display:block;}
  .process{grid-template-columns:1fr 1fr;}
  .sim-grid{grid-template-columns:1fr;}
  .projets-grid{grid-template-columns:1fr;}
  .contact-inner{grid-template-columns:1fr;gap:44px;}
  .form-row{grid-template-columns:1fr;}
  .calc-wrap{grid-template-columns:1fr;gap:36px;}
  .calc-results{position:static;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}

/* Sliders ludiques */
.field-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.field-top label{margin-bottom:0;}
.field-value{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--bronze-light);white-space:nowrap;}
.slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;border-radius:3px;
  background:linear-gradient(to right, var(--bronze) 0%, var(--bronze) var(--fill,50%), rgba(246,241,230,.18) var(--fill,50%), rgba(246,241,230,.18) 100%);
  outline:none;cursor:pointer;margin-top:4px;padding:0;border:0;
}
.slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:22px;height:22px;border-radius:50%;
  background:var(--cream);border:3px solid var(--bronze);
  cursor:grab;box-shadow:0 2px 6px rgba(0,0,0,.35);
  transition:transform .15s ease;
}
.slider::-webkit-slider-thumb:hover{transform:scale(1.12);}
.slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05);}
.slider::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;
  background:var(--cream);border:3px solid var(--bronze);
  cursor:grab;box-shadow:0 2px 6px rgba(0,0,0,.35);border:3px solid var(--bronze);
}
.slider::-moz-range-track{height:6px;border-radius:3px;background:rgba(246,241,230,.18);}
.slider::-moz-range-progress{height:6px;border-radius:3px;background:var(--bronze);}
.range-minmax{display:flex;justify-content:space-between;font-size:11px;color:var(--stone);margin-top:6px;letter-spacing:.03em;}
.calc-form .field{margin-bottom:28px;}
.result-row .value{transition:color .2s ease;}
.result-pulse{animation:pulseVal .35s ease;}
@keyframes pulseVal{0%{transform:scale(1.06);}100%{transform:scale(1);}}

/* Interrupteur "financement à crédit" */
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid rgba(246,241,230,.14);}
.toggle-row .toggle-label{font-size:14.5px;color:var(--cream);font-weight:600;}
.switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto;}
.switch input{opacity:0;width:0;height:0;position:absolute;}
.switch .slider-track{position:absolute;cursor:pointer;inset:0;background:rgba(246,241,230,.22);border-radius:26px;transition:.2s ease;}
.switch .slider-track:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:var(--cream);border-radius:50%;transition:.2s ease;}
.switch input:checked + .slider-track{background:var(--bronze);}
.switch input:checked + .slider-track:before{transform:translateX(20px);}
.credit-fields{display:grid;gap:26px;padding-top:2px;}
.credit-fields[hidden]{display:none;}
.result-row.credit-off{opacity:.4;}

/* Petit texte SEO discret en bas des pages simulateurs */
.seo-footnote{padding:46px 32px 60px;}
.seo-footnote .wrap{max-width:760px;color:#8A968F;font-size:12.5px;line-height:1.7;}
.seo-footnote a{color:var(--stone);text-decoration:underline;text-underline-offset:2px;}
.seo-footnote a:hover{color:var(--bronze);}
