/*
Theme Name: Trust Bliss
Theme URI: https://trustbliss.com/
Author: Trust Bliss
Author URI: https://trustbliss.com/
Description: Trust Bliss — a clean, lightweight, custom theme for the Snackle Box brand. Hand-built (no page builders, no Elementor), it preserves the original Playfair + Manrope design system, animations, responsiveness, SEO and JSON-LD schema, with a single consistent "Buy on Amazon" purchase model. Supports custom logo, menus, featured images, widgets, and a fully dynamic blog and pages.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: trust-bliss
Tags: custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, blog, e-commerce
*/

/* =========================================================================
   0. Design tokens
   ========================================================================= */
:root{
  --tb-navy:#0D1B3E;
  --tb-gold:#C9A84C;
  --tb-gold-ink:#B08D3A;   /* accessible gold for small text on cream */
  --tb-cream:#F5F0E8;
  --tb-ink:#3a4256;        /* body copy */
  --tb-amz:#131921;
  --tb-amz-hover:#232F3E;
  --tb-amz-accent:#FF9900;
  --tb-maxw:1240px;
  --tb-font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --tb-font-text:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

/* =========================================================================
   1. Base
   ========================================================================= */
body{
  margin:0;
  font-family:var(--tb-font-text);
  background:var(--tb-cream);
  color:var(--tb-navy);
  overflow-x:hidden;
}
img{max-width:100%;height:auto;}
a{color:var(--tb-gold-ink);}
.tb-skip-link{position:absolute;left:-9999px;top:0;background:var(--tb-navy);color:var(--tb-cream);padding:10px 16px;border-radius:0 0 8px 0;z-index:200;}
.tb-skip-link:focus{left:0;}

/* Scroll reveal — progressive enhancement. theme.js adds .tb-reveal-init only
   to below-the-fold elements (so above-fold content never flashes), then adds
   .tb-shown when they scroll into view. With JS off/failed, nothing is hidden. */
[data-reveal].tb-reveal-init{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
[data-reveal].tb-shown{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  [data-reveal].tb-reveal-init{transition-duration:.01ms;transform:none;}
}

/* =========================================================================
   2. Header / navigation  (mirrors original Nav design, WP-driven)
   ========================================================================= */
.tb-announce{
  background:var(--tb-navy);color:var(--tb-gold);text-align:center;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:9px 16px;font-weight:600;
}
.tb-header{
  position:sticky;top:0;z-index:50;
  background:rgba(245,240,232,0.92);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(13,27,62,0.10);
}
.tb-header__bar{
  max-width:var(--tb-maxw);margin:0 auto;padding:0 28px;height:92px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.tb-logo{display:flex;align-items:center;flex:0 0 auto;}
.tb-logo img,.tb-logo .custom-logo{height:58px;width:auto;display:block;}
.tb-logo .custom-logo-link{display:flex;align-items:center;}

.tb-nav{flex:1 1 auto;display:flex;justify-content:center;}
.tb-nav ul{list-style:none;display:flex;align-items:center;gap:34px;margin:0;padding:0;}
.tb-nav li{margin:0;}
.tb-nav a{
  font-family:var(--tb-font-text);text-decoration:none;font-size:14px;font-weight:500;
  letter-spacing:.02em;color:var(--tb-navy);padding:6px 0;display:block;
  border-bottom:1.5px solid transparent;transition:border-color .2s;
}
.tb-nav a:hover{border-bottom-color:rgba(201,168,76,.5);}
.tb-nav .current-menu-item>a,
.tb-nav .current_page_item>a,
.tb-nav .current-menu-ancestor>a,
.tb-nav .current-menu-parent>a{font-weight:700;border-bottom-color:var(--tb-gold);}
/* sub-menus kept simple + on-brand */
.tb-nav ul ul{display:none;position:absolute;background:var(--tb-cream);
  border:1px solid rgba(13,27,62,.1);border-radius:12px;padding:10px 14px;flex-direction:column;
  gap:6px;box-shadow:0 18px 40px rgba(13,27,62,.14);min-width:180px;z-index:60;}
.tb-nav li:hover>ul{display:flex;}

.tb-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.tb-amz-btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--tb-amz);color:#fff;
  text-decoration:none;padding:12px 22px;border-radius:30px;font-weight:700;font-size:13px;
  letter-spacing:.02em;transition:background .2s,transform .2s,box-shadow .2s;
}
.tb-amz-btn:hover{background:var(--tb-amz-hover);transform:translateY(-2px);box-shadow:0 12px 26px rgba(19,25,33,.3);}
.tb-amz-btn svg{stroke:var(--tb-amz-accent);}

.tb-burger{display:none;background:none;border:none;cursor:pointer;align-items:center;justify-content:center;width:46px;height:46px;}

/* mobile menu panel */
.tb-mobile-menu{display:none;flex-direction:column;padding:8px 28px 22px;background:var(--tb-cream);border-top:1px solid rgba(13,27,62,.08);}
.tb-mobile-menu.is-open{display:flex;}
.tb-mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.tb-mobile-menu a{padding:12px 4px;color:var(--tb-navy);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(13,27,62,.08);display:block;}
.tb-mobile-menu .tb-amz-btn{margin-top:14px;justify-content:center;padding:15px;font-size:14px;border-bottom:none;}

@media(max-width:880px){
  .tb-nav{display:none;}
  .tb-actions .tb-amz-btn{display:none;}
  .tb-burger{display:flex;}
}

/* =========================================================================
   3. Footer  (mirrors original Footer design; widget-ready)
   ========================================================================= */
.tb-footer{font-family:var(--tb-font-text);background:var(--tb-navy);color:var(--tb-cream);}
.tb-footer a{color:rgba(245,240,232,.75);text-decoration:none;}
.tb-footer a:hover{color:var(--tb-gold);}
.tb-footer__news{border-bottom:1px solid rgba(201,168,76,.22);}
.tb-footer__news-in{max-width:var(--tb-maxw);margin:0 auto;padding:54px 28px;display:flex;flex-wrap:wrap;gap:36px;align-items:center;justify-content:space-between;}
.tb-footer input::placeholder{color:rgba(245,240,232,.62);}
.tb-footer input:focus-visible,.tb-footer button:focus-visible,.tb-footer a:focus-visible{outline:2px solid var(--tb-gold);outline-offset:2px;border-radius:4px;}
.tb-footer__news-copy{max-width:440px;}
.tb-foot-kicker{color:var(--tb-gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-weight:600;}
.tb-foot-news-h{font-family:var(--tb-font-display);font-size:30px;line-height:1.15;margin:0;font-weight:600;color:var(--tb-cream);}
.tb-foot-news-sub{color:rgba(245,240,232,.7);font-size:14px;margin:12px 0 0;}
.tb-news-form{display:flex;gap:10px;flex:1 1 320px;max-width:480px;min-width:280px;}
.tb-news-form.is-done{align-items:center;justify-content:center;color:var(--tb-gold);font-weight:700;letter-spacing:.06em;}
.tb-news-form input{flex:1;background:rgba(245,240,232,.06);border:1px solid rgba(201,168,76,.35);color:var(--tb-cream);padding:15px 18px;border-radius:30px;font-size:14px;font-family:inherit;outline:none;}
.tb-news-form button{background:var(--tb-gold);color:var(--tb-navy);border:none;padding:0 26px;border-radius:30px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;}
.tb-footer__cols{max-width:var(--tb-maxw);margin:0 auto;padding:54px 28px 30px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.tb-footer__cols h2,.tb-footer__cols .tb-foot-h{color:var(--tb-gold);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-weight:600;}
.tb-foot-brand img{height:30px;width:auto;display:block;margin-bottom:18px;}
.tb-foot-brand p{color:rgba(245,240,232,.62);font-size:13.5px;line-height:1.7;max-width:280px;margin:0;}
.tb-foot-social{display:flex;gap:12px;margin-top:22px;}
.tb-foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(201,168,76,.4);display:flex;align-items:center;justify-content:center;color:var(--tb-gold);}
.tb-footer__cols a:not(.tb-foot-social a){display:block;font-size:14px;margin-bottom:11px;}
.tb-footer__widgets .widget{margin:0 0 11px;}
.tb-footer__widgets ul{list-style:none;margin:0;padding:0;}
.tb-footer__widgets li{margin-bottom:11px;}
.tb-footer__bottom{border-top:1px solid rgba(201,168,76,.18);}
.tb-footer__bottom-in{max-width:var(--tb-maxw);margin:0 auto;padding:20px 28px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;}
.tb-footer__bottom p{color:rgba(245,240,232,.5);font-size:12.5px;margin:0;}
.tb-footer__bottom a{color:rgba(245,240,232,.5);font-size:12.5px;}
.tb-footer__legal{display:flex;gap:18px;}
@media(max-width:860px){.tb-footer__cols{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:520px){.tb-footer__cols{grid-template-columns:1fr;}}

/* =========================================================================
   4. Branded content shell (page.php / single.php / archive / search / 404)
   ========================================================================= */
.tb-shell{max-width:var(--tb-maxw);margin:0 auto;padding:0 28px;}
.tb-page-head{max-width:var(--tb-maxw);margin:0 auto;padding:84px 28px 26px;text-align:center;}
.tb-eyebrow{color:var(--tb-gold-ink);font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;margin:0 0 16px;}
.tb-page-head h1{font-family:var(--tb-font-display);font-weight:600;font-size:54px;line-height:1.05;letter-spacing:-.02em;margin:0;}
.tb-page-head .tb-sub{font-size:18px;line-height:1.7;color:var(--tb-ink);max-width:620px;margin:22px auto 0;}
@media(max-width:640px){.tb-page-head h1{font-size:38px;}}

.tb-article{max-width:760px;margin:0 auto;padding:40px 28px 80px;}
.tb-article__media{max-width:1080px;margin:34px auto 0;padding:0 28px;}
.tb-article__media img{width:100%;border-radius:20px;display:block;box-shadow:0 20px 50px rgba(13,27,62,.12);}
.tb-meta{color:var(--tb-gold-ink);font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;margin:0 0 8px;}

/* prose typography for the_content */
.tb-prose{font-size:17px;line-height:1.8;color:var(--tb-ink);}
.tb-prose > *{margin:0 0 1.25em;}
.tb-prose h1,.tb-prose h2,.tb-prose h3,.tb-prose h4{font-family:var(--tb-font-display);color:var(--tb-navy);line-height:1.2;margin:1.6em 0 .6em;font-weight:600;}
.tb-prose h2{font-size:30px;}
.tb-prose h3{font-size:24px;}
.tb-prose h4{font-size:20px;}
.tb-prose a{color:var(--tb-gold-ink);text-decoration:underline;text-underline-offset:2px;}
.tb-prose a:hover{color:var(--tb-navy);}
.tb-prose img{border-radius:14px;}
.tb-prose blockquote{margin:1.6em 0;padding:8px 0 8px 24px;border-left:3px solid var(--tb-gold);font-family:var(--tb-font-display);font-style:italic;font-size:21px;color:var(--tb-navy);}
.tb-prose code{background:rgba(13,27,62,.06);padding:.15em .4em;border-radius:5px;font-size:.9em;}
.tb-prose pre{background:var(--tb-navy);color:var(--tb-cream);padding:18px 20px;border-radius:12px;overflow:auto;}
.tb-prose pre code{background:none;padding:0;}
.tb-prose ul,.tb-prose ol{padding-left:1.3em;}
.tb-prose li{margin:.4em 0;}
.tb-prose hr{border:none;border-top:1px solid rgba(13,27,62,.12);margin:2.4em 0;}
.tb-prose table{border-collapse:collapse;width:100%;}
.tb-prose th,.tb-prose td{border:1px solid rgba(13,27,62,.12);padding:10px 12px;text-align:left;}

/* WordPress core / alignment / caption / gallery */
.alignleft{float:left;margin:.4em 1.4em 1em 0;}
.alignright{float:right;margin:.4em 0 1em 1.4em;}
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.alignwide{max-width:1080px;margin-left:calc(50% - 540px);}
.alignfull{max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.wp-caption{max-width:100%;}
.wp-caption-text,.wp-element-caption{font-size:13px;color:var(--tb-gold-ink);text-align:center;margin-top:8px;}
.sticky-badge,.bypostauthor{display:block;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;}
.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;background:var(--tb-cream);padding:12px;border-radius:8px;z-index:200;}

/* =========================================================================
   5. Blog grid (shared by archive / search / blog index)
   ========================================================================= */
.tb-grid-wrap{max-width:var(--tb-maxw);margin:0 auto;padding:20px 28px 84px;}
.tb-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 44px;}
.tb-cats a,.tb-cats button{
  background:transparent;color:var(--tb-navy);border:1px solid rgba(13,27,62,.22);
  padding:9px 18px;border-radius:24px;font-size:13px;font-weight:600;cursor:pointer;
  font-family:inherit;text-decoration:none;transition:background .2s,color .2s,border-color .2s;
}
.tb-cats a:hover{border-color:var(--tb-navy);}
.tb-cats a.is-active,.tb-cats button.is-active{background:var(--tb-navy);color:var(--tb-cream);border-color:var(--tb-navy);}
.tb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
@media(max-width:900px){.tb-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.tb-grid{grid-template-columns:1fr;}}
.tb-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(13,27,62,.07);
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;}
.tb-card:hover{transform:translateY(-7px);box-shadow:0 26px 50px rgba(13,27,62,.15);}
.tb-card__media{aspect-ratio:3/2;overflow:hidden;background:#eee;}
.tb-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.tb-card:hover .tb-card__media img{transform:scale(1.06);}
.tb-card__body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1;}
.tb-card__cat{color:var(--tb-gold-ink);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;}
.tb-card__title{font-family:var(--tb-font-display);font-size:21px;line-height:1.25;margin:0;color:var(--tb-navy);font-weight:600;}
.tb-card__excerpt{font-size:14px;line-height:1.65;color:var(--tb-ink);margin:0;}
.tb-card__meta{font-size:12.5px;color:var(--tb-gold-ink);margin-top:auto;padding-top:6px;}

/* pagination */
.tb-pagination{display:flex;justify-content:center;gap:8px;margin-top:54px;flex-wrap:wrap;}
.tb-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;padding:0 12px;border-radius:24px;border:1px solid rgba(13,27,62,.18);color:var(--tb-navy);text-decoration:none;font-weight:600;font-size:14px;}
.tb-pagination .page-numbers.current{background:var(--tb-navy);color:var(--tb-cream);border-color:var(--tb-navy);}
.tb-pagination .page-numbers:hover:not(.current){border-color:var(--tb-navy);}

