/* Shared request form and its native, accessible dialog. */
[data-contact-form] [hidden]{display:none!important}
[data-contact-form] fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}
[data-contact-form] fieldset legend{padding:0;color:#173c55;font-size:.91rem;font-weight:750}
[data-contact-form] fieldset legend:focus{outline:0}
[data-contact-form] .contact-fields{margin-top:16px}
[data-contact-form] .contact-fields .campo{grid-column:auto}
[data-contact-form] .contact-fields .contact-field-full{grid-column:1/-1}
[data-contact-form] .campo input,[data-contact-form] .campo select,[data-contact-form] .campo textarea{width:100%;min-height:48px;max-width:100%;font-size:16px;padding:12px 14px;border:1px solid #cadce5;border-radius:11px;background:#f9fcfd;color:#173c55}
[data-contact-form] .campo textarea{min-height:96px;resize:vertical}
[data-contact-form] .campo textarea[name=cantidades]{min-height:76px}
[data-contact-form] .campo label{font-size:.84rem;font-weight:700;color:#173c55}
[data-contact-form] .campo :is(input,select,textarea):focus{outline:3px solid #087b9f26;border-color:#087b9f}
.etp-request-extra{margin-top:20px;padding:15px 17px;border:1px solid #d7e5ed;border-radius:14px;background:#f8fbfd}
.etp-request-extra summary{cursor:pointer;color:#173c55;font-weight:700;font-size:.86rem;min-height:28px}
.etp-request-extra summary span{font-weight:400;color:#597080}
.etp-request-extra summary:focus-visible{outline:2px solid #087b9f;outline-offset:4px;border-radius:4px}
.etp-request-product{display:flex;gap:14px;align-items:center;padding:16px;background:#f0f7fa;border:1px solid #cee2ea;border-radius:16px;margin-top:16px}
.etp-request-product img{width:64px;height:64px;flex:none;object-fit:contain;border-radius:10px;background:#fff}
.etp-request-product div{min-width:0}
.etp-request-product small,.etp-request-product strong,.etp-request-product div>span{display:block;overflow-wrap:anywhere}
.etp-request-product small{font-size:.7rem;color:#087b9f;margin-bottom:4px}
.etp-request-product strong{font-size:.92rem;line-height:1.4;color:#173c55}
.etp-request-product div>span{font-size:.76rem;color:#597080;margin-top:3px}
.etp-form-controls{display:flex;gap:12px;align-items:center;margin-top:24px}
.etp-form-controls .site-button{flex:1;min-height:50px;justify-content:center;border-radius:12px;margin-top:0!important}
.etp-form-controls .etp-form-back{flex:none;width:auto;padding:12px 16px;min-height:50px;margin-top:0;background:#eef5f8;color:#173c55;border:1px solid #d7e5ed;border-radius:12px;font-size:.85rem;font-weight:700;cursor:pointer}
.etp-form-controls button:disabled{cursor:wait;opacity:.65}
.etp-form-progress{display:flex;gap:10px;padding:0;margin:0 0 24px;list-style:none}
.etp-form-progress li{flex:1;background:#f0f5f8;color:#657c8c;font-size:.79rem;font-weight:700;padding:12px;border-radius:10px;border-bottom:3px solid transparent}
.etp-form-progress li[aria-current=step]{background:#e7f4f9;border-bottom-color:#087b9f;color:#087b9f}
.etp-quote-dialog{position:fixed;inset:0 0 0 auto;width:min(600px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;margin:0;border:0;border-left:1px solid #d7e5ed;border-radius:24px 0 0 24px;background:#fff;color:#173c55;overflow:hidden;box-shadow:-18px 0 60px #102c4b26}
.etp-quote-dialog:not([open]){display:none}
.etp-quote-dialog::backdrop{background:#0c143578;backdrop-filter:blur(3px)}
.etp-quote-panel{height:100%;display:flex;flex-direction:column;min-width:0}
.etp-quote-dialog[open] .etp-quote-panel{animation:etp-quote-enter .22s ease-out}
.etp-quote-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-bottom:1px solid #dfebf1;flex:none;background:#fff}
.etp-quote-header h2{font-size:1.6rem;letter-spacing:-.025em;line-height:1.2;margin:9px 0 0;color:#173c55}
.etp-quote-header h2:focus{outline:0}
.etp-quote-header .site-kicker{font-size:.69rem}
.etp-quote-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #d7e5ed;border-radius:50%;background:#f0f6f9;color:#173c55;font-size:1.7rem;cursor:pointer}
.etp-quote-close:hover{background:#e3eff5}
.etp-quote-close:focus-visible{outline:3px solid #087b9f;outline-offset:3px}
.etp-quote-close:disabled{opacity:.5;cursor:wait}
.etp-quote-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px 28px calc(24px + env(safe-area-inset-bottom))}
.etp-quote-content [data-contact-form] fieldset{margin-top:0}
.etp-quote-content .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.etp-quote-content .campo{min-width:0;margin:0;display:grid;gap:8px}
.etp-quote-content .etp-field-optional{font-size:.77rem}
.etp-quote-content .site-form-note{font-size:.76rem;line-height:1.6;color:#597080;text-align:center;margin:14px 0 0}
.etp-quote-content .etp-form-controls{position:sticky;bottom:0;padding:14px 0;background:#fff;border-top:1px solid #e3edf2}
.etp-quote-content .site-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.87rem;font-weight:750;min-height:48px;padding:12px 18px;background:#087b9f;color:#fff;border:1px solid #087b9f;border-radius:12px;cursor:pointer;text-decoration:none}
.etp-quote-content .site-button:hover{background:#066887;border-color:#066887}
.etp-quote-content .site-button:focus-visible{outline:3px solid #087b9f;outline-offset:3px}
.etp-quote-content .site-button-green{background:#087f52;border-color:#087f52}
.etp-quote-content .site-button svg{width:20px;height:20px}
.etp-quote-notice,.etp-quote-placeholder{font-size:.9rem;line-height:1.7;color:#597080}
@keyframes etp-quote-enter{from{opacity:.4;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:600px){.etp-quote-dialog{width:100vw;border-radius:0;border:0}.etp-quote-header{padding:20px}.etp-quote-header h2{font-size:1.4rem}.etp-quote-content{padding:22px 20px calc(18px + env(safe-area-inset-bottom))}.etp-quote-content .contact-fields{grid-template-columns:1fr}[data-contact-form] .contact-fields .campo{grid-column:1/-1}.etp-form-controls{gap:8px}.etp-form-controls .etp-form-back{padding:12px}.etp-form-progress li{font-size:.75rem;padding:10px}.etp-request-extra{padding:14px}}
@media(prefers-reduced-motion:reduce){.etp-quote-dialog[open] .etp-quote-panel{animation:none}}
