/* =====================================================================
   JujuCar — composants SOUS-PAGES (complète theme.css)
   ===================================================================== */
/* page hero compact */
.page-hero{position:relative;padding:150px 0 60px;overflow:hidden;border-bottom:1px solid var(--line-soft);
  background:transparent}
.page-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(80% 120% at 90% 0%,rgba(201,162,75,.08),transparent 55%);pointer-events:none}
.page-hero .inner{position:relative}
.page-label{display:inline-flex;align-items:center;gap:11px;font-size:11.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--or);margin-bottom:18px}
.page-label::before{content:"";width:26px;height:1px;background:var(--or)}
.page-hero h1{font-family:var(--serif);font-weight:400;letter-spacing:-.5px;
  font-size:clamp(32px,5vw,58px);line-height:1.07;margin-bottom:16px}
.page-hero h1 .accent{font-style:italic;color:var(--or-clair)}
.page-hero p{color:var(--creme-2);max-width:600px;font-size:16px}

/* L'image de fond est désormais globale et fixe (voir html::before dans theme.css),
   identique sur toutes les pages — le hero reste donc simplement transparent. */
.page-hero.has-hero-photo{background:transparent}

/* === Typographie agrandie (vente.html) === */
.page-vente .page-hero h1{font-size:clamp(40px,6.6vw,74px)}
.page-vente .page-hero p{font-size:clamp(17px,2vw,22px);max-width:700px}
.page-vente .form-lead{font-size:clamp(17px,1.9vw,20px);line-height:1.6}
.page-vente .section-label{font-size:13px}
.page-vente .service-price{font-size:16px}

/* === Cartes « Ce que nous gérons » (vente.html) — hover doré === */
.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 4px}
.manage-card{display:flex;gap:12px;align-items:flex-start;background:var(--noir);
  border:1px solid var(--line-soft);border-radius:14px;padding:18px;
  color:var(--creme-2);font-size:clamp(15px,1.6vw,17px);line-height:1.5;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.manage-card i{color:var(--vert);flex-shrink:0;margin-top:2px;font-size:18px}
.manage-card:hover{transform:scale(1.04);border-color:#C9A24B;
  box-shadow:0 16px 40px rgba(0,0,0,.45)}

/* === Carrousel MG4 + placeholder « vraie photo » (histoire.html) === */
.mg4-carousel{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line-soft);
  background:var(--noir-2);aspect-ratio:5/4}
.mg4-track{display:flex;height:100%;transition:transform .45s var(--ease)}
.mg4-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.mg4-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;
  background:rgba(0,0,0,.55);border:1px solid var(--line);color:#fff;font-size:24px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;z-index:2}
.mg4-arrow:hover{background:var(--or);color:#0A0A0B}
.mg4-prev{left:12px}.mg4-next{right:12px}
.mg4-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:2}
.mg4-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:background .2s}
.mg4-dots span.active{background:var(--or)}
.mg4-placeholder{margin-top:16px;border:2px dashed var(--or);border-radius:14px;padding:16px 20px;
  text-align:center;color:var(--or-clair);font-size:15px;background:rgba(201,162,75,.05);letter-spacing:.01em}

/* content / story */
.content-section{padding:clamp(60px,8vw,100px) 0}
.story-text{max-width:760px}
.story-text p{font-size:clamp(16px,1.7vw,19px);line-height:1.75;color:var(--creme-2);margin-bottom:22px}
.story-text p strong{color:var(--creme)}

/* engagements grid */
.engage-section{padding:clamp(60px,8vw,100px) 0;background:transparent}
.section-tag{display:inline-flex;align-items:center;gap:11px;font-size:11.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--or);margin-bottom:18px}
.section-tag::before{content:"";width:26px;height:1px;background:var(--or)}
.engage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
.engage-card{background:linear-gradient(160deg,var(--surface),var(--noir-2));border:1px solid var(--line-soft);
  border-radius:18px;padding:32px;transition:transform .4s var(--ease),border-color .4s}
.engage-card:hover{transform:translateY(-5px);border-color:var(--line)}
.engage-card h3{font-family:var(--serif);font-weight:500;font-size:21px;margin-bottom:10px}
.engage-card p{color:var(--creme-2);font-size:14.5px;line-height:1.65}
.card-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;margin-bottom:18px;
  background:radial-gradient(circle at 30% 30%,rgba(201,162,75,.2),rgba(201,162,75,.04));
  border:1px solid var(--line);color:var(--or-clair);font-size:24px}

