/* TVS Review Raffle — frontend */
.tvs-rr-wrap{max-width:760px;margin:32px auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;}
.tvs-rr-card{background:#fff;border-radius:18px;box-shadow:0 8px 28px rgba(0,0,0,.08),0 1px 0 rgba(0,0,0,.04);padding:32px;border:1px solid #f0eee8;}
.tvs-rr-header{text-align:center;margin-bottom:28px;}
.tvs-rr-badge{display:inline-block;background:linear-gradient(135deg,#F1C349,#e0b03b);color:#3a2e10;font-weight:700;font-size:12px;letter-spacing:.12em;padding:6px 14px;border-radius:999px;margin-bottom:14px;}
.tvs-rr-title{font-size:28px;line-height:1.2;margin:0 0 12px;color:#1a1a1a;font-weight:800;}
.tvs-rr-intro{font-size:15px;color:#555;margin:0 0 16px;line-height:1.55;}
.tvs-rr-prize-pill{display:inline-block;background:#fff8e3;border:1px solid #F1C349;color:#6b4d0a;padding:8px 16px;border-radius:999px;font-size:14px;}
.tvs-rr-prize-pill strong{color:#1a1a1a;}

.tvs-rr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;}
@media (max-width:600px){.tvs-rr-grid{grid-template-columns:1fr;}}
.tvs-rr-field{display:flex;flex-direction:column;font-size:14px;}
.tvs-rr-field>span{font-weight:600;margin-bottom:6px;color:#333;}
.tvs-rr-field em{color:#d44;font-style:normal;margin-left:2px;}
.tvs-rr-field small{font-weight:400;color:#888;margin-left:6px;}
.tvs-rr-field input,.tvs-rr-field select{padding:11px 13px;border:1.5px solid #e2e2e2;border-radius:10px;font-size:15px;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s;}
.tvs-rr-field input:focus,.tvs-rr-field select:focus{outline:none;border-color:#F1C349;box-shadow:0 0 0 3px rgba(241,195,73,.2);}
.tvs-rr-help{font-size:12px;color:#888;margin-top:5px;}

.tvs-rr-wa-row{display:flex;gap:8px;}
.tvs-rr-wa-cc{flex:0 0 110px;}
.tvs-rr-wa-row input{flex:1;}

.tvs-rr-section-title{margin:28px 0 14px;}
.tvs-rr-section-title h3{font-size:18px;margin:0 0 4px;font-weight:700;}
.tvs-rr-section-title p{margin:0;font-size:13px;color:#666;line-height:1.5;}

.tvs-rr-platforms{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.tvs-rr-platform{border:1.5px solid #eee;border-radius:12px;padding:14px 16px;transition:border-color .15s,background .15s;}
.tvs-rr-platform:hover{border-color:#F1C349;background:#fffdf6;}
.tvs-rr-platform-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.tvs-rr-platform-head strong{font-size:15px;}
.tvs-rr-chances{display:inline-block;background:#fff3c8;color:#7a5a0e;font-size:12px;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:8px;}
.tvs-rr-leave-btn{font-size:13px;color:#7a5a0e;text-decoration:none;font-weight:600;background:#fff8e3;padding:6px 11px;border-radius:8px;border:1px solid #F1C349;}
.tvs-rr-leave-btn:hover{background:#F1C349;color:#3a2e10;}
.tvs-rr-upload{display:block;cursor:pointer;}
.tvs-rr-upload input[type=file]{display:block;width:100%;font-size:13px;padding:8px 0;}

.tvs-rr-submit{width:100%;padding:15px;background:linear-gradient(135deg,#F1C349,#e0b03b);color:#3a2e10;border:none;border-radius:12px;font-size:16px;font-weight:800;cursor:pointer;letter-spacing:.02em;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px rgba(241,195,73,.4);}
.tvs-rr-submit:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(241,195,73,.5);}
.tvs-rr-submit:active{transform:translateY(0);}
.tvs-rr-submit:disabled{opacity:.6;cursor:wait;transform:none;}
.tvs-rr-submit-loading{display:none;}
.tvs-rr-submit.is-loading .tvs-rr-submit-text{display:none;}
.tvs-rr-submit.is-loading .tvs-rr-submit-loading{display:inline;}

.tvs-rr-fineprint{font-size:11px;color:#999;text-align:center;margin:14px 0 0;line-height:1.5;}

.tvs-rr-success{text-align:center;padding:40px 20px;}
.tvs-rr-success-icon{font-size:64px;margin-bottom:12px;}
.tvs-rr-success h3{font-size:24px;margin:0 0 10px;color:#1a1a1a;}
.tvs-rr-success-msg{color:#555;font-size:15px;line-height:1.6;}

.tvs-rr-error{background:#fff0f0;border:1px solid #f4baba;color:#a82020;padding:11px 14px;border-radius:10px;margin-bottom:16px;font-size:14px;}
