/* Page publique /decouvrir/{idu} — celle qu'ouvre le propriétaire en
   scannant le QR code du verso. Même direction éditoriale/imprimée que
   accueil.html et partenaires.html : les jetons, l'en-tête, les boutons
   et le pied de page viennent de site.css, ce fichier ne porte que le
   spécifique de la page (comparatif, estimation, formulaire, FAQ).

   Continuité voulue avec l'objet papier : le visiteur arrive ici la
   carte à la main, il doit retrouver la même encre marine et le même
   fond papier que sur la carte qu'il vient de lire. */

.hidden{display:none !important;}

/* --- Ouverture : adresse en surtitre, promesse en gros --- */
.dc-hero{padding:44px 0 12px;}
.dc-eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:22px;
}
.dc-eyebrow::after{content:"";height:1px;flex:1;background:var(--rule);}
.dc-hero h1{font-size:clamp(34px,4.8vw,58px);letter-spacing:-.025em;max-width:16ch;}
.dc-hero-sub{
  margin-top:22px;font-size:17px;line-height:1.6;color:var(--ink-body);max-width:52ch;
}

/* --- Avant / après : l'après est deux fois plus grand. C'est lui le
       sujet de la page, les deux vignettes à égalité ne disaient rien. --- */
.dc-compare{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:26px;align-items:end;margin-top:40px;
}
.dc-compare-item{margin:0;}
.dc-compare-item img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;
  background:var(--paper-raised);
}
.dc-compare-item figcaption{
  margin-top:10px;padding-top:9px;border-top:1px solid var(--rule);
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.dc-compare-item:last-child figcaption{
  color:var(--ink);border-top-color:var(--rule-strong);font-weight:600;
}

/* --- Estimation : une ligne typographique, pas une pastille flottante --- */
.dc-price{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;align-items:baseline;
  margin:44px 0 8px;padding-top:18px;border-top:1px solid var(--rule);
}
.dc-price-label{
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.dc-price-amount{
  display:block;margin-top:8px;
  font-family:var(--font-display);font-size:clamp(34px,4.4vw,52px);
  line-height:1;letter-spacing:-.02em;color:var(--ink);
}
.dc-price-note{font-size:14px;color:var(--muted);max-width:42ch;}

/* --- Les trois promesses, en lignes d'imprimé (plus de cartes jumelles) --- */
.dc-pitch{padding:52px 0 8px;}
.dc-pitch-item{
  display:grid;grid-template-columns:minmax(0,22ch) minmax(0,1fr);
  gap:28px;align-items:baseline;
  border-top:1px solid var(--rule);padding:18px 0;
}
.dc-pitch-item:last-child{border-bottom:1px solid var(--rule);}
.dc-pitch-item h3{font-size:19px;}
.dc-pitch-item p{font-size:15px;color:var(--muted);}

/* --- Contact : le panneau au bord perforé, seul élément timbré de la page --- */
.dc-contact{padding:56px 0 8px;}
.dc-contact-panel{padding:34px 30px 32px;
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px;
  align-items:start;}
.dc-contact h2{font-size:clamp(24px,3vw,34px);}
.dc-contact-sub{margin:10px 0 0;color:var(--muted);font-size:15px;max-width:34ch;}

.dc-form{display:flex;flex-direction:column;gap:18px;max-width:560px;}
.dc-field{display:flex;flex-direction:column;gap:6px;flex:1;}
.dc-field-row{display:flex;gap:18px;flex-wrap:wrap;}
.dc-field > label,.dc-field-legend{
  font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);
}
.dc-field input,.dc-field textarea{
  padding:10px 0;border:0;border-bottom:1px solid var(--rule-strong);
  border-radius:0;background:transparent;
  font-family:var(--font-body);font-size:16px;color:var(--ink);
  transition:border-color .15s;
}
.dc-field input:hover,.dc-field textarea:hover{border-bottom-color:var(--ink);}
.dc-field input:focus,.dc-field textarea:focus{
  outline:none;border-bottom-color:var(--accent);border-bottom-width:2px;
  padding-bottom:9px;
}
.dc-field input:user-invalid,.dc-field textarea:user-invalid{border-bottom-color:#a3341f;}
.dc-field textarea{resize:vertical;}

.dc-radio-group{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.dc-radio{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;}
.dc-radio input{margin:0;accent-color:var(--ink);width:16px;height:16px;}
.dc-radio:hover{color:var(--ink);}

.dc-consent{
  display:flex;gap:10px;align-items:flex-start;font-size:13.5px;
  color:var(--muted);line-height:1.55;
}
.dc-consent input{margin-top:3px;accent-color:var(--ink);width:16px;height:16px;}

.dc-submit{align-self:flex-start;}
.dc-submit:disabled{opacity:.55;cursor:default;}
.dc-form-status{font-size:14px;min-height:20px;}
.dc-form-status.success{color:var(--accent);}
.dc-form-status.error{color:#a3341f;}

.dc-already-sent{max-width:560px;font-size:16px;color:var(--ink);}

/* --- FAQ : une liste d'imprimé, ouverte au clic --- */
.dc-faq{padding:56px 0 8px;}
.dc-faq h2{font-size:clamp(24px,3vw,34px);margin-bottom:22px;}
.dc-faq-item{border-top:1px solid var(--rule);}
.dc-faq-item:last-of-type{border-bottom:1px solid var(--rule);}
.dc-faq-item summary{
  display:flex;gap:14px;align-items:baseline;
  padding:16px 0;font-size:17px;font-weight:500;color:var(--ink);
  cursor:pointer;list-style:none;transition:color .15s;
}
.dc-faq-item summary:hover{color:var(--accent);}
.dc-faq-item summary::-webkit-details-marker{display:none;}
.dc-faq-item summary::before{
  content:"+";flex:none;width:14px;font-family:var(--font-body);
  font-size:15px;color:var(--muted);
}
.dc-faq-item[open] summary::before{content:"\2212";color:var(--ink);}
.dc-faq-item p{
  margin:0 0 20px;padding-left:28px;font-size:15px;color:var(--muted);max-width:70ch;
}

/* --- Mentions données personnelles --- */
.dc-rgpd{padding:52px 0 56px;font-size:15px;color:var(--muted);}
.dc-rgpd h2{font-size:22px;margin-bottom:14px;}
.dc-rgpd p{margin:0 0 12px;max-width:74ch;}

.dc-empty{max-width:480px;margin:100px auto;text-align:center;padding:0 20px;
          color:var(--muted);font-size:15px;}

@media (max-width:760px){
  .dc-hero{padding-top:32px;}
  /* En colonne, deux images pleine largeur se valent : la hiérarchie
     (l'après est le sujet) se rejoue par l'ordre et la taille. */
  .dc-compare{grid-template-columns:1fr;gap:22px;}
  .dc-compare-item:last-child{order:-1;}
  .dc-compare-item:first-child{max-width:62%;}
  .dc-price{grid-template-columns:1fr;gap:12px;}
  .dc-pitch-item{grid-template-columns:1fr;gap:6px;}
  .dc-contact-panel{padding:28px 20px;grid-template-columns:1fr;gap:22px;}
}