/* MG4 mandate showcase */
.mg4-section{padding:clamp(50px,7vw,90px) 0}
.mg4-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.6vw,40px);margin-bottom:30px}
.mg4-section h2 .accent{font-style:italic;color:var(--or-clair)}
.mg4-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:30px}
.mg4-photos img{width:100%;border-radius:16px;border:1px solid var(--line-soft);aspect-ratio:4/3;object-fit:cover}
.mg4-mandate-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(46,139,99,.14);
  border:1px solid var(--vert);color:#7BD2A6;padding:8px 16px;border-radius:30px;font-size:13px;font-weight:600;margin-bottom:18px}
.mg4-prices{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}
.mg4-price-paid{font-family:var(--serif);font-size:34px;color:var(--or-clair)}
.mg4-price-catalogue{font-size:20px;color:var(--creme-3);text-decoration:line-through}
.mg4-economy-badge{display:inline-block;background:linear-gradient(135deg,var(--or-clair),var(--or));
  color:#0a0a0b;font-weight:600;padding:8px 18px;border-radius:30px;font-size:14px}
.mg4-desc{color:var(--creme-2);font-size:15.5px;max-width:640px;line-height:1.7}

/* blockquote */
.blockquote-section{padding:clamp(50px,7vw,90px) 0;text-align:center;background:transparent}
.blockquote{max-width:760px;margin:0 auto 30px}
.blockquote p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,30px);
  line-height:1.45;color:var(--creme);margin-bottom:18px}
.blockquote cite{color:var(--or-clair);font-style:normal;font-family:var(--serif);font-size:17px}

/* tarifs */
.tarif-card{background:linear-gradient(160deg,var(--surface),var(--noir-2));border:1px solid var(--line-soft);
  border-radius:20px;padding:34px;margin-bottom:22px;transition:border-color .4s}
.tarif-card:hover{border-color:var(--line)}
.tarif-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;
  border-bottom:1px solid var(--line-soft);padding-bottom:22px}
.tarif-header h2{font-family:var(--serif);font-weight:500}
.tarif-price{font-family:var(--serif);font-size:clamp(26px,3.4vw,38px);color:var(--or-clair);line-height:1}
.tarif-price-sub{font-size:12.5px;color:var(--creme-3);margin-top:6px}
.check-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--creme-2)}
.check-list li i{color:var(--vert);flex-shrink:0;margin-top:2px}
.platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.platform-tag{font-size:12px;color:var(--creme-2);background:var(--noir);border:1px solid var(--line-soft);
  padding:6px 13px;border-radius:30px}
.highlight-box,.special-box,.disclaimer-box,.info-box{display:flex;gap:14px;border-radius:14px;padding:18px 20px;
  margin-top:18px;font-size:14px;line-height:1.6}
.highlight-box{background:rgba(201,162,75,.06);border:1px solid var(--line);color:var(--creme-2);margin-top:20px}
.highlight-box strong{color:var(--creme)}
.special-box{background:linear-gradient(160deg,var(--surface),var(--noir-2));border:1px solid var(--line);color:var(--creme)}
.special-box i{color:var(--or-clair);font-size:24px;flex-shrink:0}
.special-box p{color:var(--creme-2)}
.special-box a{color:var(--or-clair)}
.disclaimer-box,.info-box{background:var(--noir-2);border:1px solid var(--line-soft);color:var(--creme-3)}
.disclaimer-box i,.info-box i{color:var(--or);font-size:20px;flex-shrink:0}
.info-box p{color:var(--creme-2)}

/* CGV / confidentialité */
.cgv-section{padding:clamp(50px,7vw,90px) 0}
.cgv-section .inner{max-width:840px}
.cgv-section>.inner>h2{font-family:var(--serif);font-weight:500;color:var(--or-clair);font-size:24px;margin:8px 0 22px}
.cgv-section>.inner>h2:not(:first-child){margin-top:40px}
.cgv-intro{font-size:15px;color:var(--creme-2);line-height:1.7;margin-bottom:26px}
.cgv-article{margin-bottom:18px;padding:24px;background:linear-gradient(160deg,var(--surface),var(--noir-2));
  border:1px solid var(--line-soft);border-radius:14px}
