/* ================================================================
   CARTE DU CIEL v2 — Design Premium Charlymedim
   Palette nuit + teal + or | Textes grands et lisibles
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Raleway:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

:root {
    --bg:      #0b1622;
    --card:    rgba(11,22,36,0.9);
    --border:  rgba(91,188,212,0.2);
    --bord2:   rgba(201,164,82,0.35);
    --teal:    #5bbcd4;
    --tdim:    #3a8fa8;
    --gold:    #c9a452;
    --glight:  #e2c06a;
    --txt:     #c8dce8;
    --tdark:   #6080a0;
    --tlight:  #eef4f8;
    --r:       16px;
    --shadow:  0 12px 60px rgba(0,0,0,0.6);
}

/* ── Base ── */
.cdc-app *, .cdc-app *::before, .cdc-app *::after { box-sizing:border-box; margin:0; padding:0; }

.cdc-app {
    position:relative;
    max-width:960px;
    margin:0 auto;
    padding:0 20px 80px;
    font-family:'Raleway',sans-serif;
    font-size:17px;          /* BASE 17px — was 14 */
    color:var(--txt);
    min-height:700px;
    background:transparent;
    overflow:visible;
}

/* Starfield fixed */
.cdc-starfield {
    position:fixed; inset:0;
    width:100vw; height:100vh;
    pointer-events:none; z-index:0; opacity:.55;
}

/* Steps */
.cdc-step { display:none; position:relative; z-index:1; }
.cdc-step.active {
    display:block;
    animation:cdcIn .5s cubic-bezier(.22,.68,0,1.2) both;
}
@keyframes cdcIn {
    from { opacity:0; transform:translateY(22px) scale(.98); }
    to   { opacity:1; transform:none; }
}

/* ═══════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════ */
.cdc-hero { text-align:center; padding:64px 20px 52px; }

.cdc-orn {
    display:flex; align-items:center; justify-content:center;
    gap:14px; margin-bottom:28px;
}
.cdc-orn span {
    display:block; width:60px; height:1px;
    background:linear-gradient(to right,transparent,var(--teal));
}
.cdc-orn span:last-child { background:linear-gradient(to left,transparent,var(--teal)); }
.cdc-orn em { color:var(--teal); font-size:16px; font-style:normal; }

.cdc-hero h1 {
    font-family:'Cinzel',serif;
    font-size:clamp(42px,8vw,68px);
    font-weight:500; letter-spacing:3px; line-height:1.05;
    background:linear-gradient(155deg,#eef4f8 20%,var(--teal) 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    margin-bottom:16px;
}
.cdc-tagline {
    font-size:15px; font-weight:300; letter-spacing:3.5px;
    text-transform:uppercase; color:var(--tdim); margin-bottom:36px;
}
.cdc-hero-desc {
    max-width:620px; margin:0 auto 44px;
    padding:26px 32px;
    background:rgba(11,22,36,.78);
    border:1px solid var(--border);
    border-radius:14px; backdrop-filter:blur(10px);
}
.cdc-hero-desc p { font-size:16px; line-height:2; font-weight:300; color:var(--txt); }
.cdc-hero-desc strong { color:var(--tlight); font-weight:600; }
.cdc-hero-desc em { font-style:normal; color:var(--teal); font-weight:500; }

/* Trio pills */
.cdc-trio-pills {
    display:grid; grid-template-columns:1fr 1.1fr 1fr;
    gap:12px; max-width:560px; margin:0 auto;
}
@media(max-width:500px){ .cdc-trio-pills{ grid-template-columns:1fr; max-width:280px; } }
.cdc-pill {
    display:flex; align-items:center; gap:14px;
    padding:16px 18px;
    background:rgba(11,22,36,.85);
    border:1px solid var(--border);
    border-radius:12px; backdrop-filter:blur(8px);
    transition:border-color .25s, transform .2s;
}
.cdc-pill:hover { border-color:var(--teal); transform:translateY(-2px); }
.cdc-pill.feat { border-color:rgba(201,164,82,.45); background:rgba(18,12,30,.9); }
.cdc-pill .pi { font-size:22px; color:var(--teal); flex-shrink:0; width:28px; text-align:center; }
.cdc-pill.feat .pi { color:var(--gold); }
.cdc-pill div { display:flex; flex-direction:column; gap:3px; }
.cdc-pill strong { font-family:'Cinzel',serif; font-size:13px; font-weight:500; color:var(--tlight); }
.cdc-pill small { font-size:12px; color:var(--tdark); font-weight:300; }

/* ═══════════════════════════════════════════════════
   CARD
═══════════════════════════════════════════════════ */
.cdc-card {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--r);
    padding:40px;
    margin-bottom:16px;
    box-shadow:var(--shadow), 0 0 40px rgba(91,188,212,.08);
    backdrop-filter:blur(14px);
}
.cdc-card-title {
    text-align:center;
    font-family:'Cinzel',serif;
    font-size:12px; letter-spacing:5px;
    color:var(--teal);
    margin-bottom:28px;
}

