/* Caracara — Bon Cadeau composer (self-contained; falls back gracefully if the
   theme already defines these tokens/classes). */
:root{
	--bg:#F5EFE6;--cream-1:#FAF6EE;--cream-2:#EFE7DA;--ink-1:#241C16;--ink-2:#5A4A40;--ink-3:#8A7867;
	--terracotta:#B5562F;--accent-deep:#7A2E17;--gold:#B89968;
	--display:'Fraunces',serif;--body:'Inter',sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
	--max:1320px;--pad:clamp(20px,4vw,64px);
}

.cc-bc.cadeau-stage{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:start;}
.cc-bc .cadeau-card{position:sticky;top:96px;background:linear-gradient(140deg,var(--ink-1) 0%,var(--accent-deep) 100%);color:var(--cream-1);padding:40px 36px 32px;border-radius:8px;overflow:hidden;box-shadow:0 20px 60px -20px rgba(0,0,0,.35);}
.cc-bc .cadeau-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--terracotta) 35%,transparent),transparent 45%),radial-gradient(circle at 88% 92%,color-mix(in srgb,var(--gold) 25%,transparent),transparent 50%);pointer-events:none;}
.cc-bc .cc-top{display:flex;justify-content:space-between;align-items:baseline;position:relative;}
.cc-bc .cc-mark{font-family:var(--display);font-style:italic;font-size:26px;color:var(--terracotta);}
.cc-bc .cc-mono{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--cream-1) 60%,transparent);}
.cc-bc .cc-recipients{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end;margin:28px 0 32px;padding-bottom:24px;border-bottom:1px solid color-mix(in srgb,var(--cream-1) 18%,transparent);}
.cc-bc .cc-arrow{font-family:var(--display);font-style:italic;font-size:28px;color:var(--terracotta);padding-bottom:4px;}
.cc-bc .cc-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--cream-1) 55%,transparent);margin-bottom:6px;}
.cc-bc .cc-val{font-family:var(--display);font-size:22px;font-weight:400;font-style:italic;line-height:1.2;}
.cc-bc .cc-soin{position:relative;text-align:center;padding:8px 0 4px;}
.cc-bc .cc-soin-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--terracotta);margin-bottom:14px;}
.cc-bc .cc-soin-name{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(28px,3.6vw,40px);line-height:1.15;text-wrap:balance;}
.cc-bc .cc-soin-meta{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--cream-1) 70%,transparent);display:inline-flex;align-items:center;gap:10px;}
.cc-bc .cc-soin-meta .cc-dot{color:var(--terracotta);}
.cc-bc .cc-msg{font-style:italic;font-family:var(--display);font-size:16px;margin:22px 0 0;padding:14px 18px;background:color-mix(in srgb,var(--cream-1) 8%,transparent);border-left:2px solid var(--terracotta);color:color-mix(in srgb,var(--cream-1) 88%,transparent);position:relative;}
.cc-bc .cc-foot{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--cream-1) 55%,transparent);margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--cream-1) 14%,transparent);position:relative;}

.cc-bc .cadeau-form{padding:8px 0;}
.cc-bc .cadeau-form h3{font-family:var(--display);font-weight:400;font-size:28px;margin:0 0 28px;}
.cc-bc .fld{display:block;margin-bottom:22px;}
.cc-bc .fld>span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;}
.cc-bc .fld input,.cc-bc .fld textarea,.cc-bc .soin-select,.cc-bc .fld select{width:100%;padding:14px 16px;background:var(--cream-1);border:1px solid color-mix(in srgb,var(--ink-1) 12%,transparent);border-radius:4px;font-family:var(--body);font-size:15px;color:var(--ink-1);resize:vertical;}
.cc-bc .fld input:focus,.cc-bc .fld textarea:focus,.cc-bc .soin-select:focus{outline:none;border-color:var(--terracotta);}
.cc-bc .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cc-bc .form-note{margin-top:14px;font-size:13px;color:var(--ink-3);text-align:center;}
.cc-bc-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}

.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--terracotta);color:var(--cream-1);padding:14px 22px;border-radius:100px;text-decoration:none;font-size:14px;border:none;cursor:pointer;font-family:var(--body);transition:transform .2s,background .2s;}
.btn-primary:hover{transform:translateY(-1px);background:var(--accent-deep);}
.btn-primary.big{padding:16px 26px;font-size:15px;}
.btn-ghost{display:inline-flex;align-items:center;font-family:var(--mono);font-size:13px;text-decoration:none;color:var(--ink-1);padding:14px 0;border-bottom:1px solid var(--ink-1);letter-spacing:.04em;background:transparent;cursor:pointer;}

.cc-bc-confirm{max-width:var(--max);margin:0 auto 32px;padding:24px 28px;background:var(--sage-tint,#DDE1D5);border-left:3px solid var(--sage,#3F523F);border-radius:6px;}
.cc-bc-confirm-h{font-family:var(--display);font-size:22px;margin:0 0 8px;}
.cc-bc-confirm p{margin:0 0 14px;color:var(--ink-2);}
.cc-bc-error{max-width:var(--max);margin:0 auto 32px;padding:16px 20px;background:color-mix(in srgb,var(--terracotta) 14%,transparent);border-left:3px solid var(--terracotta);border-radius:6px;color:var(--accent-deep);}

@media (max-width:900px){
	.cc-bc.cadeau-stage{grid-template-columns:1fr;}
	.cc-bc .cadeau-card{position:relative;top:0;}
	.cc-bc .grid-2{grid-template-columns:1fr;}
}
