/* Sita Forms — Frontend Styles */
.sf-form-wrap { max-width: 680px; margin: 0 auto; }
.sf-form { background: #fff; padding: 40px; border: 1px solid var(--line,#E5DED1); border-radius: 2px; }
.sf-field { margin-bottom: 20px; position: relative; }
.sf-field label { display: block; font-size: 13px; font-weight: 500; letter-spacing: .04em; color: var(--ink,#0F1B2D); margin-bottom: 6px; }
.sf-field input[type="text"],.sf-field input[type="email"],.sf-field input[type="url"],.sf-field input[type="tel"],
.sf-field input[type="password"],.sf-field input[type="number"],.sf-field input[type="date"],.sf-field input[type="time"],
.sf-field input[type="color"],.sf-field select,.sf-field textarea {
    width: 100%; padding: 12px 16px; border: 1px solid var(--line,#E5DED1); border-radius: 2px;
    font-family: inherit; font-size: 14px; background: var(--paper,#FAF7F2); color: var(--ink,#0F1B2D); transition: border-color .2s;
}
.sf-field input:focus,.sf-field select:focus,.sf-field textarea:focus { outline: none; border-color: var(--saffron,#C8742A); box-shadow: 0 0 0 3px rgba(200,116,42,.08); }
.sf-field textarea { min-height: 120px; resize: vertical; }
.sf-required { color: var(--saffron,#C8742A); }
.sf-half { display: inline-block; width: 48%; vertical-align: top; }
.sf-half:nth-child(odd) { margin-right: 4%; }
.sf-field-error input,.sf-field-error select,.sf-field-error textarea { border-color: #e53935; }
.sf-field .sf-error-msg { color: #e53935; font-size: 12px; margin-top: 4px; }

/* Name split */
.sf-name-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Address */
.sf-address-group input { margin-bottom: 8px; }
.sf-address-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* Radio/Checkbox */
.sf-radio-group,.sf-checkbox-group { display: flex; flex-direction: column; gap: 8px; }
.sf-radio-horizontal { flex-direction: row; flex-wrap: wrap; }
.sf-radio-label,.sf-checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; padding: 8px 12px; border: 1px solid var(--line,#E5DED1); border-radius: 2px; transition: all .2s; }
.sf-radio-label:hover,.sf-checkbox-label:hover { border-color: var(--saffron,#C8742A); background: #FFF8F2; }

/* Toggle */
.sf-toggle { position: relative; display: inline-block; width: 48px; height: 26px; cursor: pointer; }
.sf-toggle input { opacity: 0; width: 0; height: 0; }
.sf-toggle-slider { position: absolute; inset: 0; background: #ccc; border-radius: 13px; transition: .3s; }
.sf-toggle-slider::before { content: ''; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; background: #fff; border-radius: 50%; transition: .3s; }
.sf-toggle input:checked + .sf-toggle-slider { background: var(--saffron,#C8742A); }
.sf-toggle input:checked + .sf-toggle-slider::before { transform: translateX(22px); }

/* Rating */
.sf-rating { display: flex; gap: 4px; font-size: 28px; }
.sf-star { cursor: pointer; color: #ddd; transition: color .2s; }
.sf-star.active,.sf-star:hover,.sf-star:hover ~ .sf-star { color: var(--gold,#B89456); }

/* Slider */
.sf-slider-wrap { display: flex; align-items: center; gap: 16px; }
.sf-slider-wrap input[type="range"] { flex: 1; accent-color: var(--saffron,#C8742A); }
.sf-slider-value { font-family: var(--font-serif,'Cormorant Garamond',serif); font-size: 24px; font-weight: 500; min-width: 80px; }

/* Likert */
.sf-likert-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sf-likert-table th,.sf-likert-table td { padding: 10px; text-align: center; border: 1px solid var(--line,#E5DED1); }
.sf-likert-table th { background: var(--paper-2,#F2ECE2); font-weight: 600; }
.sf-likert-table td:first-child { text-align: left; font-weight: 500; }

/* Calc total */
.sf-calc-total { background: var(--paper-2,#F2ECE2); padding: 24px; border-radius: 2px; }
.sf-calc-breakdown { margin-bottom: 16px; font-size: 13px; }
.sf-total-display { display: flex; justify-content: space-between; align-items: center; }
.sf-total-label { font-weight: 600; font-size: 16px; }
.sf-total-amount { font-family: var(--font-serif,'Cormorant Garamond',serif); font-size: 42px; font-weight: 500; color: var(--sage,#3C5A4A); }

/* Section heading / divider */
.sf-section-heading { font-family: var(--font-serif,'Cormorant Garamond',serif); margin: 32px 0 8px; font-weight: 500; }
.sf-description { color: var(--muted,#6B6256); font-size: 14px; }
.sf-divider { border: none; border-top: 1px solid var(--line,#E5DED1); margin: 24px 0; }

/* Submit */
.sf-submit { margin-top: 8px; }
.sf-submit-btn { width: auto; }

/* Messages */
.sf-message { padding: 12px 16px; margin-top: 16px; border-radius: 2px; font-size: 14px; display: none; }
.sf-message.sf-success { display: block; background: #e8f5e9; border: 1px solid #a5d6a7; color: #2e7d32; }
.sf-message.sf-error { display: block; background: #ffebee; border: 1px solid #ef9a9a; color: #c62828; }

/* Multi-step */
.sf-step { display: none; animation: sfFadeIn .3s ease; }
.sf-step-active { display: block; }
.sf-step-nav { display: flex; justify-content: space-between; margin-top: 20px; }
.sf-progress { height: 4px; background: var(--line,#E5DED1); border-radius: 2px; margin-top: 16px; }
.sf-progress-bar { height: 100%; background: var(--saffron,#C8742A); border-radius: 2px; transition: width .3s; }
@keyframes sfFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* Consent */
.sf-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; }
.sf-consent a { color: var(--saffron,#C8742A); }

/* File upload */
.sf-field input[type="file"] { padding: 12px; background: #fff; }

/* Conditional hide */
.sf-field.sf-hidden { display: none !important; }

@media (max-width:640px) {
    .sf-form { padding: 24px; }
    .sf-half { display: block; width: 100%; margin-right: 0; }
    .sf-name-split,.sf-address-row { grid-template-columns: 1fr; }
}