/* ═══════════════════════════════════════════════════
   FORM
═══════════════════════════════════════════════════ */
.cdc-form-card { padding:44px 48px; }
@media(max-width:640px){ .cdc-form-card{ padding:28px 22px; } }

.cdc-fs { margin-bottom:38px; }
.cdc-fs-title {
    display:flex; align-items:center; gap:14px;
    font-family:'Cinzel',serif; font-size:12px; letter-spacing:2.5px;
    text-transform:uppercase; color:var(--teal);
    padding-bottom:14px; border-bottom:1px solid rgba(91,188,212,.1);
    margin-bottom:24px;
}
.nn {
    display:inline-flex; align-items:center; justify-content:center;
    width:26px; height:26px;
    border:1px solid rgba(91,188,212,.4); border-radius:50%;
    color:var(--tdim); font-size:11px; font-family:'Raleway',sans-serif; flex-shrink:0;
}

.cdc-row2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.cdc-row3 { display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:18px; }
.cdc-row1 { display:grid; grid-template-columns:1fr; }
.mt12 { margin-top:14px; }
@media(max-width:560px){ .cdc-row2,.cdc-row3{ grid-template-columns:1fr; } }

.cdc-fld { display:flex; flex-direction:column; gap:9px; position:relative; }
.cdc-fld label {
    font-size:12px; letter-spacing:2px; text-transform:uppercase;
    color:var(--tdark); font-weight:600;
}
.cdc-fld label small { font-size:11px; font-weight:300; text-transform:none; letter-spacing:0; color:rgba(96,128,160,.7); display:block; margin-top:2px; }