.cgv-article h3{font-family:var(--serif);font-weight:500;font-size:18px;margin-bottom:10px;color:var(--creme)}
.cgv-article p{font-size:14.5px;color:var(--creme-2);line-height:1.7}
.cgv-article a{color:var(--or-clair)}
.cgv-article strong{color:var(--creme)}

/* formulaires sous-pages */
.form-section{padding:clamp(50px,7vw,90px) 0}
.form-section .inner{max-width:820px}
.section-box{background:linear-gradient(160deg,var(--surface),var(--noir-2));border:1px solid var(--line-soft);
  border-radius:18px;padding:30px;margin-bottom:22px}
.section-label{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin-bottom:20px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fgroup{display:flex;flex-direction:column;gap:7px;margin-bottom:4px}
.fgroup.full{grid-column:1/-1}
.field-label{font-size:12px;letter-spacing:.04em;color:var(--creme-2)}
.field{font-family:var(--sans);font-size:14.5px;color:var(--creme);background:var(--noir);
  border:1px solid var(--line-soft);border-radius:11px;padding:13px 15px;transition:border-color .25s,box-shadow .25s;width:100%}
.field::placeholder{color:var(--creme-3)}
.field:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(201,162,75,.12)}
textarea.field{resize:vertical;min-height:120px}
.req-note{font-size:12px;color:var(--creme-3);margin-top:6px}
.choice-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.choice-btn{font-family:var(--sans);font-size:13.5px;color:var(--creme-2);background:var(--noir);
  border:1px solid var(--line-soft);border-radius:30px;padding:9px 16px;cursor:pointer;transition:.25s}
.choice-btn:hover{border-color:var(--line)}
.choice-btn.active{background:linear-gradient(135deg,var(--or-clair),var(--or));color:#0a0a0b;border-color:transparent;font-weight:600}
.path-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;
  background:linear-gradient(160deg,var(--surface),var(--noir-2));border:1px solid var(--line-soft);
  border-radius:16px;padding:24px 26px;cursor:pointer;margin-bottom:14px;transition:transform .35s var(--ease),border-color .35s}
.path-btn:hover{transform:translateY(-3px);border-color:var(--or)}
.path-btn .pt-title{font-family:var(--serif);font-size:19px;color:var(--creme);margin-bottom:4px}
.path-btn .pt-sub{font-size:13.5px;color:var(--creme-3)}
.path-btn i{font-size:22px;color:var(--or-clair);flex-shrink:0}
.back-btn{background:none;border:none;color:var(--creme-2);cursor:pointer;font-family:var(--sans);font-size:14px;
  display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;transition:color .25s}
.back-btn:hover{color:var(--or-clair)}
.btn-submit{width:100%;justify-content:center;cursor:pointer;border:none;font-family:var(--sans);
  font-size:15px;font-weight:600;padding:16px;border-radius:44px;
  background:linear-gradient(135deg,var(--or-clair),var(--or));color:#0a0a0b;
  box-shadow:0 8px 26px rgba(201,162,75,.22);transition:transform .3s var(--ease),box-shadow .3s}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(201,162,75,.34)}
.achat-intro{display:flex;gap:14px;align-items:flex-start;background:rgba(201,162,75,.05);
  border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:22px;color:var(--creme-2);font-size:14.5px;line-height:1.6}
.achat-intro i{color:var(--or-clair);font-size:24px;flex-shrink:0}
.achat-intro strong{color:var(--creme)}
.catalogue-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  background:linear-gradient(160deg,var(--surface),var(--noir-2));border:1px solid var(--line-soft);
  border-radius:16px;padding:24px 26px;margin-bottom:30px}
.catalogue-banner h3{font-family:var(--serif);font-weight:500;font-size:19px;margin-bottom:6px}
.catalogue-banner p{font-size:14px;color:var(--creme-2);max-width:520px}
.form-lead{font-size:16px;color:var(--creme-2);margin-bottom:24px}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.check-item{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--creme-2);margin-bottom:12px}
.check-item i{color:var(--vert);flex-shrink:0;margin-top:2px}
.service-price strong{color:var(--or-clair);font-family:var(--serif);font-size:17px}

@media(max-width:820px){
  .engage-grid{grid-template-columns:1fr}
  .manage-grid{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .mg4-photos{grid-template-columns:1fr}
  .tarif-header{flex-direction:column}
  .catalogue-banner{flex-direction:column;align-items:flex-start}
}
