/* Fan Switch Registration Form — Stylesheet */
* { box-sizing: border-box; }

.fsr-wrapper {
    max-width: 760px; margin: 30px auto; background: #fff;
    border: 3px solid #74AADD; border-radius: 20px; padding: 36px 40px 0;
    box-shadow: 0 0 0 8px rgba(116,170,221,0.18); font-family: Arial, sans-serif;
}
.fsr-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.fsr-shield svg { width:90px; height:auto; filter:drop-shadow(0 4px 8px rgba(0,0,0,.18)); }
.fsr-title-block { text-align:center; flex:1; }
.fsr-title { font-size:28px; font-weight:900; color:#003087; letter-spacing:2px; margin:0 0 6px; text-transform:uppercase; }
.fsr-star-divider { display:flex; align-items:center; justify-content:center; gap:8px; margin:6px 0 10px; }
.fsr-divider-line { flex:1; height:1.5px; background:linear-gradient(to right,transparent,#74AADD,transparent); }
.fsr-star { color:#74AADD; font-size:16px; }
.fsr-subtitle { font-size:16px; font-weight:700; color:#003087; margin:0 0 4px; letter-spacing:1px; }
.fsr-teams { font-size:20px; font-weight:900; margin:0 0 8px; }
.fsr-brazil { color:#009C3B; }
.fsr-to { color:#333; font-weight:700; font-size:18px; }
.fsr-argentina { color:#74AADD; }
.fsr-arrow-wrap { display:flex; justify-content:center; margin-top:4px; }
.fsr-arrow { width:130px; }
.fsr-declaration { text-align:center; color:#444; font-size:14.5px; line-height:1.6; margin:4px 0 28px; }

.fsr-messages { padding:12px 16px; border-radius:8px; margin-bottom:18px; font-size:14px; line-height:1.5; display:none; }
.fsr-messages.fsr-error { background:#fff0f0; border:1.5px solid #e74c3c; color:#c0392b; }
.fsr-messages.fsr-success { background:#f0fff4; border:1.5px solid #27ae60; color:#1e8449; font-weight:600; font-size:16px; text-align:center; }

.fsr-form-body { padding-bottom:8px; }
.fsr-field { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.fsr-field.fsr-field--textarea { align-items:flex-start; }
.fsr-label { font-size:13px; font-weight:800; color:#003087; letter-spacing:.5px; min-width:168px; text-transform:uppercase; flex-shrink:0; }
.fsr-input-wrap { flex:1; }

.fsr-input, .fsr-textarea {
    width:100%; padding:10px 14px; border:1.5px solid #C8D8E8; border-radius:8px;
    font-size:14px; color:#333; background:#FAFCFF; outline:none; font-family:inherit;
    transition:border-color .2s,box-shadow .2s;
}
.fsr-input:focus, .fsr-textarea:focus { border-color:#74AADD; box-shadow:0 0 0 3px rgba(116,170,221,.2); }
.fsr-input::placeholder, .fsr-textarea::placeholder { color:#aaa; font-style:italic; }
.fsr-textarea { resize:vertical; min-height:90px; }
.fsr-hint { font-size:12px; color:#888; margin:5px 0 0; font-style:italic; }

.fsr-team-display { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1.5px solid #C8D8E8; border-radius:8px; background:#FAFCFF; font-weight:700; font-size:14px; letter-spacing:1px; }
.fsr-flag { font-size:20px; }
.fsr-team-brazil { color:#009C3B; }
.fsr-team-argentina { color:#003087; }

.fsr-checkbox-label { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:14px; color:#333; user-select:none; }
.fsr-checkbox { display:none; }
.fsr-checkbox-custom { width:22px; height:22px; border:2px solid #74AADD; border-radius:4px; background:#fff; flex-shrink:0; position:relative; transition:background .2s; }
.fsr-checkbox:checked + .fsr-checkbox-custom { background:#74AADD; border-color:#4A8FC0; }
.fsr-checkbox:checked + .fsr-checkbox-custom::after { content:''; position:absolute; left:5px; top:2px; width:8px; height:13px; border:2.5px solid #fff; border-top:none; border-left:none; transform:rotate(45deg); }

.fsr-soccer-divider { display:flex; align-items:center; gap:12px; margin:20px 0 24px; }
.fsr-soccer-divider .fsr-divider-line { flex:1; height:1px; background:#D0DCE8; }
.fsr-soccer-ball { font-size:20px; }
.fsr-signature-row { display:flex; justify-content:space-between; gap:60px; margin-bottom:28px; }
.fsr-sig-block { flex:1; text-align:center; }
.fsr-sig-line { width:100%; height:1.5px; background:#555; margin-bottom:6px; }
.fsr-sig-label { font-size:12px; font-weight:700; color:#555; letter-spacing:1.5px; text-transform:uppercase; margin:0; }

.fsr-submit-wrap { text-align:center; margin-bottom:24px; }
.fsr-submit-btn {
    background:linear-gradient(135deg,#003087,#74AADD); color:#fff; border:none;
    border-radius:10px; padding:14px 48px; font-size:15px; font-weight:800;
    letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
    transition:transform .15s,box-shadow .15s; box-shadow:0 4px 16px rgba(0,48,135,.25);
}
.fsr-submit-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,48,135,.32); }
.fsr-submit-btn:disabled { opacity:.65; cursor:not-allowed; transform:none; }

.fsr-footer-banner { display:flex; align-items:center; justify-content:center; gap:16px; background:#EBF3FB; padding:14px 20px; margin:0 -40px; border-top:1px solid #C8D8E8; text-align:center; }
.fsr-trophy { font-size:22px; }
.fsr-footer-text { font-size:13px; color:#003087; line-height:1.6; }

/* ══ CERTIFICATE ══ */
#fsr-certificate-section { display:none; }
.fsr-cert-heading { text-align:center; padding:20px 0 16px; border-top:2px dashed #74AADD; margin-top:8px; }
.fsr-cert-heading h2 { font-size:22px; color:#003087; font-weight:900; margin-bottom:6px; }
.fsr-cert-heading p { color:#555; font-size:14px; margin:0; }

.fsr-canvas-wrap { margin:0 -40px; background:linear-gradient(135deg,#003087,#74AADD); padding:20px; text-align:center; }
.fsr-canvas-wrap canvas { max-width:100%; border-radius:14px; box-shadow:0 8px 40px rgba(0,0,0,.35); display:block; margin:0 auto; }

.fsr-action-bar { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; padding:20px 0 12px; }
.fsr-action-btn { border:none; border-radius:10px; padding:12px 22px; font-size:14px; font-weight:700; cursor:pointer; transition:transform .15s,box-shadow .15s; display:flex; align-items:center; gap:8px; color:#fff; }
.fsr-action-btn:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.2); }
.fsr-btn-download { background:linear-gradient(135deg,#003087,#1a5faa); }
.fsr-btn-copy { background:linear-gradient(135deg,#444,#222); }
.fsr-btn-native { background:linear-gradient(135deg,#009C3B,#006b28); }

.fsr-social-row { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; padding:4px 0 24px; }
.fsr-social-label { font-size:13px; font-weight:700; color:#555; }
.fsr-share-btn { display:flex; align-items:center; gap:7px; border:none; border-radius:8px; padding:9px 15px; font-size:13px; font-weight:700; cursor:pointer; color:#fff; transition:transform .15s,box-shadow .15s; }
.fsr-share-btn svg { width:15px; height:15px; flex-shrink:0; }
.fsr-share-btn:hover { transform:translateY(-2px); box-shadow:0 4px 14px rgba(0,0,0,.22); }
.fsr-share-fb { background:#1877F2; }
.fsr-share-tw { background:#000; }
.fsr-share-wa { background:#25D366; }
.fsr-share-tg { background:#229ED9; }
.fsr-share-li { background:#0A66C2; }

@media(max-width:600px){
    .fsr-wrapper { padding:20px 16px 0; }
    .fsr-title { font-size:20px; }
    .fsr-teams { font-size:15px; }
    .fsr-shield svg { width:60px; }
    .fsr-field { flex-direction:column; align-items:flex-start; gap:6px; }
    .fsr-label { min-width:unset; }
    .fsr-input-wrap { width:100%; }
    .fsr-footer-banner { margin:0 -16px; }
    .fsr-signature-row { gap:20px; }
    .fsr-canvas-wrap { margin:0 -16px; padding:12px; }
    .fsr-action-btn { padding:10px 16px; font-size:13px; }
    .fsr-share-btn { padding:8px 12px; font-size:12px; }
}
