/* CDOI - Formulaire d'inscription (v5, palette navy/teal, police Inter) */
#cdoi-form{
  --navy:#0B3B60; --navy-dark:#08324F; --teal:#0FA88A; --teal-dark:#0C7A66; --teal-light:#EAFBF6;
  --cream:#F7F4EC; --paper:#FFFEFB; --ink:#12201C; --ink-soft:#5B6B67; --line:#E1E6E4;
}

.cdoi-hero-eb {
	background: linear-gradient(120deg, #0B3B60 0%, #08324F 55%, #0C7A66 145%);
	padding: 56px 32px 100px;
	text-align: center;
	font-family: 'Inter', sans-serif;
	position: relative;
	overflow: hidden;
	margin-top: -30px;
}
.cdoi-hero-eb::before {
	content: "";
	position: absolute;
	top: -80px;
	right: -60px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(15,168,138,0.35) 0%, rgba(15,168,138,0) 70%);
	pointer-events: none;
}
.cdoi-hero-eb-inner {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
}
.cdoi-hero-eb-eyebrow {
	font-family: 'Space Mono', monospace;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8FC7B8;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 16px;
}
.cdoi-hero-eb h1 {
	font-size: 27px;
	font-weight: 700;
	color: #fff;
	line-height: 1.35;
	margin: 0 0 16px;
}
.cdoi-hero-eb-sub {
	font-size: 14.5px;
	color: #C4D9E6;
	line-height: 1.5;
	margin: 0;
}

/* Superposition : la carte du formulaire et l'encart tarifs remontent tous les
 * deux sur le bas du bandeau Early Bird, du même montant, pour rester alignés. */
.cdoi-hero-overlap {
	position: relative;
	margin-top: -64px !important;
	z-index: 2;
}
@media (max-width: 700px) {
	.cdoi-hero-overlap { margin-top: -40px !important; }
}

.cdoi-card{
  width:100%;box-sizing:border-box;margin:2rem 0;background:var(--paper);border-radius:14px;
  border:1px solid var(--line);padding:34px;box-shadow:0 24px 60px rgba(11,59,96,0.18);
  font-family:'Inter',sans-serif;color:var(--ink);
}

.cdoi-eyebrow{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:0.08em;font-size:11px;font-weight:700;color:#7A8B87;margin:0 0 8px;}
.cdoi-h1{font-family:'Inter',sans-serif;font-size:20px;font-weight:700;margin:0 0 4px;color:var(--navy);}
.cdoi-step-sub{font-size:12.5px;color:var(--ink-soft);margin:0 0 6px;}

.cdoi-progress{display:flex;gap:5px;margin-bottom:8px;}
.cdoi-seg{flex:1;height:4px;border-radius:2px;background:var(--line);}
.cdoi-seg.done{background:var(--teal);}

.cdoi-step-names{display:flex;justify-content:space-between;font-size:9.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-weight:600;margin-bottom:26px;}
.cdoi-step-names span.current{color:var(--teal-dark);}

.cdoi-step{display:none;}
.cdoi-step.active{display:block;}

.cdoi-step-title{font-size:12.5px;color:var(--ink-soft);font-weight:600;margin:0 0 4px;}

.cdoi-status-row{display:flex;gap:10px;margin-bottom:8px;}
.cdoi-status-btn{
  flex:1;padding:16px 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);
  font-size:14px;font-weight:600;cursor:pointer;color:var(--ink);position:relative;transition:all .15s;
}
.cdoi-status-btn.active{border-color:var(--teal);background:var(--teal-light);color:var(--teal-dark);}
.cdoi-status-btn.active::after{
  content:"\2713";position:absolute;top:8px;right:10px;width:18px;height:18px;border-radius:50%;
  background:var(--teal);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;
}

.cdoi-ticket{border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.cdoi-ticket-feat{border:2px solid var(--teal);}
.cdoi-t-name{font-weight:600;font-size:14.5px;margin:0 0 2px;color:var(--ink);}
.cdoi-t-price{font-size:12.5px;color:var(--ink-soft);margin:0;}

.cdoi-stepper{display:flex;align-items:center;gap:10px;}
.cdoi-qty-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--line);background:var(--paper);font-size:15px;cursor:pointer;line-height:1;color:var(--ink);}
.cdoi-qty-btn:hover{background:var(--cream);}
.cdoi-qty-value{min-width:16px;text-align:center;font-size:14px;display:inline-block;}

