/* Scoped RTL styles: do not alter the site's header, footer or WooCommerce pages. */
/* 1.0.1: a theme may leave an 8/12-column grid or flex row open in get_header().
 * width:100% alone fills just ONE grid track, not the complete theme row.
 * Restrict these overrides to the plugin-owned main; never resize its ancestors.
 * Keep #primary for theme skip links and custom template compatibility.
 */
.tsfa-shell{margin:0 auto;padding:22px 28px 64px;box-sizing:border-box}
body.tsfa-template #primary.tsfa-shell,.tsfa-shell.tsfa-shell{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:min(100%,1440px)!important;
    flex:0 0 100%!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    float:none!important;
    clear:both;
    justify-self:stretch;
    align-self:start;
    position:relative;
    margin-inline:auto!important;
}
.tsfa{--tsfa-accent:#df382c;--tsfa-ink:#262b30;--tsfa-muted:#747b83;--tsfa-border:#e2e5e8;--tsfa-surface:#f5f6f7;--tsfa-viewer-height:760px;display:block;width:100%;min-width:0;flex:1 1 100%;grid-column:1 / -1;container:tsfa / inline-size;direction:rtl;text-align:right;font-family:inherit;font-size:14px;font-weight:400;line-height:1.8;color:var(--tsfa-ink);background:#fff;max-width:100%;isolation:isolate}
.tsfa *,.tsfa *::before,.tsfa *::after{box-sizing:border-box}
.tsfa [hidden]{display:none!important}
.tsfa h1,.tsfa h2,.tsfa h3,.tsfa p{padding:0;margin:0;line-height:1.7;color:inherit;font-family:inherit;letter-spacing:0;text-transform:none}
.tsfa a{color:inherit;text-decoration:none;box-shadow:none}
.tsfa a:hover{color:var(--tsfa-accent)}
.tsfa button,.tsfa input,.tsfa select{font:inherit;text-transform:none;letter-spacing:0;line-height:1.5;margin:0;box-shadow:none}
.tsfa button,.tsfa a,.tsfa select,.tsfa input{outline-offset:4px}
.tsfa button:focus-visible,.tsfa a:focus-visible,.tsfa input:focus-visible,.tsfa select:focus-visible{outline:2px solid var(--tsfa-accent)}
.tsfa button{cursor:pointer;min-width:0;border-radius:3px}
.tsfa input[type=search],.tsfa input[type=number],.tsfa select{min-width:0;max-width:100%;min-height:0;color:var(--tsfa-ink);background:#fff;border:1px solid #d9dde1;border-radius:3px;padding:10px 12px;height:44px;width:auto}
.tsfa input::placeholder{color:#91969c;opacity:1}
.tsfa .tsfa-icon{width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle}
.tsfa .tsfa-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}
.tsfa .tsfa-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:var(--tsfa-accent);border:1px solid var(--tsfa-accent);color:#fff;padding:10px 24px;font-weight:700;border-radius:3px;text-decoration:none;transition:filter .15s}
.tsfa .tsfa-button:hover{color:#fff;filter:brightness(.94)}
.tsfa .tsfa-link-button{border:0;background:none;padding:6px 0;display:inline-flex;gap:6px;align-items:center;color:var(--tsfa-muted)}
.tsfa .tsfa-text-link{color:var(--tsfa-accent);text-decoration:underline;text-underline-offset:4px}
.tsfa .tsfa-search-block{border-bottom:1px solid var(--tsfa-border);padding:18px 0 28px}
.tsfa .tsfa-search-title{font-size:29px;font-weight:700;margin:0 0 20px}





.tsfa .tsfa-welcome{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:var(--tsfa-muted);text-align:center;padding:48px 20px}
.tsfa .tsfa-welcome>.tsfa-icon{width:54px;height:54px;color:#bec5cc;stroke-width:1.1}
.tsfa .tsfa-results-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:25px 0 16px}
.tsfa .tsfa-results-heading h3{font-size:18px;font-weight:700}
.tsfa .tsfa-query-text{color:var(--tsfa-muted);font-weight:400;margin-inline-start:8px}
.tsfa .tsfa-results-heading>span{color:var(--tsfa-muted);font-size:12px}
.tsfa .tsfa-results-table{border-top:1px solid var(--tsfa-border)}
.tsfa .tsfa-result{display:grid;grid-template-columns:54px minmax(180px,1.5fr) minmax(100px,.65fr) minmax(100px,1fr) auto;gap:22px;align-items:center;padding:23px 16px;border-bottom:1px solid var(--tsfa-border);transition:background .15s}
.tsfa .tsfa-result:hover{background:#fafafa;color:var(--tsfa-ink)}
.tsfa .tsfa-result-icon{position:relative;display:flex;justify-content:center;align-items:center;width:46px;height:56px;color:#87929c}
.tsfa .tsfa-result-icon>.tsfa-icon{width:37px;height:44px;stroke-width:1.15}
.tsfa .tsfa-result-icon small{position:absolute;bottom:4px;left:5px;font:9px Arial,sans-serif;color:#fff;background:var(--tsfa-accent);padding:1px 5px;border-radius:2px}
.tsfa .tsfa-result-icon img{max-width:100%;max-height:100%;object-fit:contain}
.tsfa .tsfa-result-main{min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}
.tsfa .tsfa-result-main strong{font-size:15px;font-weight:700}
.tsfa .tsfa-result-main>span{font-size:12px;color:var(--tsfa-muted)}
.tsfa .tsfa-result-meta{min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.tsfa .tsfa-result-meta small{font-size:11px;color:var(--tsfa-muted)}
.tsfa .tsfa-result-meta bdi{font-size:13px;font-weight:500}
.tsfa .tsfa-result-action{display:flex;align-items:center;gap:12px;color:var(--tsfa-accent);font-size:12px;white-space:nowrap}
.tsfa .tsfa-result-action>.tsfa-icon{width:15px}
.tsfa .tsfa-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;padding:28px 0}
.tsfa .tsfa-pagination a{border:1px solid var(--tsfa-border);border-radius:3px;width:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
.tsfa .tsfa-pagination a[aria-current=page]{background:var(--tsfa-accent);color:white;border-color:var(--tsfa-accent)}
.tsfa .tsfa-pagination span{margin-inline-start:12px;color:var(--tsfa-muted);font-size:12px}
.tsfa .tsfa-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:45px 20px;text-align:center;color:var(--tsfa-muted)}
.tsfa .tsfa-empty>.tsfa-icon{width:40px;height:40px;color:#aab3bb}
.tsfa .tsfa-empty h3{font-size:16px}
.tsfa .tsfa-empty p{font-size:13px}
.tsfa .tsfa-is-loading [data-search-results]{opacity:.55;transition:opacity .12s}
.tsfa .tsfa-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--tsfa-muted);font-size:11px;padding:3px 0 10px}
.tsfa .tsfa-breadcrumbs>.tsfa-icon{width:10px;height:10px}
.tsfa-single .tsfa-search-block{padding:10px 0 24px}
.tsfa-single .tsfa-search-title{font-size:23px;margin-bottom:15px}


.tsfa .tsfa-detail-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:23px 0 22px}
.tsfa .tsfa-detail-heading h1{font-size:22px;line-height:1.7;font-weight:700;margin-bottom:5px}
.tsfa .tsfa-device-meta{display:flex;flex-wrap:wrap;column-gap:18px;row-gap:3px;color:var(--tsfa-muted);font-size:11px}
.tsfa .tsfa-device-meta bdi{color:var(--tsfa-ink);font-weight:500}
.tsfa .tsfa-products-toggle{flex-shrink:0;font-size:12px}
.tsfa .tsfa-detail-grid{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:26px;align-items:start}
.tsfa .tsfa-drawing-panel,.tsfa .tsfa-parts-panel{display:block;width:100%;max-width:100%;min-width:0;float:none;margin:0;padding:0;grid-column:auto}
.tsfa .tsfa-detail-heading>div{min-width:0;flex:1}
.tsfa .tsfa-device-meta>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
.tsfa .tsfa-detail-heading h1{overflow-wrap:anywhere}
.tsfa .tsfa-breadcrumbs>span{min-width:0;overflow-wrap:anywhere}
.tsfa .tsfa-document-links{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 14px;background:var(--tsfa-surface);border:1px solid var(--tsfa-border);border-bottom:0;border-radius:3px 3px 0 0;font-size:11px;min-height:54px}
.tsfa .tsfa-document-links>span{display:flex;align-items:center;gap:7px;font-weight:700;white-space:nowrap}
.tsfa .tsfa-document-links>div{display:flex;flex-wrap:wrap;gap:12px}
.tsfa .tsfa-document-links a{display:inline-flex;align-items:center;gap:5px;color:#555d65}
.tsfa .tsfa-document-links a:hover{color:var(--tsfa-accent)}
.tsfa .tsfa-document-links .tsfa-icon{width:16px;height:16px}
.tsfa .tsfa-viewer{position:relative;background:#e9ecef;border:1px solid #d6dce1;min-height:200px;overflow:hidden;border-radius:0 0 3px 3px}
.tsfa .tsfa-viewer-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px;padding:7px 9px;background:#343b43;color:#f6f7f8;min-height:47px;font-size:11px;direction:rtl}
.tsfa .tsfa-viewer-group{display:flex;gap:4px;align-items:center}
.tsfa .tsfa-viewer-toolbar button{min-height:0;min-width:0;display:inline-flex;justify-content:center;align-items:center;width:30px;height:31px;padding:5px;background:transparent;border:1px solid transparent;color:inherit}
.tsfa .tsfa-viewer-toolbar button:hover{background:#4e5863}
.tsfa .tsfa-viewer-toolbar button:disabled{opacity:.3;cursor:default}
.tsfa .tsfa-viewer-toolbar .tsfa-icon{width:17px;height:17px}
.tsfa .tsfa-page-label{display:flex;align-items:center;gap:5px;margin:0}
.tsfa .tsfa-viewer-toolbar input{width:40px;height:27px;padding:2px;border:1px solid #66717b;background:#fff;color:#27313a;border-radius:2px;text-align:center;font-size:12px;appearance:textfield}
.tsfa .tsfa-viewer-toolbar input::-webkit-inner-spin-button{appearance:none}
.tsfa .tsfa-pdf-stage{height:var(--tsfa-viewer-height);max-height:78vh;overflow:auto;padding:16px;direction:ltr;text-align:center;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a8b0b8 transparent}
.tsfa .tsfa-pdf-stage canvas{display:block;margin:0 auto;background:white;box-shadow:0 1px 7px #0002;max-width:none}
.tsfa .tsfa-pdf-status{padding:12px 16px;text-align:center;font-size:12px;background:#f8f9fa;color:#576574;border-bottom:1px solid var(--tsfa-border)}
.tsfa .tsfa-pdf-error{color:#915522;background:#fff5e9}
.tsfa .tsfa-native iframe{display:block;width:100%;height:var(--tsfa-viewer-height);max-height:80vh;border:0;background:#edf0f2}
.tsfa .tsfa-native>p{padding:10px 14px;background:white;font-size:12px}
.tsfa .tsfa-native>p a{color:var(--tsfa-accent)}
.tsfa .tsfa-native>p small{display:block;font-size:10px;color:var(--tsfa-muted);margin-top:4px}
.tsfa .tsfa-viewer:fullscreen,.tsfa .tsfa-viewer-expanded{background:#e9ecef;width:100vw;height:100vh}
.tsfa .tsfa-viewer:fullscreen .tsfa-pdf-stage,.tsfa .tsfa-viewer-expanded .tsfa-pdf-stage{height:calc(100vh - 55px);max-height:none}
.tsfa .tsfa-viewer-expanded{position:fixed;inset:0;z-index:999999}
.tsfa .tsfa-no-pdf{border:1px solid var(--tsfa-border);min-height:350px}
.tsfa .tsfa-description{padding:20px 0;color:#68717a;font-size:13px;overflow-wrap:anywhere}
.tsfa .tsfa-description p+p{margin-top:12px}
.tsfa .tsfa-description img{max-width:100%;height:auto}
.tsfa .tsfa-parts-heading{min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--tsfa-accent);padding:10px 0 13px;gap:10px}
.tsfa .tsfa-parts-heading h2{font-size:19px;font-weight:700}
.tsfa .tsfa-parts-heading>span{font-size:11px;color:var(--tsfa-muted)}
.tsfa .tsfa-parts-heading b{font-weight:400}
.tsfa .tsfa-parts-controls{padding:17px 0 14px;border-bottom:1px solid var(--tsfa-border)}



.tsfa .tsfa-sort-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px}
.tsfa .tsfa-sort-row>label{display:flex;align-items:center;gap:7px;margin:0}
.tsfa .tsfa-sort-row select{font-size:11px;height:35px;min-width:135px;max-width:210px;padding:5px 9px;padding-inline-end:26px}
.tsfa .tsfa-stock-filter{white-space:nowrap}
.tsfa .tsfa-stock-filter input{accent-color:var(--tsfa-accent);width:14px;height:14px}
.tsfa .tsfa-product{width:100%;max-width:100%;min-width:0;margin:0;float:none;display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;padding:23px 0;border-bottom:1px solid var(--tsfa-border);background:#fff}
.tsfa .tsfa-product-image{display:flex;justify-content:center;align-items:flex-start;min-height:110px;padding-top:5px}
.tsfa .tsfa-product-image img{width:105px;height:115px;object-fit:contain;border:0;border-radius:0;margin:0}
.tsfa .tsfa-product-content{display:block;width:100%;min-width:0;max-width:100%;float:none}
.tsfa .tsfa-product h3,.tsfa .tsfa-product h3>a{width:auto;max-width:100%;min-width:0;white-space:normal;word-break:normal;writing-mode:horizontal-tb}
.tsfa .tsfa-product h3>a{display:block}
.tsfa .tsfa-product-note,.tsfa .tsfa-sku{overflow-wrap:anywhere}
.tsfa .tsfa-product-price{overflow-wrap:anywhere}
.tsfa .tsfa-product h3{font-size:14px;font-weight:600;line-height:1.9;margin-bottom:7px;overflow-wrap:anywhere}
.tsfa .tsfa-position{display:inline-block;color:#767e86;font-size:10px;margin-bottom:5px}
.tsfa .tsfa-position bdi{color:#3d444b;font-weight:600}
.tsfa .tsfa-sku{font-size:11px;color:var(--tsfa-muted);margin-bottom:6px}
.tsfa .tsfa-sku bdi{color:#4e555d;letter-spacing:.2px}
.tsfa .tsfa-stock{display:inline-flex;align-items:center;gap:5px;font-size:10px}
.tsfa .tsfa-stock::before{content:"";width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor}
.tsfa .tsfa-stock.is-in{color:#27844c}.tsfa .tsfa-stock.is-out{color:#9c5656}
.tsfa .tsfa-product-note{font-size:11px;margin-top:5px;color:var(--tsfa-muted)}
.tsfa .tsfa-product-price{margin:11px 0 12px;font-size:17px;font-weight:700;color:#2b3036}
.tsfa .tsfa-product-price .woocommerce-Price-currencySymbol{font-size:.72em;font-weight:400}
.tsfa .tsfa-product-price del{font-size:.8em;opacity:.5;margin-inline-end:6px;font-weight:400}
.tsfa .tsfa-product-price ins{background:none;text-decoration:none;color:inherit}
.tsfa .tsfa-cart-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.tsfa .tsfa-cart-form input[type=number]{width:53px;height:37px;padding:5px;text-align:center;border-color:#d5dbe0;font-size:12px}
.tsfa .tsfa-cart-button{min-height:37px;padding:7px 13px;font-size:11px;gap:6px;white-space:nowrap;font-weight:500}
.tsfa .tsfa-cart-button>.tsfa-icon{width:16px;height:16px}
.tsfa .tsfa-product-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--tsfa-accent)}
.tsfa .tsfa-product-link>.tsfa-icon{width:13px;height:13px}
.tsfa-layout-stacked .tsfa-detail-grid,.tsfa-products-hidden .tsfa-detail-grid{grid-template-columns:1fr}
.tsfa-layout-stacked .tsfa-product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}
.tsfa-layout-stacked .tsfa-parts-panel{margin-top:12px}
@media(min-width:1500px){.tsfa .tsfa-detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.tsfa-layout-stacked .tsfa-detail-grid,.tsfa-products-hidden .tsfa-detail-grid{grid-template-columns:1fr}}
@media(max-width:1050px){.tsfa .tsfa-detail-grid{gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.tsfa .tsfa-product{grid-template-columns:80px minmax(0,1fr);gap:13px}.tsfa .tsfa-product-image img{width:80px;height:100px}.tsfa .tsfa-sort-row{flex-wrap:wrap}.tsfa .tsfa-document-links{flex-wrap:wrap}.tsfa .tsfa-result{grid-template-columns:46px minmax(140px,1fr) minmax(85px,.5fr) minmax(90px,.7fr);gap:15px}.tsfa .tsfa-result-action{grid-column:2/-1;justify-self:end}.tsfa-layout-stacked .tsfa-detail-grid,.tsfa-products-hidden .tsfa-detail-grid{grid-template-columns:1fr}}
@media(max-width:800px){.tsfa-shell{padding:16px 18px 40px}.tsfa .tsfa-detail-grid{grid-template-columns:1fr;gap:28px}.tsfa .tsfa-search-title{font-size:24px}.tsfa .tsfa-detail-heading{align-items:flex-start;gap:12px}.tsfa .tsfa-detail-heading h1{font-size:20px}.tsfa .tsfa-products-toggle{font-size:11px}.tsfa .tsfa-pdf-stage{max-height:65vh}.tsfa .tsfa-native iframe{max-height:65vh}.tsfa .tsfa-product{grid-template-columns:110px minmax(0,1fr);gap:20px}.tsfa .tsfa-product-image img{width:110px;height:120px}.tsfa .tsfa-sort-row{flex-wrap:nowrap}.tsfa-layout-stacked .tsfa-product-list{grid-template-columns:1fr}.tsfa .tsfa-product-list{max-height:none}}
@media(max-width:520px){.tsfa-shell{padding:10px 14px 36px}.tsfa{font-size:13px}.tsfa .tsfa-breadcrumbs{font-size:10px}.tsfa .tsfa-search-title{font-size:21px;margin-bottom:14px}.tsfa .tsfa-search-block{padding-bottom:21px}.tsfa .tsfa-results-heading{align-items:flex-start;flex-direction:column;gap:3px}.tsfa .tsfa-result{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:18px 4px}.tsfa .tsfa-result-icon{width:35px;grid-row:1/4}.tsfa .tsfa-result-main strong{font-size:13px}.tsfa .tsfa-result-meta{grid-column:2;flex-direction:row;gap:8px;font-size:11px}.tsfa .tsfa-result-meta bdi{font-size:11px}.tsfa .tsfa-result-action{grid-column:2;font-size:11px}.tsfa .tsfa-detail-heading{flex-direction:column;padding:20px 0 15px}.tsfa .tsfa-detail-heading h1{font-size:18px}.tsfa .tsfa-device-meta{font-size:10px;column-gap:12px}.tsfa .tsfa-document-links{font-size:10px;gap:9px;padding:10px}.tsfa .tsfa-document-links>span{font-size:11px}.tsfa .tsfa-document-links>div{gap:13px}.tsfa .tsfa-viewer-toolbar{padding:5px;justify-content:center;gap:4px}.tsfa .tsfa-viewer-toolbar button{width:27px;height:30px}.tsfa .tsfa-viewer-group{gap:2px}.tsfa .tsfa-viewer-toolbar input{width:35px}.tsfa .tsfa-pdf-stage{padding:10px}.tsfa .tsfa-product{grid-template-columns:80px minmax(0,1fr);gap:14px}.tsfa .tsfa-product-image img{width:80px;height:105px}.tsfa .tsfa-product h3{font-size:13px}.tsfa .tsfa-cart-button{font-size:10px;padding:7px 10px}.tsfa .tsfa-cart-form{gap:6px}.tsfa .tsfa-cart-form input[type=number]{width:43px}.tsfa .tsfa-sort-row{flex-wrap:wrap}.tsfa .tsfa-parts-heading h2{font-size:17px}.tsfa .tsfa-welcome{min-height:260px;padding:36px 10px}.tsfa .tsfa-welcome p{font-size:12px}.tsfa .tsfa-product-price{font-size:16px}}
@media(prefers-reduced-motion:reduce){.tsfa *{transition:none!important;scroll-behavior:auto!important}}
@media print{.tsfa .tsfa-search-block,.tsfa .tsfa-products-toggle,.tsfa .tsfa-parts-controls,.tsfa .tsfa-cart-form,.tsfa .tsfa-viewer-toolbar,.tsfa .tsfa-breadcrumbs{display:none!important}.tsfa .tsfa-detail-grid{display:block}.tsfa .tsfa-pdf-stage{height:auto;max-height:none;overflow:visible}.tsfa .tsfa-product{break-inside:avoid}}

.tsfa .tsfa-search-state{font-size:12px;color:var(--tsfa-muted);padding-top:8px}.tsfa .tsfa-search-state:empty{display:none}

/* 1.0.1: respond to the space AVAILABLE to the plugin, not only the viewport.
 * A desktop page builder may supply a 360-800px content column.
 */
@container tsfa (max-width:900px){
    .tsfa .tsfa-detail-grid{grid-template-columns:minmax(0,1fr);gap:28px}
    .tsfa .tsfa-document-links{flex-wrap:wrap}
    .tsfa .tsfa-sort-row{flex-wrap:wrap}
    .tsfa-layout-stacked .tsfa-product-list{grid-template-columns:minmax(0,1fr)}
    .tsfa .tsfa-result{grid-template-columns:46px minmax(0,1fr) minmax(80px,.5fr) minmax(80px,.7fr);gap:15px}
    .tsfa .tsfa-result-action{grid-column:2/-1;justify-self:end}
}
@container tsfa (max-width:540px){
    .tsfa .tsfa-search-title{font-size:21px;margin-bottom:14px}



    .tsfa .tsfa-detail-heading{flex-direction:column;align-items:flex-start;gap:12px}
    .tsfa .tsfa-detail-heading h1{font-size:18px}
    .tsfa .tsfa-device-meta{font-size:10px;column-gap:12px}
    .tsfa .tsfa-product{grid-template-columns:70px minmax(0,1fr);gap:12px}
    .tsfa .tsfa-product-image{min-height:85px}
    .tsfa .tsfa-product-image img{width:70px;height:95px}
    .tsfa .tsfa-product h3{font-size:13px}
    .tsfa .tsfa-cart-button{font-size:10px;padding:7px 10px;white-space:normal}
    .tsfa .tsfa-document-links{font-size:10px;gap:9px;padding:10px}
    .tsfa .tsfa-document-links>div{gap:10px}
    .tsfa .tsfa-viewer-toolbar{justify-content:center}
    .tsfa .tsfa-parts-heading h2{font-size:17px}
    .tsfa .tsfa-result{grid-template-columns:35px minmax(0,1fr);gap:10px;padding:18px 4px}
    .tsfa .tsfa-result-icon{width:35px;grid-row:1/4}
    .tsfa .tsfa-result-main strong{font-size:13px}
    .tsfa .tsfa-result-meta{grid-column:2;flex-direction:row;gap:8px}
    .tsfa .tsfa-result-action{grid-column:2;font-size:11px}
    .tsfa .tsfa-results-heading{align-items:flex-start;flex-direction:column;gap:3px}
}


/* 1.0.2 - Shared search controls.
 * Each icon occupies its own grid cell; its center follows the actual field
 * height instead of a fixed top offset. Border/padding live on the wrapper,
 * not on a width:100% input. Selected !important declarations shield ONLY
 * these controls from theme input/label rules (including content-box sizing).
 * No theme selectors, cart logic, PDF controls or stored data are changed.
 */
.tsfa .tsfa-search-block,
.tsfa .tsfa-detail-heading,
.tsfa .tsfa-parts-panel > .tsfa-parts-heading,
.tsfa .tsfa-parts-panel > .tsfa-parts-controls,
.tsfa .tsfa-parts-panel > .tsfa-product-list {
    box-sizing:border-box!important;
    width:100%;
    max-width:100%;
    min-width:0;
    margin-inline:0;
}
.tsfa .tsfa-search-form {
    --tsfa-field-height:50px;
    --tsfa-field-font-size:15px;
    --tsfa-search-button-width:128px;
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:stretch!important;
    gap:8px!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:6px!important;
    border:1px solid #dce2e8;
    border-radius:14px;
    background:#f7f8fa;
    box-shadow:0 2px 5px rgba(26,39,53,.025);
    transition:border-color .16s,background-color .16s,box-shadow .16s;
}
.tsfa .tsfa-search-input-wrap,
.tsfa .tsfa-parts-search {
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:10px!important;
    box-sizing:border-box!important;
    position:relative;
    float:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    line-height:normal;
    text-align:right;
    direction:rtl;
    cursor:text;
}
.tsfa .tsfa-search-input-wrap {
    flex:1 1 0%!important;
    width:auto!important;
    align-self:stretch;
    padding:0 12px!important;
    border:0!important;
    border-radius:9px;
    background:transparent;
}
.tsfa .tsfa-parts-search {
    --tsfa-field-height:48px;
    --tsfa-field-font-size:13px;
    padding:0 14px!important;
    border:1px solid #dce2e8;
    border-radius:12px;
    background:#f7f8fa;
    transition:border-color .16s,background-color .16s,box-shadow .16s;
}
.tsfa .tsfa-search-input-wrap > .tsfa-icon,
.tsfa .tsfa-parts-search > .tsfa-icon {
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    box-sizing:border-box!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    margin:0!important;
    padding:0!important;
    color:#8b95a3;
    pointer-events:none;
}
.tsfa .tsfa-search-input-wrap > input[type=search],
.tsfa .tsfa-parts-search > input[type=search] {
    position:static!important;
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
    float:none!important;
    width:100%!important;
    inline-size:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    max-width:100%!important;
    max-inline-size:100%!important;
    height:var(--tsfa-field-height)!important;
    block-size:var(--tsfa-field-height)!important;
    min-height:0!important;
    min-block-size:0!important;
    max-height:none!important;
    max-block-size:none!important;
    margin:0!important;
    padding:0 2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    outline:none!important; /* visible focus is drawn on the containing field */
    color:var(--tsfa-ink);
    font-family:inherit;
    font-size:var(--tsfa-field-font-size)!important;
    font-weight:400;
    line-height:1.6!important;
    text-align:right!important;
    direction:rtl;
    letter-spacing:normal;
    text-indent:0!important;
    -webkit-appearance:none;
    appearance:none;
}
.tsfa .tsfa-search-input-wrap > input::placeholder,
.tsfa .tsfa-parts-search > input::placeholder {
    color:#7c8794;
    opacity:1;
    font-weight:400;
}
.tsfa .tsfa-search-form > .tsfa-button {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    flex:0 0 var(--tsfa-search-button-width)!important;
    width:var(--tsfa-search-button-width)!important;
    min-width:0!important;
    max-width:none!important;
    height:var(--tsfa-field-height)!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 18px!important;
    border:1px solid var(--tsfa-accent);
    border-radius:10px;
    background:var(--tsfa-accent);
    color:#fff;
    font-size:15px;
    font-weight:700;
    line-height:1.5;
    white-space:nowrap;
    box-shadow:0 2px 4px rgba(30,36,44,.08);
    transition:filter .16s,box-shadow .16s;
}
.tsfa .tsfa-search-form:hover,
.tsfa .tsfa-parts-search:hover { border-color:#bfc8d3; }
.tsfa .tsfa-search-form:focus-within,
.tsfa .tsfa-parts-search:focus-within {
    border-color:var(--tsfa-accent);
    background:#fff;
    box-shadow:0 0 0 3px rgba(223,56,44,.12);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--tsfa-accent) 12%,transparent);
}
.tsfa .tsfa-search-input-wrap:focus-within > .tsfa-icon,
.tsfa .tsfa-parts-search:focus-within > .tsfa-icon { color:var(--tsfa-accent); }
.tsfa .tsfa-sort-row {
    box-sizing:border-box!important;
    width:100%;
    max-width:100%;
    min-width:0;
    flex-wrap:wrap;
    gap:10px 12px;
}
.tsfa .tsfa-sort-row > label { min-width:0;max-width:100%; }
.tsfa .tsfa-sort-row select { box-sizing:border-box!important;border-radius:8px; }
/* The PDF and product columns keep their intentional proportions. All edges
 * align within their own column; the search filter never protrudes into the
 * page margin. Match both narrow screens and page-builder containers. */
@media(max-width:540px) {
    .tsfa .tsfa-search-form {
        --tsfa-field-height:46px;
        --tsfa-field-font-size:16px;
        --tsfa-search-button-width:82px;
        gap:4px!important;
        padding:5px!important;
        border-radius:12px;
    }
    .tsfa .tsfa-search-input-wrap { gap:7px!important;padding:0 5px!important; }
    .tsfa .tsfa-search-form > .tsfa-button { padding:0 10px!important;font-size:13px;border-radius:8px; }
    .tsfa .tsfa-parts-search { --tsfa-field-font-size:16px;padding:0 11px!important;gap:8px!important; }
}
@container tsfa (max-width:540px) {
    .tsfa .tsfa-search-form {
        --tsfa-field-height:46px;
        --tsfa-field-font-size:16px;
        --tsfa-search-button-width:82px;
        gap:4px!important;
        padding:5px!important;
        border-radius:12px;
    }
    .tsfa .tsfa-search-input-wrap { gap:7px!important;padding:0 5px!important; }
    .tsfa .tsfa-search-form > .tsfa-button { padding:0 10px!important;font-size:13px;border-radius:8px; }
    .tsfa .tsfa-parts-search { --tsfa-field-font-size:16px;padding:0 11px!important;gap:8px!important; }
}
@media(forced-colors:active) {
    .tsfa .tsfa-search-form,.tsfa .tsfa-parts-search { border-color:CanvasText; }
    .tsfa .tsfa-search-form:focus-within,.tsfa .tsfa-parts-search:focus-within { outline:2px solid Highlight;outline-offset:2px; }
}

/* 1.1.0: only the login-required shortcode fallback; existing layout is unchanged. */
.tsfa.tsfa-access-gate{box-sizing:border-box;width:100%;max-width:100%;padding:36px 22px;text-align:center;background:#f8f9fb;border:1px solid #e3e6eb;border-radius:14px;display:flex;align-items:center;flex-direction:column;gap:14px;min-width:0}
.tsfa.tsfa-access-gate>.tsfa-icon{width:36px;height:36px;display:block;color:var(--tsfa-accent)}
.tsfa.tsfa-access-gate h2{font-size:22px;line-height:1.8;margin:0}
.tsfa.tsfa-access-gate p{font-size:14px;line-height:2;margin:0;max-width:620px}
.tsfa.tsfa-access-gate .tsfa-button{display:inline-flex;width:auto;max-width:100%;min-height:46px;align-items:center;justify-content:center;text-decoration:none;white-space:normal}

/* 1.2.0: in-page, canvas-only document viewer. All geometry is plugin scoped.
   Later rules retain the 1.0.1 full-row fix and the 1.0.2 search controls. */
.tsfa .tsfa-document-heading {
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    box-sizing:border-box;width:100%;min-width:0;padding:17px 18px;
    border:1px solid #e1e5eb;border-bottom:0;border-radius:16px 16px 0 0;background:#fff;
}
.tsfa .tsfa-document-title { display:flex;align-items:center;gap:11px;min-width:0; }
.tsfa .tsfa-document-title strong { display:block;margin:0;color:var(--tsfa-ink);font-size:14px;line-height:1.8; }
.tsfa .tsfa-document-title small { display:block;color:#737d8b;font-size:11px;line-height:1.8; }
.tsfa .tsfa-document-symbol {
    display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;
    background:color-mix(in srgb,var(--tsfa-accent) 7%,white);color:var(--tsfa-accent);
}
.tsfa .tsfa-document-symbol .tsfa-icon { width:22px;height:22px; }
.tsfa .tsfa-viewer-badge { display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:500;color:#637184;background:#f5f7fa;border:1px solid #e9edf2;padding:5px 9px;border-radius:24px; }
.tsfa .tsfa-viewer-badge .tsfa-icon { width:13px;height:13px; }
.tsfa .tsfa-viewer-v2 {
    container:tsfa-viewer / inline-size;position:relative;display:flex;flex-direction:column;
    width:100%;max-width:100%;min-width:0;min-height:240px;margin:0;box-sizing:border-box;
    border:1px solid #e1e5eb;border-radius:0 0 16px 16px;background:#f1f4f7;overflow:hidden;
    box-shadow:0 9px 24px rgba(28,41,61,.045);color:var(--tsfa-ink);font-family:inherit;
}
.tsfa .tsfa-viewer-v2 *, .tsfa .tsfa-viewer-v2 *::before, .tsfa .tsfa-viewer-v2 *::after { box-sizing:border-box!important; }
.tsfa .tsfa-viewer-v2 [hidden] { display:none!important; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar {
    display:flex!important;flex:0 0 auto;align-items:center!important;justify-content:space-between!important;
    flex-flow:row wrap!important;gap:8px!important;width:100%;min-width:0;min-height:0;
    padding:10px 12px!important;margin:0;background:#fafbfd;color:#475569;border:0;border-bottom:1px solid #e2e7ee;
    font-size:12px;direction:rtl;
}
.tsfa .tsfa-viewer-v2 .tsfa-viewer-group {
    display:flex!important;flex:0 1 auto;align-items:center!important;justify-content:center;gap:3px!important;
    width:auto;min-width:0;max-width:100%;padding:3px!important;margin:0!important;
    border:1px solid #e4e9ef;border-radius:11px;background:#fff;
}
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    position:static!important;flex:0 0 36px!important;width:36px!important;height:36px!important;
    min-width:0!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;
    border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;
    color:#475569!important;line-height:1!important;box-shadow:none!important;text-indent:0!important;
    font:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button::before,
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button::after { content:none!important; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button:hover:not(:disabled) { background:#f0f3f7!important;color:#273548!important; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button[aria-pressed=true] {
    color:var(--tsfa-accent)!important;background:color-mix(in srgb,var(--tsfa-accent) 9%,white)!important;
}
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button:disabled { opacity:.32;cursor:default; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar .tsfa-icon {
    display:block!important;position:static!important;inset:auto!important;transform:none!important;
    width:18px!important;height:18px!important;min-width:18px;margin:0!important;padding:0!important;flex:none;
}
.tsfa .tsfa-viewer-v2 .tsfa-page-label {
    display:flex!important;align-items:center!important;gap:7px!important;width:auto!important;
    margin:0!important;padding:0 2px!important;min-width:0;color:#566375;font-weight:400;font-size:11px;
}
.tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar input {
    display:block!important;position:static!important;flex:0 0 38px!important;width:38px!important;min-width:0!important;
    max-width:38px!important;height:32px!important;min-height:0!important;margin:0!important;padding:2px!important;
    border:1px solid #dde3eb!important;border-radius:7px!important;background:#f7f9fb!important;color:#263447!important;
    font-family:inherit!important;font-size:16px!important;font-weight:500;line-height:1.5!important;
    box-shadow:none!important;text-align:center!important;text-indent:0!important;direction:ltr!important;appearance:none!important;
}
.tsfa .tsfa-viewer-v2 .tsfa-page-total { display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;padding:0 3px; }
.tsfa .tsfa-viewer-v2 [data-pdf-zoom] { display:inline-block;min-width:47px;text-align:center;font-size:12px;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums; }
.tsfa .tsfa-viewer-v2 button:focus-visible, .tsfa .tsfa-viewer-v2 input:focus-visible {
    outline:2px solid var(--tsfa-accent)!important;outline-offset:2px!important;
}
.tsfa .tsfa-viewer-v2 .tsfa-pdf-workspace { position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 1 auto; }
.tsfa .tsfa-viewer-v2 .tsfa-pdf-stage {
    position:relative;display:block;flex:1 1 auto;min-width:0;min-height:250px;
    height:min(var(--tsfa-viewer-height),72vh);height:min(var(--tsfa-viewer-height),72dvh);max-height:none;
    width:100%;margin:0;padding:20px;overflow:auto;direction:ltr;text-align:left;
    background:radial-gradient(ellipse at top,#f8fafc,#edf1f5);scrollbar-width:thin;scrollbar-color:#b4becb transparent;
    overscroll-behavior:contain;scrollbar-gutter:stable both-edges;
}
.tsfa .tsfa-viewer-v2 .tsfa-pdf-stage:focus-visible { outline:2px solid var(--tsfa-accent);outline-offset:-3px; }
.tsfa .tsfa-viewer-v2 .tsfa-pdf-sheet {
    display:block;width:max-content;min-width:0;max-width:none;margin:0 auto;padding:0;border:0;
    background:#fff;box-shadow:0 2px 5px rgba(29,46,66,.06),0 12px 28px rgba(29,46,66,.08);
}
.tsfa .tsfa-viewer-v2 .tsfa-pdf-sheet canvas {
    display:block!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;
    border:0!important;background:#fff;box-shadow:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
}
.tsfa .tsfa-viewer-v2 .tsfa-pdf-status {
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;
    gap:17px;padding:28px;margin:0;background:#f6f8fb;color:#697789;border:0;text-align:center;z-index:1;
}
.tsfa .tsfa-viewer-v2 .tsfa-pdf-status strong { font:inherit;font-size:13px;line-height:2.1;max-width:360px;color:inherit; }
.tsfa .tsfa-viewer-v2[data-viewer-state=rendering] .tsfa-pdf-status {
    inset:auto 50% auto auto;top:12px;transform:translateX(50%);width:max-content;max-width:calc(100% - 30px);
    flex-direction:row;gap:9px;border:1px solid #e5e9ef;border-radius:30px;padding:7px 16px;background:#fffffff5;box-shadow:0 4px 14px #1923370d;pointer-events:none;
}
.tsfa .tsfa-viewer-v2 .tsfa-pdf-spinner { display:block;width:28px;height:28px;flex:none;border-radius:50%;border:3px solid #dfe5ee;border-top-color:var(--tsfa-accent);animation:tsfa-pdf-spin .8s linear infinite; }
.tsfa .tsfa-viewer-v2[data-viewer-state=rendering] .tsfa-pdf-spinner { width:16px;height:16px;border-width:2px; }
.tsfa .tsfa-viewer-v2 progress { appearance:none;display:block;width:180px;max-width:100%;height:4px;border:0;border-radius:8px;overflow:hidden;accent-color:var(--tsfa-accent); }
.tsfa .tsfa-viewer-v2 progress::-webkit-progress-bar { background:#e1e6ee;border-radius:8px; }
.tsfa .tsfa-viewer-v2 progress::-webkit-progress-value { background:var(--tsfa-accent);border-radius:8px; }
.tsfa .tsfa-viewer-v2[data-viewer-state=error] .tsfa-pdf-status { color:#784c43; }
.tsfa .tsfa-viewer-v2[data-viewer-state=error] .tsfa-pdf-spinner { display:none; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-retry {
    display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 17px;
    border:1px solid #dde3eb;border-radius:9px;background:#fff;color:#34435a;font-family:inherit;font-size:12px;cursor:pointer;
}
.tsfa .tsfa-viewer-v2 .tsfa-viewer-footer { display:flex;justify-content:space-between;align-items:center;gap:8px;flex:0 0 auto;min-height:43px;padding:10px 17px;border-top:1px solid #e2e7ee;background:#fafbfd;font-size:10px;color:#65748a; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-hint { color:#7b8695; }
.tsfa .tsfa-viewer-v2 .tsfa-viewer-noscript { position:absolute;inset:100px 15px auto;background:white;padding:20px;z-index:2;color:#85493e; }
.tsfa.tsfa-viewer-dialog {
    position:fixed!important;inset:16px!important;width:calc(100vw - 32px)!important;height:calc(100vh - 32px)!important;height:calc(100dvh - 32px)!important;
    max-width:1600px!important;max-height:none!important;min-width:0;min-height:0;margin:auto!important;padding:0!important;
    border:0!important;border-radius:16px!important;background:#f1f4f7;box-shadow:0 24px 70px #0f172a40;overflow:hidden;
}
.tsfa.tsfa-viewer-dialog::backdrop { background:#18253499;backdrop-filter:blur(4px); }
.tsfa.tsfa-viewer-dialog .tsfa-viewer-v2 { height:100%;border-radius:16px; }
.tsfa.tsfa-viewer-dialog .tsfa-pdf-stage { height:0;min-height:0;max-height:none; }
@keyframes tsfa-pdf-spin { to { transform:rotate(360deg); } }
@container tsfa-viewer (max-width:610px) {
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar { justify-content:center!important;gap:7px!important;padding:9px!important; }
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button { width:40px!important;height:40px!important;flex-basis:40px!important; }
    .tsfa .tsfa-viewer-v2 .tsfa-page-label input { height:35px!important; }
    .tsfa .tsfa-viewer-v2 .tsfa-pdf-stage { padding:14px; }
}
@container tsfa-viewer (max-width:440px) {
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-pages { flex-basis:100%;justify-content:center; }
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar { gap:6px!important;padding:8px!important; }
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-toolbar button { width:36px!important;height:40px!important;flex-basis:36px!important; }
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-group { padding:2px!important;gap:1px!important; }
    .tsfa .tsfa-viewer-v2 .tsfa-viewer-hint { display:none; }
    .tsfa .tsfa-viewer-v2 .tsfa-pdf-stage { padding:10px;min-height:280px;height:min(var(--tsfa-viewer-height),62vh);height:min(var(--tsfa-viewer-height),62dvh); }
    .tsfa.tsfa-viewer-dialog .tsfa-viewer-v2 .tsfa-pdf-stage { height:0;min-height:0; }
}
@media(max-width:520px) {
    .tsfa .tsfa-document-heading { padding:12px;gap:8px; }
    .tsfa .tsfa-document-title { gap:8px; }
    .tsfa .tsfa-document-symbol { width:36px;height:36px;flex-basis:36px;border-radius:10px; }
    .tsfa .tsfa-document-title strong { font-size:13px; }
    .tsfa .tsfa-document-title small { font-size:10px; }
    .tsfa .tsfa-viewer-badge { font-size:10px;padding:4px 7px; }
    .tsfa.tsfa-viewer-dialog { inset:6px!important;width:calc(100vw - 12px)!important;height:calc(100vh - 12px)!important;height:calc(100dvh - 12px)!important; }
}
@media(prefers-reduced-motion:reduce) { .tsfa .tsfa-viewer-v2 * { animation:none!important;transition:none!important; } }
@media print {
    .tsfa .tsfa-viewer-v2 { display:none!important; }
    .tsfa.tsfa-viewer-dialog { display:none!important; }
}
