/* ============================================================================
   Carte cadeau The Chuppah — L'OBJET carte, partagé par 3 pages :
   /carte-cadeau (aperçu live), /carte-cadeau-merci (carte émise), /carte
   (consultation). Une seule source pour que la carte soit identique partout.
   Palette maison : encre #39322B, camel #A98862, mocha #8A6F52, ivoire.
   ============================================================================ */

.cc-carte{
  position:relative;
  width:100%;
  aspect-ratio:1.586;                       /* format carte, ISO 7810 */
  background:
    radial-gradient(120% 90% at 18% 0%, rgba(169,136,98,.075), transparent 55%),
    radial-gradient(130% 100% at 100% 100%, rgba(138,111,82,.06), transparent 50%),
    #FBF8F2;
  border-radius:14px;
  box-shadow:0 2px 6px rgba(57,50,43,.06), 0 30px 60px -28px rgba(57,50,43,.45);
  color:#39322B;
  overflow:hidden;
  container-type:inline-size;
}
/* double filet gravure : un cadre fin, puis un liseré intérieur plus clair */
.cc-carte::before{
  content:"";position:absolute;inset:10px;border:1px solid rgba(169,136,98,.55);
  border-radius:8px;pointer-events:none;
}
.cc-carte::after{
  content:"";position:absolute;inset:14px;border:1px solid rgba(169,136,98,.22);
  border-radius:5px;pointer-events:none;
}
.cc-in{
  position:absolute;inset:0;display:flex;flex-direction:column;
  padding:9.5% 10% 8.5%;
}
.cc-tete{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.cc-marque{font:600 5.2cqw/1 'Hanken Grotesk',sans-serif;letter-spacing:.34em;text-transform:uppercase}
.cc-marque i{font-style:normal;color:#8A6F52}
.cc-type{font:600 2.9cqw/1 'Hanken Grotesk',sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#8A6F52}
.cc-milieu{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.8cqw;min-height:0;overflow:hidden}
.cc-montant{flex:none;font:600 13.5cqw/1 'Fraunces',Georgia,serif;letter-spacing:.01em}
.cc-montant small{font-size:55%;font-weight:600}
/* libellé de formule (« L'Essentiel+ », « Signature ») : plus long qu'un
   montant → corps réduit pour tenir sur une ligne sans écraser le message */
.cc-montant.libelle{font-size:8.6cqw;line-height:1.08}
.cc-mots{flex:none;font:italic 400 3.9cqw/1.45 'Fraunces',Georgia,serif;color:#5D534B;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-pied{display:flex;flex-direction:column;gap:2cqw}
.cc-depour{font:400 3.4cqw/1.5 'Hanken Grotesk',sans-serif;color:#5D534B;min-width:0}
.cc-depour b{color:#39322B;font-weight:600}
.cc-depour span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-basline{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.cc-code{font:600 3.4cqw/1 'SF Mono',ui-monospace,Menlo,monospace;letter-spacing:.12em;
  color:#8A6F52;text-align:right;white-space:nowrap;margin-left:auto}
.cc-qr{width:16cqw;height:16cqw;flex:none;background:#fff;border:1px solid rgba(169,136,98,.35);
  border-radius:6px;padding:1.4cqw;line-height:0;display:none}
.cc-qr svg{width:100%;height:100%;display:block}
.cc-carte.avec-qr .cc-qr{display:block}
/* variante QR : plus d'éléments dans la même carte → tout se resserre pour
   que le libellé et le message tiennent (sinon le centre déborde et coupe) */
.cc-carte.avec-qr .cc-in{padding:7.5% 8.5% 7%}
.cc-carte.avec-qr .cc-milieu{gap:1.2cqw}
.cc-carte.avec-qr .cc-montant.libelle{font-size:7.2cqw}
.cc-carte.avec-qr .cc-mots{font-size:3.4cqw}
.cc-carte.avec-qr .cc-depour{font-size:3.1cqw;line-height:1.4}
.cc-carte.avec-qr .cc-qr{width:12.5cqw;height:12.5cqw}
.cc-carte.avec-qr .cc-pied{gap:1.2cqw}

/* solde entamé : le montant d'origine barré discrètement au-dessus du solde */
.cc-origine{font:400 3.4cqw/1 'Hanken Grotesk',sans-serif;color:#938A7E;text-decoration:line-through}

/* impression : la carte seule, plein cadre */
@media print{
  body.cc-print *{visibility:hidden}
  body.cc-print .cc-carte,body.cc-print .cc-carte *{visibility:visible}
  body.cc-print .cc-carte{position:fixed;left:50%;top:40mm;transform:translateX(-50%);
    width:150mm;box-shadow:none}
}
