.tx-shipping-quote-open { display:inline-block; color:#a5332d; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
button.tx-shipping-quote-open { background:none; border:0; padding:2px 0; font:inherit; }
html.tx-shipping-request-open { overflow:hidden; }
.tx-shipping-request { width:680px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); margin:auto; overflow:auto; overscroll-behavior:contain; padding:28px; border:1px solid #dedfd7; border-radius:12px; background:#fff; color:#333; box-shadow:0 24px 90px #15201533; font-family:inherit; font-size:14px; line-height:1.6; }
.tx-shipping-request:not([open]),.tx-shipping-request [hidden] { display:none!important; }
.tx-shipping-request::backdrop { background:rgba(26,32,25,.48); }
.tx-shipping-request header { display:flex; gap:16px; align-items:start; justify-content:space-between; }
.tx-shipping-request h2 { font-size:26px; font-weight:500; line-height:1.25; margin:0; color:#333; text-transform:none; }
.tx-shipping-request h2:focus { outline:none; }
.tx-shipping-request header button { display:flex; align-items:center; justify-content:center; flex:none; width:34px; height:34px; border:1px solid #dedfd7; border-radius:50%; background:#fafaf7; color:#555; font-size:24px; line-height:1; padding:0; }
.tx-quote-intro,.tx-quote-note { color:#68705f; }
.tx-quote-intro { margin:12px 0 16px; }
.tx-quote-products { padding:12px 16px; margin-bottom:18px; background:#f7f7f2; border-radius:6px; }
.tx-quote-products ul { margin:0; padding:0; list-style:none; }
.tx-quote-products li + li { border-top:1px solid #e3e5dc; margin-top:9px; padding-top:9px; }
.tx-quote-products a { color:#333; font-weight:500; }
.tx-quote-products small { display:block; color:#68705f; }
.tx-shipping-request fieldset { padding:0; margin:0 0 16px; border:0; }
.tx-shipping-request legend { font-size:15px; font-weight:600; margin-bottom:10px; padding:0; }
.tx-quote-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 16px; }
.tx-shipping-request label { display:block; margin:0; font-size:12px; color:#494e43; font-weight:500; }
.tx-shipping-request small { font-weight:400; }
.tx-shipping-request input,.tx-shipping-request select,.tx-shipping-request textarea { box-sizing:border-box; width:100%; min-height:44px; padding:9px 11px; margin:5px 0 0; border:1px solid #d1d4c9; border-radius:5px; background:#fff; color:#333; font-family:inherit; font-size:16px; line-height:1.4; box-shadow:none; }
.tx-shipping-request input,.tx-shipping-request select { height:44px; }
.tx-shipping-request select { appearance:auto; -webkit-appearance:menulist; }
.tx-shipping-request textarea { resize:vertical; min-height:94px; }
.tx-shipping-request :is(input,select,textarea,button,a):focus-visible { outline:2px solid #a5332d; outline-offset:2px; }
.tx-shipping-request .tx-quote-send,.tx-quote-success button { display:block; width:100%; border:1px solid #a5332d; border-radius:5px; padding:12px 18px; margin-top:18px; background:#a5332d; color:#fff; font-size:14px; font-weight:500; }
.tx-shipping-request .tx-quote-send:disabled { opacity:.65; cursor:wait; }
.tx-shipping-request .tx-quote-note { font-size:12px; margin:10px 0 0; }
.tx-quote-error { border:1px solid #d9aaa5; border-radius:4px; padding:10px 12px; background:#fff4f2; color:#8d2d25; }
.tx-quote-status { color:#68705f; }
.tx-quote-success h3 { text-transform:none; font-size:23px; color:#333; }
@media(max-width:600px) { .tx-shipping-request { padding:22px 18px; max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); } .tx-quote-grid { grid-template-columns:1fr; } .tx-shipping-request h2 { font-size:24px; } }
