.tsv{--tsv-accent:#e5462a;--tsv-btn:#00cc66;--tsv-dark:#15171a;max-width:660px;margin:0 auto;color:#15171a;line-height:1.45;font-size:15px}
.tsv *{box-sizing:border-box}
.tsv .tsv-card{background:#fff;border:1px solid #eceef0;border-radius:20px;padding:28px}
.tsv .tsv-title{font-size:24px;font-weight:700;margin:0 0 8px;line-height:1.2}
.tsv .tsv-section-title{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tsv-accent);margin:22px 0 6px;padding-bottom:6px;border-bottom:1px solid #eceef0}
.tsv .tsv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.tsv .tsv-field{margin:10px 10px 16px}
.tsv .tsv-field label{display:block;font-size:12px;letter-spacing:.03em;color:#565b62;margin:0 0 6px;font-weight:600}
.tsv .tsv-req{color:var(--tsv-accent)}
.tsv .tsv-field input,.tsv .tsv-field select,.tsv .tsv-field textarea{width:100%;padding:13px 16px;border:1.5px solid #e6e7e9;border-radius:26px;font-size:15px;background:#fff;color:#15171a;transition:border-color .15s,box-shadow .15s;appearance:none;box-shadow:none!important}
.tsv .tsv-field textarea{border-radius:16px}
.tsv .tsv-field input:focus,.tsv .tsv-field select:focus,.tsv .tsv-field textarea:focus{outline:none;border-color:var(--tsv-accent)}
.tsv .tsv-field 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' fill='none' stroke='%23565b62' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:38px}
.tsv input.tsv-invalid,.tsv select.tsv-invalid,.tsv textarea.tsv-invalid{border-color:var(--tsv-accent)!important;box-shadow:0 0 0 3px rgba(229,70,42,.20)!important;background:#fef6f4!important}
.tsv .tsv-chk{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:#565b62;margin:20px 10px 5px}
.tsv .tsv-chk.tsv-invalid span{color:var(--tsv-accent);font-weight:600}
.tsv .tsv-chk input{margin-top:3px;width:16px;height:16px;flex:none}
.tsv .tsv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.tsv .tsv-btn{display:block;width:100%;padding:15px 18px;border:0;border-radius:30px;background:var(--tsv-btn);color:#fff;font-size:16px;font-weight:700;cursor:pointer;margin-top:16px;letter-spacing:.02em}
.tsv .tsv-btn:hover{filter:brightness(.94)}
.tsv .tsv-btn:disabled{opacity:.6}
.tsv .tsv-btn.tsv-link{background:none;color:#565b62;font-weight:500;margin-top:6px}
.tsv .tsv-err,.tsv .tsv-err3,.tsv .tsv-errv{color:var(--tsv-accent);font-size:14px;margin-top:10px;text-align:center}
.tsv .tsv-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #d7dade;border-radius:16px;padding:24px 18px;min-height:104px;text-align:center;cursor:pointer;transition:border-color .15s}
.tsv .tsv-drop:hover{border-color:var(--tsv-btn)}
.tsv .tsv-drop-t{display:block!important;width:100%;font-weight:600;color:#15171a;line-height:1.35}
.tsv .tsv-drop-s{display:block!important;width:100%;font-size:13px;color:#9aa0a6;line-height:1.35}
.tsv .tsv-drop.tsv-has .tsv-drop-t{color:var(--tsv-btn)}
.tsv .tsv-rgpd{width:100%;border-collapse:collapse;margin-top:16px;font-size:11.5px;color:#565b62}
.tsv .tsv-rgpd td{border:1px solid #eceef0;padding:6px 10px}
.tsv .tsv-rgpd td:first-child{font-weight:700;width:110px;background:#fafbfc}
.tsv .tsv-rgpd a{color:var(--tsv-accent)}
.tsv .tsv-price-box{background:var(--tsv-dark);color:#fff;border-radius:16px;padding:30px 22px;text-align:center;margin-bottom:14px}
.tsv .tsv-price-lbl{display:block;font-size:12px;letter-spacing:.14em;color:#9aa0a6;margin-bottom:8px}
.tsv .tsv-price{font-size:48px;font-weight:700}
.tsv .tsv-price-nota{text-align:center;font-weight:700;margin:0 0 14px}
.tsv .tsv-msg{text-align:center;padding:10px 0}
.tsv .tsv-msg-logo{max-width:200px;height:auto;margin:0 auto 20px;display:block}
.tsv .tsv-nozona{background:#f4f5f6;border:1px solid #e6e7e9;border-radius:14px;padding:20px;font-size:15px;margin:0 0 18px}
.tsv .tsv-msg-contacto{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:16px 0 4px}
.tsv .tsv-msg-contacto a{display:inline-flex;align-items:center;gap:8px;color:#565b62;font-size:14.5px;text-decoration:none}
.tsv .tsv-msg-contacto a:hover{color:var(--tsv-btn)}
.tsv .tsv-msg-contacto svg{width:18px;height:18px;fill:var(--tsv-btn);flex:none}
.tsv .tsv-ok-icon{width:60px;height:60px;border-radius:50%;background:#1c6b57;margin:0 auto 16px;position:relative}
.tsv .tsv-ok-icon:after{content:"";position:absolute;left:22px;top:16px;width:13px;height:24px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
/* Overrides para temas que rompen el line-height (Elementor kit, etc.) */
.tsv label,.tsv .tsv-field label,.tsv .tsv-chk,.tsv .tsv-chk span,.tsv .tsv-section-title,.tsv .tsv-drop-t,.tsv .tsv-drop-s,.tsv .tsv-rgpd td{line-height:1.45!important}
.tsv .tsv-field input,.tsv .tsv-field select,.tsv .tsv-field textarea{line-height:1.4!important}
.tsv .tsv-title{line-height:1.2!important}
.tsv .tsv-price{line-height:1.05!important}
@media(max-width:520px){
	.tsv{font-size:15px}
	.tsv .tsv-grid{grid-template-columns:1fr}
	.tsv .tsv-card{padding:18px}
	.tsv .tsv-field{margin:8px 0 14px}
	.tsv .tsv-section-title{margin:16px 0 4px}
	.tsv .tsv-chk{margin:14px 0 4px}
	.tsv .tsv-price{font-size:36px}
	.tsv .tsv-price-box{padding:24px 16px}
	.tsv .tsv-rgpd{font-size:11px}
	.tsv .tsv-rgpd td:first-child{width:88px}
	.tsv .tsv-msg-contacto{flex-direction:column;gap:10px}
}

/* Pestañas de identificación (matrícula / marca-modelo) */
.tsv .tsv-tabs{display:flex;gap:10px;margin:6px 10px 16px;flex-wrap:wrap}
.tsv .tsv-tab{appearance:none;cursor:pointer;font:inherit;font-size:14px;font-weight:700;padding:11px 22px;border-radius:26px;border:1.5px solid #1b2a4a;background:#fff;color:#1b2a4a;transition:background .15s,color .15s}
.tsv .tsv-tab:hover{background:#eef1f6}
.tsv .tsv-tab-active,.tsv .tsv-tab-active:hover{background:#1b2a4a;color:#fff;border-color:#1b2a4a}
.tsv .tsv-pane{animation:tsv-fade .2s ease}
@keyframes tsv-fade{from{opacity:0}to{opacity:1}}
.tsv .tsv-plate-msg{margin:0 10px 12px;padding:11px 14px;background:#fef6f4;border:1.5px solid var(--tsv-accent);border-radius:12px;font-size:13.5px;color:#8a2b18}
.tsv .tsv-plate-msg a{color:var(--tsv-accent);font-weight:700;white-space:nowrap}

/* Formulario RGPD (usa las clases del tasador) */
.tsv .tsv-rgpd-intro{margin:2px 10px 16px;color:#5c6c7c;font-size:14px;line-height:1.5}
.tsv .tsv-rgpd-hint{margin:-6px 10px 14px;color:#8a97a5;font-size:12.5px}
.tsv .tsv-rgpd-out{margin:14px 10px 0}