.cdoi-field.cdoi-justificatif-field{background:var(--cream);border-radius:8px;padding:14px 16px;margin-bottom:16px;}
.cdoi-justificatif-field label{font-size:12.5px;color:var(--ink-soft);display:block;margin-bottom:6px;font-weight:500;}
.cdoi-justificatif-field input[type="file"]{width:100%;font-size:13px;}
.cdoi-hint{font-size:11.5px;color:var(--ink-soft);margin:6px 0 0;}

.cdoi-conf-box{border:2px solid var(--teal);border-radius:10px;padding:16px;}
.cdoi-conf-sub{font-size:12.5px;color:var(--ink-soft);margin:0 0 12px;}
.cdoi-conf-scroll{max-height:280px;overflow-y:auto;border-top:1px solid var(--line);padding-top:10px;}
.cdoi-day-label{font-size:11px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 6px;}
.cdoi-cbrow{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;padding:5px 0;cursor:pointer;line-height:1.4;color:var(--ink);}
.cdoi-cbrow input{margin-top:2px;flex-shrink:0;}
.cdoi-conf-count{font-size:12px;color:var(--ink-soft);margin:10px 0 0;}

#cdoi-form label{font-size:12.5px;color:var(--ink-soft);display:block;margin-bottom:8px;font-weight:600;}
#cdoi-form input[type="text"],
#cdoi-form input[type="email"],
#cdoi-form input[type="tel"]{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;
  font-family:'Inter',sans-serif;font-size:14px;margin-bottom:14px;background:var(--paper);
  color:var(--ink);box-sizing:border-box;
}
#cdoi-form input[type="text"]:focus,
#cdoi-form input[type="email"]:focus,
#cdoi-form input[type="tel"]:focus{outline:none;border-color:var(--teal);}
#cdoi-form input[type="checkbox"]{width:auto;margin:0;flex-shrink:0;}

.cdoi-pay-row{display:flex;gap:10px;margin-bottom:6px;}
.cdoi-pay-btn{flex:1;padding:14px 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);font-size:14px;font-weight:600;cursor:pointer;color:var(--ink);position:relative;transition:all .15s;}
.cdoi-pay-btn.active{border-color:var(--teal);background:var(--teal-light);color:var(--teal-dark);}
.cdoi-pay-btn.active::after{
  content:"\2713";position:absolute;top:6px;right:8px;width:16px;height:16px;border-radius:50%;
  background:var(--teal);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;
}
.cdoi-pay-btn:disabled{opacity:0.4;cursor:not-allowed;}

.cdoi-recap{background:var(--cream);border-radius:8px;padding:14px 16px;margin:16px 0;}
.cdoi-recap p{font-size:13px;margin:0 0 4px;color:var(--ink-soft);}
.cdoi-recap b{color:var(--ink);}

.cdoi-summary-line{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;color:var(--ink-soft);}

.cdoi-total-row{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border-radius:10px;padding:14px 18px;margin:16px 0 4px;}
.cdoi-total-row span:first-child{font-size:12.5px;color:var(--ink-soft);}
.cdoi-total-row span:last-child{font-family:'Inter',sans-serif;font-size:18px;font-weight:800;color:var(--navy);}

.cdoi-error{background:#FBEAE7;color:#8A2E22;border-radius:8px;padding:0.75rem 1rem;margin:16px 0;font-size:0.85rem;}

.cdoi-nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:26px;}
.cdoi-btn-back{background:none;border:1px solid var(--line);color:var(--ink-soft);padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;}
.cdoi-btn-back[style*="hidden"]{visibility:hidden;}
.cdoi-btn-next{flex:1;background:var(--navy);color:#fff;border:none;padding:13px 20px;border-radius:8px;font-size:14.5px;font-weight:600;cursor:pointer;transition:background .15s;}
.cdoi-btn-next:hover{background:var(--navy-dark);}
.cdoi-btn-next:disabled{opacity:0.6;cursor:not-allowed;}

.cdoi-confirm-box{text-align:center;padding:20px 0;}
.cdoi-confirm-box .cdoi-check{width:56px;height:56px;border-radius:50%;background:var(--teal-light);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:26px;color:var(--teal-dark);}
.cdoi-confirm-box h2{font-family:'Inter',sans-serif;font-weight:700;font-size:19px;margin:0 0 8px;color:var(--navy);}
.cdoi-confirm-box p{font-size:13.5px;color:var(--ink-soft);}

.cdoi-result {
	max-width: 520px;
	margin: 2rem auto;
	text-align: center;
	padding: 2rem;
	border-radius: 12px;
	font-family:'Inter',sans-serif;
}
.cdoi-result-success { background: #EAFBF6; }
.cdoi-result-pending { background: #fff7e6; }
.cdoi-result-failed  { background: #fdecea; }
