/*
Theme Name: TradePost
Description: Lightweight e-commerce theme for WooCommerce: utility bar, search header with account and cart, category navigation, product grids and a full-information footer.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: tradepost
*/
:root{--brand:#0B3D91;--brand-dark:color-mix(in srgb,var(--brand) 78%,#000);--brand-soft:color-mix(in srgb,var(--brand) 8%,#fff);--ink:#14181f;--muted:#5b6472;--line:#e3e7ee;--bg:#f6f7f9;--white:#fff;--radius:10px;--shadow:0 1px 2px rgba(16,24,40,.06),0 6px 18px rgba(16,24,40,.07);--wrap:1240px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.tp-body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;color:var(--ink)}
.tp-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.screen-reader-text,.tp-skip{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tp-skip:focus{left:12px;top:12px;width:auto;height:auto;background:#fff;padding:8px 12px;z-index:10000}

/* Utility bar */
.tp-topbar{background:var(--brand-dark);color:#fff;font-size:13px}
.tp-topbar a{color:#fff}
.tp-topbar-in{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.tp-topbar-links{display:flex;gap:18px;flex-wrap:wrap}

/* Header */
.tp-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:900}
.admin-bar .tp-header{top:32px}
.tp-header-in{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.tp-burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.tp-burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}
.tp-brand{display:flex;align-items:center;color:var(--brand);font-weight:800;font-size:24px}
.tp-brand:hover{text-decoration:none}
.tp-logo{max-height:54px;width:auto;display:block}
.tp-search{display:flex;border:2px solid var(--brand);border-radius:var(--radius);overflow:hidden;background:#fff}
.tp-search input[type=search]{flex:1;border:0;padding:12px 16px;font-size:15px;min-width:0;outline:0;background:#fff;color:var(--ink)}
.tp-search button{border:0;background:var(--brand);color:#fff;padding:0 18px;cursor:pointer;display:flex;align-items:center}
.tp-search button:hover{background:var(--brand-dark)}
.tp-actions{display:flex;align-items:center;gap:20px}
.tp-account,.tp-cart{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px;font-weight:600}
.tp-account:hover,.tp-cart:hover{text-decoration:none;color:var(--brand)}
.tp-cart-label{display:flex;flex-direction:column;line-height:1.2}
.tp-cart-count{background:var(--brand);color:#fff;border-radius:999px;font-size:12px;padding:1px 8px;align-self:flex-start}
.tp-cart-total{font-weight:700}
.tp-cart-label .tp-cart-count+ .tp-cart-total{margin-top:2px}

/* Primary navigation */
.tp-nav{background:var(--brand);color:#fff}
.tp-nav-in{display:flex;align-items:stretch;gap:8px}
.tp-catmenu{position:relative}
.tp-catbtn{height:100%;display:flex;align-items:center;gap:10px;background:var(--brand-dark);color:#fff;border:0;padding:0 20px;font-size:15px;font-weight:700;cursor:pointer;min-height:48px}
.tp-catlist{display:none;position:absolute;left:0;top:100%;min-width:260px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow);z-index:50}
.tp-catlist.tp-open{display:block}
.tp-catlist a{display:flex;justify-content:space-between;padding:10px 18px;color:var(--ink);font-size:15px}
.tp-catlist a:hover{background:var(--brand-soft);text-decoration:none}
.tp-catlist small{color:var(--muted)}
.tp-menu{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.tp-menu li{position:relative}
.tp-menu a{display:block;color:#fff;padding:14px 16px;font-size:15px;font-weight:600}
.tp-menu a:hover,.tp-menu .current-menu-item>a{background:rgba(255,255,255,.14);text-decoration:none}
.tp-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;list-style:none;margin:0;padding:6px 0;background:#fff;box-shadow:var(--shadow);z-index:50}
.tp-menu li:hover>.sub-menu{display:block}
.tp-menu .sub-menu a{color:var(--ink)}

/* Buttons */
.tp-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-element-button,.wc-block-components-button:not(.is-link),.single_add_to_cart_button{display:inline-block;background:var(--brand);color:#fff;border:2px solid var(--brand);border-radius:8px;padding:11px 20px;font-weight:700;font-size:15px;line-height:1.2;cursor:pointer;text-align:center}
.tp-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.wp-element-button:hover,.single_add_to_cart_button:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;text-decoration:none}
.tp-btn-light{background:#fff;color:var(--brand);border-color:#fff}
.tp-btn-light:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-soft)}
.tp-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.tp-btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}
.tp-btn-outline{background:#fff;color:var(--brand)}
.tp-btn-outline:hover{background:var(--brand-soft);color:var(--brand)}

/* Home */
.tp-hero{background:linear-gradient(120deg,var(--brand-dark),var(--brand));color:#fff;padding:56px 0}
.tp-hero-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center}
.tp-hero h1{color:#fff;font-size:clamp(28px,4vw,44px);margin-bottom:14px}
.tp-hero p{font-size:18px;margin:0 0 18px;opacity:.95}
.tp-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:13px!important;font-weight:700;opacity:.85!important}
.tp-hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.tp-hero-points{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tp-hero-points li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column}
.tp-hero-points span{font-size:14px;opacity:.9}
.tp-section{padding:48px 0}
.tp-section-alt{background:var(--bg)}
.tp-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}
.tp-section-head h2{font-size:26px;margin:0}
.tp-cattiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.tp-cattile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff;color:var(--ink);transition:box-shadow .15s,border-color .15s}
.tp-cattile:hover{text-decoration:none;box-shadow:var(--shadow);border-color:var(--brand)}
.tp-cattile img{width:100%;max-height:120px;object-fit:contain;margin-bottom:8px}
.tp-cattile-mark{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:24px;margin-bottom:8px}
.tp-cattile-name{font-weight:700}
.tp-cattile-count{color:var(--muted);font-size:14px}
.tp-about-band{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.tp-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tp-checks li{position:relative;padding:12px 14px 12px 40px;background:var(--brand-soft);border-radius:var(--radius);font-weight:600}
.tp-checks li::before{content:"";position:absolute;left:14px;top:50%;width:10px;height:6px;border-left:3px solid var(--brand);border-bottom:3px solid var(--brand);transform:translateY(-70%) rotate(-45deg)}

/* Pages */
.tp-page-head{background:var(--bg);border-bottom:1px solid var(--line);padding:28px 0}
.tp-page-head h1{margin:0;font-size:30px}
.tp-page{padding:32px 20px 56px}
.tp-content{max-width:880px}
.tp-content table{border-collapse:collapse;width:100%;margin:16px 0}
.tp-content th,.tp-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.tp-content th{background:var(--bg)}
.tp-content h2{margin-top:1.6em;font-size:22px}
.tp-page .woocommerce,.tp-page .wp-block-woocommerce-cart,.tp-page .wp-block-woocommerce-checkout{max-width:none}
.tp-content:has(.woocommerce),.tp-content:has(.wp-block-woocommerce-cart),.tp-content:has(.wp-block-woocommerce-checkout){max-width:none}
.tp-posts{display:grid;gap:20px}

/* WooCommerce shop */
.tp-shop{padding-top:24px;padding-bottom:56px}
.woocommerce-breadcrumb{font-size:14px;color:var(--muted);margin:0 0 16px}
.woocommerce-products-header__title,.woocommerce .product_title{font-size:28px}
.woocommerce-result-count{color:var(--muted);font-size:14px}
.woocommerce-ordering select{padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.woocommerce ul.products,ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:20px;margin:0 0 24px;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after,ul.products::before,ul.products::after{display:none!important}
.woocommerce ul.products[class*=columns-] li.product,ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s;position:relative}
ul.products li.product:hover{box-shadow:var(--shadow);border-color:var(--brand)}
ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 0 12px;background:#fff}
ul.products li.product .woocommerce-loop-product__title{font-size:15px;font-weight:600;line-height:1.35;margin:0 0 8px;padding:0;color:var(--ink)}
ul.products li.product .price{color:var(--ink);font-size:18px;font-weight:800;margin:auto 0 12px;display:block}
ul.products li.product .button{width:100%}
.woocommerce span.onsale{background:var(--brand);color:#fff;border-radius:6px;min-height:0;min-width:0;line-height:1.4;padding:4px 10px;top:12px;left:12px;right:auto}
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:1px solid var(--line);border-radius:8px;padding:8px 14px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--brand);color:#fff;border-color:var(--brand)}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%;margin:0}
.woocommerce div.product div.images{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:#fff}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:30px;font-weight:800;margin:6px 0 14px}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:stretch;margin:18px 0}
.woocommerce div.product form.cart .quantity input{height:100%;min-height:46px;width:70px;border:1px solid var(--line);border-radius:8px;text-align:center}
.woocommerce div.product .product_meta{border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--muted);display:grid;gap:4px}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted)}
.woocommerce-tabs ul.tabs{padding:0;margin:0 0 -1px;display:flex;gap:6px;list-style:none;border:0}
.woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce-tabs ul.tabs li{border:1px solid var(--line);border-radius:8px 8px 0 0;background:var(--bg);margin:0}
.woocommerce-tabs ul.tabs li.active{background:#fff;border-bottom-color:#fff}
.woocommerce-tabs ul.tabs li a{padding:10px 18px;font-weight:600;color:var(--ink)}
.woocommerce-tabs .panel{border:1px solid var(--line);border-radius:0 var(--radius) var(--radius) var(--radius);padding:20px;margin:0}
.woocommerce table.shop_attributes th{width:30%;background:var(--bg)}
.woocommerce table.shop_attributes td p{margin:0}

/* Cart / checkout / account */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;overflow:hidden}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-page select,.wc-block-components-text-input input,.wc-block-components-select select{border:1px solid #c7ced9;border-radius:8px;padding:11px 12px}
.woocommerce-message,.woocommerce-info{border-top-color:var(--brand);background:var(--brand-soft)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--brand)}
.wc-block-components-product-name{color:var(--ink)}
.wc-block-components-totals-footer-item{font-weight:800}

/* Trust strip + footer */
.tp-trust{background:var(--brand-soft);border-top:1px solid var(--line)}
.tp-trust-in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.tp-trust-in div{display:flex;flex-direction:column;gap:2px}
.tp-trust-in span{color:var(--muted);font-size:14px}
.tp-footer{background:#10151d;color:#c9d1dc;font-size:15px}
.tp-footer a{color:#e6ebf2}
.tp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.4fr;gap:32px;padding-top:48px;padding-bottom:40px}
.tp-fcol h3{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px}
.tp-fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.tp-fcol address{font-style:normal;line-height:1.8}
.tp-fbrand-name{color:#fff;font-size:22px;margin:0 0 10px}
.tp-fbrand p{margin:0 0 12px}
.tp-paybadge span{display:inline-block;border:1px solid #3b4658;border-radius:8px;padding:6px 12px;font-size:13px;color:#fff}
.tp-fbottom{border-top:1px solid #232b38}
.tp-fbottom-in{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;font-size:13px;color:#9aa6b6}

/* Responsive */
@media (max-width:1024px){
  .tp-footer-grid{grid-template-columns:1fr 1fr 1fr}
  .tp-fbrand,.tp-fcontact{grid-column:span 3}
  .tp-hero-in,.tp-about-band{grid-template-columns:1fr}
  .tp-trust-in{grid-template-columns:1fr 1fr}
}
@media (max-width:782px){
  .admin-bar .tp-header{top:46px}
  .tp-header-in{grid-template-columns:auto 1fr auto;gap:12px}
  .tp-burger{display:block}
  .tp-search{grid-column:1/-1;order:5}
  .tp-account-label,.tp-cart-total{display:none}
  .tp-nav{display:none}
  .tp-nav-open .tp-nav{display:block}
  .tp-nav-in{flex-direction:column;gap:0;padding:0}
  .tp-catbtn{width:100%;padding:14px 20px}
  .tp-catlist{position:static;box-shadow:none;border:0;border-radius:0;background:var(--brand-dark)}
  .tp-catlist a{color:#fff}.tp-catlist a:hover{background:rgba(255,255,255,.1)}.tp-catlist small{color:#d4dbe6}
  .tp-menu{flex-direction:column}
  .tp-menu a{padding:14px 20px;border-top:1px solid rgba(255,255,255,.12)}
  .tp-topbar-links{display:none}
  .tp-topbar-in{justify-content:center;text-align:center}
  .woocommerce div.product{grid-template-columns:1fr}
  .tp-hero{padding:36px 0}
  .tp-footer-grid{grid-template-columns:1fr 1fr}
  .tp-fbrand,.tp-fcontact{grid-column:span 2}
}
@media (max-width:480px){
  .tp-trust-in,.tp-footer-grid{grid-template-columns:1fr}
  .tp-fbrand,.tp-fcontact{grid-column:auto}
  .woocommerce ul.products,ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  ul.products li.product{padding:10px}
}

/* WooCommerce default-colour overrides */
body .woocommerce a.button,body .woocommerce button.button,body .woocommerce input.button,body .woocommerce #respond input#submit,
body .woocommerce a.button.alt,body .woocommerce button.button.alt,body .woocommerce input.button.alt,body .woocommerce #respond input#submit.alt,
body .woocommerce a.button.checkout-button,body .woocommerce div.product form.cart .button,body .woocommerce button.button:disabled,body .woocommerce button.button.disabled{background-color:var(--brand);border:2px solid var(--brand);color:#fff;opacity:1}
body .woocommerce a.button:hover,body .woocommerce button.button:hover,body .woocommerce input.button:hover,body .woocommerce #respond input#submit:hover,
body .woocommerce a.button.alt:hover,body .woocommerce button.button.alt:hover,body .woocommerce input.button.alt:hover,body .woocommerce a.button.checkout-button:hover{background-color:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
body .woocommerce a.added_to_cart{display:inline-block;margin-top:8px;font-weight:600}
body .woocommerce .star-rating span::before{color:var(--brand)}

/* Beat WooCommerce default colours on every page type (body itself carries .woocommerce on shop pages) */
html body a.button.button.button,html body button.button.button.button,html body input.button.button.button,html body #respond input#submit.button.button,
html body a.button.button.alt,html body button.button.button.alt,html body input.button.button.alt,html body .single_add_to_cart_button.button.button.alt{background-color:var(--brand);border-color:var(--brand);color:#fff;opacity:1}
html body a.button.button.button:hover,html body button.button.button.button:hover,html body input.button.button.button:hover,
html body a.button.button.alt:hover,html body button.button.button.alt:hover,html body input.button.button.alt:hover,html body .single_add_to_cart_button.button.button.alt:hover{background-color:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
