
/* --- Layout base --- */
.ciae-macos{ text-align:left; --ciae-primary:#007aff; --ciae-primary-600:#0060df; --ciae-ring:rgba(0,122,255,.18); --ciae-border:#d0d7de; --ciae-muted:#6b7280; --ciae-bg:#ffffff;}
.ciae-macos *{ box-sizing:border-box; }
.ciae-logo{display:block;margin:8px auto 12px;max-width:none !important;height:auto !important}

/* Progress */
.ciae-progress-bar{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden;margin:18px auto 18px;max-width:980px}
.ciae-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--ciae-primary),#5aa8ff);width:0;transition:width .25s ease}

/* Card step */
.ciae-step{max-width:980px;margin:0 auto;background:var(--ciae-bg);border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 6px 20px rgba(16,24,40,.06);padding:22px 24px}
.ciae-step h2{font-size:30px;letter-spacing:.2px;margin:4px 0 18px}
.ciae-label{font-weight:600;display:block;margin:14px 0 8px}
.req{color:#d12b2b;font-weight:700}

/* Inputs */
.ciae-macos input,.ciae-macos select,.ciae-macos textarea{border:1.5px solid var(--ciae-border);border-radius:12px;padding:12px 14px;font-size:16px;width:100%;background:#fff;color:#111;transition:border-color .15s, box-shadow .15s}
.ciae-macos input:focus,.ciae-macos select:focus,.ciae-macos textarea:focus{outline:0;border-color:var(--ciae-primary);box-shadow:0 0 0 4px var(--ciae-ring)}

/* Options as segmented controls */
.ciae-options{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:6px 0 10px}
.ciae-radio{display:inline-flex;position:relative}
.ciae-radio input{position:absolute;opacity:0;inset:0;cursor:pointer}
.ciae-radio span{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1.5px solid var(--ciae-border);border-radius:999px;font-weight:600;color:#111;background:#fff;user-select:none;min-width:120px;text-align:center}
.ciae-radio input:checked + span{background:var(--ciae-primary);color:#fff;border-color:var(--ciae-primary);box-shadow:0 0 0 4px var(--ciae-ring)}
.ciae-radio input:focus-visible + span{outline:2px solid var(--ciae-primary-600);outline-offset:2px}

/* Buttons */
.ciae-nav{display:flex;gap:10px;margin-top:8px}
.ciae-macos button{border:1px solid transparent;border-radius:12px;padding:12px 16px;font-size:16px;background:var(--ciae-primary);color:#fff;cursor:pointer;transition:transform .05s ease, background .2s}
.ciae-macos button:hover{background:var(--ciae-primary-600)}
.ciae-macos .prev{background:#e5e7eb;color:#111}
.ciae-macos .prev:hover{background:#d9dce1}

/* Feedback banners */
#ciae-feedback{max-width:980px;margin:12px auto}
.ciae-alert{padding:14px;border-radius:12px;border:1px solid transparent}
.ciae-alert.ok{background:#e7f5ed;border-color:#2d7d46;color:#1d4f2f}
.ciae-alert.error{background:#fde8e8;border-color:#d73a49;color:#6a1a21}

/* Doc link */
.ciae-doc{margin:-4px 0 8px}.ciae-doc-link{text-decoration:underline;font-weight:600}

/* Helpers */
@media (max-width: 640px){
  .ciae-step{padding:18px 14px}
  .ciae-step h2{font-size:22px}
  .ciae-radio span{min-width:96px;padding:10px 14px}
}


/* CIAE patch: warning card + mini note */
.ciae-card{background:#fff;border-radius:16px;box-shadow:0 8px 22px rgba(0,0,0,.08);padding:14px 16px;margin:12px 0}
.ciae-card.ciae-warning{border-left:6px solid #c37c00;background:linear-gradient(0deg, rgba(255,247,214,.65), rgba(255,247,214,.65));}
.ciae-card.ciae-warning h3{margin:0 0 6px 0}
.ciae-check{display:flex;gap:8px;align-items:flex-start;margin:8px 0}
.ciae-check input{margin-top:3px}
.ciae-doc{margin:6px 0}
.ciae-doc-link{text-decoration:none;border-bottom:1px dashed #888}
.ciae-mini-note{font-size:.86rem; color:#5b5b5b; margin:8px 0 0 0}


/* --- CIAE MOBILE CSS FIX 2025-08-19 --- */
#ciae-norefund-block{
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
}
#ciae-norefund-block input[type="checkbox"]{
  -webkit-appearance: checkbox;
  appearance: checkbox;
  width: 18px; height: 18px;
}
#ciae-norefund-block .ciae-check{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0;
}
#ciae-norefund-block .ciae-check span{
  flex: 1 1 auto;
  word-break: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}
@media (max-width: 640px){
  .ciae-card.ciae-warning{
    padding: 12px 14px;
    border-left-width: 8px;
    background: linear-gradient(0deg, rgba(255,240,200,.88), rgba(255,240,200,.88));
  }
  .ciae-doc-link{ word-break: break-word; }
}
