/* ===== Questionnaire update: deadlines, contact actions, credentials, legal ===== */

.center{text-align:center}

/* Deadline reminders */
.dl-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:34px}
.chip-f{font:inherit;font-weight:700;font-size:.9rem;padding:10px 20px;border-radius:999px;border:2px solid #d9c8ea;background:#fff;color:var(--purple-600);cursor:pointer;transition:all .2s}
.chip-f:hover{border-color:var(--purple-500);transform:translateY(-2px)}
.chip-f.on{background:var(--purple-600);border-color:var(--purple-600);color:#fff}
.dl-list{list-style:none;display:grid;gap:14px;max-width:820px;margin:0 auto 18px}
.dl{display:grid;grid-template-columns:84px 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid #e9def3;border-radius:20px;padding:16px 20px 16px 16px;transition:transform .25s,box-shadow .25s,border-color .25s;animation:pop .45s both}
.dl:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--lav)}
.dl.soon{border-color:var(--purple-500);box-shadow:0 0 0 3px rgba(106,53,160,.12)}
.dl-date{width:84px;border-radius:16px;overflow:hidden;text-align:center;background:linear-gradient(160deg,var(--purple-600),var(--purple-800));color:#fff;line-height:1}
.dl-date small{display:block;padding:7px 0;font-weight:800;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(0,0,0,.2)}
.dl-date b{display:block;font-family:'Fraunces',serif;font-size:2rem;padding:8px 0 2px}
.dl-date i{display:block;font-style:normal;font-size:.72rem;opacity:.75;padding-bottom:8px}
.dl h3{font-size:1.18rem;margin-bottom:4px}
.dl p{color:var(--muted);font-size:.9rem}
.dl .when{display:inline-block;margin-top:8px;padding:4px 12px;border-radius:99px;background:#f1e8fa;color:var(--purple-600);font-weight:800;font-size:.78rem}
.dl.soon .when{background:var(--purple-600);color:#fff}
.dl .btn{padding:10px 18px;font-size:.84rem;white-space:nowrap}
.dl-empty{text-align:center;color:var(--muted);padding:30px}

/* Credentials */
.cred{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:22px 0 14px}
.cred li{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;font-weight:700;font-size:.86rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25)}
.cred li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241037' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/70% no-repeat;flex:none}
.works-with{font-size:.85rem;opacity:.75}

/* Contact actions */
.acts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 22px}
.act{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);text-decoration:none;font-weight:700;transition:transform .2s,background .2s,border-color .2s}
.act:hover{transform:translateY(-3px);background:rgba(255,255,255,.16);border-color:var(--gold)}
.act.primary{grid-column:1/-1;background:var(--gold);color:var(--purple-900);border-color:transparent;justify-content:center;font-size:1.05rem;padding:18px}
.act.primary:hover{background:#dcbcf9}
.act .ic{width:40px;height:40px;border-radius:12px}
.act.primary .ic{background:rgba(36,16,55,.12);color:var(--purple-900)}
.act small{display:block;font-weight:500;opacity:.75;font-size:.8rem}
.hours{list-style:none;display:grid;gap:8px;font-size:.95rem;opacity:.92}
.hours li{display:flex;gap:10px}
.hours b{min-width:92px;color:var(--lav)}
.form h3{font-size:1.4rem}

/* Legal */
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:18px;font-size:.78rem;line-height:1.6;color:#a99bbb}

@media (max-width:1100px){
  .links{gap:16px}
  .links a:not(.btn){font-size:.88rem}
}
@media (max-width:640px){
  .dl{grid-template-columns:70px 1fr;gap:14px}
  .dl-date{width:70px}
  .dl .btn{grid-column:1/-1;justify-content:center}
  .acts{grid-template-columns:1fr}
}

/* Floating hero badges: sit in front of the chart card, on its edges */
.hero-visual{position:relative}
.float-chip{z-index:3}
.float-chip.c1{top:-24px;left:-20px}
.float-chip.c2{bottom:-22px;right:-12px}
