/* Local storefront: readable catalogues, useful search, clear company details. */
.tx-home,.tx-catalog { color:#353535; font-family:Arial,Helvetica,sans-serif; padding:32px var(--porto-container-spacing,10px) 70px; }
.tx-home *, .tx-catalog * { box-sizing:border-box; }
.tx-home h1,.tx-home h2,.tx-catalog h1,.tx-catalog h2 { color:#292929; font-weight:500; letter-spacing:normal; text-transform:none; margin:0; }
.tx-home p,.tx-catalog p { margin:0 0 16px; }
.tx-home a,.tx-catalog a { color:#a5332d; text-underline-offset:3px; }
.tx-home a:focus-visible,.tx-catalog a:focus-visible,.tx-home button:focus-visible,.tx-catalog button:focus-visible,.tx-site-footer a:focus-visible { outline:2px solid #a5332d; outline-offset:4px; }
.tx-home-hero { padding:25px 0 48px; max-width:720px; }
.tx-home h1 { font-size:46px; line-height:1.13; max-width:700px; margin-bottom:23px; }
.tx-home-intro > p { font-size:18px; line-height:1.7; color:#555; max-width:650px; }
.tx-home-intro .tx-part-search { max-width:600px; }
.tx-home-recent { margin-bottom:35px; }
.tx-part-search { margin:30px 0 0; }
.tx-part-search label { display:block; font-size:14px; font-weight:600; margin-bottom:10px; }
.tx-part-search > div { display:flex; gap:0; }
.tx-part-search input[type=search] { flex:1; min-width:0; border:1px solid #b8b8b8; border-radius:3px 0 0 3px; padding:13px 14px; height:50px; font-size:15px; background:#fff; color:#333; box-shadow:none; }
.tx-part-search input:focus { outline:2px solid #a5332d; outline-offset:2px; }
.tx-part-search button { border:1px solid #a5332d; background:#a5332d; color:#fff; font-size:15px; font-weight:600; border-radius:0 3px 3px 0; padding:0 21px; cursor:pointer; }
.tx-part-search button:hover { background:#76251f; }
.tx-home-intro .tx-search-help { margin:12px 0 0; font-size:13px; }
.tx-search-help a { text-decoration:underline; }
.tx-home h2 { font-size:27px; line-height:1.3; margin-bottom:24px; }
.tx-home-categories { padding:28px 0 48px; }
.tx-home-categories ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px 36px; list-style:none; padding:0; margin:0; }
.tx-home-categories a { color:#333; font-size:15px; line-height:1.6; display:flex; justify-content:space-between; gap:12px; padding:8px 0; text-decoration:none; }
.tx-home-categories a:hover { color:#a5332d; text-decoration:underline; }
.tx-home-categories span { color:#888; font-size:12px; }
.tx-home-company { padding:35px 38px; border-radius:4px; background:#f5f4f0; display:grid; grid-template-columns:1fr 1fr; gap:60px; margin:5px 0 55px; }
.tx-home-company h2 { font-size:24px; margin-bottom:15px; }
.tx-home-company p { font-size:15px; line-height:1.8; color:#555; }
.tx-home-company p:last-child { margin-bottom:0; }
.tx-home-company a { text-decoration:underline; }
.tx-home-company span { margin:0 8px; color:#777; }
.tx-section-title { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-bottom:25px; }
.tx-section-title h2 { margin:0; }
.tx-section-title > a { font-size:14px; text-decoration:underline; }
.tx-parts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:44px 30px; }
.tx-home-recent .tx-parts-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; }
.tx-parts-grid .tx-catalog-item { list-style:none; width:100%; max-width:none; padding:0; margin:0; text-align:left; display:flex; flex-direction:column; min-width:0; }
.tx-part-image { display:block; margin-bottom:18px; }
.tx-part-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#f6f5f2; border-radius:3px; }
.tx-catalog-item h2 { font-size:17px; line-height:1.45; font-weight:500; margin:0 0 12px; }
.tx-catalog-item h2 a { color:#333; text-decoration:none; white-space:normal; }
.tx-catalog-item h2 a:hover { color:#a5332d; text-decoration:underline; }
.tx-part-references { margin:0 0 10px; color:#555; font-size:12px; line-height:1.7; }
.tx-part-references > div { display:grid; grid-template-columns:53px minmax(0,1fr); gap:8px; }
.tx-part-references dt { font-weight:400; color:#777; }
.tx-part-references dd { margin:0; overflow-wrap:anywhere; }
.tx-catalog-item .tx-part-condition { color:#666; font-size:12px; line-height:1.6; margin:0 0 4px; }
.tx-catalog-item .tx-stock-status { display:block; font-size:12px; line-height:1.6; color:#53624e; margin:0 0 12px; }
.tx-catalog-item .tx-part-price { font-size:20px; color:#333; font-weight:500; line-height:1.5; margin:0 0 10px; }
.tx-part-price ins { text-decoration:none; }
.tx-part-price del { color:#777; font-size:14px; }
.tx-part-price small { font-size:11px; font-weight:400; color:#777; }
.tx-part-view { margin-top:auto; width:fit-content; font-size:13px; text-decoration:underline; padding:3px 0; }
.tx-catalog-heading { display:flex; align-items:end; gap:40px; justify-content:space-between; margin-bottom:34px; }
.tx-catalog h1 { font-size:34px; line-height:1.25; }
.tx-catalog-search { margin:0; max-width:420px; width:45%; flex-shrink:0; }
.tx-catalog-search input[type=search] { height:44px; font-size:14px; }
.tx-catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:24px 0 14px; font-size:13px; }
.tx-catalog-toolbar .woocommerce-result-count,.tx-catalog-toolbar .woocommerce-ordering { margin:0; float:none; padding:0; }
.tx-catalog-toolbar .orderby { min-height:40px; font-size:13px; border:1px solid #ddd; padding:8px 12px; border-radius:2px; }
.tx-catalog .woocommerce-pagination { margin-top:45px; }
.tx-search-empty { padding:30px 0; max-width:650px; font-size:16px; line-height:1.8; }
.tx-search-empty h2 { font-size:24px; margin-bottom:18px; }
.tx-search-empty a { text-decoration:underline; }
.tx-site-preview #header .main-menu > li > a { font-weight:500; letter-spacing:normal; }
.tx-site-preview #footer.tx-site-footer { background:#f5f4f0; color:#555; padding:50px 0 30px; border:0; font-family:Arial,Helvetica,sans-serif; }
.tx-site-footer .tx-footer-columns { display:grid; grid-template-columns:1.3fr 1fr 1.1fr; gap:55px; }
.tx-site-preview #footer.tx-site-footer h2 { font-size:26px; font-weight:500; color:#333; margin:0 0 18px; }
.tx-site-preview #footer.tx-site-footer h3 { font-size:16px; font-weight:600; color:#333; text-transform:none; margin:0 0 18px; }
.tx-site-preview #footer.tx-site-footer p,.tx-site-footer address { font-size:13px; line-height:1.8; font-style:normal; margin:0 0 16px; }
.tx-site-preview #footer.tx-site-footer a { color:#555; text-decoration:none; }
.tx-site-preview #footer.tx-site-footer a:hover { color:#a5332d; text-decoration:underline; }
.tx-site-footer ul { list-style:none; padding:0; margin:0; font-size:13px; line-height:2; }
.tx-site-preview #footer.tx-site-footer .tx-footer-legal { color:#777; font-size:11px; margin:30px 0 0; }
.tx-terms { padding:32px var(--porto-container-spacing,10px) 65px; color:#444; }
.tx-terms h1 { font-size:38px; font-weight:500; line-height:1.25; margin-bottom:32px; }
.tx-terms-copy { max-width:780px; font-size:15px; line-height:1.9; }
.tx-terms-copy h2 { font-size:21px; font-weight:500; line-height:1.4; margin:32px 0 16px; text-transform:none; }
.tx-terms-copy h2:first-child { margin-top:0; }
.tx-terms-copy > div { margin-bottom:9px; }
@media(max-width:1199px) {
    .tx-home h1 { font-size:40px; }
    .tx-home-recent .tx-parts-grid { gap:24px; }
}
@media(max-width:991px) {
    .tx-home.container,.tx-catalog.container,.tx-terms.container { padding-left:0; padding-right:0; }
    .tx-home-company { gap:30px; padding:30px; }
    .tx-site-footer .tx-footer-columns { gap:30px; }
}
@media(max-width:700px) {
    .tx-home,.tx-catalog { padding-top:18px; }
    .tx-home-hero { grid-template-columns:1fr; padding-top:10px; padding-bottom:28px; }
    .tx-home h1 { font-size:36px; }
    .tx-home-intro > p { font-size:17px; }
    .tx-home-categories { padding-top:20px; }
    .tx-home-categories ul { grid-template-columns:1fr 1fr; gap:3px 22px; }
    .tx-home-categories a { font-size:13px; }
    .tx-home-company { grid-template-columns:1fr; gap:18px; padding:26px; margin-bottom:38px; }
    .tx-home-recent .tx-parts-grid,.tx-parts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
    .tx-catalog-item h2 { font-size:15px; }
    .tx-catalog-item .tx-part-price { font-size:18px; }
    .tx-catalog-item .tx-part-references > div { display:block; }
    .tx-part-references dt { display:inline; margin-right:5px; }
    .tx-part-references dd { display:inline; }
    .tx-part-price small { display:block; }
    .tx-catalog-heading { display:block; }
    .tx-catalog h1 { font-size:29px; }
    .tx-catalog-search { width:100%; max-width:none; margin-top:25px; }
    .tx-catalog-toolbar { flex-wrap:wrap; gap:12px; }
    .tx-site-footer .tx-footer-columns { grid-template-columns:1fr; gap:28px; }
    .tx-part-search input[type=search] { font-size:14px; padding-left:10px; }
    .tx-part-search button { padding:0 15px; }
}
