/* ============================================
   COMPTA PATRIMOINE – SHARED STYLES
   Theme: Marine & Or
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --or: #C9A84C;
  --or-clair: #E8D5A3;
  --or-pale: rgba(201,168,76,0.12);
  --marine: #0D1B2A;
  --marine-mid: #1A2E42;
  --marine-light: #243B55;
  --card-bg: rgba(255,255,255,0.05);
  --blanc: #F9F6F0;
  --gris: rgba(255,255,255,0.55);
  --gris-fd: rgba(255,255,255,0.75);
  --border: rgba(255,255,255,0.1);
  --border-or: rgba(201,168,76,0.3);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--marine); color:var(--blanc); line-height:1.65; }

/* NAV */
nav {
  position:sticky; top:0; z-index:100;
  background:rgba(13,27,42,0.97); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  padding:0 40px; height:68px;
  display:flex; align-items:center; justify-content:space-between;
}
.nav-logo { font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:700; color:var(--blanc); text-decoration:none; }
.nav-logo span { color:var(--or); }
.nav-links { display:flex; gap:4px; align-items:center; }
.nav-links a { text-decoration:none; color:var(--gris-fd); font-size:0.87rem; padding:8px 14px; border-radius:8px; transition:all .2s; }
.nav-links a:hover, .nav-links a.active { background:var(--card-bg); color:var(--blanc); }
.nav-cta { background:var(--or)!important; color:var(--marine)!important; font-weight:500!important; }
.nav-cta:hover { background:var(--or-clair)!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--or-clair); border-radius:2px; }

/* FOOTER */
footer { background:#070F17; border-top:1px solid var(--border); color:var(--gris); padding:56px 40px 32px; }
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid var(--border); }
.logo-foot { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:700; color:var(--blanc); margin-bottom:12px; }
.logo-foot span { color:var(--or); }
footer h5 { color:var(--or-clair); font-size:.72rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; font-weight:500; }
footer ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
footer ul li a { color:var(--gris); text-decoration:none; font-size:.86rem; transition:color .2s; }
footer ul li a:hover { color:var(--or-clair); }
.footer-bottom { max-width:1100px; margin:24px auto 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:.77rem; }
.footer-bottom a { color:var(--gris); text-decoration:none; }
.footer-bottom a:hover { color:var(--or-clair); }
.badge-foot { background:var(--card-bg); border:1px solid var(--border-or); color:var(--or-clair); padding:3px 10px; border-radius:50px; font-size:.71rem; display:inline-block; margin-right:6px; }

/* UTILS */
.container { max-width:1100px; margin:0 auto; padding:0 32px; }
.section { padding:80px 0; }
.section-alt { background:var(--marine-mid); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.label { display:inline-block; font-size:.68rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--or); font-weight:500; margin-bottom:12px; }
h1,h2,h3 { font-family:'Playfair Display',serif; }
.section-title { font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:700; color:var(--blanc); line-height:1.15; margin-bottom:14px; }
.section-sub { color:var(--gris); font-size:1rem; font-weight:300; margin-bottom:50px; max-width:520px; }
.pill-badge { display:inline-block; background:var(--or-pale); border:1px solid var(--border-or); color:var(--or-clair); padding:5px 16px; border-radius:50px; font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:20px; }

/* BUTTONS */
.btn { display:inline-block; text-decoration:none; padding:13px 28px; border-radius:10px; font-size:.9rem; font-weight:500; transition:all .22s; cursor:pointer; border:none; font-family:'DM Sans',sans-serif; }
.btn-or { background:var(--or); color:var(--marine); }
.btn-or:hover { background:var(--or-clair); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,168,76,.3); }
.btn-outline { border:1px solid var(--border-or); color:var(--or-clair); background:transparent; }
.btn-outline:hover { background:var(--or-pale); }
.btn-ghost { border:1px solid var(--border); color:var(--gris-fd); background:transparent; }
.btn-ghost:hover { background:var(--card-bg); }

/* CARD */
.card-m { background:var(--card-bg); border:1px solid var(--border); border-radius:16px; padding:28px 24px; transition:border-color .2s,background .2s; }
.card-m:hover { border-color:var(--border-or); background:rgba(255,255,255,.07); }
.divider { border:none; border-top:1px solid var(--border); margin:20px 0; }

/* FEATURE LIST */
.feat-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.feat-list li { font-size:.87rem; color:var(--gris-fd); display:flex; gap:10px; align-items:flex-start; }
.feat-list li::before { content:'✓'; color:var(--or); font-weight:700; flex-shrink:0; margin-top:1px; }

/* PAGE HERO */
.page-hero { background:var(--marine-mid); border-bottom:1px solid var(--border); padding:60px 0 52px; }
.breadcrumb { font-size:.78rem; color:var(--gris); margin-bottom:16px; }
.breadcrumb a { color:var(--or); text-decoration:none; }

/* ANIMATIONS */
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.fade-up { animation:fadeUp .65s ease forwards; }
.d1{animation-delay:.1s;opacity:0} .d2{animation-delay:.22s;opacity:0} .d3{animation-delay:.34s;opacity:0} .d4{animation-delay:.46s;opacity:0}

/* RESPONSIVE */
@media(max-width:768px){
  nav{padding:0 20px;}
  .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--marine-mid);flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--border);gap:4px;}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  .footer-inner{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .container{padding:0 20px;}
  .section{padding:56px 0;}
}
