/* Base Styles */
:root {
  /* Brand Kit Colors */
  --ia-primary:#F6F3EB;      /* Ivory Mist - Main Background */
  --ia-secondary:#0C3B2E;    /* Obsidian - Text Color */
  --ia-accent:#BFA15A;       /* Antique Gold - Accent */
  --ia-neutral:#EAE3D9;      /* Warm Beige - Secondary Background */
  --ia-soft:#FFFFFF;         /* Soft White - Card Backgrounds */
  --ia-earth:#A67C52;        /* Earth Tint - Alternative */

  /* Button Colors - Standardized */
  --btn-primary-bg:#8b7355;
  --btn-primary-hover:#6d5a42;
  --btn-primary-text:#FFFFFF;
  --btn-secondary-bg:transparent;
  --btn-secondary-border:#8b7355;
  --btn-secondary-text:#8b7355;
  --btn-secondary-hover-bg:#8b7355;
  --btn-secondary-hover-text:#FFFFFF;

  /* Typography */
  --font-heading:'Cormorant Garamond',serif;
  --font-body:'Lora',serif;
  --font-ui:'Montserrat',sans-serif;
  --font-size-hero:3.5rem;
  --font-size-h1:2.5rem;
  --font-size-h2:2rem;
  --font-size-h3:1.5rem;
  --font-size-body:1rem;
  --font-size-small:0.9rem;

  /* Spacing */
  --spacing-xs:.5rem;
  --spacing-sm:1rem;
  --spacing-md:2rem;
  --spacing-lg:3rem;
  --spacing-xl:4rem;
  --spacing-xxl:6rem;

  /* Layout */
  --border-radius:16px;
  --border-radius-small:8px;
  --border-radius-large:20px;
  --container-max-width:1200px;
  --section-padding:100px;
  --section-padding-mobile:60px;

  /* Shadows */
  --shadow-light:0 8px 32px rgba(0,0,0,.08);
  --shadow-medium:0 16px 48px rgba(0,0,0,.12);
  --shadow-heavy:0 20px 40px rgba(0,0,0,.15);

  /* Transitions */
  --transition-fast:.2s ease;
  --transition-normal:.3s ease;
  --transition-slow:.5s ease;
}

*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px}
body{
  font-family:var(--font-body);
  color:var(--ia-secondary);
  background-color:var(--ia-primary);
  line-height:1.6;
}

/* Accessibility focus */
:focus-visible{
  outline:2px solid var(--ia-accent);
  outline-offset:3px;
}

/* Typography */
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  font-weight:500;
  line-height:1.2;
  margin-bottom:var(--spacing-sm);
  color:var(--ia-secondary);
}
h1{font-size:3.5rem;font-weight:600}
h2{font-size:2.5rem;font-weight:500}
h3{font-size:1.75rem;font-weight:500}

.body-large{font-family:var(--font-body);font-size:1.125rem;line-height:1.6}
.body-medium{font-family:var(--font-body);font-size:1rem;line-height:1.6}
.caption{font-family:var(--font-body);font-size:.875rem;color:#8c8c8c}

/* ✅ product titles — archive grid only (no more global 0.75rem) */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-heading);
  font-size:1rem;
  font-weight:500;
  line-height:1.35;
  color:#2c2c2c;
}

/* ✅ single product title — branded scale */
.ia-single-product-page .product_title.entry-title{
  font-family:var(--font-heading);
  font-weight:600;
  letter-spacing:.2px;
  font-size:clamp(28px,3.2vw,44px);
  line-height:1.08;
  color:var(--ia-secondary);
  margin:0 0 .5rem;
}

@media (max-width:768px){
  h1{font-size:2.25rem}
  h2{font-size:1.875rem}
  h3{font-size:1.375rem}
  .hero-content h1{font-size:2.5rem}
  .hero-content p{font-size:1rem}
  .body-large{font-size:1rem}
  .body-medium{font-size:.875rem}
  .caption{font-size:.75rem}
}

p{margin-bottom:var(--spacing-sm)}
a{color:var(--ia-secondary);text-decoration:none;transition:color .3s ease}
a:hover{color:var(--ia-accent)}

/* Container */
.container{
  max-width:var(--container-max-width);
  margin:0 auto;
  padding:0 2rem;
}

/* Buttons */
.btn-primary,.btn-secondary{
  display:inline-block;
  padding:14px 28px;
  border-radius:12px;
  font-family:var(--font-ui);
  font-size:15px;
  font-weight:600;
  letter-spacing:.5px;
  transition:all .3s ease;
  cursor:pointer;
  min-width:200px;
  text-align:center;
  text-decoration:none;
}
@media (max-width:640px){
  .btn-primary,.btn-secondary{min-width:auto;width:100%}
}
.btn-primary{
  background:var(--btn-primary-bg);
  color:var(--btn-primary-text);
  border:2px solid transparent;
}
.btn-primary:hover{
  background:var(--btn-primary-hover);
  color:var(--btn-primary-text);
  border-color:var(--btn-primary-hover);
  transform:translateY(-2px);
}
.btn-secondary{
  background:var(--btn-secondary-bg);
  color:var(--btn-secondary-text);
  border:2px solid var(--btn-secondary-border);
}
.btn-secondary:hover{
  background:var(--btn-secondary-hover-bg);
  color:var(--btn-secondary-hover-text);
  transform:translateY(-2px);
}

