:root {
  --color-primary: #1A73E8;
  --color-primary-dark: #185ABC;
  --color-accent: #34A853;

  --color-bg: #F5F7FA;
  --color-bg-soft: #ffffff;
  --color-border: #e1e4e8;

  --color-text: #1F1F1F;
  --color-text-light: #444;

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;

  --transition: .25s ease;
}


/* ================================
   GLOBAL BASE STYLES
================================ */

body {
  background: var(--color-bg);
  font-family: 'Inter', sans-serif;
  color: var(--color-text);
  margin: 0;
  line-height: 1.5;
}

h1, .h1 { font-size: 36px; font-weight: 700; }
h2, .h2 { font-size: 28px; font-weight: 700; }
h3, .h3 { font-size: 22px; font-weight: 600; }
h4, .h4 { font-size: 18px; font-weight: 600; }


/* ================================
   HEADER
================================ */

.header, .header__inline-menu {
  background: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}

.header__menu-item {
  color: var(--color-text);
  padding: 12px 18px;
  transition: color var(--transition);
}

.header__menu-item:hover {
  color: var(--color-primary);
}

.header__icon {
  color: var(--color-primary);
}


/* ================================
   HEADER MEGA MENU
================================ */

.mega-menu {
  background: var(--color-bg-soft);
  border-radius: var(--radius-lg);
  padding: 25px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}


/* ================================
   ANNOUNCEMENT BAR
================================ */

.announcement-bar {
  background: var(--color-primary);
  color: #fff;
  padding: 8px 14px;
  text-align: center;
  font-size: 14px;
}


/* ================================
   BUTTONS
================================ */

/* Primary Button */
.button,
.shopify-payment-button__button--unbranded {
  background: var(--color-primary);
  color: #fff;
  padding: 12px 20px;
  border-radius: var(--radius-md);
  border: none;
  font-weight: 600;
  transition: background var(--transition), box-shadow var(--transition);
}

.button:hover {
  background: var(--color-primary-dark);
  box-shadow: 0 3px 10px rgba(26,115,232,0.25);
}

/* Secondary Outline */
.button--secondary {
  background: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

.button--secondary:hover {
  background: var(--color-primary);
  color: #fff;
}

/* Text Button */
.button--text {
  color: var(--color-primary);
}

.button--text:hover {
  text-decoration: underline;
}


/* ================================
   FORMS + INPUTS
================================ */

input, select, textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  background: var(--color-bg-soft);
  transition: border var(--transition), box-shadow var(--transition);
}

input:focus, select:focus, textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(26,115,232,0.2);
  outline: none;
}

label {
  color: var(--color-text-light);
  font-size: 14px;
  margin-bottom: 6px;
}


/* ================================
   PRODUCT CARD GRID
================================ */

.card {
  background: #fff;
  border: 1px solid #e6e8eb;
  border-radius: var(--radius-lg);
  transition: transform var(--transition), box-shadow var(--transition);
}

.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}

.card__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.card__heading a {
  color: var(--color-text) !important;
  font-weight: 600;
}

.price-item {
  color: var(--color-primary-dark);
  font-weight: 600;
}


/* ================================
   PRODUCT PAGE
================================ */

.product__title {
  font-size: 32px;
  font-weight: 700;
}

.product__description {
  color: var(--color-text-light);
}

.product__media-item {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.badge {
  background: var(--color-accent);
  color: #fff;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  text-transform: uppercase;
}


/* ================================
   COLLECTION FILTERS
================================ */

.facets-container {
  background: var(--color-bg-soft);
  border: 1px solid var(--color-border);
  padding: 15px;
  border-radius: var(--radius-md);
}

.active-facet {
  background: var(--color-primary);
  color: white;
  border-radius: var(--radius-sm);
  padding: 6px 10px;
}


/* ================================
   CART DRAWER
================================ */

.cart-drawer,
.cart__items {
  background: var(--color-bg);
}

.cart-item__name {
  color: var(--color-text);
}

.cart__footer {
  background: #fff;
  border-top: 1px solid var(--color-border);
}


/* ================================
   FOOTER
================================ */

.footer {
  background: #fff;
  border-top: 1px solid var(--color-border);
  color: var(--color-text);
}

.footer a {
  color: var(--color-primary);
}

.footer a:hover {
  color: var(--color-primary-dark);
}


/* ================================
   UTILITIES
================================ */

.text-center { text-align: center; }
.mt-20 { margin-top: 20px; }
.mb-20 { margin-bottom: 20px; }

.hidden { display: none !important; }

.shadow-soft { box-shadow: 0 3px 12px rgba(0,0,0,0.05); }

.rounded { border-radius: var(--radius-md); }


/* ================================
   ANIMATIONS
================================ */

.fade-in {
  opacity: 0;
  animation: fadeIn .6s ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}