.serra-app{--s-o:#e2701c;--s-o2:#f3a33a;--s-ink:#2a2118;--s-mut:#6b5f55;--s-line:#e9e0d6;--s-bg:#fffaf4;--s-err:#c0392b;max-width:820px;margin:0 auto;color:var(--s-ink);font-size:16px;line-height:1.5}
.serra-app *{box-sizing:border-box}
.serra-app [hidden]{display:none!important}

.serra-progress{margin:0 0 20px}
.serra-progress-bar{height:8px;background:var(--s-line);border-radius:99px;overflow:hidden}
.serra-progress-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--s-o),var(--s-o2));transition:width .3s ease}
.serra-progress-label{margin-top:8px;font-size:14px;color:var(--s-mut)}
.serra-restored{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:var(--s-bg);border:1px solid var(--s-line);font-size:14px;color:var(--s-mut)}
.serra-link{background:none;border:0;outline:none;padding:0;color:var(--s-o);font-weight:600;text-decoration:underline;cursor:pointer;font-size:inherit}
.serra-link:focus,.serra-link:focus-visible{outline:none}

.serra-app .serra-step{border:1px solid var(--s-line);border-radius:16px;padding:32px;margin:0;background:#fff;min-width:0;box-shadow:0 2px 12px rgba(42,33,24,.04)}
.serra-app .serra-step legend{float:left;width:100%;padding:0;margin:0 0 6px;font-size:26px;font-weight:700;line-height:1.25;color:var(--s-ink);border:0}
.serra-app .serra-step legend + *{clear:both}
.serra-intro{color:var(--s-mut);margin:0 0 22px}

.serra-grid{display:flex;flex-wrap:wrap;gap:20px 4%;clear:both;padding-top:4px}
.serra-field{width:100%;margin:0}
.serra-half{width:48%}
.serra-third{width:30.66%}

.serra-label{display:block;font-weight:600;margin:0 0 6px;font-size:15px;line-height:1.4;color:var(--s-ink)}
.serra-help{display:block;color:var(--s-mut);margin:-2px 0 8px;font-size:13px}
.serra-req{color:var(--s-o)}

.serra-app input[type=text],.serra-app input[type=email],.serra-app input[type=tel],.serra-app input[type=number],.serra-app input[type=date],.serra-app textarea{display:block;width:100%;padding:11px 13px;margin:0;border:1px solid #d9cfc4;border-radius:9px;background:#fff;font-size:16px;line-height:1.4;color:var(--s-ink);box-shadow:none;font-family:inherit;min-height:46px}
.serra-app textarea{resize:vertical;min-height:90px}
.serra-app input:focus,.serra-app textarea:focus{outline:none;border-color:var(--s-o);box-shadow:0 0 0 3px rgba(226,112,28,.14)}
.serra-app input[readonly]{background:var(--s-bg);color:var(--s-mut)}

.serra-opts{display:flex;flex-wrap:wrap;gap:8px}
.serra-app .serra-opt{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;margin:0;border:1px solid #d9cfc4;border-radius:999px;cursor:pointer;font-weight:500;font-size:15px;background:#fff;transition:border-color .15s,background .15s}
.serra-opt:hover{border-color:var(--s-o2)}
.serra-opt:has(input:checked){border-color:var(--s-o);background:#fff2e6}
.serra-app .serra-opt input,.serra-app .serra-check input{margin:0;width:18px;height:18px;accent-color:var(--s-o);flex:none}
.serra-app .serra-check{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;margin:0;border:1px solid var(--s-line);border-radius:11px;background:var(--s-bg);cursor:pointer;font-weight:500}
.serra-check input{margin-top:3px!important}
.serra-check:has(input:checked){border-color:var(--s-o)}

.serra-info h4{margin:8px 0 4px;font-size:17px;color:var(--s-ink)}
.serra-info p{margin:8px 0 0;color:var(--s-mut);font-size:14px}
.serra-cost{width:100%;border-collapse:collapse;margin:10px 0 0;font-size:14px;background:var(--s-bg);border-radius:10px;overflow:hidden}
.serra-cost td{padding:8px 14px;border:0;border-bottom:1px solid var(--s-line)}
.serra-cost td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.serra-cost tr.sub td,.serra-cost tr.tot td{font-weight:700}
.serra-cost tr.tot td{background:#fff2e6;border-bottom:0}

.serra-pad{position:relative;height:190px;border:1.5px dashed #cbbfb2;border-radius:12px;background:#fff;touch-action:none;overflow:hidden}
.serra-pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;display:block}
.serra-pad::after{content:"";position:absolute;left:28px;right:28px;bottom:44px;border-bottom:1px solid var(--s-line);pointer-events:none}
.serra-pad-hint{position:absolute;left:0;right:0;top:42%;text-align:center;color:#b3a698;pointer-events:none;font-size:15px}

.serra-invalid input:not([type=radio]):not([type=checkbox]),.serra-invalid textarea,.serra-invalid .serra-opt,.serra-invalid .serra-check,.serra-invalid .serra-pad{border-color:var(--s-err)!important}
.serra-msg{display:block;color:var(--s-err);font-size:13px;margin-top:6px}
.serra-errors{margin:22px 0 0;padding:12px 14px;border-radius:9px;background:#fdecea;color:var(--s-err);font-size:14px}
.serra-errors:empty{display:none}

.serra-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.serra-app .serra-btn{appearance:none;-webkit-appearance:none;border:0;outline:none;cursor:pointer;margin:0;padding:14px 28px;border-radius:999px;font-weight:700;font-size:16px;line-height:1.2;font-family:inherit;background:linear-gradient(90deg,var(--s-o),var(--s-o2));color:#fff;text-transform:none;letter-spacing:0;transition:transform .1s,filter .15s}
.serra-app .serra-btn:hover{filter:brightness(1.05)}
.serra-app .serra-btn:active{transform:translateY(1px)}
.serra-app .serra-btn:focus,.serra-app .serra-btn:focus-visible,.serra-app .serra-btn:active{outline:none!important;box-shadow:none!important}
.serra-app .serra-btn::-moz-focus-inner{border:0}
.serra-next,.serra-submit{margin-left:auto}
.serra-app .serra-btn-light{background:#f4ece4;color:var(--s-ink)}
.serra-app .serra-clear{margin-top:10px;padding:8px 18px;font-size:14px}
.serra-app .serra-btn[disabled]{opacity:.6;cursor:wait}

.serra-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.serra-done{text-align:center;padding:48px 28px;border:1px solid var(--s-line);border-radius:16px;background:var(--s-bg)}
.serra-done h3{margin:0 0 10px;font-size:24px;color:var(--s-ink)}
.serra-done p{margin:8px auto;max-width:520px;color:var(--s-mut)}
.serra-done a{color:var(--s-o)}

@media (max-width:640px){
	.serra-app .serra-step{padding:22px 16px;border-radius:14px}
	.serra-app .serra-step legend{font-size:22px}
	.serra-half,.serra-third{width:100%}
	.serra-nav{flex-wrap:wrap}
	.serra-app .serra-btn{padding:14px 22px}
	.serra-app .serra-submit{width:100%}
}
