.jca-form-wrap { max-width: 980px; margin: 0 auto; font-family: inherit; }

/* Steps Nav */
.jca-steps-nav { display: flex; justify-content: space-between; margin-bottom: 30px; position: relative; }
.jca-steps-nav::before { content: ''; position: absolute; top: 20px; left: 0; right: 0; height: 2px; background: #e0e0e0; z-index: 0; }
.jca-step-nav { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 12px; color: #999; position: relative; z-index: 1; cursor: default; flex: 1; }
.jca-step-nav span { width: 40px; height: 40px; border-radius: 50%; background: #e0e0e0; color: #999; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; transition: all .3s; }
.jca-step-nav.active span, .jca-step-nav.done span { background: #c9a96e; color: #fff; }
.jca-step-nav.active { color: #c9a96e; }
.jca-step-nav.done { color: #888; }

/* Steps */
.jca-step { display: none; }
.jca-step.active { display: block; }
.jca-step h3 { font-size: 20px; margin-bottom: 20px; color: #333; border-bottom: 2px solid #c9a96e; padding-bottom: 10px; }

/* Fields */
.jca-field { margin-bottom: 18px; }
.jca-field label { display: block; font-weight: 600; margin-bottom: 6px; color: #444; font-size: 14px; }
.jca-field label span { color: #e74c3c; }
.jca-field input[type="text"],
.jca-field input[type="email"],
.jca-field input[type="tel"],
.jca-field select,
.jca-field textarea { width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; transition: border .2s; box-sizing: border-box; }
.jca-field input:focus, .jca-field select:focus, .jca-field textarea:focus { border-color: #c9a96e; outline: none; box-shadow: 0 0 0 3px rgba(201,169,110,.15); }
.jca-field input[type="file"] { padding: 8px 0; border: none; }
.jca-field small { color: #999; font-size: 12px; }

/* Time Slots */
#jca-slots-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.jca-slot { padding: 8px 16px; border: 2px solid #ddd; border-radius: 6px; cursor: pointer; font-size: 13px; transition: all .2s; background: #fff; }
.jca-slot:hover { border-color: #c9a96e; color: #c9a96e; }
.jca-slot.selected { background: #c9a96e; border-color: #c9a96e; color: #fff; }
.jca-slot.unavailable { background: #f5f5f5; color: #bbb; cursor: not-allowed; border-color: #eee; }
.jca-slots-loading { color: #999; font-style: italic; }

/* Nav Buttons */
.jca-nav-btns { display: flex; justify-content: space-between; margin-top: 25px; }
.jca-nav-btns button { padding: 11px 28px; border: none; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 600; transition: all .2s; }
.jca-next, .jca-submit-btn { background: #c9a96e; color: #fff; }
.jca-next:hover, .jca-submit-btn:hover { background: #b8935a; }
.jca-prev { background: #f0f0f0; color: #555; }
.jca-prev:hover { background: #e0e0e0; }
.jca-submit-btn { padding: 12px 36px; font-size: 15px; }

/* Summary */
.jca-summary { background: #fafafa; border: 1px solid #eee; border-radius: 8px; padding: 20px; }
.jca-summary-row { display: flex; padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; }
.jca-summary-row:last-child { border-bottom: none; }
.jca-summary-label { font-weight: 600; color: #555; width: 180px; flex-shrink: 0; }
.jca-summary-value { color: #333; }
.jca-summary-section { font-weight: 700; color: #c9a96e; padding: 12px 0 4px; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }
.jca-summary-img {width: 100px;}
/* Success */
.jca-success { text-align: center; padding: 40px 20px; }
.jca-success-icon { width: 70px; height: 70px; background: #27ae60; border-radius: 50%; color: #fff; font-size: 36px; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.jca-success h3 { font-size: 24px; color: #27ae60; margin-bottom: 10px; }
.jca-success-msg { color: #555; font-size: 15px; }
.jca-home-btn { display: inline-block; margin-top: 20px; padding: 11px 28px; background: #c9a96e; color: #fff; border-radius: 6px; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .2s; }
.jca-home-btn:hover { background: #b8935a; color: #fff; }

/* Error */
.jca-error { background: #fdf0f0; border: 1px solid #e74c3c; color: #e74c3c; padding: 12px 16px; border-radius: 6px; margin-top: 15px; font-size: 14px; }

/* Date picker highlight */
#jca-date-picker { cursor: pointer; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23c9a96e'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5C3.9 3 3 3.9 3 5v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11z'/%3E%3C/svg%3E") no-repeat right 12px center; padding-right: 36px; }

@media (max-width: 600px) {
    .jca-steps-nav { gap: 4px; }
    .jca-step-nav { font-size: 10px; }
    .jca-step-nav span { width: 30px; height: 30px; font-size: 12px; }
    .jca-summary-label { width: 130px; }
}

/* Appointment Type Cards */
.jca-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 10px; }
.jca-type-card {
    display: flex; align-items: flex-start; gap: 14px;
    padding: 18px 16px; border: 2px solid #e0e0e0; border-radius: 10px;
    cursor: pointer; transition: all .25s; background: #fff;
}
.jca-type-card:hover { border-color: #c9a96e; box-shadow: 0 4px 16px rgba(201,169,110,.18); }
.jca-type-card.selected { border-color: #c9a96e; background: #fdf8f0; box-shadow: 0 4px 16px rgba(201,169,110,.25); }
.jca-type-icon {
    width: 46px; height: 46px; border-radius: 10px; flex-shrink: 0;
    background: #f5ead8; display: flex; align-items: center; justify-content: center;
    color: #a8843f; font-size: 20px; transition: all .25s;
}
.jca-type-card.selected .jca-type-icon { background: #c9a96e; color: #fff; }
.jca-type-info { flex: 1; }
.jca-type-title { font-weight: 700; font-size: 14px; color: #333; margin-bottom: 4px; }
.jca-type-desc { font-size: 12px; color: #777; line-height: 1.5; margin-bottom: 6px; }
.jca-type-duration { font-size: 12px; color: #c9a96e; font-weight: 600; }
.jca-type-duration i { margin-right: 3px; }
@media (max-width: 600px) { .jca-type-grid { grid-template-columns: 1fr; } }

/* Calendar */
#jca-cal { background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,.08); width: 100%; max-width: 100%; padding: 16px; box-sizing: border-box; margin-bottom: 10px; }
.jca-cal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-weight: 700; font-size: 15px; color: #333; }
.jca-cal-header button { background: none; border: none; cursor: pointer; font-size: 22px; color: #c9a96e; padding: 0 8px; line-height: 1; }
.jca-cal-header button:hover { color: #b8935a; }
.jca-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.jca-cal-day-name { text-align: center; font-size: 11px; color: #999; padding: 6px 0; font-weight: 700; text-transform: uppercase; }
.jca-cal-day { text-align: center; padding: 9px 4px; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 500; transition: all .2s; color: #333; }
.jca-cal-day:hover:not(.disabled) { background: #f5ead8; color: #c9a96e; }
.jca-cal-day.disabled { color: #ccc; cursor: not-allowed; }
.jca-cal-day.selected { background: #c9a96e; color: #fff; font-weight: 700; }
