/* =========================================
   WC Custom Registration - Form Styles
   ========================================= */

:root {
    --wccr-primary:      #2563eb;
    --wccr-primary-dark: #1d4ed8;
    --wccr-success:      #16a34a;
    --wccr-error:        #dc2626;
    --wccr-warning:      #d97706;
    --wccr-border:       #d1d5db;
    --wccr-border-focus: #2563eb;
    --wccr-bg:           #ffffff;
    --wccr-bg-section:   #f8fafc;
    --wccr-text:         #111827;
    --wccr-text-muted:   #6b7280;
    --wccr-radius:       10px;
    --wccr-radius-sm:    6px;
    --wccr-shadow:       0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
    --wccr-shadow-md:    0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.04);
}

/* Wrapper */
.wccr-wrapper {
    max-width: 760px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif;
    color: var(--wccr-text);
}

/* Header */
.wccr-header {
    text-align: center;
    margin-bottom: 2rem;
}
.wccr-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--wccr-text) !important;
    margin: 0 0 .5rem !important;
    line-height: 1.2 !important;
}
.wccr-subtitle {
    font-size: 1rem;
    color: var(--wccr-text-muted);
    margin: 0;
    line-height: 1.6;
}

/* Section card */
.wccr-section {
    background: var(--wccr-bg);
    border: 1px solid var(--wccr-border);
    border-radius: var(--wccr-radius);
    padding: 1.75rem 2rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--wccr-shadow);
}

.wccr-section--submit {
    background: var(--wccr-bg-section);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* Section header */
.wccr-section-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--wccr-border);
}
.wccr-section-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    background: var(--wccr-primary);
    color: #fff;
    border-radius: 50%;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1;
}
.wccr-section-title {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: var(--wccr-text) !important;
    margin: 0 0 .2rem !important;
}
.wccr-section-desc {
    font-size: .88rem;
    color: var(--wccr-text-muted);
    margin: 0;
    line-height: 1.5;
}

/* Grid */
.wccr-fields-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}
@media (max-width: 600px) {
    .wccr-fields-grid { grid-template-columns: 1fr; }
    .wccr-section { padding: 1.25rem 1rem; }
}

.wccr-field { display: flex; flex-direction: column; gap: .375rem; }
.wccr-field--full { grid-column: 1 / -1; }

/* Labels */
.wccr-label {
    font-size: .875rem;
    font-weight: 600;
    color: var(--wccr-text);
    display: block;
}
.wccr-required {
    color: var(--wccr-error);
    margin-left: 2px;
}

/* Inputs */
.wccr-input,
.wccr-select {
    width: 100%;
    padding: .625rem .875rem;
    border: 1.5px solid var(--wccr-border);
    border-radius: var(--wccr-radius-sm);
    font-size: .95rem;
    color: var(--wccr-text);
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    line-height: 1.5;
}
.wccr-input:focus,
.wccr-select:focus {
    outline: none;
    border-color: var(--wccr-border-focus);
    box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}
.wccr-input::placeholder {
    color: #9ca3af;
}
.wccr-input.wccr-input--error {
    border-color: var(--wccr-error);
}
.wccr-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .875rem center;
    padding-right: 2.5rem;
}

/* Password toggle */
.wccr-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.wccr-input-wrap .wccr-input {
    padding-right: 2.75rem;
}
.wccr-toggle-pw {
    position: absolute;
    right: .75rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 1.1rem;
    opacity: .5;
    transition: opacity .15s;
}
.wccr-toggle-pw:hover { opacity: 1; }

/* Password strength */
.wccr-pw-strength {
    height: 4px;
    border-radius: 2px;
    background: #e5e7eb;
    transition: all .25s;
    margin-top: 4px;
}
.wccr-pw-strength.weak   { background: var(--wccr-error); width: 33%; }
.wccr-pw-strength.medium { background: var(--wccr-warning); width: 66%; }
.wccr-pw-strength.strong { background: var(--wccr-success); width: 100%; }

/* Shipping toggle */
.wccr-shipping-toggle-wrap {
    margin-bottom: 1rem;
}
.wccr-shipping-fields {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px dashed var(--wccr-border);
}

/* Checkbox */
.wccr-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: .625rem;
    cursor: pointer;
}
.wccr-checkbox {
    margin-top: 2px;
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--wccr-primary);
    flex-shrink: 0;
    cursor: pointer;
}
.wccr-checkbox-text {
    font-size: .9rem;
    color: var(--wccr-text);
    line-height: 1.5;
}
.wccr-checkbox-text a {
    color: var(--wccr-primary);
}

/* Submit button */
.wccr-submit-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
}
.wccr-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--wccr-primary);
    color: #fff !important;
    border: none;
    border-radius: var(--wccr-radius-sm);
    padding: .8rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease, transform .1s ease;
    box-shadow: 0 1px 3px rgba(37,99,235,.4);
    text-decoration: none !important;
}
.wccr-submit-btn:hover {
    background: var(--wccr-primary-dark);
    box-shadow: var(--wccr-shadow-md);
}
.wccr-submit-btn:active {
    transform: translateY(1px);
}
.wccr-submit-btn:disabled {
    opacity: .7;
    cursor: not-allowed;
}

/* Spinner */
.wccr-spinner {
    width: 1.1rem;
    height: 1.1rem;
    animation: wccr-spin .7s linear infinite;
}
@keyframes wccr-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.wccr-login-hint {
    font-size: .875rem;
    color: var(--wccr-text-muted);
    margin: 0;
}
.wccr-login-hint a {
    color: var(--wccr-primary);
    font-weight: 500;
}

/* Messages */
.wccr-messages {
    border-radius: var(--wccr-radius-sm);
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    font-size: .9rem;
    line-height: 1.6;
}
.wccr-messages.wccr-messages--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}
.wccr-messages.wccr-messages--success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #14532d;
}
.wccr-messages ul {
    margin: .25rem 0 0;
    padding-left: 1.25rem;
}
.wccr-messages ul li { margin-bottom: .25rem; }

/* Notice */
.wccr-notice {
    padding: 1rem 1.25rem;
    border-radius: var(--wccr-radius-sm);
    font-size: .9rem;
}
.wccr-notice--info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}

/* Field hint */
.wccr-field-hint {
    font-size: .78rem;
    color: var(--wccr-text-muted);
    margin-top: -2px;
}

/* Success state */
.wccr-success-state {
    text-align: center;
    padding: 3rem 2rem;
}
.wccr-success-icon {
    font-size: 3.5rem;
    margin-bottom: 1rem;
}
.wccr-success-state h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 .75rem;
    color: var(--wccr-success);
}
.wccr-success-state p {
    color: var(--wccr-text-muted);
    max-width: 480px;
    margin: 0 auto;
    line-height: 1.7;
}
