/*
Theme Name: TPD Stable Baseline
Theme URI: https://thepartsdistributors.com/
Author: OpenAI
Description: Minimal stable WooCommerce theme baseline for The Parts Distributors.
Version: 1.0.38-ai-agent-ready-light
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: tpd-stable
*/

:root{
  --tpd-bg:#f4f6f8; --tpd-card:#fff; --tpd-line:#d8dde6; --tpd-text:#1b2738;
  --tpd-muted:#637083; --tpd-blue:#2f5fe8; --tpd-red:#e11818; --tpd-red-dark:#c71414;
  --tpd-green:#12843d; --tpd-radius:3px; --tpd-container:1580px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--tpd-bg);color:var(--tpd-text);line-height:1.45;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--tpd-text);text-decoration:none} a:hover{color:var(--tpd-blue)}
button,input,select,textarea{font:inherit}
.site-wrap{min-height:100vh;display:flex;flex-direction:column}
.top-strip{height:6px;background:#000}
.tpd-container{width:min(96%, var(--tpd-container));margin-inline:auto}
.site-main{flex:1;padding:18px 0 26px}

.site-header{background:#fff;border-bottom:1px solid var(--tpd-line)}
.header-main{display:grid;grid-template-columns:220px minmax(0,1fr) 140px auto;gap:10px;align-items:center;padding:10px 0}
.site-branding img{max-height:48px;width:auto}
.site-title-text{display:inline-block;font-size:18px;font-weight:900;line-height:.95;letter-spacing:-.3px}
.header-search input[type="search"]{width:100%;height:40px;border:1px solid #c8d1e2;border-radius:var(--tpd-radius);padding:0 12px;background:#fff;color:var(--tpd-text);font-size:14px}
.tpd-btn,button,input[type="submit"],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:0;border-radius:var(--tpd-radius);background:var(--tpd-red);color:#fff !important;font-size:13px;font-weight:800;cursor:pointer}
.tpd-btn:hover,button:hover,input[type="submit"]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--tpd-red-dark)}
.header-find .tpd-btn{width:100%}
.header-cart a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid #c8d1e2;border-radius:var(--tpd-radius);background:#fff;font-size:13px;font-weight:700;white-space:nowrap}

.nav-wrap{background:#fff;border-bottom:1px solid var(--tpd-line)}
.primary-nav{display:flex;align-items:center;gap:22px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:11px 0;font-size:13px;font-weight:800}
.primary-nav::-webkit-scrollbar{display:none}
.primary-nav ul,.primary-nav li,.footer-links ul,.footer-links li{list-style:none;margin:0;padding:0}
.primary-nav .menu,.footer-links .menu{display:contents}

.section{margin-bottom:22px}
.section-title{margin:0 0 10px;font-size:20px;font-weight:900;line-height:1.1}
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.brand-chip{min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);background:#fff;padding:8px;text-align:center;font-size:14px;font-weight:800}
.brand-chip:hover{border-color:var(--tpd-red);color:var(--tpd-text)}
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.home-card{border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);background:#fff;padding:10px;display:flex;flex-direction:column}
.home-card .thumb{width:100%;aspect-ratio:1/1;border:1px solid #e3e7ef;border-radius:var(--tpd-radius);background:#fafbfd;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.home-card .thumb img{max-height:160px;object-fit:contain}
.home-card .title{font-size:13px;font-weight:700;line-height:1.32;min-height:34px;margin-bottom:6px}
.home-card .price{font-size:15px;font-weight:900;margin:0 0 8px}
.home-card .tpd-btn{width:100%;min-height:34px;font-size:12px;margin-top:auto}
.guides-list{columns:2;column-gap:48px;padding-left:20px;margin:0}
.guides-list li{margin:0 0 8px;break-inside:avoid}
.guides-list a{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:2px}

.article-shell{background:#fff;border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);padding:20px}
.article-shell.narrow{max-width:980px;margin-inline:auto}
.page-title,.entry-title{margin:0 0 12px;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.4px}
.entry-meta{margin-bottom:12px;color:var(--tpd-muted);font-size:13px}
.entry-content{font-size:17px;line-height:1.7}
.entry-content > *:first-child{margin-top:0}
.entry-content h2,.entry-content h3,.entry-content h4{margin:1.35em 0 .55em;line-height:1.2}
.entry-content p,.entry-content ul,.entry-content ol{margin:0 0 1em}

.archive-shell{background:#fff;border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);padding:16px}
.archive-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.archive-meta{color:var(--tpd-muted);font-size:14px}
.archive-meta strong{display:block;color:var(--tpd-text);font-size:15px;margin-top:4px}
.archive-ordering select,.woocommerce .woocommerce-ordering select{min-height:36px;border:1px solid #c8d1e2;border-radius:var(--tpd-radius);background:#fff;padding:0 10px;font-size:13px}
.archive-shell ul.products,.woocommerce-page ul.products,.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:10px !important;margin:0 !important;padding:0 !important;width:100% !important}
.archive-shell ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce ul.products li.product{width:auto !important;float:none !important;margin:0 !important;padding:8px !important;border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);background:#fff}
.archive-shell ul.products li.product .button,.woocommerce-page ul.products li.product .button,.woocommerce ul.products li.product .button{min-height:30px;padding:0 10px;font-size:12px}
.product-tile{display:grid;grid-template-columns:72px 1fr auto;gap:10px;align-items:start}
.product-tile-image{width:72px;height:72px;border:1px solid #e3e7ef;border-radius:var(--tpd-radius);background:#fafbfd;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-tile-image img{max-width:64px;max-height:64px;object-fit:contain}
.sku-title{font-size:13px;font-weight:800;line-height:1.28;margin-bottom:4px}
.short-title{font-size:12px;line-height:1.32;color:var(--tpd-muted);margin-bottom:4px}
.product-tile-side{min-width:74px;text-align:right}
.product-tile-price{font-size:14px;font-weight:900;margin-bottom:4px}
.product-stock{font-size:12px;color:var(--tpd-green);margin-bottom:8px}
.product-actions{display:flex;gap:8px;justify-content:flex-end}
.view-link{font-size:12px;font-weight:800;align-self:center}

.woocommerce-pagination,.nav-links{width:100%;margin-top:16px;text-align:center}
.woocommerce-pagination ul.page-numbers,.nav-links{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:6px !important;list-style:none;padding:0}
.woocommerce-pagination ul.page-numbers li{display:inline-block !important}
.page-numbers,.page-numbers a,.page-numbers span,.nav-links a,.nav-links span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;padding:0 8px;border-radius:var(--tpd-radius);background:#f2f5f8;font-size:12px}

.woocommerce div.product{background:#fff;border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);padding:16px}
@media (min-width:821px){
  .woocommerce div.product::after{content:"";display:block;clear:both}
  .woocommerce div.product div.images{float:left !important;width:40% !important;margin-right:4% !important;max-width:40% !important}
  .woocommerce div.product div.summary{float:right !important;width:56% !important;max-width:56% !important;margin:0 !important}
}
.woocommerce div.product .product_title{font-size:clamp(24px,3vw,34px);line-height:1.08;letter-spacing:-.3px;margin-bottom:10px;word-break:break-word;overflow-wrap:anywhere}
.woocommerce div.product .summary .price{font-size:24px;font-weight:900;margin-bottom:12px}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.woocommerce div.product form.cart .single_add_to_cart_button{min-height:36px}
.woocommerce div.product .woocommerce-tabs{margin-top:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs{margin:0 0 12px;padding:0;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.woocommerce div.product div.images .flex-control-thumbs{display:flex !important;gap:8px;margin-top:10px;padding:0;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs li{width:58px !important;float:none !important}
.woocommerce div.product div.images .flex-control-thumbs img{width:100%;height:auto;border:1px solid var(--tpd-line);border-radius:var(--tpd-radius);opacity:1 !important;cursor:pointer}

/* v1.3 related products rebuilt */
.related.products{
  margin-top:20px;
}
.related.products > h2{
  margin:0 0 10px;
  font-size:16px;
  font-weight:900;
}
.related.products ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px !important;
  align-items:stretch;
}
.related.products ul.products li.product{
  display:flex !important;
  flex-direction:column !important;
  border:1px solid var(--tpd-line);
  border-radius:var(--tpd-radius);
  background:#fff;
  padding:10px !important;
  min-height:0 !important;
  height:auto !important;
}
.related.products ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex-direction:column !important;
  gap:6px;
  height:100%;
}
.related.products ul.products li.product img{
  height:120px !important;
  max-height:120px !important;
  width:100%;
  object-fit:contain;
  margin:0 0 8px;
}
.related.products ul.products li.product .woocommerce-loop-product__title{
  font-size:13px !important;
  font-weight:700;
  line-height:1.3;
  height:34px;
  min-height:34px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  margin:0 0 6px;
}
.related.products ul.products li.product .product_meta,
.related.products ul.products li.product .sku,
.related.products ul.products li.product .posted_in,
.related.products ul.products li.product .short-title{
  display:none !important;
}
.related.products ul.products li.product .price{
  font-size:14px !important;
  font-weight:900;
  margin:0 0 6px !important;
}
.related.products ul.products li.product .stock,
.related.products ul.products li.product .product-stock{
  font-size:12px;
  color:var(--tpd-green);
  margin:0 0 8px;
}
.related.products ul.products li.product .button{
  width:100%;
  margin-top:auto !important;
  min-height:30px !important;
  font-size:11px !important;
  padding:6px 8px !important;
}

.product-guides{margin-top:20px;border-top:1px solid var(--tpd-line);padding-top:14px}
.product-guides h2{margin:0 0 8px;font-size:16px;font-weight:900}
.product-guides ul{margin:0;padding-left:18px}
.product-guides li{margin:0 0 6px}
.product-guides a{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:2px}

.site-footer{background:#fff;border-top:1px solid var(--tpd-line)}
.footer-inner{padding:16px 0 22px}
.footer-copy{color:var(--tpd-muted);font-size:12px;margin-bottom:10px}

@media (max-width:1100px){
  .brand-grid{grid-template-columns:repeat(4,1fr)}
  .guides-list{columns:1}
}
@media (max-width:820px){
  .header-main{grid-template-columns:1fr}
  .site-branding img{max-height:42px}
  .header-find .tpd-btn,.header-cart a{width:100%}
  .brand-grid{grid-template-columns:repeat(2,1fr)}
  .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-tile{grid-template-columns:64px 1fr}
  .product-tile-side{grid-column:2;text-align:left;min-width:0}
  .product-actions{justify-content:flex-start}
  .archive-intro{flex-direction:column}
  .woocommerce div.product div.images,.woocommerce div.product div.summary{float:none !important;width:100% !important;max-width:100% !important;margin:0 0 14px 0 !important;clear:both !important}
}
@media (max-width:540px){
  .tpd-container{width:min(100% - 18px, var(--tpd-container))}
  .primary-nav{gap:16px}
  .home-grid,.archive-shell ul.products,.woocommerce-page ul.products,.woocommerce ul.products,.related.products ul.products{grid-template-columns:1fr !important}
  .entry-content{font-size:16px}
}


/* v1.1 fixes */
.primary-nav > div,
.footer-links > div{display:contents}
.primary-nav a,
.footer-links a{font-weight:800}
.primary-nav{flex-wrap:nowrap}
.footer-links{display:flex;gap:14px 18px;flex-wrap:wrap;white-space:normal}
.footer-links a{font-size:13px}
.related.products ul.products li.product{
  display:flex !important;
  flex-direction:column;
  min-height:0 !important;
}
.related.products ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex !important;
  flex-direction:column;
  gap:6px;
}
.related.products ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:32px;
}
.related.products ul.products li.product .price{
  margin:0 0 6px;
  font-size:13px;
  font-weight:900;
}
.related.products ul.products li.product .button{
  margin-top:auto !important;
  width:100%;
}
.woocommerce div.product .related.products ul.products{
  align-items:stretch;
}


/* v1.2 WooCommerce enforcement fixes */
.related.products ul.products li.product{
  padding:8px !important;
  height:auto !important;
  min-height:0 !important;
}
.related.products ul.products li.product .woocommerce-loop-product__title{
  font-size:12px !important;
  line-height:1.3;
  max-height:32px;
  overflow:hidden;
}
.related.products ul.products li.product img{
  max-height:110px;
  object-fit:contain;
}
.related.products ul.products li.product .button{
  font-size:11px !important;
  padding:4px 8px !important;
}


/* v1.4 related products compact rebuild */
.related.products ul.products{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:12px !important;
}
.related.products ul.products li.product{
  display:grid !important;
  grid-template-rows:auto auto auto 1fr auto !important;
  align-content:start !important;
  padding:8px !important;
  min-height:0 !important;
  height:auto !important;
}
.related.products ul.products li.product a.woocommerce-LoopProduct-link{
  display:block !important;
  height:auto !important;
}
.related.products ul.products li.product img{
  display:block;
  width:100%;
  height:96px !important;
  max-height:96px !important;
  margin:0 0 6px 0 !important;
  object-fit:contain;
}
.related.products ul.products li.product .woocommerce-loop-product__title{
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  margin:0 0 6px 0 !important;
}
.related.products ul.products li.product .price{
  display:block !important;
  margin:0 0 6px 0 !important;
}
.related.products ul.products li.product .stock,
.related.products ul.products li.product .product-stock{
  display:block !important;
  margin:0 0 6px 0 !important;
}
.related.products ul.products li.product p,
.related.products ul.products li.product .yith-wcwl-add-to-wishlist,
.related.products ul.products li.product .star-rating,
.related.products ul.products li.product .posted_in,
.related.products ul.products li.product .sku_wrapper,
.related.products ul.products li.product .product-brands,
.related.products ul.products li.product .brand,
.related.products ul.products li.product .excerpt,
.related.products ul.products li.product small,
.related.products ul.products li.product br{
  display:none !important;
}
.related.products ul.products li.product .button{
  align-self:end !important;
  justify-self:stretch !important;
  margin-top:0 !important;
}


/* v1.5 hard related-products override */
.related.products .tpd-related-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}
.related.products .tpd-related-card{
  list-style:none;
  border:1px solid var(--tpd-line);
  border-radius:var(--tpd-radius);
  background:#fff;
  padding:8px !important;
  display:grid !important;
  grid-template-rows:auto auto auto auto auto;
  align-content:start;
  min-height:0 !important;
  height:auto !important;
}
.related.products .tpd-related-thumb{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:96px;
  border:1px solid #e3e7ef;
  border-radius:var(--tpd-radius);
  background:#fafbfd;
  overflow:hidden;
  margin:0 0 6px 0;
}
.related.products .tpd-related-thumb img{
  width:100%;
  height:90px !important;
  max-height:90px !important;
  object-fit:contain;
  margin:0 !important;
}
.related.products .tpd-related-title{
  font-size:12px;
  font-weight:800;
  line-height:1.28;
  min-height:32px;
  max-height:32px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  margin:0 0 5px 0;
  color:var(--tpd-text);
}
.related.products .tpd-related-price{
  font-size:13px;
  font-weight:900;
  margin:0 0 4px 0;
}
.related.products .tpd-related-stock{
  font-size:12px;
  color:var(--tpd-green);
  margin:0 0 6px 0;
}
.related.products .tpd-related-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  margin-top:0;
}
.related.products .tpd-related-actions .button{
  min-height:28px !important;
  font-size:11px !important;
  padding:4px 8px !important;
  width:100%;
  margin:0 !important;
}
.related.products .tpd-related-view{
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}


/* v1.6 shop/search dense catalog rebuild */
.archive-shell{
  padding:12px;
}
.archive-intro{
  margin-bottom:10px;
}
.archive-meta,
.archive-meta strong{
  font-size:13px !important;
}
.archive-shell ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:8px !important;
}
.archive-shell ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product{
  padding:6px !important;
  border-radius:2px !important;
}
.product-tile{
  grid-template-columns:58px 1fr auto !important;
  gap:8px !important;
  align-items:start !important;
}
.product-tile-image{
  width:58px !important;
  height:58px !important;
  border-radius:2px !important;
}
.product-tile-image img{
  max-width:52px !important;
  max-height:52px !important;
}
.sku-title{
  font-size:12px !important;
  line-height:1.22 !important;
  margin-bottom:3px !important;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.short-title{
  font-size:11px !important;
  line-height:1.22 !important;
  margin-bottom:3px !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.product-tile-side{
  min-width:62px !important;
}
.product-tile-price{
  font-size:13px !important;
  margin-bottom:2px !important;
}
.product-stock{
  font-size:11px !important;
  margin-bottom:5px !important;
}
.product-actions{
  gap:6px !important;
}
.product-actions .button{
  min-height:24px !important;
  padding:0 8px !important;
  font-size:10px !important;
  border-radius:2px !important;
}
.product-actions .view-link{
  font-size:11px !important;
}
.woocommerce-pagination,
.nav-links{
  margin-top:12px !important;
}
.page-numbers,
.page-numbers a,
.page-numbers span,
.nav-links a,
.nav-links span{
  min-width:26px !important;
  min-height:26px !important;
  font-size:11px !important;
  border-radius:2px !important;
}
@media (min-width:1400px){
  .archive-shell ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  }
}
@media (max-width:900px){
  .archive-shell ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important;
  }
  .product-tile{
    grid-template-columns:52px 1fr !important;
  }
  .product-tile-side{
    grid-column:2;
    min-width:0 !important;
    text-align:left !important;
  }
  .product-actions{
    justify-content:flex-start !important;
  }
}


/* v1.7 Marcone-style clean tiles (no buttons) */
.product-actions,
.related.products .button,
.related.products .tpd-related-actions {
  display: none !important;
}

/* Make entire card clickable */
.tpd-related-full-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.tpd-related-full-link:hover {
  text-decoration: none;
}

/* Slight hover effect for confidence */
.tpd-related-card:hover {
  border-color: #e60000;
  box-shadow: 0 0 0 1px rgba(230,0,0,0.15);
}


/* v1.9 mobile homepage: replace Trending Now with Common Appliance Problems */
.mobile-common-problems{
  display:none;
}
.problem-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.problem-chip{
  min-height:50px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--tpd-line);
  border-radius:var(--tpd-radius);
  background:#fff;
  padding:10px;
  font-size:13px;
  font-weight:900;
  line-height:1.18;
}
.problem-chip:hover{
  border-color:var(--tpd-red);
  color:var(--tpd-text);
}
.problem-icon{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f2f5f8;
  font-size:14px;
}
@media (max-width:820px){
  .homepage-trending{
    display:none !important;
  }
  .mobile-common-problems{
    display:block;
  }
}
@media (max-width:420px){
  .problem-grid{
    grid-template-columns:1fr;
  }
}

/* v2.0 diagnostic landing pages for mobile problem buttons */
.tpd-problem-page{
  padding-top:20px;
  padding-bottom:40px;
}
.tpd-problem-hero,
.tpd-problem-section{
  background:#fff;
  border:1px solid var(--tpd-line);
  border-radius:var(--tpd-radius);
  padding:22px;
  margin-bottom:18px;
}
.tpd-problem-kicker{
  color:#69778b;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:8px;
}
.tpd-problem-hero h1{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.08;
}
.tpd-problem-hero p{
  margin:0 0 16px;
  max-width:860px;
  color:#334155;
  font-size:16px;
  line-height:1.45;
}
.tpd-problem-search{
  display:flex;
  gap:10px;
  max-width:760px;
}
.tpd-problem-search input[type="search"]{
  flex:1;
  min-height:48px;
  border:1px solid var(--tpd-line);
  border-radius:6px;
  padding:0 14px;
  font-size:15px;
}
.tpd-problem-search button{
  min-height:48px;
  border:0;
  border-radius:6px;
  background:var(--tpd-red);
  color:#fff;
  padding:0 22px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
}
.tpd-problem-section h2{
  margin:0 0 14px;
  font-size:24px;
}
.tpd-cause-grid,
.tpd-part-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
}
.tpd-cause-card,
.tpd-part-card{
  display:block;
  border:1px solid var(--tpd-line);
  border-radius:8px;
  background:#f8fafc;
  padding:13px;
  font-weight:900;
  color:var(--tpd-text);
  text-decoration:none;
}
.tpd-part-card{
  background:#fff;
}
.tpd-part-card:hover{
  border-color:var(--tpd-red);
  color:var(--tpd-text);
}
.tpd-problem-guides{
  margin-bottom:0;
}
@media (max-width:820px){
  .tpd-problem-page{
    padding-top:12px;
  }
  .tpd-problem-hero,
  .tpd-problem-section{
    padding:16px;
    margin-bottom:14px;
  }
  .tpd-problem-hero h1{
    font-size:28px;
  }
  .tpd-problem-search{
    display:block;
  }
  .tpd-problem-search input[type="search"],
  .tpd-problem-search button{
    width:100%;
  }
  .tpd-problem-search button{
    margin-top:10px;
  }
  .tpd-cause-grid,
  .tpd-part-grid{
    grid-template-columns:1fr;
  }
}

/* v1.0.3 REAL HOMEPAGE REDESIGN - search-first mockup implementation */
.tpd-top-benefits{background:#061d38 !important;color:#fff !important;font-size:14px;font-weight:800}
.tpd-top-benefits-inner{display:flex;align-items:center;gap:30px;min-height:36px;white-space:nowrap;overflow:hidden}
.tpd-top-benefits span{display:inline-flex;align-items:center;gap:6px;color:#fff !important}.tpd-top-benefits span:before{content:'✓';color:#78b7ff}.tpd-top-benefits .tpd-help{margin-left:auto}.tpd-top-benefits .tpd-help:before{content:'☎'}
.tpd-modern-header{background:#fff !important;border-bottom:1px solid #dbe3ef !important}.tpd-modern-header .header-main{display:grid !important;grid-template-columns:250px minmax(350px,1fr) 110px 120px !important;gap:0 !important;align-items:center !important;padding:26px 0 20px !important}.tpd-modern-header .site-branding{padding-right:28px}.tpd-modern-header .custom-logo{max-height:72px !important;width:auto !important}.site-title-text{font-size:23px !important;font-weight:950 !important;line-height:.9 !important;letter-spacing:-.5px !important;color:#061d38 !important}.site-title-text span{display:block}.tpd-modern-header .header-search{position:relative}.tpd-modern-header .header-search input[type="search"]{height:58px !important;border:1px solid #cfd8e6 !important;border-right:0 !important;border-radius:6px 0 0 6px !important;font-size:17px !important;padding:0 24px !important;box-shadow:0 5px 18px rgba(6,29,56,.06) !important}.tpd-modern-header .header-find .tpd-btn{height:58px !important;min-height:58px !important;width:110px !important;border-radius:0 6px 6px 0 !important;background:#004bc4 !important;font-size:0 !important;position:relative}.tpd-modern-header .header-find .tpd-btn:after{content:'🔍';font-size:26px;line-height:1}.tpd-modern-header .header-cart{display:flex !important;justify-content:flex-end !important}.tpd-modern-header .header-cart a{border:0 !important;background:transparent !important;font-size:16px !important;font-weight:800 !important;color:#07172d !important}.header-search-examples{position:absolute;left:0;top:68px;font-size:14px;color:#004bc4;white-space:nowrap}.nav-wrap{background:#fff !important;border-top:1px solid #eef2f7 !important;border-bottom:1px solid #dbe3ef !important}.primary-nav{padding:14px 0 !important;gap:34px !important;font-size:15px !important;font-weight:850 !important;color:#07172d}.site-main{padding-top:0 !important;background:#fff !important}.tpd-container{width:min(94%,1580px) !important;max-width:1580px !important}
.tpd-hero{background:linear-gradient(90deg,rgba(2,18,38,.95) 0%,rgba(4,30,61,.86) 50%,rgba(7,35,66,.74) 100%), radial-gradient(circle at 70% 45%,rgba(255,255,255,.18),transparent 30%), linear-gradient(135deg,#061d38,#0b3b70) !important;color:#fff !important;min-height:360px !important;display:flex !important;align-items:center !important;position:relative;overflow:hidden}.tpd-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 45%,rgba(255,255,255,.08) 45% 46%,transparent 46% 100%),repeating-linear-gradient(90deg,transparent 0 150px,rgba(255,255,255,.03) 151px 152px);opacity:.7}.tpd-hero-inner{position:relative;display:grid !important;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr) !important;gap:72px !important;align-items:center !important;padding:54px 0 !important}.tpd-hero h1{font-size:clamp(42px,5vw,68px) !important;line-height:1.05 !important;margin:0 0 14px !important;color:#fff !important;font-weight:950 !important;letter-spacing:-1.5px}.tpd-hero p{font-size:24px !important;margin:0 0 22px !important;color:#fff !important}.tpd-hero-search{display:grid !important;grid-template-columns:1fr 150px !important;width:min(700px,100%) !important;border:3px solid rgba(255,255,255,.85) !important;border-radius:8px !important;overflow:hidden !important;background:#fff !important;box-shadow:0 18px 45px rgba(0,0,0,.22) !important}.tpd-hero-search input{height:68px !important;border:0 !important;padding:0 24px !important;font-size:18px !important;color:#07172d !important;background:#fff !important}.tpd-hero-search button{height:68px !important;border:0 !important;background:#004bc4 !important;color:#fff !important;font-size:18px !important;font-weight:900 !important;cursor:pointer}.tpd-example-searches{margin-top:18px !important;font-size:17px !important;color:#fff !important}.tpd-example-searches strong{color:#61a8ff !important}.tpd-hero-points{display:grid !important;gap:21px !important}.tpd-hero-points div{display:grid !important;grid-template-columns:36px 1fr !important;gap:14px !important;align-items:start !important}.tpd-hero-points div:before{content:'✓';width:34px;height:34px;border:3px solid #61a8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#61a8ff;font-weight:950}.tpd-hero-points strong{display:block !important;color:#fff !important;font-size:18px !important;line-height:1.2}.tpd-hero-points span{grid-column:2;color:#e9f2ff !important;font-size:15px !important;line-height:1.35;margin-top:-8px}.tpd-homepage{padding:28px 0 70px !important;background:#fff !important}.tpd-home-section{margin:0 0 30px !important}.tpd-section-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:20px !important;margin:0 0 18px !important}.tpd-section-head h2{margin:0 !important;font-size:30px !important;line-height:1.1 !important;color:#07172d !important;font-weight:950 !important;letter-spacing:-.5px}.tpd-section-head a{font-size:16px !important;color:#004bc4 !important;font-weight:900 !important}.tpd-brand-grid{display:grid !important;grid-template-columns:repeat(9,1fr) !important;gap:14px !important}.tpd-brand-card{min-height:78px !important;display:flex !important;align-items:center !important;justify-content:center !important;background:#fff !important;border:1px solid #dbe3ef !important;border-radius:8px !important;box-shadow:0 6px 18px rgba(6,29,56,.05) !important;color:#07172d !important;font-size:19px !important;font-weight:950 !important;text-align:center !important;padding:12px !important}.tpd-brand-card:hover{border-color:#004bc4 !important;color:#004bc4 !important;transform:translateY(-1px)}.tpd-benefits-row{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:0 !important;background:linear-gradient(90deg,#f3f8ff,#fff) !important;border:1px solid #e1e9f5 !important;border-radius:10px !important;margin:24px 0 32px !important;padding:24px 18px !important;box-shadow:0 8px 26px rgba(6,29,56,.05) !important}.tpd-benefits-row div{display:grid !important;grid-template-columns:64px 1fr !important;column-gap:16px !important;padding:0 22px !important;border-right:1px solid #dbe3ef !important}.tpd-benefits-row div:last-child{border-right:0 !important}.tpd-benefits-row div:before{content:'✓';grid-row:1/3;width:54px;height:54px;border:3px solid #004bc4;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#004bc4;font-size:24px;font-weight:950}.tpd-benefits-row b{display:block !important;color:#07172d !important;font-size:17px !important;line-height:1.2}.tpd-benefits-row span{color:#415372 !important;font-size:15px !important;line-height:1.45}.tpd-category-grid{display:grid !important;grid-template-columns:repeat(6,1fr) !important;gap:18px !important}.tpd-category-card{min-height:170px !important;border:1px solid #dbe3ef !important;border-radius:10px !important;background:#fff !important;padding:22px 18px !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;box-shadow:0 7px 22px rgba(6,29,56,.06) !important;color:#07172d !important}.tpd-category-icon{height:62px !important;display:flex !important;align-items:center !important;font-size:54px !important;color:#8a98aa !important;line-height:1 !important}.tpd-category-card strong{font-size:17px !important;color:#07172d !important}.tpd-category-card small{font-size:14px !important;color:#004bc4 !important;font-weight:900 !important}.tpd-guides-section{margin-top:36px !important}.tpd-guides-list{columns:2 !important;column-gap:60px !important;margin:0 !important;padding-left:22px !important}.tpd-guides-list li{margin:0 0 10px !important;break-inside:avoid !important}.tpd-guides-list a{color:#07172d !important;font-weight:800 !important;text-decoration:underline !important;text-underline-offset:2px !important}.mobile-common-problems,.homepage-trending,.problem-grid,.problem-chip{display:none !important}
@media (max-width:1200px){.tpd-modern-header .header-main{grid-template-columns:210px 1fr 105px 100px !important}.tpd-brand-grid{grid-template-columns:repeat(5,1fr) !important}.tpd-category-grid{grid-template-columns:repeat(3,1fr) !important}.tpd-benefits-row{grid-template-columns:repeat(2,1fr) !important;gap:18px}.tpd-benefits-row div:nth-child(2){border-right:0 !important}.tpd-hero-inner{gap:34px !important}.tpd-top-benefits-inner{gap:18px}}
@media (max-width:820px){.tpd-top-benefits-inner{min-height:auto;padding:8px 0;display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:6px 12px !important;font-size:12px}.tpd-top-benefits .tpd-help{margin-left:0}.tpd-modern-header .header-main{grid-template-columns:1fr 64px !important;gap:0 !important;padding:14px 0 16px !important}.tpd-modern-header .site-branding{grid-column:1/3;padding:0 0 12px !important}.tpd-modern-header .custom-logo{max-height:52px !important}.tpd-modern-header .header-search{grid-column:1}.tpd-modern-header .header-search input[type="search"]{height:54px !important;font-size:16px !important;border-radius:6px 0 0 6px !important;padding:0 14px !important}.tpd-modern-header .header-find{grid-column:2}.tpd-modern-header .header-find .tpd-btn{height:54px !important;min-height:54px !important;width:64px !important}.tpd-modern-header .header-cart{grid-column:1/3;justify-content:flex-start !important;margin-top:10px}.header-search-examples{position:static !important;grid-column:1/3;font-size:12px !important;margin-top:8px;white-space:normal}.primary-nav{gap:18px !important;font-size:13px !important}.tpd-hero{min-height:auto !important}.tpd-hero-inner{grid-template-columns:1fr !important;padding:36px 0 !important;gap:28px !important}.tpd-hero h1{font-size:42px !important}.tpd-hero p{font-size:19px !important}.tpd-hero-search{grid-template-columns:1fr 96px !important}.tpd-hero-search input,.tpd-hero-search button{height:58px !important;font-size:15px !important}.tpd-hero-points{grid-template-columns:1fr !important;gap:14px !important}.tpd-section-head h2{font-size:25px !important}.tpd-brand-grid{grid-template-columns:repeat(2,1fr) !important;gap:10px !important}.tpd-brand-card{min-height:62px !important;font-size:16px !important}.tpd-benefits-row{grid-template-columns:1fr !important;padding:18px !important}.tpd-benefits-row div{border-right:0 !important;padding:0 !important}.tpd-category-grid{grid-template-columns:repeat(2,1fr) !important;gap:12px !important}.tpd-category-card{min-height:138px !important;padding:16px !important}.tpd-category-icon{height:42px !important;font-size:38px !important}.tpd-guides-list{columns:1 !important}}
@media (max-width:520px){.tpd-container{width:min(100% - 24px,1580px) !important}.tpd-top-benefits-inner{grid-template-columns:1fr !important}.tpd-hero h1{font-size:34px !important}.tpd-hero p{font-size:17px !important}.tpd-hero-search{grid-template-columns:1fr !important}.tpd-hero-search input{height:56px !important}.tpd-hero-search button{height:50px !important}.tpd-category-grid{grid-template-columns:1fr !important}.tpd-section-head{align-items:flex-start !important;flex-direction:column !important;gap:6px !important}}


/* v1.0.4 homepage duplicate search removal + correct phone */
.tpd-top-benefits .tpd-help a{color:inherit !important;text-decoration:none !important;font-weight:900 !important;}
.header-main--home{display:grid !important;grid-template-columns:250px 1fr auto !important;align-items:center !important;gap:24px !important;padding:20px 0 !important;}
.header-main--home .site-branding{padding-right:0 !important;}
.header-home-help{justify-self:end !important;font-size:18px !important;font-weight:900 !important;}
.header-home-help a{color:#004bc4 !important;text-decoration:none !important;}
.header-main--home .header-cart{justify-content:flex-end !important;}
@media (max-width:820px){
  .header-main--home{grid-template-columns:1fr !important;gap:10px !important;padding:14px 0 !important;}
  .header-main--home .site-branding{padding-bottom:4px !important;}
  .header-home-help{justify-self:start !important;font-size:15px !important;}
  .header-main--home .header-cart{justify-content:flex-start !important;margin-top:0 !important;}
}


/* v1.0.4 HARD SHOP / SHOP-2 FIX
   Applies to normal Woo archives and shortcode product grids inside pages. */
body.woocommerce-page .tpd-container,
.tpd-shop-container{
  width:min(96vw, 1580px) !important;
  max-width:1580px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.tpd-shop-page,
.tpd-shop-archive{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.tpd-shop-hero{
  width:100%;
  background:linear-gradient(135deg,#061b35,#0b3f83);
  color:#fff;
  border-radius:10px;
  padding:28px;
  margin:0 0 18px;
  box-shadow:0 12px 30px rgba(5,25,55,.15);
}
.tpd-shop-hero h1{margin:0 0 6px;font-size:clamp(30px,3.5vw,54px);line-height:1.03;font-weight:900;letter-spacing:-.8px;color:#fff}
.tpd-shop-hero p{margin:0 0 16px;font-size:clamp(16px,1.4vw,21px);color:#eef5ff}
.tpd-shop-search{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:0;max-width:920px;background:#fff;border-radius:7px;overflow:hidden;border:2px solid rgba(255,255,255,.8)}
.tpd-shop-search input[type="search"]{width:100%;height:58px;border:0;padding:0 18px;font-size:17px;color:#102034;background:#fff}
.tpd-shop-search .tpd-btn{height:58px;border-radius:0;background:#0b55d9;font-size:16px}
.tpd-shop-examples{margin-top:10px;font-size:14px;color:#dbeaff}.tpd-shop-examples strong{color:#fff}
.tpd-shop-content{width:100% !important;max-width:none !important}
.tpd-shop-content > .woocommerce,
.tpd-shop-archive{width:100% !important;max-width:none !important;background:#fff !important;border:1px solid var(--tpd-line) !important;border-radius:10px !important;padding:18px !important}

/* Force product grids to be readable. The old layout showed 12 tiny items per row. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.entry-content .woocommerce ul.products,
.tpd-shop-content .woocommerce ul.products,
.tpd-shop-archive ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  max-width:none !important;
  margin:16px 0 0 !important;
  padding:0 !important;
  clear:both !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none !important;content:none !important}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.entry-content .woocommerce ul.products li.product,
.tpd-shop-content .woocommerce ul.products li.product,
.tpd-shop-archive ul.products li.product{
  float:none !important;
  clear:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px !important;
  border:1px solid #dbe3ef !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 2px 10px rgba(9,30,66,.04) !important;
  display:block !important;
}
.product-tile{display:flex !important;flex-direction:column !important;gap:10px !important;height:100% !important;min-width:0 !important}
.product-tile-image{width:100% !important;height:auto !important;aspect-ratio:1/1 !important;min-height:150px !important;border:1px solid #e3e7ef;border-radius:8px;background:#fafbfd;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important}
.product-tile-image img{max-width:90% !important;max-height:170px !important;width:auto !important;height:auto !important;object-fit:contain !important;margin:auto !important}
.product-tile-main{min-width:0 !important;display:block !important}.sku-title{font-size:14px !important;font-weight:900 !important;line-height:1.25 !important;min-height:54px !important;margin:0 0 6px !important;overflow-wrap:anywhere !important}.short-title{font-size:13px !important;line-height:1.35 !important;color:#657386 !important;min-height:36px !important;margin:0 !important;overflow-wrap:anywhere !important}
.product-tile-side{min-width:0 !important;text-align:left !important;margin-top:auto !important}.product-tile-price{font-size:18px !important;font-weight:900 !important;color:#081a33 !important;margin:8px 0 2px !important}.product-stock{font-size:13px !important;color:#12843d !important;font-weight:800 !important;margin:0 0 10px !important}.product-actions{display:flex !important;gap:8px !important;justify-content:flex-start !important;align-items:center !important;flex-wrap:wrap !important}.product-actions .button,.product-actions a.button{min-height:36px !important;font-size:13px !important;padding:0 12px !important}.view-link{font-size:13px !important;font-weight:900 !important;color:#0b55d9 !important}
.archive-intro,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:14px !important}.archive-intro{align-items:center !important}.woocommerce .woocommerce-ordering{float:none !important;margin:0 !important}.woocommerce .woocommerce-result-count{float:none !important;margin:0 !important}

@media (max-width:1180px){
  .woocommerce ul.products,.woocommerce-page ul.products,.entry-content .woocommerce ul.products,.tpd-shop-content .woocommerce ul.products,.tpd-shop-archive ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:820px){
  .tpd-shop-hero{padding:20px 16px;border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
  .tpd-shop-search{grid-template-columns:1fr}.tpd-shop-search input[type="search"],.tpd-shop-search .tpd-btn{height:54px}.woocommerce ul.products,.woocommerce-page ul.products,.entry-content .woocommerce ul.products,.tpd-shop-content .woocommerce ul.products,.tpd-shop-archive ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}.tpd-shop-content > .woocommerce,.tpd-shop-archive{padding:12px !important;border-radius:8px !important}.sku-title{font-size:13px !important;min-height:48px !important}.product-tile-image{min-height:130px !important}
}
@media (max-width:480px){
  .woocommerce ul.products,.woocommerce-page ul.products,.entry-content .woocommerce ul.products,.tpd-shop-content .woocommerce ul.products,.tpd-shop-archive ul.products{grid-template-columns:1fr !important}.product-tile{display:grid !important;grid-template-columns:105px minmax(0,1fr) !important;align-items:start !important}.product-tile-image{width:105px !important;min-height:105px !important;aspect-ratio:1/1 !important}.product-tile-main,.product-tile-side{grid-column:2}.sku-title{min-height:0 !important}.short-title{min-height:0 !important}.product-tile-price{font-size:16px !important}
}

/* v1.0.5 Contact page conversion fix */
body.page-id .tpd-contact-container,
.tpd-contact-container{
  width:min(1180px, calc(100% - 32px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.tpd-contact-page.article-shell{
  background:#fff !important;
  border:1px solid #dbe3ef !important;
  border-radius:14px !important;
  padding:0 !important;
  overflow:hidden !important;
  box-shadow:0 10px 30px rgba(15,35,65,.08) !important;
}
.tpd-contact-hero{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 330px !important;
  gap:28px !important;
  align-items:center !important;
  padding:34px 38px !important;
  background:linear-gradient(135deg,#061b34,#0b4db3) !important;
  color:#fff !important;
}
.tpd-contact-hero h1{
  color:#fff !important;
  font-size:clamp(30px,4vw,48px) !important;
  line-height:1.08 !important;
  margin:8px 0 14px !important;
  letter-spacing:-.03em !important;
}
.tpd-contact-hero p{
  color:#eaf3ff !important;
  font-size:18px !important;
  line-height:1.55 !important;
  margin:0 !important;
  max-width:760px !important;
}
.tpd-kicker{
  display:inline-block !important;
  color:#93c5fd !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:13px !important;
}
.tpd-contact-callbox{
  background:#fff !important;
  color:#061b34 !important;
  border-radius:14px !important;
  padding:24px !important;
  box-shadow:0 15px 35px rgba(0,0,0,.22) !important;
  text-align:center !important;
}
.tpd-contact-callbox span{
  display:block !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  color:#35506d !important;
  margin-bottom:8px !important;
}
.tpd-contact-callbox a{
  display:block !important;
  color:#0047b8 !important;
  font-size:30px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  margin-bottom:10px !important;
}
.tpd-contact-callbox small{
  display:block !important;
  color:#52677f !important;
  line-height:1.4 !important;
  font-size:14px !important;
}
.tpd-contact-notice{
  margin:0 !important;
  padding:18px 38px !important;
  background:#fff8e5 !important;
  border-bottom:1px solid #f2d58a !important;
  color:#24364a !important;
  font-size:16px !important;
  line-height:1.5 !important;
}
.tpd-contact-content{
  padding:34px 38px 42px !important;
  max-width:860px !important;
}
.tpd-contact-content h1,
.tpd-contact-content h2,
.tpd-contact-content h3{
  color:#071c34 !important;
  margin-top:0 !important;
}
.tpd-contact-content form,
.tpd-contact-content .wpcf7,
.tpd-contact-content .wpforms-container,
.tpd-contact-content .gform_wrapper{
  max-width:760px !important;
  width:100% !important;
}
.tpd-contact-content label{
  display:block !important;
  font-weight:800 !important;
  color:#10233a !important;
  margin:14px 0 6px !important;
}
.tpd-contact-content input[type="text"],
.tpd-contact-content input[type="email"],
.tpd-contact-content input[type="tel"],
.tpd-contact-content input[type="url"],
.tpd-contact-content input[type="number"],
.tpd-contact-content textarea,
.tpd-contact-content select{
  width:100% !important;
  max-width:760px !important;
  min-height:46px !important;
  border:1px solid #bdc9d8 !important;
  border-radius:8px !important;
  padding:11px 13px !important;
  font-size:16px !important;
  line-height:1.4 !important;
  background:#fff !important;
  color:#0b1f35 !important;
  box-sizing:border-box !important;
}
.tpd-contact-content textarea{
  min-height:180px !important;
  resize:vertical !important;
}
.tpd-contact-content input[type="submit"],
.tpd-contact-content button,
.tpd-contact-content .button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 24px !important;
  border:0 !important;
  border-radius:8px !important;
  background:#0057d8 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  cursor:pointer !important;
}
.tpd-contact-content input[type="submit"]:hover,
.tpd-contact-content button:hover,
.tpd-contact-content .button:hover{
  background:#003f9f !important;
}
@media (max-width:800px){
  .tpd-contact-container{width:calc(100% - 20px) !important;}
  .tpd-contact-hero{grid-template-columns:1fr !important;padding:26px 20px !important;gap:18px !important;}
  .tpd-contact-callbox{text-align:left !important;}
  .tpd-contact-callbox a{font-size:26px !important;}
  .tpd-contact-notice,.tpd-contact-content{padding:18px 20px !important;}
}


/* v1.0.6 PartsDr-style compact catalog correction */
.tpd-shop-container,
.tpd-shop-archive,
.woocommerce-page .site-main,
.woocommerce .site-main{
  max-width:none !important;
}
.tpd-shop-archive{
  padding:14px !important;
}
.woocommerce ul.products,
.woocommerce-page ul.products,
.entry-content .woocommerce ul.products,
.tpd-shop-content .woocommerce ul.products,
.tpd-shop-archive ul.products{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.entry-content .woocommerce ul.products li.product,
.tpd-shop-content .woocommerce ul.products li.product,
.tpd-shop-archive ul.products li.product{
  padding:10px !important;
  border-radius:8px !important;
  min-height:0 !important;
  box-shadow:0 1px 5px rgba(9,30,66,.05) !important;
}
.product-tile{
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  gap:7px !important;
  min-height:0 !important;
}
.product-tile-image{
  height:150px !important;
  min-height:150px !important;
  max-height:150px !important;
  aspect-ratio:auto !important;
  padding:6px !important;
  border-radius:6px !important;
  background:#fbfcfe !important;
}
.product-tile-image img{
  max-height:138px !important;
  max-width:100% !important;
}
.product-part-number{
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#0b1f35 !important;
  margin:2px 0 0 !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:1 !important;
  -webkit-box-orient:vertical !important;
  overflow-wrap:anywhere !important;
}
.product-tile-main{
  display:block !important;
  min-height:0 !important;
}
.sku-title{
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  min-height:32px !important;
  max-height:32px !important;
  margin:0 !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow-wrap:anywhere !important;
}
.short-title{
  font-size:11px !important;
  line-height:1.25 !important;
  min-height:26px !important;
  max-height:26px !important;
  margin:2px 0 0 !important;
  color:#6b7788 !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}
.product-tile-side{
  margin-top:0 !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-areas:"price stock" "view view" !important;
  align-items:center !important;
  gap:2px 8px !important;
}
.product-tile-price{
  grid-area:price !important;
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
  margin:0 !important;
  color:#061b34 !important;
}
.product-stock{
  grid-area:stock !important;
  font-size:10px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  color:#12843d !important;
  margin:0 !important;
  text-transform:uppercase !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.product-actions{
  grid-area:view !important;
  margin-top:3px !important;
  gap:6px !important;
}
.product-actions .button,
.product-actions a.button{
  display:none !important;
}
.view-link{
  font-size:12px !important;
  font-weight:900 !important;
  color:#004bc4 !important;
}
.archive-intro{
  margin-bottom:10px !important;
}
@media (min-width:1600px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .entry-content .woocommerce ul.products,
  .tpd-shop-content .woocommerce ul.products,
  .tpd-shop-archive ul.products{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}
}
@media (max-width:1280px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .entry-content .woocommerce ul.products,
  .tpd-shop-content .woocommerce ul.products,
  .tpd-shop-archive ul.products{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .product-tile-image{height:140px !important;min-height:140px !important;max-height:140px !important;}
}
@media (max-width:900px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .entry-content .woocommerce ul.products,
  .tpd-shop-content .woocommerce ul.products,
  .tpd-shop-archive ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;}
}
@media (max-width:640px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .entry-content .woocommerce ul.products,
  .tpd-shop-content .woocommerce ul.products,
  .tpd-shop-archive ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .product-tile{display:grid !important;grid-template-columns:1fr !important;}
  .product-tile-image{width:100% !important;height:125px !important;min-height:125px !important;max-height:125px !important;}
  .product-tile-main,.product-tile-side{grid-column:auto !important;}
  .sku-title{min-height:32px !important;}
}

/* v1.0.7 Correct shop cards: large image, no empty forced card height */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
body .entry-content .woocommerce ul.products,
body .tpd-shop-content .woocommerce ul.products,
body .tpd-shop-archive ul.products{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body .entry-content .woocommerce ul.products li.product,
body .tpd-shop-content .woocommerce ul.products li.product,
body .tpd-shop-archive ul.products li.product{
  width:auto !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  padding:10px !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  display:block !important;
  align-self:start !important;
  border:1px solid #dbe3ef !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 1px 5px rgba(9,30,66,.05) !important;
}
body.woocommerce ul.products li.product .product-tile,
body.woocommerce-page ul.products li.product .product-tile,
body .entry-content .woocommerce ul.products li.product .product-tile,
body .tpd-shop-content .woocommerce ul.products li.product .product-tile,
body .tpd-shop-archive ul.products li.product .product-tile{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
body .product-tile-image{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:170px !important;
  min-height:170px !important;
  max-height:170px !important;
  aspect-ratio:auto !important;
  padding:8px !important;
  margin:0 0 4px !important;
  border:1px solid #e3e7ef !important;
  border-radius:6px !important;
  background:#fbfcfe !important;
  overflow:hidden !important;
}
body .product-tile-image img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:158px !important;
  object-fit:contain !important;
  margin:auto !important;
}
body .product-tile-main{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
}
body .product-part-number{
  display:block !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  color:#0b1f35 !important;
  margin:0 0 2px !important;
  max-height:30px !important;
  overflow:hidden !important;
}
body .sku-title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  min-height:30px !important;
  max-height:30px !important;
  margin:0 !important;
  overflow:hidden !important;
}
body .short-title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  font-size:11px !important;
  line-height:1.25 !important;
  min-height:0 !important;
  max-height:28px !important;
  margin:2px 0 4px !important;
  color:#6b7788 !important;
  overflow:hidden !important;
}
body .product-tile-side{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:3px 8px !important;
  margin-top:0 !important;
  min-height:0 !important;
  height:auto !important;
}
body .product-tile-price{
  display:block !important;
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  margin:0 !important;
  color:#061b34 !important;
}
body .product-stock{
  display:block !important;
  font-size:10px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  color:#12843d !important;
  margin:0 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
body .product-actions{
  display:block !important;
  flex-basis:100% !important;
  margin-top:2px !important;
  min-height:0 !important;
}
body .product-actions .button,
body .product-actions a.button{display:none !important;}
body .view-link{font-size:12px !important;font-weight:900 !important;color:#004bc4 !important;}
@media (min-width:1600px){
  body.woocommerce ul.products,body.woocommerce-page ul.products,body .entry-content .woocommerce ul.products,body .tpd-shop-content .woocommerce ul.products,body .tpd-shop-archive ul.products{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}
  body .product-tile-image{height:175px !important;min-height:175px !important;max-height:175px !important;}
  body .product-tile-image img{max-height:163px !important;}
}
@media (max-width:1280px){
  body.woocommerce ul.products,body.woocommerce-page ul.products,body .entry-content .woocommerce ul.products,body .tpd-shop-content .woocommerce ul.products,body .tpd-shop-archive ul.products{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media (max-width:900px){
  body.woocommerce ul.products,body.woocommerce-page ul.products,body .entry-content .woocommerce ul.products,body .tpd-shop-content .woocommerce ul.products,body .tpd-shop-archive ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;}
  body .product-tile-image{height:150px !important;min-height:150px !important;max-height:150px !important;}
  body .product-tile-image img{max-height:138px !important;}
}
@media (max-width:640px){
  body.woocommerce ul.products,body.woocommerce-page ul.products,body .entry-content .woocommerce ul.products,body .tpd-shop-content .woocommerce ul.products,body .tpd-shop-archive ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  body .product-tile-image{height:135px !important;min-height:135px !important;max-height:135px !important;}
  body .product-tile-image img{max-height:123px !important;}
}

/* v1.0.8 Mobile-first header/search fix inspired by large appliance-parts retailers */
.tpd-mobile-nav-toggle{position:absolute;left:-9999px;opacity:0;pointer-events:none;}
.mobile-menu-button{display:none;cursor:pointer;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;flex:0 0 44px;}
.mobile-menu-button span{display:block;width:28px;height:4px;background:#4b5563;border-radius:4px;margin:3px 0;}
.mobile-primary-search{display:none;}

@media (max-width: 768px){
  html,body{overflow-x:hidden!important;}
  .tpd-container{width:100%!important;max-width:none!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important;}

  /* Remove noisy desktop utility bar from the first mobile screen */
  .tpd-top-benefits{display:none!important;}

  /* Mobile header: menu / centered logo / cart */
  .site-header.tpd-modern-header{background:#fff!important;border-bottom:1px solid #d9e2ef!important;padding:0!important;}
  .site-header.tpd-modern-header .tpd-container{padding-top:14px!important;padding-bottom:14px!important;}
  .header-main,
  .header-main.header-main--home{
    display:grid!important;
    grid-template-columns:52px 1fr 52px!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
  }
  .mobile-menu-button{display:flex!important;grid-column:1!important;grid-row:1!important;}
  .site-branding{grid-column:2!important;grid-row:1!important;text-align:center!important;display:flex!important;justify-content:center!important;align-items:center!important;min-width:0!important;}
  .site-title-text{font-size:22px!important;line-height:.9!important;text-align:center!important;letter-spacing:-.8px!important;display:inline-flex!important;flex-direction:column!important;align-items:center!important;color:#061b34!important;text-decoration:none!important;}
  .site-title-text span{display:block!important;}
  .custom-logo-link img,.site-branding img{max-width:190px!important;max-height:62px!important;width:auto!important;height:auto!important;display:block!important;}
  .header-cart{grid-column:3!important;grid-row:1!important;text-align:right!important;align-self:center!important;}
  .header-cart a{font-size:0!important;text-decoration:none!important;color:#061b34!important;display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;position:relative!important;min-width:44px!important;min-height:44px!important;}
  .header-cart a:before{content:'🛒'!important;font-size:31px!important;line-height:1!important;}
  .header-cart a:after{content:attr(data-count);}

  /* Hide duplicate phone/help line under logo on mobile */
  .header-home-help{display:none!important;}

  /* Hide desktop header search layout details on mobile; use clean mobile search below logo */
  .header-search,.header-find,.header-search-examples{display:none!important;}
  .mobile-primary-search{
    display:grid!important;
    grid-template-columns:1fr 86px!important;
    gap:0!important;
    width:100%!important;
    margin:14px 0 0!important;
    border:3px solid #555!important;
    border-radius:6px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .mobile-primary-search input{
    width:100%!important;
    height:58px!important;
    border:0!important;
    padding:0 16px!important;
    font-size:18px!important;
    line-height:58px!important;
    color:#0b1f35!important;
    background:#fff!important;
    outline:none!important;
    box-sizing:border-box!important;
  }
  .mobile-primary-search input::placeholder{color:#a7a7a7!important;opacity:1!important;}
  .mobile-primary-search button{
    height:58px!important;
    border:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:0!important;
    font-weight:900!important;
    cursor:pointer!important;
  }
  .mobile-primary-search button:before{content:'🔍';font-size:30px!important;line-height:58px!important;}

  /* Replace wide desktop nav with collapsed mobile drawer */
  .nav-wrap{display:none!important;background:#fff!important;border-bottom:1px solid #d9e2ef!important;box-shadow:0 8px 18px rgba(9,30,66,.08)!important;}
  .tpd-mobile-nav-toggle:checked ~ .nav-wrap{display:block!important;}
  .nav-wrap .tpd-container{padding:0!important;}
  .primary-nav ul{display:block!important;margin:0!important;padding:8px 16px!important;list-style:none!important;}
  .primary-nav li{display:block!important;margin:0!important;border-bottom:1px solid #edf1f7!important;}
  .primary-nav a{display:block!important;padding:14px 0!important;font-size:17px!important;font-weight:800!important;color:#0b1f35!important;text-decoration:none!important;white-space:normal!important;}

  /* Mobile homepage: do not make the customer pass duplicate search/benefit clutter */
  body.home .tpd-hero{padding:26px 0 28px!important;margin:0!important;min-height:0!important;background:#06213d!important;}
  body.home .tpd-hero-inner{display:block!important;padding-left:16px!important;padding-right:16px!important;}
  body.home .tpd-hero-copy h1{font-size:34px!important;line-height:1.05!important;margin:0 0 12px!important;color:#fff!important;letter-spacing:-1px!important;}
  body.home .tpd-hero-copy p{font-size:18px!important;line-height:1.35!important;margin:0 0 8px!important;color:#fff!important;}
  body.home .tpd-hero-search{display:none!important;}
  body.home .tpd-example-searches{font-size:16px!important;line-height:1.35!important;margin-top:10px!important;color:#fff!important;}
  body.home .tpd-example-searches strong{color:#69a9ff!important;}
  body.home .tpd-hero-points{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:18px!important;}
  body.home .tpd-hero-points div{padding:10px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:8px!important;background:rgba(255,255,255,.06)!important;}
  body.home .tpd-hero-points strong{display:block!important;font-size:13px!important;line-height:1.2!important;color:#fff!important;}
  body.home .tpd-hero-points span{display:none!important;}

  /* Mobile content: clean category/brand sections */
  .tpd-homepage{padding-top:22px!important;}
  .tpd-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:14px!important;}
  .tpd-section-head h2{font-size:28px!important;line-height:1.1!important;margin:0!important;color:#061b34!important;}
  .tpd-section-head a{font-size:16px!important;font-weight:800!important;color:#075ad7!important;text-decoration:none!important;}
  .tpd-brand-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .tpd-brand-card{min-height:56px!important;font-size:17px!important;font-weight:900!important;border:1px solid #d9e2ef!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;text-decoration:none!important;color:#061b34!important;}
  .tpd-benefits-row{display:none!important;}
  .tpd-category-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .tpd-category-card{padding:16px 10px!important;min-height:120px!important;border-radius:12px!important;background:#fff!important;border:1px solid #d9e2ef!important;text-align:center!important;text-decoration:none!important;color:#061b34!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;}
  .tpd-category-icon{font-size:32px!important;margin-bottom:8px!important;}
  .tpd-category-card strong{font-size:16px!important;line-height:1.2!important;}
  .tpd-category-card small{font-size:13px!important;color:#075ad7!important;margin-top:6px!important;font-weight:800!important;}
}

/* v1.0.37: all TPD loader/hourglass CSS removed at source. */

/* v1.0.11 HARD MOBILE HEADER FIX: visible menu button + no logo/cart overlap */
@media (max-width: 768px){
  .site-header.tpd-modern-header .tpd-container{
    padding:10px 12px!important;
  }
  .header-main,
  .header-main.header-main--home,
  form.header-main{
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr) 74px!important;
    align-items:center!important;
    min-height:72px!important;
    gap:4px!important;
    position:relative!important;
  }
  .mobile-menu-button{
    display:flex!important;
    grid-column:1!important;
    width:72px!important;
    height:56px!important;
    border:2px solid #d5deeb!important;
    border-radius:12px!important;
    background:#ffffff!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:6px 8px!important;
    box-sizing:border-box!important;
    box-shadow:0 2px 8px rgba(8,26,52,.08)!important;
  }
  .mobile-menu-button span{
    display:block!important;
    width:34px!important;
    height:5px!important;
    margin:0 auto!important;
    background:#0b1f35!important;
    border-radius:8px!important;
  }
  .mobile-menu-button:after{
    content:'MENU'!important;
    display:block!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.4px!important;
    font-weight:900!important;
    color:#0b1f35!important;
    margin-top:1px!important;
  }
  .site-branding{
    grid-column:2!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    justify-content:center!important;
  }
  .site-title-text{
    font-size:20px!important;
    line-height:.92!important;
    max-width:170px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .custom-logo-link img,
  .site-branding img{
    max-width:168px!important;
    max-height:56px!important;
    object-fit:contain!important;
  }
  .header-cart{
    grid-column:3!important;
    min-width:0!important;
    width:74px!important;
    max-width:74px!important;
    overflow:hidden!important;
    justify-self:end!important;
    text-align:center!important;
  }
  .header-cart a,
  .header-cart a:visited{
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    height:56px!important;
    min-height:56px!important;
    border:2px solid #d5deeb!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(8,26,52,.08)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:0!important;
    line-height:1!important;
    padding:0!important;
    color:#0b1f35!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
  .header-cart a:before{
    content:'🛒'!important;
    display:block!important;
    font-size:26px!important;
    line-height:1!important;
    margin:0!important;
  }
  .header-cart a:after{
    content:'Cart'!important;
    display:block!important;
    font-size:10px!important;
    line-height:1!important;
    margin-top:3px!important;
    font-weight:900!important;
    color:#0b1f35!important;
  }
  /* keep product pages clean: hide desktop search controls in the mobile header */
  .header-search,.header-find,.header-search-examples{display:none!important;}
  /* make the open drawer easy to see and tap */
  .tpd-mobile-nav-toggle:checked ~ .nav-wrap{display:block!important;position:relative!important;z-index:9999!important;}
  .primary-nav a{font-size:18px!important;padding:16px 18px!important;}
}


/* v1.0.12 PARTSTOWN-STYLE MOBILE HEADER FINAL
   One row only: hamburger / compact logo / cart icon. No overlap. Search below.
*/
@media (max-width: 768px){
  body{padding-top:0!important;}
  .tpd-top-benefits{display:none!important;}

  .site-header.tpd-modern-header{
    background:#fff!important;
    border-bottom:1px solid #d9e2ef!important;
    padding:0!important;
    box-shadow:none!important;
  }

  .site-header.tpd-modern-header .tpd-container{
    width:100%!important;
    max-width:none!important;
    padding:12px 14px!important;
    box-sizing:border-box!important;
  }

  .header-main,
  .header-main.header-main--home,
  form.header-main{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    grid-template-rows:54px!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:54px!important;
    height:54px!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    overflow:visible!important;
  }

  /* Hamburger: icon only, large tap target */
  .mobile-menu-button{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:6px!important;
    cursor:pointer!important;
  }
  .mobile-menu-button span{
    display:block!important;
    width:34px!important;
    height:4px!important;
    margin:0!important;
    background:#071b34!important;
    border-radius:8px!important;
  }
  .mobile-menu-button:after{content:none!important;display:none!important;}

  /* Center logo: forced inside center column, never under cart */
  .site-branding{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    height:54px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
  }
  .custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:150px!important;
    height:54px!important;
    overflow:hidden!important;
  }
  .custom-logo-link img,
  .site-branding img{
    display:block!important;
    width:auto!important;
    max-width:150px!important;
    height:auto!important;
    max-height:44px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }
  .site-title-text{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:150px!important;
    height:54px!important;
    overflow:hidden!important;
    color:#071b34!important;
    font-size:18px!important;
    line-height:.9!important;
    font-weight:950!important;
    letter-spacing:-.7px!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:normal!important;
    margin:0!important;
    padding:0!important;
  }
  .site-title-text span{display:block!important;}

  /* Cart: icon only, no text overlap */
  .header-cart{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    overflow:visible!important;
    justify-self:end!important;
    text-align:center!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
  }
  .header-cart a,
  .header-cart a:visited{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    max-width:54px!important;
    max-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    color:#071b34!important;
    font-size:0!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-decoration:none!important;
    position:relative!important;
  }
  .header-cart a:before{
    content:'🛒'!important;
    display:block!important;
    font-size:32px!important;
    line-height:1!important;
    margin:0!important;
    padding:0!important;
  }
  .header-cart a:after{
    content:''!important;
    display:block!important;
    position:absolute!important;
    top:4px!important;
    right:2px!important;
    width:18px!important;
    height:18px!important;
    border-radius:999px!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:0!important;
  }

  /* Remove desktop header elements on phone */
  .header-home-help,
  .header-search,
  .header-find,
  .header-search-examples{
    display:none!important;
  }

  /* Search directly under header, all mobile pages */
  .mobile-primary-search{
    display:grid!important;
    grid-template-columns:1fr 62px!important;
    width:100%!important;
    max-width:none!important;
    margin:12px 0 0!important;
    border:2px solid #cfd8e6!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
    box-shadow:none!important;
  }
  .mobile-primary-search input{
    width:100%!important;
    height:54px!important;
    border:0!important;
    background:#fff!important;
    padding:0 14px!important;
    font-size:17px!important;
    line-height:54px!important;
    color:#071b34!important;
    outline:none!important;
    box-sizing:border-box!important;
  }
  .mobile-primary-search input::placeholder{
    color:#9aa6b5!important;
    opacity:1!important;
  }
  .mobile-primary-search button{
    width:62px!important;
    height:54px!important;
    border:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:0!important;
    padding:0!important;
    margin:0!important;
    cursor:pointer!important;
  }
  .mobile-primary-search button:before{
    content:'🔍'!important;
    display:block!important;
    font-size:26px!important;
    line-height:54px!important;
  }

  /* Drawer menu: obvious, full-width, easy tap */
  .nav-wrap{
    display:none!important;
    background:#fff!important;
    border-top:1px solid #edf1f7!important;
    border-bottom:1px solid #d9e2ef!important;
    box-shadow:0 10px 24px rgba(8,26,52,.12)!important;
    position:relative!important;
    z-index:9999!important;
  }
  .tpd-mobile-nav-toggle:checked ~ .nav-wrap{display:block!important;}
  .nav-wrap .tpd-container{padding:0!important;}
  .primary-nav ul{
    display:block!important;
    margin:0!important;
    padding:8px 16px!important;
    list-style:none!important;
  }
  .primary-nav li{
    display:block!important;
    margin:0!important;
    border-bottom:1px solid #edf1f7!important;
  }
  .primary-nav li:last-child{border-bottom:0!important;}
  .primary-nav a{
    display:block!important;
    padding:16px 4px!important;
    font-size:18px!important;
    font-weight:850!important;
    color:#071b34!important;
    text-decoration:none!important;
    white-space:normal!important;
  }
}

@media (max-width: 390px){
  .header-main,
  .header-main.header-main--home,
  form.header-main{
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    gap:8px!important;
  }
  .mobile-menu-button,
  .header-cart,
  .header-cart a{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
  }
  .custom-logo-link,
  .custom-logo-link img,
  .site-branding img,
  .site-title-text{
    max-width:132px!important;
  }
}


/* v1.0.13 MOBILE FIX #3 + #4 ONLY
   #3 Search below header.
   #4 Shorter mobile header.
*/
@media (max-width: 768px){

  .site-header.tpd-modern-header .tpd-container{
    padding:8px 14px 10px!important;
  }

  .header-main,
  .header-main.header-main--home,
  form.header-main{
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    grid-template-rows:44px!important;
    min-height:44px!important;
    height:44px!important;
    gap:8px!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
  }

  .mobile-menu-button{
    width:48px!important;
    height:44px!important;
    min-width:48px!important;
    min-height:44px!important;
    gap:5px!important;
  }

  .mobile-menu-button span{
    width:32px!important;
    height:4px!important;
  }

  .site-branding{
    height:44px!important;
    max-height:44px!important;
  }

  .custom-logo-link{
    height:44px!important;
    max-height:44px!important;
    max-width:140px!important;
  }

  .custom-logo-link img,
  .site-branding img{
    max-height:38px!important;
    max-width:140px!important;
  }

  .site-title-text{
    height:44px!important;
    max-height:44px!important;
    max-width:140px!important;
    font-size:16px!important;
    line-height:.9!important;
  }

  .header-cart{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }

  .header-cart a,
  .header-cart a:visited{
    width:48px!important;
    height:44px!important;
    min-width:48px!important;
    min-height:44px!important;
    max-width:48px!important;
    max-height:44px!important;
    font-size:0!important;
  }

  .header-cart a:before{
    font-size:28px!important;
  }

  .header-cart a:after{
    top:1px!important;
    right:1px!important;
    width:16px!important;
    height:16px!important;
  }

  /* Search is clean row directly under header */
  .mobile-primary-search,
  .mobile-primary-search.mobile-primary-search--inner{
    display:grid!important;
    grid-template-columns:1fr 58px!important;
    width:100%!important;
    margin:10px 0 0!important;
    border:2px solid #cfd8e6!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#fff!important;
    clear:both!important;
  }

  .mobile-primary-search input{
    height:50px!important;
    line-height:50px!important;
    padding:0 13px!important;
    font-size:16px!important;
  }

  .mobile-primary-search button{
    height:50px!important;
    width:58px!important;
    background:#075ad7!important;
    border:0!important;
    font-size:0!important;
  }

  .mobile-primary-search button:before{
    content:'🔍'!important;
    font-size:24px!important;
    line-height:50px!important;
  }

  /* Prevent old header search elements from reappearing above product content */
  .header-search,
  .header-find,
  .header-search-examples,
  .header-home-help{
    display:none!important;
  }
}

@media (max-width: 390px){
  .header-main,
  .header-main.header-main--home,
  form.header-main{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    grid-template-rows:42px!important;
    min-height:42px!important;
    height:42px!important;
  }

  .mobile-menu-button,
  .header-cart,
  .header-cart a{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }

  .custom-logo-link,
  .custom-logo-link img,
  .site-branding img,
  .site-title-text{
    max-width:128px!important;
  }
}


/* v1.0.14 MOBILE TPD COMPACT LOGO
   Use TPD text on mobile instead of full wide logo to stop logo/cart collision.
*/
@media (max-width: 768px){

  .site-branding{
    position:relative!important;
    overflow:visible!important;
  }

  /* Hide the full wide logo/text on mobile */
  .site-branding .custom-logo-link,
  .site-branding .site-title-text,
  .site-branding img{
    display:none!important;
  }

  /* Compact mobile logo */
  .site-branding:before{
    content:'TPD'!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:78px!important;
    height:44px!important;
    margin:0 auto!important;
    background:#075ad7!important;
    color:#fff!important;
    border-radius:10px!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-1px!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  .header-main,
  .header-main.header-main--home,
  form.header-main{
    grid-template-columns:52px minmax(0,1fr) 52px!important;
  }

  .header-cart,
  .header-cart a{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
  }

  /* remove any remaining cart text */
  .header-cart a{
    font-size:0!important;
    color:transparent!important;
  }
}

@media (max-width: 390px){
  .site-branding:before{
    width:70px!important;
    height:42px!important;
    font-size:22px!important;
  }
}

/* FORCE TRUE 3-COLUMN MOBILE HEADER */
@media (max-width:768px){
  .header-main,
  form.header-main{
    display:grid !important;
    grid-template-columns:56px 1fr 56px !important;
    align-items:center !important;
  }

  .mobile-menu-button{
    grid-column:1 !important;
    justify-self:start !important;
  }

  .site-branding{
    grid-column:2 !important;
    justify-self:center !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .site-branding:before{
    margin:0 auto !important;
  }

  .header-cart{
    grid-column:3 !important;
    justify-self:end !important;
    width:56px !important;
  }

  .header-cart a{
    font-size:0 !important;
  }

  .header-cart a:before{
    content:'🛒' !important;
    font-size:30px !important;
  }
}


/* v1.0.15 TRUE MOBILE HEADER MARKUP FIX
   This creates a separate mobile-only header row and hides the old broken row on phones.
   Final mobile layout: MENU | TPD | CART, with search directly below.
*/
.tpd-mobile-headbar{display:none;}
@media (max-width:768px){
  .site-header.tpd-modern-header{background:#fff!important;border-bottom:1px solid #d9e2ef!important;padding:0!important;margin:0!important;}
  .site-header.tpd-modern-header .tpd-container{width:100%!important;max-width:none!important;padding:10px 14px 10px!important;box-sizing:border-box!important;}

  /* Hide the old row that was causing logo/cart collision */
  .site-header.tpd-modern-header .header-main,
  .site-header.tpd-modern-header form.header-main,
  .site-header.tpd-modern-header .header-main.header-main--home{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  /* New real mobile header */
  .tpd-mobile-headbar{
    display:grid!important;
    grid-template-columns:56px 1fr 56px!important;
    align-items:center!important;
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    position:relative!important;
  }
  .tpd-mobile-headbar-menu{
    grid-column:1!important;
    justify-self:start!important;
    width:56px!important;
    height:54px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    cursor:pointer!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    margin:0!important;
  }
  .tpd-mobile-headbar-menu span{
    display:block!important;
    width:34px!important;
    height:4px!important;
    background:#071b34!important;
    border-radius:8px!important;
    margin:0!important;
    padding:0!important;
  }
  .tpd-mobile-headbar-logo,
  .tpd-mobile-headbar-logo:visited{
    grid-column:2!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:86px!important;
    height:46px!important;
    background:#075ad7!important;
    color:#fff!important;
    border-radius:12px!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-1px!important;
    text-decoration:none!important;
    text-align:center!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-headbar-cart,
  .tpd-mobile-headbar-cart:visited{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
    width:56px!important;
    height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    text-decoration:none!important;
    background:transparent!important;
    color:#071b34!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  .tpd-mobile-cart-icon{font-size:31px!important;line-height:1!important;display:block!important;margin:0!important;padding:0!important;}
  .tpd-mobile-cart-count{
    position:absolute!important;
    top:4px!important;
    right:2px!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:18px!important;
    font-weight:900!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Search remains below the new centered header */
  .mobile-primary-search,
  .mobile-primary-search.mobile-primary-search--inner{
    display:grid!important;
    grid-template-columns:1fr 58px!important;
    width:100%!important;
    margin:10px 0 0!important;
    border:2px solid #cfd8e6!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
    clear:both!important;
  }
  .mobile-primary-search input{
    height:50px!important;
    line-height:50px!important;
    padding:0 13px!important;
    font-size:16px!important;
    color:#071b34!important;
    border:0!important;
    outline:0!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .mobile-primary-search input::placeholder{color:#9aa6b5!important;opacity:1!important;}
  .mobile-primary-search button{
    height:50px!important;
    width:58px!important;
    background:#075ad7!important;
    border:0!important;
    color:#fff!important;
    font-size:0!important;
    padding:0!important;
    margin:0!important;
  }
  .mobile-primary-search button:before{content:'🔍'!important;font-size:24px!important;line-height:50px!important;display:block!important;}
}
@media (max-width:390px){
  .tpd-mobile-headbar{grid-template-columns:52px 1fr 52px!important;height:52px!important;min-height:52px!important;max-height:52px!important;}
  .tpd-mobile-headbar-menu,.tpd-mobile-headbar-cart{width:52px!important;height:52px!important;}
  .tpd-mobile-headbar-logo{width:78px!important;height:42px!important;font-size:23px!important;border-radius:10px!important;}
}


/* v1.0.16 CLEAN TRUE MOBILE HEADER - STRUCTURAL FIX
   Old mobile header markup removed from header.php. Mobile header is now exactly: menu | centered TPD | cart.
*/
.tpd-mobile-only-header,
.tpd-mobile-only-search{display:none;}

.tpd-desktop-only-header{display:grid;grid-template-columns:250px minmax(350px,1fr) 110px 120px;gap:0;align-items:center;padding:26px 0 20px;}
.tpd-desktop-only-header .site-branding{padding-right:28px;}

@media (max-width:768px){
  .tpd-top-benefits{display:none!important;}
  .site-header.tpd-modern-header{background:#fff!important;border-bottom:1px solid #d9e2ef!important;margin:0!important;padding:0!important;}
  .site-header.tpd-modern-header .tpd-container{width:100%!important;max-width:none!important;padding:12px 14px 10px!important;box-sizing:border-box!important;}

  .tpd-desktop-only-header{display:none!important;}

  .tpd-mobile-only-header{
    display:grid!important;
    grid-template-columns:56px 1fr 56px!important;
    align-items:center!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    position:relative!important;
  }

  .tpd-mobile-only-menu{
    grid-column:1!important;
    justify-self:start!important;
    width:56px!important;
    height:56px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    cursor:pointer!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
  }
  .tpd-mobile-only-menu span{display:block!important;width:34px!important;height:4px!important;background:#071b34!important;border-radius:8px!important;margin:0!important;}

  .tpd-mobile-only-logo,
  .tpd-mobile-only-logo:visited{
    grid-column:2!important;
    justify-self:center!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:86px!important;
    height:46px!important;
    background:#075ad7!important;
    color:#fff!important;
    border-radius:12px!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:-1px!important;
    text-decoration:none!important;
    text-align:center!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }

  .tpd-mobile-only-cart,
  .tpd-mobile-only-cart:visited{
    grid-column:3!important;
    justify-self:end!important;
    align-self:center!important;
    width:56px!important;
    height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    color:#071b34!important;
    background:transparent!important;
    text-decoration:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-cart-icon{font-size:31px!important;line-height:1!important;display:block!important;margin:0!important;padding:0!important;}
  .tpd-mobile-only-cart-count{position:absolute!important;top:3px!important;right:1px!important;min-width:19px!important;height:19px!important;padding:0 4px!important;border-radius:999px!important;background:#075ad7!important;color:#fff!important;font-size:12px!important;line-height:19px!important;font-weight:900!important;text-align:center!important;box-sizing:border-box!important;}

  .tpd-mobile-only-search{
    display:grid!important;
    grid-template-columns:1fr 58px!important;
    width:100%!important;
    margin:10px 0 0!important;
    border:2px solid #cfd8e6!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-search input{height:50px!important;line-height:50px!important;padding:0 13px!important;font-size:16px!important;color:#071b34!important;border:0!important;outline:0!important;background:#fff!important;box-sizing:border-box!important;}
  .tpd-mobile-only-search input::placeholder{color:#9aa6b5!important;opacity:1!important;}
  .tpd-mobile-only-search button{height:50px!important;width:58px!important;background:#075ad7!important;border:0!important;color:#fff!important;font-size:0!important;padding:0!important;margin:0!important;}
  .tpd-mobile-only-search button:before{content:'🔍'!important;font-size:24px!important;line-height:50px!important;display:block!important;}

  .nav-wrap{display:none!important;background:#fff!important;border-top:1px solid #edf1f7!important;border-bottom:1px solid #d9e2ef!important;box-shadow:0 10px 24px rgba(8,26,52,.12)!important;position:relative!important;z-index:9999!important;}
  .tpd-mobile-nav-toggle:checked ~ .nav-wrap{display:block!important;}
  .nav-wrap .tpd-container{padding:0!important;width:100%!important;max-width:none!important;}
  .primary-nav ul{display:block!important;margin:0!important;padding:8px 16px!important;list-style:none!important;}
  .primary-nav li{display:block!important;margin:0!important;border-bottom:1px solid #edf1f7!important;}
  .primary-nav a{display:block!important;padding:16px 4px!important;font-size:18px!important;font-weight:850!important;color:#071b34!important;text-decoration:none!important;white-space:normal!important;}
}

@media (max-width:390px){
  .tpd-mobile-only-header{grid-template-columns:52px 1fr 52px!important;height:52px!important;min-height:52px!important;}
  .tpd-mobile-only-menu,.tpd-mobile-only-cart{width:52px!important;height:52px!important;}
  .tpd-mobile-only-logo{width:78px!important;height:42px!important;font-size:23px!important;border-radius:10px!important;}
}


/* v1.0.16 SELLABLE MOBILE HOMEPAGE
   Goal: presentable + conversion-focused mobile homepage.
   Header stays: menu / TPD / cart.
   Mobile uses ONE premium hero search, not the basic small header search.
*/
@media (max-width: 768px){

  /* Hide the small utility/header search on mobile home/shop so the premium hero is the main search */
  .home .mobile-primary-search,
  .woocommerce-shop .mobile-primary-search,
  .post-type-archive-product .mobile-primary-search{
    display:none!important;
  }

  /* Restore and style the hero as the primary mobile selling/search section */
  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero,
  section.homepage-hero,
  section.tpd-shop-hero{
    display:block!important;
    background:linear-gradient(135deg,#061f3f 0%,#07376d 58%,#075ad7 100%)!important;
    color:#fff!important;
    margin:0!important;
    padding:28px 20px 24px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    text-align:left!important;
    overflow:hidden!important;
    position:relative!important;
  }

  .homepage-hero:before,
  .tpd-shop-hero:before,
  .tpd-front-hero:before,
  .tpd-hero:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
      linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px)!important;
    background-size:76px 76px!important;
    opacity:.55!important;
    pointer-events:none!important;
  }

  .homepage-hero > *,
  .tpd-shop-hero > *,
  .tpd-front-hero > *,
  .tpd-hero > *{
    position:relative!important;
    z-index:1!important;
  }

  .homepage-hero .section-title,
  .homepage-hero h1,
  .tpd-shop-hero h1,
  .tpd-front-hero h1,
  .tpd-hero h1{
    color:#fff!important;
    font-size:34px!important;
    line-height:1.08!important;
    letter-spacing:-1.4px!important;
    font-weight:950!important;
    margin:0 0 12px!important;
    max-width:760px!important;
  }

  .homepage-hero p,
  .tpd-shop-hero p,
  .tpd-front-hero p,
  .tpd-hero p{
    color:#eef6ff!important;
    font-size:18px!important;
    line-height:1.45!important;
    margin:0 0 16px!important;
  }

  /* Premium hero search */
  .homepage-hero form,
  .tpd-shop-hero form,
  .tpd-front-hero form,
  .tpd-hero form,
  .homepage-hero .search-form,
  .tpd-shop-hero .search-form,
  .tpd-front-hero .search-form,
  .tpd-hero .search-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    max-width:none!important;
    margin:18px 0 14px!important;
    background:#fff!important;
    border:2px solid rgba(255,255,255,.95)!important;
    border-radius:12px!important;
    overflow:hidden!important;
    box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
  }

  .homepage-hero input[type="search"],
  .homepage-hero input[type="text"],
  .tpd-shop-hero input[type="search"],
  .tpd-shop-hero input[type="text"],
  .tpd-front-hero input[type="search"],
  .tpd-front-hero input[type="text"],
  .tpd-hero input[type="search"],
  .tpd-hero input[type="text"]{
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    border:0!important;
    border-bottom:1px solid #e5ecf6!important;
    background:#fff!important;
    color:#071b34!important;
    padding:0 18px!important;
    font-size:18px!important;
    line-height:58px!important;
    box-sizing:border-box!important;
    outline:none!important;
  }

  .homepage-hero input::placeholder,
  .tpd-shop-hero input::placeholder,
  .tpd-front-hero input::placeholder,
  .tpd-hero input::placeholder{
    color:#9aa6b5!important;
    opacity:1!important;
  }

  .homepage-hero button,
  .homepage-hero input[type="submit"],
  .tpd-shop-hero button,
  .tpd-shop-hero input[type="submit"],
  .tpd-front-hero button,
  .tpd-front-hero input[type="submit"],
  .tpd-hero button,
  .tpd-hero input[type="submit"]{
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    border:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:19px!important;
    font-weight:900!important;
    line-height:58px!important;
    padding:0!important;
    margin:0!important;
    text-align:center!important;
    border-radius:0!important;
  }

  /* Hero trust/value bullets */
  .tpd-mobile-trust,
  .hero-trust,
  .homepage-hero .trust,
  .tpd-shop-hero .trust{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 10px!important;
    margin:14px 0 10px!important;
  }

  .homepage-hero .trust span,
  .tpd-shop-hero .trust span,
  .tpd-mobile-trust span,
  .hero-trust span{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#fff!important;
    font-size:14px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }

  .homepage-hero .trust span:before,
  .tpd-shop-hero .trust span:before,
  .tpd-mobile-trust span:before,
  .hero-trust span:before{
    content:"✓"!important;
    color:#82c4ff!important;
    font-weight:950!important;
  }

  /* If no trust markup exists, show a CSS-generated trust row on hero */
  .homepage-hero:after,
  .tpd-shop-hero:after,
  .tpd-front-hero:after,
  .tpd-hero:after{
    content:"✓ 57,000+ OEM Parts   ✓ Fast Shipping   ✓ 30-Day Returns   ✓ Expert Support"!important;
    display:block!important;
    position:relative!important;
    z-index:1!important;
    color:#dceeff!important;
    font-size:14px!important;
    line-height:1.55!important;
    font-weight:800!important;
    margin-top:10px!important;
  }

  /* Pull brand area closer after hero */
  .shop-by-brand,
  .homepage-brands,
  section.homepage-brands,
  .tpd-brands{
    padding-top:28px!important;
  }

  /* Keep Brand/Categories sellable and clean */
  .homepage-brands .section-title,
  .shop-by-brand h2,
  .tpd-brands h2,
  .homepage-categories .section-title,
  .popular-categories h2,
  .tpd-categories h2{
    font-size:30px!important;
    line-height:1.15!important;
    letter-spacing:-.8px!important;
    text-align:center!important;
    margin-bottom:8px!important;
  }

  .homepage-brands a,
  .brand-grid a,
  .tpd-brand-card,
  .homepage-categories a,
  .category-grid a,
  .tpd-category-card{
    border-radius:13px!important;
    border:1px solid #d5dfed!important;
    box-shadow:0 8px 18px rgba(7,27,52,.04)!important;
    background:#fff!important;
  }
}

@media (max-width: 390px){
  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero{
    padding:24px 17px 22px!important;
  }
  .homepage-hero .section-title,
  .homepage-hero h1,
  .tpd-shop-hero h1,
  .tpd-front-hero h1,
  .tpd-hero h1{
    font-size:30px!important;
  }
  .homepage-hero p,
  .tpd-shop-hero p,
  .tpd-front-hero p,
  .tpd-hero p{
    font-size:17px!important;
  }
}


/* v1.0.17 MOBILE SELLABLE REFINEMENT FINAL
   Keep one premium hero search on mobile. Remove the small basic header search.
   Make trust line readable and more sales-focused.
*/
@media (max-width: 768px){

  /* Remove small basic header search on all mobile views where hero/home selling area appears */
  .mobile-primary-search,
  .mobile-primary-search.mobile-primary-search--inner,
  .site-header .mobile-primary-search,
  .tpd-modern-header .mobile-primary-search{
    display:none!important;
  }

  /* Keep the professional hero visible and make it the only mobile search */
  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero,
  section.homepage-hero,
  section.tpd-shop-hero{
    display:block!important;
  }

  /* Stronger selling message */
  .homepage-hero .section-title,
  .homepage-hero h1,
  .tpd-shop-hero h1,
  .tpd-front-hero h1,
  .tpd-hero h1{
    margin-bottom:10px!important;
  }

  .homepage-hero p:first-of-type,
  .tpd-shop-hero p:first-of-type,
  .tpd-front-hero p:first-of-type,
  .tpd-hero p:first-of-type{
    font-size:18px!important;
    line-height:1.45!important;
    font-weight:500!important;
    color:#f2f7ff!important;
    margin-bottom:16px!important;
  }

  /* Force the hero trust/value signals into clean two-column rows */
  .tpd-mobile-trust,
  .hero-trust,
  .homepage-hero .trust,
  .tpd-shop-hero .trust{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px 12px!important;
    margin:14px 0 0!important;
    padding:0!important;
  }

  .tpd-mobile-trust span,
  .hero-trust span,
  .homepage-hero .trust span,
  .tpd-shop-hero .trust span{
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:850!important;
    color:#eaf4ff!important;
    white-space:normal!important;
  }

  /* Replace long single generated line with readable two-line value block */
  .homepage-hero:after,
  .tpd-shop-hero:after,
  .tpd-front-hero:after,
  .tpd-hero:after{
    content:"✓ 57,000+ OEM Parts   ✓ Fast Shipping\A✓ 30-Day Returns   ✓ Expert Support"!important;
    white-space:pre-line!important;
    display:block!important;
    color:#eaf4ff!important;
    font-size:15px!important;
    line-height:1.55!important;
    font-weight:850!important;
    margin-top:12px!important;
  }

  /* Remove any top gap left by hidden header search */
  .site-header.tpd-modern-header{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  .site-header.tpd-modern-header .tpd-container{
    padding-bottom:12px!important;
  }

  /* Hero should start directly after header */
  .site-header + .homepage-hero,
  .site-header + .tpd-shop-hero,
  .site-header + .tpd-front-hero,
  .site-header + .tpd-hero{
    margin-top:0!important;
  }
}

@media (max-width: 390px){
  .homepage-hero:after,
  .tpd-shop-hero:after,
  .tpd-front-hero:after,
  .tpd-hero:after{
    font-size:14px!important;
  }
}


/* v1.0.18 REAL REMOVE MOBILE HEADER SEARCH
   Header search form removed from header.php. This is only a safety net.
   Mobile should show: menu / TPD / cart, then the blue hero search only.
*/
@media (max-width: 768px){

  .site-header .mobile-primary-search,
  .tpd-modern-header .mobile-primary-search,
  header .mobile-primary-search,
  .site-header form[role="search"],
  .tpd-modern-header form[role="search"]:not(.header-main),
  .site-header .header-search,
  .site-header .header-find,
  .site-header .search-form,
  .site-header .woocommerce-product-search{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  .site-header.tpd-modern-header{
    padding-bottom:0!important;
    margin-bottom:0!important;
  }

  .site-header.tpd-modern-header .tpd-container{
    padding-bottom:12px!important;
  }

  /* Force the blue hero to begin immediately after header */
  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero,
  section.homepage-hero,
  section.tpd-shop-hero{
    margin-top:0!important;
  }
}


/* v1.0.19 MOBILE OFFSET PAGE FIX
   Fix left/right page offset on mobile.
   Hero, shop archive, brand/category sections must align to full viewport cleanly.
*/
@media (max-width: 768px){

  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  #page,
  .site,
  .site-content,
  .content-area,
  #primary,
  .site-main,
  main,
  .woocommerce,
  .woocommerce-page{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  .tpd-container,
  .container,
  .site-container,
  .content-container,
  .wrap,
  .entry-content,
  .page-content{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:16px!important;
    padding-right:16px!important;
    box-sizing:border-box!important;
  }

  /* Header should remain full width and aligned */
  .site-header.tpd-modern-header,
  .site-header.tpd-modern-header .tpd-container{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  /* Hero should be full-bleed, not shifted */
  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero,
  section.homepage-hero,
  section.tpd-shop-hero{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:20px!important;
    padding-right:20px!important;
    box-sizing:border-box!important;
    border-radius:0!important;
  }

  /* Shop/result card wrapper should not start offset under hero */
  .woocommerce .products,
  .woocommerce-page .products,
  ul.products{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  /* White archive/results box stays centered inside viewport */
  .woocommerce-ordering,
  .woocommerce-result-count,
  .woocommerce-breadcrumb{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Prevent any previous transform/position hacks from pushing mobile sections */
  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero,
  .homepage-brands,
  .homepage-categories,
  .tpd-brands,
  .tpd-categories,
  .shop-by-brand,
  .popular-categories{
    transform:none!important;
    left:auto!important;
    right:auto!important;
  }
}

@media (max-width: 390px){
  .tpd-container,
  .container,
  .site-container,
  .content-container,
  .wrap,
  .entry-content,
  .page-content{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .homepage-hero,
  .tpd-shop-hero,
  .tpd-front-hero,
  .tpd-hero,
  section.homepage-hero,
  section.tpd-shop-hero{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}


/* v1.0.17 search layout correction
   Mobile: one visible search directly below the mobile header.
   Desktop homepage: remove duplicate header search and keep the hero search as the primary search.
*/
@media (max-width:768px){
  .site-header.tpd-modern-header .tpd-container{padding-bottom:12px!important;}
  .tpd-mobile-only-search{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    width:100%!important;
    margin:10px 0 0!important;
    border:2px solid #cfd8e6!important;
    border-radius:8px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-search input{
    display:block!important;
    width:100%!important;
    height:52px!important;
    line-height:52px!important;
    padding:0 14px!important;
    border:0!important;
    outline:0!important;
    background:#fff!important;
    color:#071b34!important;
    font-size:16px!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-search button{
    display:block!important;
    width:58px!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:0!important;
  }
  .tpd-mobile-only-search button:before{content:'🔍'!important;font-size:24px!important;line-height:52px!important;display:block!important;}
  body.home .tpd-hero-search{display:none!important;}
}

@media (min-width:769px){
  body.home .tpd-desktop-only-header{
    grid-template-columns:250px minmax(0,1fr) 120px!important;
    column-gap:24px!important;
  }
  body.home .tpd-desktop-only-header .header-search,
  body.home .tpd-desktop-only-header .header-find{display:none!important;}
  body.home .tpd-desktop-only-header .header-cart{grid-column:3!important;justify-self:end!important;}
  body.home .tpd-hero-search{display:grid!important;}
}


/* v1.0.18 hard correction
   - Mobile: header search form is forced visible directly below the mobile logo/cart row.
   - Desktop homepage: header search markup is not rendered; the hero search is the only homepage search.
*/
.tpd-mobile-only-search{display:none!important;}
@media (max-width:768px){
  .tpd-desktop-only-header{display:none!important;}
  .tpd-mobile-only-header{display:grid!important;}
  .tpd-mobile-only-search{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    width:100%!important;
    margin:10px 0 0!important;
    border:2px solid #cfd8e6!important;
    border-radius:8px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-search input[type="search"]{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    line-height:52px!important;
    padding:0 14px!important;
    border:0!important;
    background:#fff!important;
    color:#071b34!important;
    font-size:16px!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-search button{
    display:block!important;
    width:58px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:0!important;
    box-sizing:border-box!important;
  }
  .tpd-mobile-only-search button:before{content:'🔍'!important;font-size:24px!important;line-height:52px!important;display:block!important;}
  .tpd-hero-search{display:none!important;}
}
@media (min-width:769px){
  .tpd-mobile-only-header,.tpd-mobile-only-search{display:none!important;}
  .tpd-desktop-home-header{
    display:grid!important;
    grid-template-columns:250px minmax(0,1fr) 120px!important;
    column-gap:24px!important;
    align-items:center!important;
    padding:26px 0 20px!important;
  }
  .tpd-desktop-home-header .header-spacer{display:block!important;}
  .tpd-desktop-home-header .header-cart{grid-column:3!important;justify-self:end!important;}
  .tpd-desktop-home-header .header-search,.tpd-desktop-home-header .header-find,.tpd-desktop-home-header .header-search-examples{display:none!important;}
}

/* v1.0.19 verified search correction
   Desktop: header search is removed from markup; only the hero search remains on the homepage.
   Mobile: primary search is visible directly under the mobile header; hero duplicate is hidden on phones.
*/
@media (min-width:769px){
  .tpd-mobile-only-header,
  .tpd-mobile-only-search{display:none!important;}
  .tpd-desktop-clean-header{
    display:grid!important;
    grid-template-columns:250px minmax(0,1fr) 120px!important;
    column-gap:24px!important;
    align-items:center!important;
    padding:26px 0 20px!important;
  }
  .tpd-desktop-clean-header .header-spacer{display:block!important;}
  .tpd-desktop-clean-header .header-cart{grid-column:3!important;justify-self:end!important;}
  body.home .tpd-hero-search{display:grid!important;}
}
@media (max-width:768px){
  .tpd-desktop-only-header{display:none!important;}
  .tpd-mobile-only-header{
    display:grid!important;
    grid-template-columns:58px 1fr 58px!important;
    align-items:center!important;
    min-height:64px!important;
    width:100%!important;
  }
  .tpd-mobile-only-search{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    width:100%!important;
    margin:10px 0 14px!important;
    border:2px solid #cfd8e6!important;
    border-radius:10px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-sizing:border-box!important;
    position:relative!important;
    z-index:20!important;
  }
  .tpd-mobile-only-search input[type="search"]{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    line-height:52px!important;
    padding:0 14px!important;
    border:0!important;
    outline:0!important;
    background:#fff!important;
    color:#071b34!important;
    font-size:16px!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .tpd-mobile-only-search button{
    display:block!important;
    width:58px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:0!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
  }
  .tpd-mobile-only-search button:before{content:'🔍'!important;font-size:24px!important;line-height:52px!important;display:block!important;}
  body.home .tpd-hero-search{display:none!important;}
}


/* v1.0.20 hard mobile search correction
   This uses a unique homepage mobile search class so older rules cannot hide it.
*/
.tpd-mobile-direct-search{display:none!important;}
@media (max-width:768px){
  .tpd-mobile-only-search{display:none!important;}
  body.home .tpd-hero-search{display:none!important;}
  body.home .tpd-mobile-direct-search{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:minmax(0,1fr) 112px!important;
    width:100%!important;
    margin:16px 0 12px!important;
    border:2px solid rgba(255,255,255,.95)!important;
    border-radius:10px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
    position:relative!important;
    z-index:50!important;
  }
  body.home .tpd-mobile-direct-search input[type="search"]{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:56px!important;
    line-height:56px!important;
    padding:0 14px!important;
    border:0!important;
    outline:0!important;
    background:#fff!important;
    color:#071b34!important;
    font-size:15px!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  body.home .tpd-mobile-direct-search button{
    display:block!important;
    width:112px!important;
    height:56px!important;
    min-height:56px!important;
    padding:0 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#075ad7!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:900!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }
}
@media (min-width:769px){
  .tpd-mobile-direct-search{display:none!important;}
  .tpd-mobile-only-search{display:none!important;}
  body.home .tpd-hero-search{display:grid!important;}
}


/* FIX v1.0.21: hide mobile direct search on desktop */
@media (min-width:769px){
  body.home .tpd-mobile-direct-search{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }
}


/* FIX v1.0.23: render mobile search always, control by viewport only. Do not rely on wp_is_mobile caching. */
.tpd-hero-copy > form.tpd-mobile-direct-search {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
@media screen and (min-width:769px){
  body.home .tpd-hero-copy > form.tpd-mobile-direct-search,
  body .tpd-hero-copy > form.tpd-mobile-direct-search{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  body.home .tpd-hero-copy > form.tpd-hero-search{
    display:grid !important;
  }
}
@media screen and (max-width:768px){
  body.home .tpd-hero-copy > form.tpd-hero-search{
    display:none !important;
  }
  body.home .tpd-hero-copy > form.tpd-mobile-direct-search{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    grid-template-columns:minmax(0,1fr) 112px !important;
    width:100% !important;
    margin:16px 0 12px !important;
    padding:0 !important;
    border:2px solid rgba(255,255,255,.95) !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
    position:relative !important;
    z-index:50 !important;
  }
  body.home .tpd-hero-copy > form.tpd-mobile-direct-search input[type="search"]{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:56px !important;
    line-height:56px !important;
    padding:0 14px !important;
    border:0 !important;
    outline:0 !important;
    background:#fff !important;
    color:#071b34 !important;
    font-size:15px !important;
    box-sizing:border-box !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }
  body.home .tpd-hero-copy > form.tpd-mobile-direct-search button{
    display:block !important;
    width:112px !important;
    height:56px !important;
    min-height:56px !important;
    padding:0 8px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#075ad7 !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:900 !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
    white-space:nowrap !important;
  }
}


/* FIX v1.0.24: single responsive search form only
   Remove the separate mobile search from output/use. The hero search is the only search in the hero.
   Desktop: hero search only. Mobile: same hero search, styled full-width and visible above examples. */
.tpd-mobile-direct-search,
body.home .tpd-mobile-direct-search,
body.home .tpd-hero-copy > form.tpd-mobile-direct-search{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.home .tpd-hero-copy > form.tpd-hero-search,
body.home .tpd-hero-search{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}
@media screen and (min-width:769px){
  body.home .tpd-hero-copy > form.tpd-hero-search,
  body.home .tpd-hero-search{
    display:grid !important;
    grid-template-columns:1fr 150px !important;
  }
}
@media screen and (max-width:768px){
  body.home .tpd-hero-copy > form.tpd-hero-search,
  body.home .tpd-hero-search{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    grid-template-columns:minmax(0,1fr) 112px !important;
    width:100% !important;
    margin:16px 0 12px !important;
    padding:0 !important;
    border:2px solid rgba(255,255,255,.95) !important;
    border-radius:10px !important;
    background:#fff !important;
    box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
    position:relative !important;
    z-index:50 !important;
  }
  body.home .tpd-hero-search input[type="search"]{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    height:56px !important;
    line-height:56px !important;
    padding:0 14px !important;
    border:0 !important;
    outline:0 !important;
    background:#fff !important;
    color:#071b34 !important;
    font-size:15px !important;
    box-sizing:border-box !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }
  body.home .tpd-hero-search button{
    display:block !important;
    width:112px !important;
    height:56px !important;
    min-height:56px !important;
    padding:0 8px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#075ad7 !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:900 !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
    white-space:nowrap !important;
  }
}


/* v1.0.12 Contact Us direct sender form */
.tpd-direct-contact-wrap{max-width:760px!important;margin:0 auto!important;}
.tpd-contact-alert{padding:14px 16px!important;border-radius:6px!important;margin:0 0 18px!important;font-weight:800!important;}
.tpd-contact-success{background:#e9f9ee!important;border:1px solid #8bd39d!important;color:#145c26!important;}
.tpd-contact-error{background:#fff0f0!important;border:1px solid #e19696!important;color:#8a1f1f!important;}
.tpd-direct-contact-form p{margin:0 0 16px!important;}
.tpd-direct-contact-form label{display:block!important;margin:0 0 7px!important;font-weight:900!important;color:#07172d!important;}
.tpd-direct-contact-form input,.tpd-direct-contact-form textarea{width:100%!important;box-sizing:border-box!important;}
.tpd-direct-contact-form .tpd-contact-submit{width:100%!important;min-height:52px!important;font-weight:950!important;}


/* v1.0.15 contact-us mailto replacement */
.tpd-email-contact-card{max-width:760px!important;margin:0 auto!important;padding:28px!important;border:1px solid #d8e0ec!important;border-radius:10px!important;background:#fff!important;box-shadow:0 8px 24px rgba(7,23,45,.06)!important;}
.tpd-email-contact-card h3{margin:0 0 10px!important;color:#07172d!important;font-size:20px!important;font-weight:950!important;text-transform:uppercase!important;}
.tpd-email-contact-lead{font-size:16px!important;line-height:1.55!important;color:#23364f!important;margin:0 0 20px!important;}
.tpd-email-contact-actions{display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important;margin:0 0 20px!important;}
.tpd-email-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:0 24px!important;border-radius:7px!important;background:#1254ff!important;color:#fff!important;text-decoration:none!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.02em!important;box-shadow:0 7px 18px rgba(18,84,255,.22)!important;}
.tpd-email-button:hover{background:#0b3fd0!important;color:#fff!important;text-decoration:none!important;}
.tpd-email-address{font-weight:900!important;color:#0b3a78!important;text-decoration:underline!important;word-break:break-word!important;}
.tpd-email-contact-note{background:#fff7e6!important;border:1px solid #f0d392!important;border-radius:8px!important;padding:16px 18px!important;color:#1f2c3d!important;margin:0 0 16px!important;}
.tpd-email-contact-note ul{margin:8px 0 0 22px!important;padding:0!important;}
.tpd-email-contact-note li{margin:4px 0!important;}
.tpd-email-contact-small{font-size:13px!important;line-height:1.45!important;color:#50627a!important;margin:0!important;}
@media(max-width:700px){.tpd-email-contact-card{padding:20px!important}.tpd-email-contact-actions{display:block!important}.tpd-email-button{width:100%!important;margin:0 0 12px!important;text-align:center!important}.tpd-email-address{display:block!important;text-align:center!important}}


/* v1.0.17 configurable contact-us mailto replacement */
body.page .tpd-contact-content form,
body.page .tpd-contact-content input,
body.page .tpd-contact-content textarea,
body.page .tpd-contact-content label,
body.page .tpd-contact-content button[type="submit"],
body.page .tpd-contact-content .tpd-contact-form {
  display: none !important;
}
.tpd-email-contact-card {
  max-width: 720px;
  margin: 0;
  padding: 28px;
  border: 1px solid #dbe5f1;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
}
.tpd-email-contact-card h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.2;
  color: #0b2545;
}
.tpd-email-contact-lead { margin: 0 0 18px; color: #334155; font-size: 16px; }
.tpd-email-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 20px 0; }
.tpd-email-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 8px;
  background: #0b5cff;
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.tpd-email-address { font-weight: 800; color: #0b2545; text-decoration: underline; }
.tpd-email-contact-note { margin-top: 18px; padding: 16px 18px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; }
.tpd-email-contact-note ul { margin: 10px 0 0 20px; }
.tpd-email-contact-small { margin: 16px 0 0; color: #64748b; font-size: 13px; }


/* v1.0.18 contact-us forced mailto replacement */
body.page-slug-contact-us .tpd-contact-content > :not(.tpd-email-contact-card),
body.page-contact-us .tpd-contact-content > :not(.tpd-email-contact-card){display:none!important;}
body.page-slug-contact-us .tpd-email-contact-card,
body.page-contact-us .tpd-email-contact-card{display:block!important;}
