/* Shopping refinements. Existing brand assets and Storefront stay intact. */
:root { --ttb-red:#b51c25; --ttb-ink:#30343a; --ttb-line:#e4e5e7; }
body { color:var(--ttb-ink); line-height:1.6; }
h1,h2,h3 { letter-spacing:-.025em; }
a { color:#9f1820; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid #155c9b; outline-offset:3px; }
button,input[type=button],input[type=submit],.button,.added_to_cart,.widget a.button { background:var(--ttb-red);color:#fff;border-radius:5px;font-weight:700; }
button:hover,input[type=submit]:hover,.button:hover,.added_to_cart:hover { background:#8c141c;color:#fff; }
#content { background:none;padding-top:1.25rem; }
.site-content > .col-full { background:#fff; }
.storefront-primary-navigation { background:var(--ttb-red)!important; }
.site-header .desktop { max-width:61%;padding:12px 0; }
.site-header .desktop img { max-height:132px;width:auto;object-fit:contain; }
.site-header .site-search { margin-top:1.25rem!important; }
.site-header .site-search form { display:flex;gap:6px;align-items:stretch; }
.site-header .site-search form::before { display:none; }
.site-header .site-search input[type=search] { min-width:0;flex:1;width:0;padding:12px!important;box-shadow:none;border:1px solid #ccc;font-size:16px; }
.site-header .site-search button[type=submit] { padding:10px 12px!important;flex:0 0 auto;min-height:48px; }
.main-navigation ul.menu>li>a { padding:1rem .75rem; font-size:14px; }
.main-navigation ul.menu>li>a,.site-header-cart .cart-contents { color:#fff; }
.main-navigation ul.menu>li>a:hover { background:#8c141c; }
.site-header-cart .cart-contents { font-size:14px; }
.home .type-page > .entry-header { display:none; }
.ttb-hero { padding:1rem 0 1.25rem; }
.ttb-eyebrow { color:var(--ttb-red);font-size:.78rem;font-weight:700;letter-spacing:.13em;margin:0 0 .4rem; }
.ttb-hero h1 { font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.12;margin:0 0 .6rem;max-width:24ch; }
.ttb-hero > p:not(.ttb-eyebrow) { margin-bottom:1rem;max-width:60ch; }
.ttb-shop-actions { display:flex;flex-wrap:wrap;gap:.6rem; }
.ttb-shop-actions .button { font-size:.85rem;padding:.8rem 1rem; }
.ttb-shop-actions .button:not(:first-child) { background:#fff;color:var(--ttb-red);box-shadow:inset 0 0 0 1px var(--ttb-red); }
.ttb-shop-actions .button:not(:first-child):hover { background:#fff1f2; }
.ttb-promotion { border-left:4px solid var(--ttb-red);background:#fff3f3;padding:.75rem 1rem;margin:0 0 1.4rem;font-size:.92rem;line-height:1.5; }
.ttb-featured-heading { font-size:1.45rem;margin:0 0 1rem; }
.ttb-home-intro,.ttb-category-description { clear:both;border-top:1px solid var(--ttb-line);padding:1rem 0;margin:1.5rem 0; }
.ttb-home-intro summary,.ttb-category-description summary { cursor:pointer;font-weight:700; }
.ttb-home-intro[open] summary,.ttb-category-description[open] summary { margin-bottom:1rem; }
.ttb-category-intro { font-size:.95rem;margin:0 0 1rem;max-width:72ch; }
.ttb-category-intro p { margin:0; }
.ttb-category-intro>a { font-size:.85rem;text-decoration:underline; }
.woocommerce-products-header .page-title { margin-bottom:.6rem; }
.ttb-catalogue-tools { clear:both;margin:0 0 1rem;border:1px solid var(--ttb-line);border-radius:7px;overflow:hidden; }
.ttb-catalogue-tools > summary { padding:.85rem 1rem;cursor:pointer;background:#f6f6f7;font-weight:700; }
.ttb-catalogue-tools[open]>summary { border-bottom:1px solid var(--ttb-line); }
.ttb-filter-content { padding:1rem;display:grid;grid-template-columns:2fr 1fr;gap:1.5rem; }
.ttb-filter-content h2 { font-size:1.05rem;margin:0 0 .7rem; }
.ttb-category-links { padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .8rem; }
.ttb-category-links li { list-style:none;min-width:0; }
.ttb-category-links a { display:block;padding:.35rem 0;font-size:.9rem; }
.ttb-price-filter { margin:0;display:flex;flex-direction:column;align-items:stretch;gap:.4rem; }
.ttb-price-filter label { font-size:.85rem; }
.ttb-price-filter input { width:100%;min-width:0;border:1px solid #ccc;border-radius:4px;box-shadow:none;padding:.6rem; }
.ttb-price-filter button { margin-top:.4rem;font-size:.8rem; }
.ttb-price-filter>a { font-size:.85rem;text-decoration:underline; }
.ttb-page-size { display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem;clear:both;margin:0 0 1rem; }
.ttb-page-size select { min-height:40px;padding:.4rem; }
.ttb-page-size button { padding:.55rem .8rem;min-height:40px;font-size:.75rem; }
.ttb-shopping-ready .ttb-page-size button { display:none; }
.site-main ul.products { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem; }
.site-main ul.products::before,.site-main ul.products::after { display:none!important; }
.site-main ul.products li.product { width:auto!important;float:none!important;margin:0!important;display:flex;flex-direction:column;min-width:0;text-align:left;border:1px solid var(--ttb-line);padding:1rem;border-radius:8px;background:#fff; }
.site-main ul.products li.product>a.woocommerce-LoopProduct-link { display:flex;flex-direction:column;flex:1;min-width:0; }
.site-main ul.products li.product img { width:100%;height:190px;max-height:none;object-fit:contain;margin:0 auto 1rem;box-shadow:none; }
.site-main ul.products li.product h2 { font-size:1rem;line-height:1.35;margin:0 0 .7rem;min-height:2.7em; }
.site-main ul.products li.product .price { margin-top:auto;padding-top:.5rem;margin-bottom:.8rem; }
.site-main ul.products li.product .woocommerce-Price-amount { font-size:1.1rem;color:var(--ttb-red); }
.site-main ul.products li.product .price del .woocommerce-Price-amount { font-size:.9rem;color:#686868; }
.site-main ul.products li.product .button { width:100%;font-size:.75rem;padding:.8rem .5rem;text-align:center;margin-top:auto; }
.site-main ul.products li.product .onsale { align-self:flex-start;font-size:.7rem;border-color:var(--ttb-red);color:var(--ttb-red);margin:.3rem 0; }
.ttb-condition { display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;line-height:1.4;background:#f0f1f2;color:#3c4249;border-radius:4px;padding:.25rem .55rem;margin:0 0 .45rem; }
.ttb-footer-links { display:flex;justify-content:center;gap:.7rem 1.2rem;flex-wrap:wrap;padding:0 0 1.5rem;border-bottom:1px solid #ddd; }
.ttb-footer-links a { font-size:.85rem;text-decoration:underline; }
.site-footer { padding:2rem 0; }
.site-info { padding:1.4rem 0 0; }
.single-product div.product .product_title { font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.2;margin-bottom:.8rem; }
.single-product div.product .summary .price { margin:.5rem 0 1rem; }
.single-product div.product .summary .price .woocommerce-Price-amount { font-size:1.5rem; }
.single-product div.product .summary .price del .woocommerce-Price-amount { font-size:1.1rem; }
.ttb-delivery-note { background:#f6f6f7;border:1px solid var(--ttb-line);border-radius:6px;padding:1rem;font-size:.85rem;margin:1rem 0; }
.ttb-delivery-note p { margin:.4rem 0 0; }
.ttb-delivery-note a { text-decoration:underline; }
.ttb-mobile-purchase[hidden] { display:none!important; }
@media(min-width:768px) {
 .woocommerce-active .site-header .site-search { width:32%; }
 .ttb-mobile-purchase { display:none!important; }
 .woocommerce-active .site-header .main-navigation { width:78%;margin-right:0; }
 .woocommerce-active .site-header .site-header-cart { width:22%; }
 .main-navigation .primary-navigation>ul { display:flex;flex-wrap:wrap; }
}
@media(max-width:767px) {
 body { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
 body.ttb-purchase-visible { padding-bottom:calc(145px + env(safe-area-inset-bottom)); }
 .col-full { margin:0 16px; }
 #content { padding-top:.75rem; }
 .site-header { padding:10px 0 0;margin-bottom:0!important; }
 .site-header .desktop { display:none; }
 .site-header .mobile { display:block;width:116px;max-width:116px;margin:0 auto 10px; }
 .site-header .mobile img { max-height:85px;width:auto;margin:auto; }
 .storefront-primary-navigation { margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px; }
 #site-navigation { padding:6px 0; }
 .main-navigation .menu-toggle { float:none;margin:0;min-width:170px;min-height:44px;color:#fff;border-color:rgba(255,255,255,.6);font-size:.85rem; }
 .main-navigation .menu-toggle::before,.main-navigation .menu-toggle::after,.main-navigation .menu-toggle span::before { background:#fff; }
 .main-navigation .handheld-navigation ul.menu { margin:0;padding-top:.5rem; }
 .main-navigation .handheld-navigation ul.menu>li>a { padding:.75rem .5rem;font-size:.95rem; }
 .ttb-hero { padding:.5rem 0 1rem; }
 .ttb-hero h1 { font-size:1.9rem; }
 .ttb-hero > p:not(.ttb-eyebrow) { font-size:.9rem;margin-bottom:.8rem; }
 .ttb-shop-actions { display:grid;grid-template-columns:1fr 1fr;gap:.5rem; }
 .ttb-shop-actions .button { min-height:44px;font-size:.74rem;padding:.75rem .5rem;text-align:center; }
 .ttb-shop-actions .button:first-child { grid-column:1/-1; }
 .ttb-promotion { font-size:.8rem;padding:.6rem .7rem;margin-bottom:1rem; }
 .ttb-featured-heading { font-size:1.25rem; }
 .site-main ul.products { grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
 .site-main ul.products li.product { padding:.65rem;border-radius:6px; }
 .site-main ul.products li.product img { height:145px;margin-bottom:.7rem; }
 .site-main ul.products li.product h2 { font-size:.86rem;line-height:1.35;min-height:3.9em;margin-bottom:.5rem;overflow-wrap:anywhere; }
 .site-main ul.products li.product .woocommerce-Price-amount { font-size:1rem; }
 .site-main ul.products li.product .price del { display:block; }
 .site-main ul.products li.product .price del .woocommerce-Price-amount { font-size:.8rem; }
 .site-main ul.products li.product .button { font-size:.66rem;min-height:44px;padding:.7rem .25rem; }
 .ttb-filter-content { grid-template-columns:1fr;gap:1.2rem; }
 .ttb-category-links { gap:.3rem .65rem; }
 .ttb-category-links a { font-size:.85rem;padding:.45rem 0; }
 .woocommerce-products-header .page-title { font-size:1.7rem; }
 .ttb-category-intro { font-size:.85rem; }
 .woocommerce-result-count,.woocommerce-ordering { float:none;margin:0 0 .7rem; }
 .woocommerce-ordering select { width:100%;min-height:44px; }
 .ttb-page-size { margin-bottom:.8rem; }
 .storefront-sorting:has(.ttb-page-size) .woocommerce-pagination { display:none; }
 .archive.woocommerce #secondary { display:none; }
 .single-product div.product .woocommerce-product-gallery { margin-bottom:1rem; }
 .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img { max-height:290px;width:100%;object-fit:contain; }
 .single-product div.product .woocommerce-product-gallery .flex-control-thumbs { margin-top:.5rem; }
 .single-product div.product .summary { margin-bottom:1.5rem; }
 .single-product div.product .summary form.cart { margin-bottom:1rem;scroll-margin-top:1rem; }
 .single-product div.product form.cart .single_add_to_cart_button { min-height:48px; }
 .storefront-handheld-footer-bar { z-index:9998;padding-bottom:env(safe-area-inset-bottom);background:#fff; }
 .storefront-handheld-footer-bar ul li>a { height:58px; }
 .storefront-handheld-footer-bar ul li.search .site-search { display:none;position:absolute;bottom:calc(100% + 1px);left:0;right:0;top:auto;height:auto;width:100%;padding:12px 16px;margin:0!important;box-shadow:0 -4px 16px #0002;background:#fff;transform:none; }
 .storefront-handheld-footer-bar ul li.search.active .site-search { display:block; }
 .storefront-handheld-footer-bar .site-search .widget { margin:0; }
 .storefront-handheld-footer-bar .site-search form { display:flex;gap:8px;margin:0;align-items:stretch; }
 .storefront-handheld-footer-bar .site-search form::before { display:none; }
 .storefront-handheld-footer-bar .site-search input[type=search] { flex:1;min-width:0;width:0;padding:12px!important;border:1px solid #bbb;box-shadow:none;font-size:16px; }
 .storefront-handheld-footer-bar .site-search button[type=submit] { flex:0 0 auto;position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;margin:0!important;padding:10px 13px!important;min-height:48px; }
 .ttb-mobile-purchase { position:fixed;z-index:9997;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;box-shadow:0 -3px 16px #0002;border-top:1px solid var(--ttb-line); }
 .ttb-mobile-purchase>div { flex:1;min-width:0; }
 .ttb-purchase-title { display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:.75rem; }
 .ttb-purchase-price { display:block;line-height:1.3; }
 .ttb-purchase-price .woocommerce-Price-amount { font-size:1rem;color:var(--ttb-red); }
 .ttb-purchase-price del .woocommerce-Price-amount { font-size:.75rem;color:#666; }
 .ttb-purchase-price .screen-reader-text { position:absolute!important; }
 .ttb-mobile-purchase .button { font-size:.75rem;min-height:44px;padding:.8rem;white-space:nowrap; }
 .ttb-footer-links { justify-content:flex-start;text-align:left;gap:.8rem 1rem; }
}
@media(min-width:768px) and (max-width:1100px) { .site-main ul.products { grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; } }
@media(max-width:339px) { .site-main ul.products { grid-template-columns:1fr; } .site-main ul.products li.product img { height:185px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important;transition:none!important; } }

/* Live responsive review fixes, October 2026. */
.wpcf7 form label,.wpcf7-form-control-wrap { display:block;max-width:100%;min-width:0; }
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
.wpcf7 textarea,.wpcf7 select { box-sizing:border-box;width:100%;max-width:100%;min-width:0; }
.wpcf7 input:not([type=hidden]),.wpcf7 select { min-height:44px; }
.ttb-sidebar-disclosure > summary { display:none; }
@media(min-width:768px) and (max-width:959px) {
 .site-header .desktop { max-width:55%; }
 .site-header .ttb-header-tools { width:41%;max-width:none; }
 .woocommerce-active .site-header .main-navigation { width:84%; }
 .woocommerce-active .site-header .site-header-cart { width:16%; }
 .main-navigation ul.menu>li>a { font-size:12px;padding:1rem .45rem;white-space:nowrap; }
 .site-header-cart .cart-contents { font-size:12px; }
 .site-header-cart .cart-contents .count { display:none; }
}
@media(max-width:767px) {
 .page-id-5527 .entry-content h3:first-child img.alignright { float:none;display:block;margin:0 0 1rem;max-width:100%;height:auto; }
 .page-id-5527 .entry-content h3 { overflow-wrap:normal;word-break:normal; }
 .single-product div.product .product_title { font-size:1.35rem;line-height:1.25;overflow-wrap:break-word; }
 .single-product .woocommerce-breadcrumb { font-size:.8rem;line-height:1.5;margin-bottom:.6rem; }
 .single-product .woocommerce-breadcrumb .ttb-breadcrumb-current,
 .single-product .woocommerce-breadcrumb .ttb-breadcrumb-current-separator { display:none; }
 .ttb-sidebar-disclosure { border:1px solid var(--ttb-line);border-radius:6px;margin:1.5rem 0;clear:both; }
 .ttb-sidebar-disclosure > summary { display:list-item;cursor:pointer;padding:.85rem 1rem;font-weight:700;background:#f6f6f7;min-height:44px; }
 .ttb-sidebar-disclosure[open] > summary { border-bottom:1px solid var(--ttb-line); }
 .ttb-sidebar-disclosure .ttb-sidebar-content { padding:1rem; }
 .ttb-sidebar-disclosure .widget:last-child { margin-bottom:0; }
 .woocommerce-pagination ul.page-numbers { display:flex;flex-wrap:nowrap;justify-content:center;gap:3px;margin-left:0;max-width:100%; }
 .woocommerce-pagination ul.page-numbers li { flex:0 1 40px;min-width:0;margin:0; }
 .woocommerce-pagination ul.page-numbers li a,.woocommerce-pagination ul.page-numbers li span { display:block;padding:.65rem .15rem;font-size:.8rem;min-height:44px; }
 .main-navigation.toggled .handheld-navigation { max-height:none;overflow:visible; }
}

@media(min-width:768px) and (max-width:959px) { .main-navigation .primary-navigation>ul { flex-wrap:nowrap;margin-left:0; } .main-navigation .primary-navigation>ul::before,.main-navigation .primary-navigation>ul::after { display:none; } }

/* Readable original sale prices and mobile About Us layout. */
.site-main ul.products li.product .price del,
.single-product div.product .summary .price del,
.ttb-mobile-purchase .ttb-purchase-price del { opacity:1; }
.site-main ul.products li.product .price del .woocommerce-Price-amount,
.single-product div.product .summary .price del .woocommerce-Price-amount,
.ttb-mobile-purchase .ttb-purchase-price del .woocommerce-Price-amount { color:#595959; }
@media(max-width:767px) {
 .page-id-5515 .entry-content img.alignright { float:none;display:block;max-width:100%;height:auto;margin:0 auto 1rem; }
}
