/* Sea UX polish — consistent rhythm, motion, focus across all sections */

body.sea-body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Consistent section rhythm */
.home-main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-block: 0.75rem 2.5rem;
}

@media (min-width: 768px) {
  .home-main {
    gap: 2.25rem;
    padding-block: 1.25rem 3.5rem;
  }
}

.home-section,
.home-hero,
.home-promo,
.home-trust,
.home-deals,
.home-categories,
.home-brands,
.sea-home-products {
  scroll-margin-top: 6rem;
}

.home-section-head {
  margin-bottom: 1rem;
}

.home-section-head h2 {
  letter-spacing: -0.02em;
}

.home-section-link {
  transition: color 0.2s ease, transform 0.2s ease;
}

.home-section-link:hover {
  color: var(--accent, #00b4d8);
  transform: translateX(-2px);
}

[dir="ltr"] .home-section-link:hover {
  transform: translateX(2px);
}

/* Cards / products interaction */
.home-product,
.sea-card,
.sea-wish-card,
.sea-stores__card,
.sea-dash__quick-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.home-product:hover,
.sea-stores__card:hover,
.sea-dash__quick-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgb(15 23 42 / 10%);
}

.home-product__cart,
.sea-btn,
.sea-vendor-switch__btn,
.order-sticky__cta {
  transition: transform 0.15s ease, opacity 0.15s ease, box-shadow 0.15s ease;
}

.home-product__cart:hover,
.sea-btn:hover,
.sea-vendor-switch__btn:hover {
  transform: translateY(-1px);
}

.home-product__cart:active,
.sea-btn:active,
.order-sticky__cta:active {
  transform: translateY(1px);
}

/* Focus visibility (a11y) */
body.sea-body a:focus-visible,
body.sea-body button:focus-visible,
body.sea-body input:focus-visible,
body.sea-body select:focus-visible,
body.sea-body textarea:focus-visible,
body.sea-body [tabindex]:focus-visible {
  outline: 3px solid rgb(0 180 216 / 55%);
  outline-offset: 2px;
}

/* Category / brand chips */
.home-cat {
  transition: transform 0.18s ease;
}

.home-cat:hover {
  transform: translateY(-2px);
}

.home-cat:hover .home-cat__icon {
  box-shadow: 0 12px 24px rgb(0 119 182 / 16%);
}

/* Hero content readability */
.home-hero__content {
  max-width: 100%;
  min-width: 100%;
}

.home-hero__cta,
.sea-btn--primary {
  min-height: 2.85rem;
  padding-inline: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border-radius: 0.85rem;
  font-weight: 900;
}

/* Sticky bars don't fight tabbar */
@media (max-width: 767px) {
  .order-sticky {
    bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .sea-whatsapp,
  .sea-help {
    bottom: calc(9.5rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .sea-feedback-fab {
    bottom: calc(9.5rem + env(safe-area-inset-bottom, 0px));
    top: auto !important;
    transform: none !important;
  }
}

/* Filters / widgets sidebars feel native */
.sea-widget,
.sea-plp__filters .bb-filter-offcanvas-sidebar,
.sea-plp__filters .tp-shop-sidebar {
  transition: box-shadow 0.2s ease;
}

/* FAQ accordion if present */
.sea-faq details,
.home-section details {
  background: var(--card);
  border: 1px solid rgb(203 213 225 / 45%);
  border-radius: 1rem;
  padding: 0.85rem 1rem;
  margin-bottom: 0.55rem;
}

.sea-faq summary,
.home-section details summary {
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.sea-faq summary::-webkit-details-marker {
  display: none;
}

/* Testimonials / about cards */
.sea-testimonials .sea-card,
.sea-about .sea-card {
  height: 100%;
}

/* Blog / CMS */
.sea-cms__content h2,
.sea-cms__content h3 {
  font-family: var(--font-heading);
  font-weight: 900;
  color: var(--foreground);
  margin-top: 1.5rem;
}

.sea-cms__content a {
  color: var(--primary);
  font-weight: 700;
}

/* Skeleton / empty */
.sea-empty {
  text-align: center;
  padding: 2.5rem 1.25rem;
}

.sea-empty h3 {
  font-weight: 900;
  margin: 0.75rem 0 0.35rem;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
