/* The product stays quiet; details open in native, keyboard-accessible dialogs. */
.tx-buying-tools { margin-top:16px; color:#333; font-size:14px; line-height:1.6; }
.tx-buying-tools *, .tx-buying-tools *::before, .tx-buying-tools *::after { box-sizing:border-box; }
.tx-buying-tools [hidden] { display:none !important; }
.tx-buying-tools button,.tx-buying-tools input,.tx-buying-tools select,.tx-buying-tools textarea { font:inherit; letter-spacing:normal; text-transform:none; }
.tx-buying-tools button { cursor:pointer; }
.tx-buying-tools button:focus-visible,.tx-buying-tools input:focus-visible,.tx-buying-tools select:focus-visible,.tx-buying-tools textarea:focus-visible { outline:2px solid #a5332d; outline-offset:3px; }
.tx-buying-tools .tx-shipping-trigger { appearance:none; display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:8px 12px; border:1px solid #dedfd7; border-radius:7px; color:#333; background:#fafaf7; text-align:left; transition:background .15s,border-color .15s; }
.tx-buying-tools .tx-shipping-trigger:hover { background:#f3f4ed; border-color:#b6bcac; }
.tx-tool-icon { width:20px; height:20px; flex-shrink:0; color:#6d765e; }
.tx-tool-icon svg { display:block; width:100%; height:100%; }
.tx-shipping-trigger > span:nth-child(2) { min-width:0; }
.tx-shipping-trigger strong { display:block; color:#333; font-size:14px; font-weight:500; }
.tx-shipping-trigger small { display:block; color:#73766c; font-size:12px; margin-top:3px; line-height:1.5; }
.tx-shipping-trigger small:empty { display:none; }
.tx-tool-chevron { margin-left:auto; color:#707860; font-size:20px; line-height:1; }
html.tx-buying-modal-open { overflow:hidden; }
.tx-buying-tools .tx-buying-dialog { border:1px solid #e2e2db; border-radius:14px; background:#fff; color:#333; padding:32px; width:640px; max-width:calc(100vw - 48px); max-height:calc(100dvh - 64px); margin:auto; overflow-y:auto; overscroll-behavior:contain; box-shadow:0 28px 100px #15201533; font-family:inherit; font-size:14px; line-height:1.6; }
.tx-buying-tools .tx-buying-dialog:not([open]) { display:none; }
.tx-buying-dialog::backdrop { background:rgba(26,32,25,.48); backdrop-filter:blur(3px); }
.tx-modal-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.tx-buying-tools .tx-modal-heading h2 { font-size:28px; line-height:1.2; font-weight:500; color:#282d26; letter-spacing:-.035em; margin:0; text-transform:none; }
.tx-modal-heading h2:focus { outline:none; }
.tx-modal-heading h2 + p { margin:9px 0 0; color:#6d745f; font-size:13px; }
.tx-buying-tools .tx-modal-close { display:flex; align-items:center; justify-content:center; width:34px; height:34px; min-width:34px; border:1px solid #e5e5dd; border-radius:50%; padding:0; background:#fafaf7; color:#777b70; font-size:24px; font-weight:300; line-height:1; margin:-7px -7px 0 0; }
.tx-buying-tools .tx-modal-close:hover { color:#333; border-color:#b9bfb0; }
.tx-modal-product,.tx-request-product { display:flex; align-items:center; gap:15px; background:#f7f7f2; padding:14px 16px; border-radius:7px; margin-bottom:24px; }
.tx-modal-product img,.tx-request-product img { width:54px; height:54px; flex-shrink:0; object-fit:contain; border-radius:3px; mix-blend-mode:multiply; }
.tx-modal-product strong,.tx-request-product strong { display:block; font-size:12px; font-weight:500; line-height:1.5; color:#3b4135; }
.tx-modal-product span,.tx-request-product span { font-size:11px; line-height:1.5; color:#6d745f; }
.tx-modal-product > div > span,.tx-request-product > div > span { display:block; margin-top:4px; }
.tx-tool-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin-bottom:18px; }
.tx-buying-tools label { display:block; color:#494e43; font-size:12px; font-weight:500; margin-bottom:7px; }
.tx-buying-tools label > span { color:#6d745f; font-weight:400; }
.tx-buying-tools input:not([type=radio]),.tx-buying-tools select,.tx-buying-tools textarea { display:block; width:100%; max-width:100%; min-height:46px; padding:11px 13px; border:1px solid #d1d4c9; border-radius:5px; background:#fff; color:#333; margin:0; font-size:16px; box-shadow:0 1px 2px #252b1904; }
.tx-buying-tools select { appearance:auto; }
.tx-buying-tools textarea { resize:vertical; min-height:94px; }
.tx-buying-tools input::placeholder,.tx-buying-tools textarea::placeholder { color:#6d745f; font-size:13px; }
.tx-buying-tools .tx-tool-button { display:inline-flex; align-items:center; justify-content:center; gap:26px; min-height:44px; padding:11px 18px; border:1px solid #a5332d; border-radius:5px; color:#fff; background:#a5332d; font-size:13px; line-height:1.5; font-weight:500; box-shadow:0 1px 2px #5014120c; }
.tx-buying-tools .tx-tool-button:hover { background:#852923; border-color:#852923; }
.tx-buying-tools .tx-tool-button:disabled { cursor:wait; opacity:.65; }
.tx-shipping-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px; }
.tx-shipping-actions > span { font-size:11px; color:#6d745f; }
.tx-buying-tools .tx-tool-note { color:#6d745f; font-size:11px; line-height:1.65; margin:12px 0 0; }
.tx-shipping-result { border-top:1px solid #e8e9e1; padding-top:22px; margin-top:24px; }
.tx-result-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px 14px; margin-bottom:13px; }
.tx-result-heading strong { color:#474e3e; font-size:13px; font-weight:500; }
.tx-result-heading > span { color:#6d745f; font-size:11px; }
.tx-shipping-options { display:grid; gap:8px; }
.tx-shipping-options label { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid #e2e4db; border-radius:6px; font-size:13px; margin:0; cursor:pointer; }
.tx-shipping-options label:hover { border-color:#bcc4ae; }
.tx-shipping-options label:has(input:checked) { border-color:#879875; background:#f5f7ef; }
.tx-shipping-options input { width:16px; height:16px; flex-shrink:0; accent-color:#6a7c51; margin:0; }
.tx-shipping-options label > span { color:#484f3e; }
.tx-shipping-options strong { display:block; font-size:13px; font-weight:500; }
.tx-shipping-options small { display:block; color:#6d745f; font-size:10px; margin-top:3px; letter-spacing:.025em; }
.tx-shipping-options b { margin-left:auto; color:#454f38; font-size:14px; font-weight:500; white-space:nowrap; }
.tx-shipping-breakdown { padding:17px 18px; background:#f7f7f2; border-radius:6px; margin:18px 0 0; font-size:12px; }
.tx-shipping-breakdown > div { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:3px 0; }
.tx-shipping-breakdown dt { color:#6d745f; font-weight:400; }
.tx-shipping-breakdown dd { margin:0; white-space:nowrap; color:#4a5140; }
.tx-shipping-breakdown .tx-shipping-total { margin-top:9px; border-top:1px solid #e3e6d9; padding-top:12px; font-size:15px; }
.tx-shipping-total dt,.tx-shipping-total dd { color:#333d29; font-weight:500; }
.tx-shipping-total dt > span { display:block; font-size:10px; color:#6d745f; font-weight:400; margin-top:3px; }
.tx-shipping-result-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; margin-top:20px; }
.tx-buying-tools .tx-delivery-help,.tx-buying-tools .tx-request-edit,.tx-buying-tools .tx-request-reset { padding:8px 0; min-height:40px; color:#a5332d; background:none; border:0; font-size:12px; text-align:left; text-decoration:underline; text-underline-offset:3px; }
.tx-request-tabs { display:flex; gap:4px; padding:4px; border-radius:6px; background:#f2f3ed; margin-bottom:18px; }
.tx-request-tabs button { flex:1; border:1px solid transparent; border-radius:4px; min-height:36px; padding:7px 12px; background:none; color:#6d745f; font-size:12px; }
.tx-request-tabs button[aria-pressed=true] { color:#48503c; background:#fff; border-color:#e2e5d9; box-shadow:0 1px 3px #303c2010; }
.tx-buying-tools .tx-request-intro { margin:0 0 21px; color:#6d745f; font-size:13px; line-height:1.7; }
.tx-question-topics { border:0; padding:0; margin:0 0 17px; }
.tx-question-topics legend { color:#565e4b; font-size:12px; font-weight:500; padding:0; margin:0 0 9px; }
.tx-question-topics > div { display:flex; flex-wrap:wrap; gap:8px; }
.tx-question-topics button { border:1px solid #dce1d0; border-radius:4px; color:#6d745f; background:#fafbf7; padding:7px 12px; min-height:34px; font-size:12px; }
.tx-question-topics button[aria-pressed=true] { border-color:#879875; background:#f0f4e7; color:#586c3e; }
.tx-request-form > .tx-tool-button { width:100%; margin-top:22px; }
.tx-request-form > .tx-tool-note { text-align:center; }
.tx-request-destination { font-size:11px; color:#6d745f; margin:12px 0 0; }
.tx-review-details { margin:0 0 24px; }
.tx-review-details > div { display:grid; grid-template-columns:78px minmax(0,1fr); gap:18px; padding:12px 0; border-bottom:1px solid #e8eae1; font-size:12px; }
.tx-review-details dt { color:#6d745f; font-weight:400; }
.tx-review-details dd { color:#505a43; margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.tx-request-review-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.tx-request-success { padding:12px 0 0; }
.tx-request-success > span { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:#6a8050; background:#eff4e5; font-size:23px; margin-bottom:18px; }
.tx-buying-tools .tx-request-success h3 { font-size:22px; color:#434f35; font-weight:500; letter-spacing:-.02em; line-height:1.3; text-transform:none; margin:0 0 12px; }
.tx-request-success p { color:#6d745f; font-size:13px; line-height:1.75; }
@media(max-width:600px) {
 .tx-buying-tools .tx-buying-dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:23px 20px; border-radius:11px; }
 .tx-buying-tools .tx-modal-heading h2 { font-size:25px; }
 .tx-tool-fields { grid-template-columns:1fr; gap:15px; margin-bottom:15px; }
 .tx-modal-product,.tx-request-product { padding:12px; gap:12px; margin-bottom:20px; }
 .tx-modal-product img,.tx-request-product img { width:42px; height:42px; }
 .tx-shipping-actions .tx-tool-button,.tx-shipping-result-actions .tx-tool-button { width:100%; }
 .tx-shipping-actions { gap:8px; }
 .tx-shipping-actions > span { display:block; width:100%; text-align:center; }
 .tx-shipping-options label { padding:12px; gap:10px; }
 .tx-shipping-options strong { font-size:12px; }
 .tx-shipping-result-actions { justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { .tx-shipping-trigger { transition:none; } }
/* Keep the complete quotation form in view on a typical laptop. */
.tx-buying-tools .tx-request-panel { padding:28px; }
.tx-request-panel .tx-modal-heading { margin-bottom:18px; }
.tx-request-panel .tx-request-product { padding:12px 14px; margin-bottom:18px; }
.tx-request-panel .tx-request-product img { width:44px; height:44px; }
.tx-request-panel .tx-request-tabs { margin-bottom:16px; }
.tx-request-panel .tx-request-intro { margin-bottom:17px; font-size:12px; }
.tx-request-panel .tx-tool-fields { margin-bottom:14px; gap:16px; }
.tx-request-panel input:not([type=radio]) { min-height:44px; padding:10px 12px; }
.tx-request-panel textarea { height:84px; min-height:84px; }
.tx-request-panel .tx-request-form > .tx-tool-button { margin-top:16px; }
@media(max-width:600px) { .tx-buying-tools .tx-request-panel { padding:23px 20px; } }

.tx-delivery-help > span { display:inline-block; text-decoration:none; }
/* Destination and costs are visible on the product; full service choices stay in a dialog. */
.tx-delivery-card { border:1px solid #dedfd7; border-radius:6px; padding:14px; background:#fafaf7; }
.tx-inline-shipping-fields { display:grid; grid-template-columns:minmax(0,1fr) 114px auto; align-items:end; gap:10px; }
.tx-inline-shipping-fields label { font-size:11px; margin-bottom:6px; }
.tx-shipping-region { margin-top:10px; max-width:260px; }
.tx-shipping-region label { font-size:11px; margin-bottom:6px; }
.tx-buying-tools .tx-shipping-region input,.tx-buying-tools .tx-shipping-region select { min-height:40px; height:40px; padding:8px 9px; font-size:13px; }
.tx-buying-tools .tx-inline-shipping-fields input,.tx-buying-tools .tx-inline-shipping-fields select { min-height:40px; height:40px; padding:8px 9px; font-size:13px; }
.tx-buying-tools .tx-inline-shipping-fields .tx-tool-button { min-height:40px; padding:8px 11px; font-size:12px; white-space:nowrap; }
.tx-buying-tools .tx-inline-shipping-status { margin:12px 0 0; font-size:12px; color:#6d745f; }
.tx-delivery-card .tx-shipping-trigger { border:0; border-top:1px solid #e3e5db; border-radius:0; padding:12px 0 0; margin-top:12px; min-height:0; background:none; }
.tx-delivery-card .tx-shipping-trigger:hover { background:none; }
.tx-delivery-card .tx-shipping-trigger strong { font-size:13px; }
.tx-delivery-card .tx-shipping-trigger small { font-size:11px; }
.tx-delivery-contact { display:flex; justify-content:flex-start; flex-wrap:wrap; align-items:center; gap:4px 9px; margin-top:12px; padding-top:10px; border-top:1px solid #e3e5db; font-size:12px; color:#6d745f; }
.tx-delivery-contact button { color:#a5332d; border:0; padding:3px 0; background:none; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.tx-delivery-contact button > span { display:inline-block; text-decoration:none; margin-left:3px; }
@media(max-width:600px) {
 .tx-inline-shipping-fields { grid-template-columns:minmax(0,1fr) 116px; }
 .tx-inline-shipping-fields .tx-tool-button { grid-column:1/-1; width:100%; }
 .tx-buying-tools .tx-inline-shipping-fields input,.tx-buying-tools .tx-inline-shipping-fields select { font-size:16px; min-height:44px; height:44px; }
 .tx-buying-tools .tx-shipping-region input,.tx-buying-tools .tx-shipping-region select { font-size:16px; min-height:44px; height:44px; }
 .tx-buying-tools .tx-inline-shipping-fields .tx-tool-button { min-height:44px; }
}
/* Use one explicit caret instead of mixing theme artwork and the native arrow. */
.tx-buying-tools select#tx-shipping-country { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%236d745f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:12px 8px; padding-right:32px; }
.tx-buying-tools .tx-modal-close { font-size:0; line-height:0; }
.tx-modal-close svg { display:block; width:16px; height:16px; flex-shrink:0; }

.tx-buying-tools .tx-request-error { border:1px solid #d9aaa5; background:#fff4f2; color:#8d2d25; padding:12px; border-radius:4px; font-size:13px; margin:0 0 18px; }
.tx-request-edit:disabled { opacity:.5; cursor:wait; }
