/* ============================================
   IV DESIGN SYSTEM Premium Medical-Tech E-Shop
   WooCommerce Compatible | Production Ready
   ============================================ */

:root {
  --iv-bg-light: #F7FAFF;
  --iv-bg-lighter: #F3F7FF;
  --iv-bg-lightest: #EEF4FF;
  --iv-text-dark: #101936;
  --iv-text-darker: #111B38;
  --iv-text-body: #445270;
  --iv-text-muted: #65708A;
  --iv-primary: #315FD6;
  --iv-cta: #2454D8;
  --iv-border: rgba(72, 96, 156, 0.14);
  --iv-glass-bg: rgba(255, 255, 255, 0.78);
  --iv-font-heading: 'DM Serif Display', Georgia, serif;
  --iv-font-body: 'Inter', sans-serif;
}

body.woocommerce {
  font-family: var(--iv-font-body) !important;
  color: var(--iv-text-body) !important;
  background-color: var(--iv-bg-light) !important;
}

/* Base resets inside iv-container to override Astra */
.iv-container * {
  box-sizing: border-box;
}

h1, h2, h3, .iv-shop-hero__title, .iv-featured-product__title {
  font-family: var(--iv-font-heading) !important;
  color: var(--iv-text-dark) !important;
}

/* Glassmorphism */
.iv-glass {
  background: var(--iv-glass-bg) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 8px 32px rgba(16, 25, 54, 0.04) !important;
  border-radius: 18px !important;
}

/* Container */
.iv-container {
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  width: 100% !important;
}

/* ---------------------------------
   HERO SECTION
----------------------------------- */
.iv-shop-hero {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
  padding: 60px !important;
  border-radius: 24px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.iv-shop-hero__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.iv-shop-hero__label {
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: var(--iv-primary) !important;
  text-transform: uppercase !important;
}

.iv-shop-hero__title {
  font-size: 64px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

.iv-shop-hero__subtitle {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--iv-text-muted) !important;
}

.iv-shop-hero__actions {
  display: flex !important;
  gap: 16px !important;
  margin-top: 16px !important;
}

.iv-shop-hero__image {
  text-align: center !important;
}

.iv-shop-hero__image img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* ---------------------------------
   BUTTONS
----------------------------------- */
.iv-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
}

.iv-btn--primary {
  background-color: var(--iv-cta) !important;
  color: #ffffff !important;
}

.iv-btn--primary:hover {
  background-color: #123B8E !important;
  box-shadow: 0 4px 12px rgba(36, 84, 216, 0.3) !important;
}

.iv-btn--ghost {
  background-color: transparent !important;
  color: var(--iv-cta) !important;
  border-color: var(--iv-cta) !important;
}

.iv-btn--ghost:hover {
  background-color: rgba(36, 84, 216, 0.05) !important;
}

/* ---------------------------------
   PILLS
----------------------------------- */
.iv-pills-row {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 40px !important;
}

.iv-pill {
  padding: 10px 20px !important;
  border-radius: 40px !important;
  background: var(--iv-glass-bg) !important;
  color: var(--iv-text-body) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border: 1px solid var(--iv-border) !important;
  transition: all 0.2s ease !important;
}

.iv-pill:hover {
  border-color: var(--iv-primary) !important;
  color: var(--iv-primary) !important;
}

.iv-pill--active {
  background: var(--iv-primary) !important;
  color: #fff !important;
  border-color: var(--iv-primary) !important;
}

/* ---------------------------------
   TOOLBAR
----------------------------------- */
.iv-toolbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid var(--iv-border) !important;
}

/* ---------------------------------
   SIDEBAR
----------------------------------- */
.iv-sidebar {
  padding: 32px !important;
}

.iv-sidebar__title {
  font-size: 20px !important;
  margin-bottom: 24px !important;
}

/* ---------------------------------
   FEATURED PRODUCT
----------------------------------- */
.iv-featured-product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 40px !important;
  align-items: center !important;
  padding: 40px !important;
  margin-bottom: 40px !important;
}

.iv-featured-product__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.iv-featured-product__badge {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--iv-primary) !important;
  background: rgba(49, 95, 214, 0.1) !important;
  padding: 4px 12px !important;
  border-radius: 12px !important;
  align-self: flex-start !important;
}

.iv-featured-product__title {
  font-size: 32px !important;
  margin: 0 !important;
}

/* ---------------------------------
   PRODUCT GRID
----------------------------------- */
.iv-product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.iv-product-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.iv-product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(16, 25, 54, 0.1) !important;
}

.iv-product-card__image {
  text-align: center !important;
  padding: 24px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--iv-border) !important;
}

.iv-product-card__image img {
  max-width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
}

/* Hide Astra stuff */
.iv-product-card .button, .iv-product-card .add_to_cart_button {
  display: none !important;
}

/* ---------------------------------
   MEDIA QUERIES
----------------------------------- */
@media (max-width: 1024px) {
  .iv-shop-hero, .iv-featured-product {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  .iv-shop-hero__actions, .iv-featured-product__badge {
    justify-content: center !important;
    align-self: center !important;
  }
  .iv-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .iv-product-grid {
    grid-template-columns: 1fr !important;
  }
}