.cdc-fld input, .cdc-fld select {
    background:rgba(7,17,29,.85);
    border:1px solid rgba(91,188,212,.18);
    border-radius:10px;
    color:var(--tlight);
    font-family:'Raleway',sans-serif;
    font-size:17px;             /* WAS 15px */
    padding:14px 18px;
    outline:none;
    transition:border-color .25s, box-shadow .25s;
    width:100%; appearance:none;
}
.cdc-fld select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235bbcd4' fill='none' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 16px center; padding-right:40px;
}
.cdc-fld input:focus, .cdc-fld select:focus {
    border-color:var(--teal); box-shadow:0 0 0 3px rgba(91,188,212,.1);
    background:rgba(10,22,36,.95);
}
.cdc-fld input::placeholder { color:rgba(96,128,160,.4); }
.cdc-fld select option { background:#0f1e2e; color:var(--tlight); }
.cdc-fld input[type="time"]::-webkit-calendar-picker-indicator { filter:invert(.45) sepia(1) hue-rotate(160deg); opacity:.6; }

.cdc-city-wrap { position:relative; }
.cdc-suggestions {
    position:absolute; top:calc(100% + 4px); left:0; right:0;
    background:#0c1b2b; border:1px solid var(--border); border-radius:10px;
    z-index:300; max-height:240px; overflow-y:auto; display:none;
    box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.cdc-si {
    padding:13px 18px; font-size:16px; color:var(--txt); cursor:pointer;
    border-bottom:1px solid rgba(91,188,212,.05);
    transition:background .14s, color .14s;
}
.cdc-si:last-child { border-bottom:none; }
.cdc-si:hover { background:rgba(91,188,212,.1); color:var(--tlight); }

.cdc-geo-info {
    margin-top:10px; font-size:13px; color:var(--tdim); font-style:italic;
    padding:8px 14px; border-left:2px solid rgba(91,188,212,.3);
}

/* Consent */
.cdc-consent-wrap { margin:28px 0 24px; }
.cdc-chk-label {
    display:flex; align-items:center; gap:14px;
    cursor:pointer; font-size:16px; color:var(--tdark); user-select:none;
}
.cdc-chk-label input { display:none; }
.cdc-chk {
    width:22px; height:22px; flex-shrink:0;
    border:1px solid rgba(91,188,212,.35); border-radius:5px;
    display:flex; align-items:center; justify-content:center;
    transition:all .2s;
}
.cdc-chk-label input:checked + .cdc-chk { background:var(--teal); border-color:var(--teal); }
.cdc-chk-label input:checked + .cdc-chk::after { content:'✓'; color:#061018; font-size:12px; font-weight:700; }

.cdc-error {
    font-size:16px; color:#ff8080;
    padding:12px 18px;
    background:rgba(255,80,80,.07); border:1px solid rgba(255,80,80,.2);
    border-radius:8px; margin-bottom:18px; display:none;
}

/* CTA button */
.cdc-btn-main {
    position:relative; display:block; width:100%;
    padding:20px 32px;
    background:linear-gradient(135deg,var(--tdim) 0%,var(--teal) 50%,var(--tdim) 100%);
    background-size:200% auto;
    color:#05101a;
    font-family:'Cinzel',serif; font-size:16px; font-weight:600;
    letter-spacing:3px; text-transform:uppercase;
    border:none; border-radius:50px; cursor:pointer; overflow:hidden;
    transition:background-position .4s, transform .2s, box-shadow .3s;
    box-shadow:0 4px 24px rgba(91,188,212,.3);
}
.cdc-btn-main:hover { background-position:right center; transform:translateY(-2px); box-shadow:0 8px 36px rgba(91,188,212,.45); }
.cdc-btn-main:active { transform:none; }
.cdc-btn-main:disabled { opacity:.5; cursor:wait; transform:none; }
.cdc-btn-main .shine {
    position:absolute; top:-50%; left:-60%;
    width:40%; height:200%;
    background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);
    transform:skewX(-20deg); transition:left .6s;
}
.cdc-btn-main:hover .shine { left:120%; }

/* Chiron teaser home */
.cdc-chiron-home {
    display:flex; align-items:center; gap:20px;
    padding:28px 30px; margin-top:16px;
    background:rgba(11,22,36,.72);
    border:1px solid rgba(201,164,82,.14);
    border-radius:var(--r); backdrop-filter:blur(8px);
}
.chi-ico { font-size:32px; flex-shrink:0; }
.cdc-chiron-home strong { display:block; color:var(--gold); font-family:'Cinzel',serif; font-size:16px; margin-bottom:6px; }
.cdc-chiron-home p { font-size:15px; color:var(--tdark); line-height:1.7; }

/* ═══════════════════════════════════════════════════
   LOADING
═══════════════════════════════════════════════════ */
#cdc-step-loading.active {
    display:flex; align-items:center; justify-content:center; min-height:560px;
}
.cdc-load-inner { text-align:center; }
.cdc-orb-wrap { position:relative; width:168px; height:168px; margin:0 auto 34px; }
.cdc-orb-svg { width:168px; height:168px; }
.cdc-arc {
    stroke-dasharray:452; stroke-dashoffset:452;
    transform-origin:center; transform-box:fill-box;
    animation:arcAnim 2.2s ease-in-out infinite;
}
@keyframes arcAnim { 0%{stroke-dashoffset:452} 50%{stroke-dashoffset:0} 100%{stroke-dashoffset:-452} }
.cdc-orb-sym {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-size:34px; color:var(--teal); animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:.35;transform:scale(.87)} 50%{opacity:1;transform:scale(1.08)} }
#cdc-step-loading h2 { font-family:'Cinzel',serif; font-size:22px; font-weight:400; color:var(--tlight); margin-bottom:12px; }
#cdc-load-msg { font-size:16px; color:var(--tdark); font-style:italic; min-height:24px; margin-bottom:28px; transition:opacity .3s; }
.cdc-load-steps { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.ls {
    font-size:13px; padding:6px 18px; border-radius:20px;
    border:1px solid rgba(91,188,212,.14); color:var(--tdark); transition:all .4s;
}
.ls.active { background:rgba(91,188,212,.1); border-color:var(--teal); color:var(--teal); }
.ls.done   { background:rgba(68,187,68,.08); border-color:rgba(68,187,68,.35); color:#88ee88; }

/* ═══════════════════════════════════════════════════
   RESULT HEADER
═══════════════════════════════════════════════════ */
.cdc-res-header { text-align:center; padding:52px 20px 32px; }
.cdc-eyebrow { color:var(--teal); font-size:11px; letter-spacing:5px; font-family:'Cinzel',serif; text-transform:uppercase; margin-bottom:14px; }
.cdc-res-header h2 {
    font-family:'Cinzel',serif;
    font-size:clamp(28px,6vw,48px); font-weight:500;
    background:linear-gradient(135deg,var(--tlight),var(--teal));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    margin-bottom:8px;
}
.cdc-res-date { font-size:14px; color:var(--tdark); letter-spacing:1px; }

/* Big 3 */
.cdc-big3 { display:grid; grid-template-columns:1fr 1.12fr 1fr; gap:12px; margin-bottom:16px; }
@media(max-width:480px){ .cdc-big3{ grid-template-columns:1fr 1fr 1fr; } }
.cdc-b3-card {
    background:var(--card); border:1px solid var(--border);
    border-radius:14px; padding:24px 12px; text-align:center;
    backdrop-filter:blur(8px); transition:transform .2s, border-color .25s;
}
.cdc-b3-card:hover { transform:translateY(-3px); border-color:var(--teal); }
.cdc-b3-card.feat { border-color:rgba(201,164,82,.45); background:rgba(18,12,30,.92); }
.b3-ico { font-size:24px; color:var(--teal); margin-bottom:8px; }
.cdc-b3-card.feat .b3-ico { color:var(--gold); }
.b3-lbl { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--tdark); margin-bottom:10px; }
.b3-sign { font-family:'Cinzel',serif; font-size:clamp(14px,2.5vw,20px); color:var(--tlight); margin-bottom:5px; }
.b3-deg { font-size:13px; color:rgba(91,188,212,.5); }
.cdc-b3-card.feat .b3-deg { color:rgba(201,164,82,.5); }

/* Chart + Table layout */
.cdc-chart-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:16px; margin-bottom:16px; }
@media(max-width:760px){ .cdc-chart-layout{ grid-template-columns:1fr; } }