/* =========================================================================
   6. Comments
   ========================================================================= */
.tb-comments{max-width:760px;margin:0 auto;padding:10px 28px 80px;}
.tb-comments h2{font-family:var(--tb-font-display);font-size:26px;color:var(--tb-navy);}
.tb-comments ol{list-style:none;padding:0;margin:0;}
.tb-comments .comment-body{background:#fff;border-radius:14px;padding:20px 22px;margin:0 0 16px;box-shadow:0 8px 24px rgba(13,27,62,.05);}
.tb-comments .children{list-style:none;margin:0 0 0 28px;padding:0;}
.tb-comments .comment-author .fn{font-weight:700;color:var(--tb-navy);font-style:normal;}
.tb-comments .comment-meta{font-size:12.5px;color:var(--tb-gold-ink);}
.tb-comments .comment-respond{background:#fff;border-radius:16px;padding:26px;box-shadow:0 10px 30px rgba(13,27,62,.06);}
.tb-comments input[type=text],.tb-comments input[type=email],.tb-comments input[type=url],.tb-comments textarea{
  width:100%;background:var(--tb-cream);border:1px solid rgba(13,27,62,.14);border-radius:12px;padding:13px 15px;font-size:14px;font-family:inherit;color:var(--tb-navy);margin-top:6px;}
.tb-comments .submit,.tb-btn{background:var(--tb-navy);color:var(--tb-cream);border:none;padding:14px 30px;border-radius:30px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;}
.tb-comments .submit:hover,.tb-btn:hover{background:#16264f;}

/* =========================================================================
   7. Sidebar widgets (generic)
   ========================================================================= */
.tb-sidebar .widget{background:#fff;border-radius:16px;padding:24px;margin:0 0 24px;box-shadow:0 10px 30px rgba(13,27,62,.05);}
.tb-sidebar .widget-title{font-family:var(--tb-font-display);font-size:20px;color:var(--tb-navy);margin:0 0 14px;}
.tb-sidebar ul{list-style:none;margin:0;padding:0;}
.tb-sidebar li{margin:0 0 10px;}
.tb-sidebar a{color:var(--tb-navy);text-decoration:none;}
.tb-sidebar a:hover{color:var(--tb-gold-ink);}

/* =========================================================================
   8. Utilities
   ========================================================================= */
.tb-center{text-align:center;}
.tb-empty{max-width:620px;margin:0 auto;padding:60px 28px 90px;text-align:center;}
.tb-search-form{display:flex;gap:10px;max-width:460px;margin:22px auto 0;}
.tb-search-form input[type=search]{flex:1;background:#fff;border:1px solid rgba(13,27,62,.16);border-radius:30px;padding:14px 18px;font-size:14px;font-family:inherit;color:var(--tb-navy);outline:none;}
.tb-search-form button{background:var(--tb-navy);color:var(--tb-cream);border:none;padding:0 24px;border-radius:30px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;}

@media print{
  .tb-header,.tb-footer,.tb-announce,.tb-mobile-menu{display:none !important;}
}

/* =========================================================================
   9. FAQ category filter pills + interactive helpers (used by theme.js)
   ========================================================================= */
.tb-faqcat{
  background:transparent;color:var(--tb-navy);border:1px solid rgba(13,27,62,.22);
  padding:9px 18px;border-radius:24px;font-size:13px;font-weight:600;cursor:pointer;
  font-family:inherit;transition:background .2s,color .2s,border-color .2s;
}
.tb-faqcat:hover{border-color:var(--tb-navy);}
.tb-faqcat.is-active{background:var(--tb-navy);color:var(--tb-cream);border-color:var(--tb-navy);}

/* Single-post extras */
.tb-tags{margin-top:34px;display:flex;flex-wrap:wrap;gap:8px;}
.tb-tags a{display:inline-block;background:rgba(13,27,62,.06);color:var(--tb-navy);text-decoration:none;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:20px;}
.tb-tags a:hover{background:rgba(201,168,76,.18);color:var(--tb-gold-ink);}
.tb-post-nav{display:flex;justify-content:space-between;gap:18px;margin-top:46px;padding-top:26px;border-top:1px solid rgba(13,27,62,.12);}
.tb-post-nav a{color:var(--tb-navy);text-decoration:none;font-weight:600;font-size:14.5px;}
.tb-post-nav a:hover{color:var(--tb-gold-ink);}
.tb-post-nav__next{text-align:right;margin-left:auto;}
.tb-page-links{margin-top:24px;font-weight:600;}
.tb-page-links a{display:inline-block;min-width:34px;text-align:center;padding:4px 8px;border:1px solid rgba(13,27,62,.18);border-radius:8px;margin:0 3px;text-decoration:none;color:var(--tb-navy);}
.tb-comments__closed{color:var(--tb-gold-ink);font-size:14px;margin:18px 0;}
.tb-comments__title{font-family:var(--tb-font-display);font-size:24px;color:var(--tb-navy);margin:30px 0 18px;}

/* =========================================================================
   10. WooCommerce (External / Affiliate products only — no cart UI)
   ========================================================================= */
.tb-wc__inner{padding-top:40px;}
.woocommerce .woocommerce-products-header__title,
.woocommerce-page .page-title{font-family:var(--tb-font-display);font-weight:600;color:var(--tb-navy);font-size:42px;line-height:1.1;text-align:center;margin:0 0 10px;}
.woocommerce .term-description,.woocommerce-products-header{text-align:center;max-width:620px;margin-left:auto;margin-right:auto;color:var(--tb-ink);}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb{font-size:12.5px;color:var(--tb-gold-ink);margin-bottom:26px;text-align:center;}
.woocommerce .woocommerce-breadcrumb a{color:var(--tb-gold-ink);text-decoration:none;}

/* Result count + ordering */
.woocommerce .woocommerce-result-count{color:var(--tb-ink);font-size:13.5px;}
.woocommerce .woocommerce-ordering select{font-family:inherit;border:1px solid rgba(13,27,62,.16);border-radius:24px;padding:9px 16px;color:var(--tb-navy);background:#fff;}

/* Product grid → matches the Journal card aesthetic */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:24px 0 0;padding:0;list-style:none;}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr;}}
.woocommerce ul.products li.product{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(13,27,62,.07);margin:0;padding:0 0 24px;text-align:center;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;width:auto;float:none;}
.woocommerce ul.products li.product:hover{transform:translateY(-7px);box-shadow:0 26px 50px rgba(13,27,62,.15);}
.woocommerce ul.products li.product a img{margin:0 0 16px;border-radius:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--tb-font-display);font-size:20px;color:var(--tb-navy);font-weight:600;padding:0 20px;}
.woocommerce ul.products li.product .price{color:var(--tb-navy);font-weight:700;font-size:17px;}
.woocommerce ul.products li.product .price del{color:#9aa0ad;font-weight:400;}
.woocommerce ul.products li.product .price ins{color:var(--tb-gold-ink);text-decoration:none;}
.woocommerce span.onsale{background:var(--tb-gold);color:var(--tb-navy);border-radius:20px;font-weight:800;min-height:auto;min-width:auto;padding:5px 12px;line-height:1;top:14px;left:14px;}
.woocommerce ul.products li.product .star-rating{margin:8px auto;color:var(--tb-gold);}

/* Buttons — generic brand pill; external "Buy" buttons keep .tb-amz-btn styling */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--tb-navy);color:var(--tb-cream);border:none;border-radius:30px;
  padding:12px 24px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  font-family:var(--tb-font-text);transition:background .2s,transform .2s,box-shadow .2s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover{background:#16264f;transform:translateY(-2px);}
/* External buy buttons (have .tb-amz-btn) override to the Amazon dark style via hovers.css */
.woocommerce a.button.tb-amz-btn,.woocommerce a.button.alt.tb-amz-btn{background:var(--tb-amz);color:#fff;display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.02em;}
.woocommerce a.button.tb-amz-btn svg{stroke:var(--tb-amz-accent);}
.woocommerce ul.products li.product .tb-amz-btn{margin-top:6px;}

/* Single product layout */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media(max-width:860px){.woocommerce div.product{grid-template-columns:1fr;gap:30px;}}
.woocommerce div.product .product_title{font-family:var(--tb-font-display);font-weight:600;font-size:38px;line-height:1.1;color:var(--tb-navy);margin:0 0 14px;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--tb-navy);font-family:var(--tb-font-display);font-size:30px;font-weight:600;}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:14px;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--tb-ink);line-height:1.7;}
.woocommerce div.product form.cart,.woocommerce div.product .tb-wc-buy{margin:24px 0;}
.woocommerce-tabs{grid-column:1 / -1;margin-top:30px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tb-navy);font-weight:700;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:rgba(13,27,62,.12);}
.woocommerce #reviews h2,.woocommerce .upsells h2,.woocommerce .related h2{font-family:var(--tb-font-display);color:var(--tb-navy);}

/* WooCommerce pagination → brand pills */
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:8px;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:none;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid rgba(13,27,62,.18);border-radius:24px;min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;color:var(--tb-navy);padding:0 12px;}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--tb-navy);color:var(--tb-cream);border-color:var(--tb-navy);}

/* Defensive: hide any stray cart UI */
.woocommerce .added_to_cart,
.woocommerce-cart-form,
.woocommerce .cart-collaterals,
li.woocommerce-mini-cart-item,
.widget_shopping_cart{display:none !important;}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--tb-gold);border-radius:10px;}
.woocommerce-message a.button,.woocommerce-info a.button{display:none;}
