/* Global Reset & Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  height: 100%;
}

/* Design tokens (global) */
:root{
  --color-primary: #43BDAB;
  --color-accent: #ffa300;
  --color-text: #111827;
  --color-muted: #6b7280;
  --bg: #ffffff;
  --card-bg: #f8fafb;
  --surface-border: #eeeeee;
  --btn-bg: #111111;
  --radius-md: 10px;
  --shadow-sm: 0 1px 4px rgba(0,0,0,0.05);
}

/* Backwards-compatible aliases used in older CSS files */
:root{
  --teal: var(--color-primary);
  --black: #000000;
  --muted: var(--color-muted);
  --shadow: var(--shadow-sm);
}

body {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #FFFFFF;
  color: #000000;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

/* Remove blue/orange tap highlight on mobile across the whole site.
   This only affects the touch highlight on WebKit-based browsers. */
* {
  -webkit-tap-highlight-color: transparent;
}

main {
  flex: 1;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Minimal utility helpers */
.hidden { display: none !important; }
.flex { display: flex !important; }
.text-gray-400 { color: #9CA3AF !important; }
.border-black { border-bottom-color: #000000 !important; }

/* Title accent used across section headings
   - default: full accent color on wrapped words
   - special case: .bestsellers-title uses half gradient fill for a 'half-word' effect */
.title-accent { 
  color: var(--color-primary);
  display: inline-block;
}

.bestsellers-title .title-accent {
  /* use solid accent color for the 'Sellers' part */
  color: var(--color-primary);
}

/* Ensure span respects uppercase/letter-spacing when used inside uppercase titles */
.categories-title .title-accent,
.new-arrivals-title .title-accent,
.bestsellers-title .title-accent { text-transform: inherit; }

/* Keep these section headings fully black (no green accent) */
.new-arrivals-title .title-accent,
.bestsellers-title .title-accent {
  color: var(--black);
}

/* ========================================
   VAT label (global fallback)
   Adds a small, subtle "VAT inc." label next to visible price elements.
   Purely presentational — no JS or pricing logic changes.
   ======================================== */
.product-price::after,
.price-now::after,
.new-product-price::after,
.price-display-container .price-now::after,
.cart-item-price::after,
#summaryTotal::after {
  content: "VAT inc.";
  display: inline-block;
  margin-left: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  vertical-align: middle;
  opacity: 0.9;
}