.cdc-chart-card { padding:32px 22px; display:flex; flex-direction:column; align-items:center; }
#cdc-chart-container { width:100%; max-width:420px; }
.cdc-natal-svg { width:100%; height:auto; filter:drop-shadow(0 4px 28px rgba(91,188,212,.12)); }

/* Planet table */
.cdc-table-card { padding:28px 24px; overflow-x:auto; }
.cdc-pl-table { width:100%; border-collapse:collapse; font-size:15px; }
.cdc-pl-table thead th {
    text-align:left; padding:10px 12px;
    font-size:11px; letter-spacing:2px; text-transform:uppercase;
    color:var(--tdark); border-bottom:1px solid rgba(91,188,212,.15);
}
.cdc-pl-table tbody td { padding:11px 12px; border-bottom:1px solid rgba(91,188,212,.06); vertical-align:middle; }
.cdc-pl-table tbody tr:hover td { background:rgba(91,188,212,.04); }
.cdc-pl-table tbody tr:last-child td { border-bottom:none; }

.sign-pill {
    display:inline-block;
    background:rgba(255,255,255,.05);
    border:1px solid var(--elclr, #888);
    color:var(--tlight);
    border-radius:20px; padding:3px 12px;
    font-size:14px; font-family:'Cinzel',serif;
}
.deg-cell { font-family:monospace; font-size:15px; color:var(--tdark); }
.el-badge {
    display:inline-block; padding:3px 10px; border-radius:20px;
    font-size:12px; letter-spacing:1px;
}
.el-feu    { background:rgba(232,96,64,.12); color:#e86040; border:1px solid rgba(232,96,64,.3); }
.el-terre  { background:rgba(140,168,96,.12); color:#8ca860; border:1px solid rgba(140,168,96,.3); }
.el-air    { background:rgba(192,160,216,.12); color:#c0a0d8; border:1px solid rgba(192,160,216,.3); }
.el-eau    { background:rgba(112,200,200,.12); color:#70c8c8; border:1px solid rgba(112,200,200,.3); }

/* Resume */
.cdc-resume-card {
    padding:36px 48px;
    background:rgba(9,18,30,.92);
    position:relative; overflow:hidden;
}
.cdc-resume-card::before {
    content:'"'; position:absolute; top:-20px; left:16px;
    font-family:'Cinzel',serif; font-size:130px;
    color:rgba(91,188,212,.04); line-height:1; pointer-events:none;
}
.cdc-resume-text { font-size:17px; line-height:2.1; color:var(--txt); font-style:italic; font-weight:300; text-align:center; }
@media(max-width:640px){ .cdc-resume-card{ padding:28px 24px; } }

/* Planet interp grid */
.cdc-pl-interp-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
@media(max-width:620px){ .cdc-pl-interp-grid{ grid-template-columns:1fr; } }
.cdc-pi-card {
    background:var(--card); border:1px solid var(--border);
    border-radius:12px; padding:22px 24px;
    backdrop-filter:blur(8px); transition:border-color .25s, transform .2s;
}
.cdc-pi-card:hover { border-color:rgba(91,188,212,.38); transform:translateY(-2px); }
.pi-head { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; }
.pi-ico { font-size:20px; flex-shrink:0; line-height:1; margin-top:2px; }
.pi-title { font-size:15px; font-weight:600; color:var(--tlight); line-height:1.4; }
.pi-text  { font-size:15px; line-height:1.8; color:var(--tdark); }

/* Aspects */
.cdc-aspects-card { padding:32px 36px; }
.cdc-aspects-list { display:flex; flex-direction:column; gap:8px; }
.asp-item {
    display:flex; align-items:center; gap:14px;
    padding:12px 16px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(91,188,212,.07);
    border-radius:8px; font-size:15px;
    transition:background .15s;
}
.asp-item:hover { background:rgba(91,188,212,.05); }
.asp-sym { font-size:18px; flex-shrink:0; width:26px; text-align:center; }
.asp-name { color:var(--tdark); font-size:14px; min-width:90px; }
.asp-planets { flex:1; color:var(--txt); }
.asp-orb { color:var(--tdark); font-size:13px; font-family:monospace; }

/* Chiron block */
.cdc-chiron-block {
    position:relative;
    background:linear-gradient(160deg,#130820 0%,#091520 100%);
    border:1px solid var(--gold); border-radius:var(--r);
    margin-bottom:16px; overflow:hidden;
    box-shadow:0 12px 60px rgba(201,164,82,.1);
}
.cdc-ch-stars {
    position:absolute; inset:0;
    background-image:radial-gradient(circle,rgba(201,164,82,.2) 1px,transparent 1px),radial-gradient(circle,rgba(201,164,82,.1) 1px,transparent 1px);
    background-size:70px 70px,35px 35px; background-position:0 0,17px 17px;
    opacity:.35; pointer-events:none;
}
.cdc-ch-inner {
    position:relative; z-index:1; text-align:center;
    padding:52px 40px 46px;
}
@media(max-width:640px){ .cdc-ch-inner{ padding:36px 22px; } }
.cdc-ch-badge {
    display:inline-block;
    background:rgba(201,164,82,.08); border:1px solid rgba(201,164,82,.3);
    color:var(--gold); font-family:'Cinzel',serif; font-size:11px;
    letter-spacing:4px; padding:8px 24px; border-radius:30px;
    margin-bottom:22px; text-transform:uppercase;
}
.cdc-ch-sign { font-family:'Cinzel',serif; font-size:14px; letter-spacing:2px; color:var(--gold); margin-bottom:16px; text-transform:uppercase; }
.cdc-ch-question {
    font-family:'Cinzel',serif;
    font-size:clamp(24px,5vw,36px); font-weight:500;
    color:var(--tlight); line-height:1.2; margin-bottom:22px;
}
.cdc-ch-teaser { font-size:17px; line-height:1.95; color:var(--txt); font-style:italic; font-weight:300; max-width:560px; margin:0 auto 24px; }
.cdc-ch-bullets { margin:0 auto 28px; max-width:440px; }
.cdc-ch-bullets p { font-size:16px; color:var(--tdark); padding:8px 0; border-bottom:1px solid rgba(201,164,82,.08); }
.cdc-ch-bullets p:last-child { border-bottom:none; }


.cdc-btn-blessure {
    display:inline-flex; align-items:center; gap:16px;
    padding:18px 42px;
    background:linear-gradient(135deg,var(--gold) 0%,var(--glight) 50%,var(--gold) 100%);
    background-size:200% auto;
    color:#07060e;
    font-family:'Cinzel',serif; font-size:15px; font-weight:600;
    text-decoration:none; border-radius:50px; letter-spacing:1.5px;
    transition:background-position .4s, transform .2s, box-shadow .3s;
    box-shadow:0 4px 28px rgba(201,164,82,.32);
    margin-bottom:16px;
}
.cdc-btn-blessure:hover {
    background-position:right center; transform:translateY(-2px);
    box-shadow:0 10px 40px rgba(201,164,82,.5);
    color:#07060e; text-decoration:none;
}
.price-badge {
    background:rgba(7,6,14,.22); border:1px solid rgba(7,6,14,.2);
    border-radius:20px; padding:4px 14px; font-size:14px; font-weight:700;
}
.cdc-bl-desc { font-size:13px; color:var(--tdark); letter-spacing:.5px; }

/* Email sent */
.cdc-email-sent {
    display:flex; align-items:center; gap:18px;
    padding:20px 26px;
    background:rgba(68,187,68,.07); border:1px solid rgba(68,187,68,.2);
    border-radius:10px; margin-bottom:16px; font-size:16px;
}
.cdc-email-sent span { font-size:24px; flex-shrink:0; }
.cdc-email-sent p { color:#88ee88; }
.cdc-email-sent strong { display:block; color:#aaffaa; font-size:17px; margin-top:3px; }

.cdc-btn-new {
    display:block; width:100%; max-width:260px; margin:0 auto 20px;
    padding:14px 28px; background:transparent;
    border:1px solid rgba(91,188,212,.22); border-radius:50px;
    color:var(--tdark); font-family:'Raleway',sans-serif; font-size:16px; letter-spacing:1px;
    cursor:pointer; transition:all .25s;
}
.cdc-btn-new:hover { border-color:var(--teal); color:var(--teal); background:rgba(91,188,212,.05); }

/* Timezone hint */
.cdc-tz-hint {
    margin-top:6px;
    font-size:12px;
    color:var(--gold);
    padding:5px 10px;
    background:rgba(201,164,82,.07);
    border-left:2px solid rgba(201,164,82,.4);
    border-radius:0 4px 4px 0;
}

/* ── Bloc date unifié ──────────────────────────────────────── */
.cdc-date-bloc {
    display: flex;
    align-items: flex-end;
    gap: 0;
    background: rgba(7,17,29,.85);
    border: 1px solid rgba(91,188,212,.22);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s;
}
.cdc-date-bloc:focus-within {
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(91,188,212,.1);
}
.cdc-date-part {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.cdc-date-part.cdc-date-mois { flex: 2; }
.cdc-date-part.cdc-date-annee { flex: 1.4; }
.cdc-date-sep {
    display: flex;
    align-items: center;
    padding: 0 2px;
    padding-bottom: 14px;
    color: rgba(91,188,212,.4);
    font-size: 18px;
    font-weight: 300;
    flex-shrink: 0;
    user-select: none;
}
.cdc-date-part label {
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--tdark);
    font-weight: 600;
    padding: 12px 16px 4px;
}
.cdc-date-part input,
.cdc-date-part select {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 8px 16px 14px !important;
    font-size: 16px;
    color: var(--tlight);
    font-family: 'Raleway', sans-serif;
    width: 100%;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
/* Dropdown options — fond sombre (Firefox/Chrome supportent color/background sur option) */
.cdc-date-part select option {
    background: #0d1e30;
    color: var(--tlight);
}
.cdc-date-part select {
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235bbcd4' fill='none' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 30px !important;
    color-scheme: dark;  /* Force dark scrollbar + dropdown sur Chromium */
}
.cdc-date-part + .cdc-date-sep + .cdc-date-part {
    border-left: 1px solid rgba(91,188,212,.1);
}
/* dividers between parts */
.cdc-date-sep { border-left: 1px solid rgba(91,188,212,.08); border-right: 1px solid rgba(91,188,212,.08); padding: 0 6px; padding-bottom: 12px; }

/* ── Bouton télécharger la carte ─────────────────────────── */
.cdc-btn-dl {
    display: block;
    margin: 18px auto 0;
    padding: 11px 28px;
    background: transparent;
    border: 1px solid rgba(91,188,212,.35);
    border-radius: 30px;
    color: var(--teal);
    font-family: 'Raleway', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all .25s;
}
.cdc-btn-dl:hover {
    background: rgba(91,188,212,.1);
    border-color: var(--teal);
    transform: translateY(-1px);
}

/* ── Heure / Lieu layout ────────────────────────────────── */
.cdc-heure-lieu-row {
    display: grid;
    grid-template-columns: 2fr 5fr;   /* heure ~29%, lieu ~71% */
    gap: 16px;
    align-items: start;
}
@media(max-width: 560px) {
    .cdc-heure-lieu-row { grid-template-columns: 1fr; }
}
.cdc-field-note {
    margin: 6px 0 0;
    font-size: 12px;
    color: rgba(91,188,212,.6);
    font-style: italic;
    letter-spacing: .3px;
}

/* ── Chiron masqué (contenu payant) ── */
.cdc-locked-cell {
    filter: blur(4px);
    user-select: none;
    opacity: .7;
    letter-spacing: 2px;
    cursor: not-allowed;
}
.cdc-locked-inline {
    display: inline-block;
    filter: blur(4px);
    user-select: none;
    opacity: .75;
    letter-spacing: 1px;
    cursor: not-allowed;
}