/* Hero Section */
.hero-section{position:relative;height:72vh;overflow:hidden}
.hero-video-container{position:relative;width:100%;height:100%}
.hero-video-container video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.hero-section .hero-content,
.category-hero .hero-content{
  position:absolute;top:46%;left:50%;
  transform:translate(-50%,-50%);
  text-align:center;color:var(--ia-secondary);
  z-index:1;width:80%;max-width:800px;
}
@media (max-width:768px){
  .hero-section .hero-content{top:47%}
  .category-hero .hero-content{top:47%}
}
.hero-content h1{
  font-family:var(--font-heading);
  font-size:3.5rem;font-weight:600;
  color:var(--ia-secondary);
  margin-bottom:var(--spacing-md);line-height:1.2;
}
.hero-content p{
  font-family:var(--font-body);
  font-size:1.125rem;color:var(--ia-secondary);
  margin-bottom:var(--spacing-md);line-height:1.6;
}
.hero-buttons{display:flex;gap:1.5rem;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:var(--spacing-md)}

/* Sections */
.olfactive-journey{padding:var(--spacing-xl) 0;text-align:center}
.olfactive-journey h2{margin-bottom:var(--spacing-sm)}
.section-subtitle{font-size:1.125rem;color:var(--ia-secondary);margin-bottom:var(--spacing-lg)}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}
.product-card{
  background:#fff;border-radius:8px;overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
  text-align:left;box-shadow:0 2px 12px rgba(0,0,0,.08);border:1px solid #f0f0f0;
}
.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.15)}
.product-image{width:100%;height:280px;overflow:hidden;position:relative}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.product-card:hover .product-image img{transform:scale(1.02)}
.product-info{padding:20px 16px;background:transparent}
.product-category{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-weight:500}
.product-info h3{font-size:1.1rem;margin-bottom:8px;font-weight:400;color:#2c2c2c;line-height:1.3}
.product-description{font-size:.85rem;color:#666;margin-bottom:12px;line-height:1.4}
.product-details{font-size:.8rem;color:#999;margin-bottom:15px}
.price{font-family:var(--font-body);font-size:1rem;font-weight:500;color:#2c2c2c;margin-bottom:15px}
.product-actions{display:flex;gap:10px;align-items:center}
.add-to-collection-btn{background:#f5f5f5;color:#2c2c2c;border:none;padding:8px 16px;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .3s ease;flex:1}
.add-to-collection-btn:hover{background:#e8e8e8}
.section-cta{text-align:center}

/* Curator's Vault */
.curators-vault{padding:var(--spacing-xl) 0;background-color:var(--ia-neutral);text-align:center}
.curators-vault h2{margin-bottom:var(--spacing-sm)}
.vault-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}
.limited-edition{position:relative;border:2px solid var(--ia-accent)}
.limited-edition:hover{border-color:#D4B76A;box-shadow:0 10px 30px rgba(191,161,90,.2)}
.limited-badge{
  position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);
  background:var(--ia-accent);color:var(--ia-primary);
  padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;z-index:2;
}
.edition-info{display:block;font-size:.8rem;color:var(--ia-accent);font-weight:600;margin-top:var(--spacing-xs)}

/* Story Preview */
.story-preview{padding:var(--spacing-xl) 0}
.story-preview .container{display:flex;align-items:center;gap:var(--spacing-lg)}
.story-content,.story-image{flex:1}
.story-image img{width:100%;height:auto;border-radius:var(--border-radius)}

/* Featured Categories */
.featured-categories{padding:var(--spacing-xl) 0;background-color:var(--ia-neutral)}
.featured-categories h2{text-align:center;margin-bottom:var(--spacing-lg)}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}
.category-card{position:relative;height:100vh;overflow:hidden}
.category-hero .hero-content{top:46%}
@media (max-width:768px){.category-hero .hero-content{top:47%}}
.category-card h3{
  position:absolute;bottom:0;left:0;width:100%;padding:var(--spacing-md);
  background:linear-gradient(to top, rgba(0,0,0,.7), transparent);
  color:#fff;margin:0;
}

/* Emerging Artist */
.emerging-artist{padding:var(--spacing-xl) 0}
.emerging-artist h2{text-align:center;margin-bottom:var(--spacing-lg)}
.artist-feature{display:flex;align-items:center;gap:var(--spacing-lg)}
.artist-image,.artist-content{flex:1}
.artist-image img{width:100%;height:auto;border-radius:var(--border-radius)}

/* Global hero height normalization */
.hero-section,.category-hero,.hero{
  height:72vh !important;
  min-height:72vh !important;
}
body:not(.ia-shop-skin) .woocommerce ul.products li.product h2,
body:not(.ia-shop-skin) .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.75rem !important;
    font-weight: 300 !important;
}

body:not(.ia-shop-skin) .product-title,
body:not(.ia-shop-skin) h3.product-title,
body:not(.ia-shop-skin) .woocommerce .product-title {
    font-size: 0.75rem !important;
    font-weight: 300 !important;
}
