/* ============================================
   HOME PAGE ("landing-page-v3")
   ============================================ */

.landing-page-v3 { background: #fff; }

.container-v3 { max-width: 1200px; margin: 0 auto; padding: 0 5%; }

/* Brand intro / hero */
.brand-intro-v3 { padding: 8rem 5% 5rem; background: #f8f6f3; text-align: center; }
.intro-content-v3 { max-width: 700px; margin: 0 auto; }
.intro-label-v3 { font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: #4a4a4a; display: block; margin-bottom: 1.5rem; }
.intro-title-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 400; line-height: 1.2; color: #1a1a1a; margin-bottom: 1.5rem; }
.intro-text-v3 { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 300; line-height: 1.8; color: #4a4a4a; margin-bottom: 2rem; max-width: 550px; margin-left: auto; margin-right: auto; }
.intro-buttons-v3 { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

.btn-v3 { display: inline-block; padding: 0.875rem 2rem; font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; transition: all 0.35s ease; border: 1px solid transparent; cursor: pointer; }
.btn-primary-v3 { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.btn-primary-v3:hover { background: transparent; color: #1a1a1a; }
.btn-secondary-v3 { background: transparent; color: #1a1a1a; border-color: #1a1a1a; }
.btn-secondary-v3:hover { background: #1a1a1a; color: #fff; }

/* Shop by category accordion */
.shop-by-section { padding: 0 5% 60px; background: #faf9f7; }
.shop-by-container { max-width: 1200px; margin: 0 auto; }
.shop-by-header { text-align: center; margin-bottom: 40px; }
.shop-by-label { display: block; font-size: 11px; font-weight: 600; letter-spacing: 3px; color: #6b6b6b; margin-bottom: 12px; text-transform: uppercase; }
.shop-by-title { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(24px, 3.5vw, 36px); font-weight: 400; color: #1a1a1a; }
.shop-by-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.shop-by-categories { border-top: 1px solid #e5e2de; }
.shop-by-category { border-bottom: 1px solid #e5e2de; }
.shop-by-category-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; background: none; border: none; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 500; color: #1a1a1a; letter-spacing: 0.3px; }
.shop-by-category-btn:hover { color: #a88b5a; }
.shop-by-chevron { transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); color: #6b6b6b; flex-shrink: 0; }
.shop-by-category.active .shop-by-chevron { transform: rotate(180deg); }
.shop-by-category.active .shop-by-category-btn { color: #1a1a1a; font-weight: 600; }
.shop-by-category-content { overflow: hidden; }
.shop-by-category:not(.active) .shop-by-category-content { display: none; }
.shop-by-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; padding-bottom: 24px; }
.shop-by-item { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 8px; border-radius: 12px; transition: background 0.2s ease, transform 0.2s ease; position: relative; text-decoration: none; }
.shop-by-item:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.shop-by-item-image { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #f5f0eb; }
.shop-by-item-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.shop-by-item:hover .shop-by-item-image img { transform: scale(1.08); }
.shop-by-item-name { font-size: 12px; font-weight: 500; color: #1a1a1a; text-align: center; line-height: 1.3; }
.shop-by-item-arrow { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); opacity: 0; transition: opacity 0.2s, transform 0.2s; color: #6b6b6b; flex-shrink: 0; }
.shop-by-item:hover .shop-by-item-arrow { opacity: 1; transform: translateY(-50%) translateX(2px); }
.shop-by-preview { position: sticky; top: 100px; border-radius: 16px; overflow: hidden; aspect-ratio: 4/5; background: #f5f0eb; display: none; }
@media (min-width: 769px) { .shop-by-preview { display: block; } }
.shop-by-preview-image-wrapper { position: absolute; inset: 0; transition: opacity 0.35s ease; }
.shop-by-preview-image-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.shop-by-preview-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 60px 24px 24px; background: linear-gradient(transparent, rgba(0,0,0,0.55)); display: flex; align-items: flex-end; justify-content: center; opacity: 0; transition: opacity 0.3s ease; }
.shop-by-preview:hover .shop-by-preview-overlay { opacity: 1; }
.shop-by-preview-overlay span { color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 12px 24px; border: 1.5px solid rgba(255,255,255,0.5); background: rgba(255,255,255,0.1); }

/* Two-path section */
.paths-section-v3 { padding: 0; background: #fff; }
.paths-grid-v3 { display: grid; grid-template-columns: repeat(2, 1fr); }
.path-card-v3 { position: relative; height: 60vh; min-height: 450px; max-height: 600px; overflow: hidden; text-decoration: none; display: block; }
.path-image-v3 { position: absolute; inset: 0; }
.path-image-v3 img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.path-card-v3:hover .path-image-v3 img { transform: scale(1.08); }
.path-overlay-v3 { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.35) 50%, rgba(0,0,0,0.15) 100%); }
.path-content-v3 { position: absolute; bottom: 0; left: 0; width: 100%; padding: 2.5rem; z-index: 2; color: #fff; box-sizing: border-box; }
.path-label-v3 { font-family: 'Inter', sans-serif; font-size: 0.625rem; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; opacity: 0.7; display: block; margin-bottom: 0.5rem; }
.path-title-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; margin-bottom: 0.75rem; color: #fff; }
.path-desc-v3 { font-family: 'Inter', sans-serif; font-size: 0.875rem; font-weight: 300; opacity: 0.85; margin-bottom: 1.25rem; line-height: 1.6; color: #fff; }
.path-link-v3 { font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; }

/* Section headers reused across featured / events / testimonials */
.section-header-v3 { text-align: center; margin-bottom: 3rem; }
.section-label-v3 { font-family: 'Inter', sans-serif; font-size: 0.625rem; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: #4a4a4a; opacity: 0.6; display: block; margin-bottom: 0.75rem; }
.section-title-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 400; color: #1a1a1a; margin-bottom: 0.75rem; }
.section-subtitle-v3 { font-family: 'Inter', sans-serif; font-size: 0.9375rem; font-weight: 300; color: #4a4a4a; max-width: 500px; margin: 0 auto; line-height: 1.7; }
.section-footer-v3 { text-align: center; margin-top: 3rem; }

/* Featured products */
.featured-products-v3 { padding: 5rem 0; background: #fff; }
.products-grid-v3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.product-card-v3 { cursor: pointer; transition: transform 0.3s ease; }
.product-card-v3:hover { transform: translateY(-5px); }
.product-image-v3 { position: relative; aspect-ratio: 3/4; overflow: hidden; margin-bottom: 1rem; background: #f5f5f5; }
.product-image-v3 img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.product-card-v3:hover .product-image-v3 img { transform: scale(1.03); }
.product-badge-v3 { position: absolute; top: 0.75rem; left: 0.75rem; background: #c9a962; color: #fff; padding: 0.3rem 0.75rem; font-family: 'Inter', sans-serif; font-size: 0.625rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.product-badge-v3.sale-v3 { background: #c75b5b; }
.product-info-v3 { text-align: center; }
.product-name-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.125rem; font-weight: 500; color: #1a1a1a; margin-bottom: 0.25rem; }
.product-price-v3 { font-family: 'Inter', sans-serif; font-size: 0.8125rem; font-weight: 400; color: #4a4a4a; }
.btn-view-collection-v3 { display: inline-block; padding: 0.875rem 2.5rem; background: #1a1a1a; color: #fff; font-family: 'Inter', sans-serif; font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; }
.btn-view-collection-v3:hover { background: #4a4a4a; }

/* Events showcase */
.events-showcase-v3 { padding: 5rem 0; background: #f8f6f3; }
.events-grid-v3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.event-card-v3 { text-decoration: none; display: block; transition: transform 0.3s ease; }
.event-card-v3:hover { transform: translateY(-5px); }
.event-image-v3 { aspect-ratio: 4/3; overflow: hidden; margin-bottom: 1rem; background: #f5f5f5; }
.event-image-v3 img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.event-card-v3:hover .event-image-v3 img { transform: scale(1.03); }
.event-info-v3 { text-align: center; }
.event-name-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.125rem; font-weight: 500; color: #1a1a1a; margin-bottom: 0.25rem; }
.event-desc-v3 { font-family: 'Inter', sans-serif; font-size: 0.8125rem; font-weight: 300; color: #4a4a4a; }

/* Testimonials (static grid, used on home) */
.testimonials-v3 { padding: 5rem 0; background: #fff; }
.testimonials-grid-v3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }
.testimonial-card-v3 { text-align: center; padding: 1.5rem; }
.testimonial-quote-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; font-style: italic; font-weight: 400; color: #4a4a4a; line-height: 1.6; margin-bottom: 1.25rem; }
.testimonial-author-v3 { font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: #1a1a1a; }

/* CTA */
.cta-section-v3 { padding: 5rem 5%; background: #1a1a1a; text-align: center; }
.cta-content-v3 { max-width: 550px; margin: 0 auto; }
.cta-title-v3 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 400; color: #fff; margin-bottom: 0.75rem; }
.cta-text-v3 { font-family: 'Inter', sans-serif; font-size: 0.9375rem; font-weight: 300; color: rgba(255,255,255,0.7); margin-bottom: 2rem; line-height: 1.7; }
.cta-buttons-v3 { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.cta-section-v3 .btn-outline-v3 { background: transparent; color: #fff; border-color: #fff; }
.cta-section-v3 .btn-outline-v3:hover { background: #fff; color: #1a1a1a; }

/* Responsive */
@media (max-width: 1024px) {
  .paths-grid-v3 { grid-template-columns: 1fr; }
  .path-card-v3 { height: 45vh; min-height: 350px; }
  .products-grid-v3, .events-grid-v3, .testimonials-grid-v3 { grid-template-columns: repeat(2, 1fr); }
  .shop-by-layout { grid-template-columns: 1fr; gap: 24px; }
  .brand-intro-v3 { padding-top: 6rem; }
}
@media (max-width: 768px) {
  .intro-buttons-v3 { flex-direction: column; align-items: center; }
  .btn-v3 { width: 100%; max-width: 260px; }
  .products-grid-v3, .events-grid-v3, .testimonials-grid-v3 { grid-template-columns: 1fr; }
  .shop-by-items { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .shop-by-item-image { width: 60px; height: 60px; }
  .shop-by-item-name { font-size: 11px; }
  .brand-intro-v3 { padding-top: 5rem; }
}
