/**
 * AmourLuxe — cinematic final polish (loads after luxury-rebuild).
 * Light luxury primary + readable commerce + reference-grade archive drama.
 */

/* ------------------------------------------------------------------------- */
/* Motion + global rhythm                                                    */
/* ------------------------------------------------------------------------- */

html.al-motion-ok {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body.al-body {
  overflow-x: clip;
}

/* ------------------------------------------------------------------------- */
/* Sticky header — compact luxury chrome                                     */
/* ------------------------------------------------------------------------- */

.al-header {
  transition:
    box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.45s ease,
    border-color 0.35s ease;
}

.al-header.is-compact {
  box-shadow: 0 18px 60px rgba(10, 8, 6, 0.08);
}

body.al-ui-ivory .al-header.is-compact {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
}

body.al-ui-noir .al-header.is-compact {
  background: rgba(8, 8, 10, 0.94) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* ------------------------------------------------------------------------- */
/* Hero — atmosphere, depth, mobile-safe typography                          */
/* ------------------------------------------------------------------------- */

.al-hero-slider__viewport {
  position: relative;
}

.al-hero-slider__atmosphere {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(8, 7, 6, 0.15) 0%, rgba(8, 7, 6, 0.55) 72%, rgba(4, 3, 2, 0.82) 100%),
    radial-gradient(120% 90% at 50% 0%, rgba(201, 162, 39, 0.12), transparent 55%),
    radial-gradient(80% 60% at 85% 20%, rgba(255, 252, 245, 0.06), transparent 50%);
  mix-blend-mode: multiply;
}

body.al-ui-ivory .al-hero-slider__atmosphere {
  mix-blend-mode: normal;
  background:
    linear-gradient(180deg, rgba(250, 248, 244, 0.05) 0%, rgba(18, 16, 14, 0.42) 55%, rgba(10, 9, 8, 0.78) 100%),
    radial-gradient(100% 80% at 20% 0%, rgba(168, 134, 50, 0.14), transparent 50%);
}

.al-hero-slide__glass {
  opacity: 0.55;
  background: linear-gradient(120deg, rgba(255, 252, 245, 0.12) 0%, transparent 45%, rgba(0, 0, 0, 0.2) 100%);
}

.al-hero-slide__content {
  position: relative;
  z-index: 4;
  padding-bottom: clamp(28px, 6vw, 72px);
  max-width: min(42rem, 92vw);
}

.al-hero-slide__title {
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(0, 0, 0, 0.25);
  line-height: 1.04;
  letter-spacing: -0.02em;
  word-wrap: break-word;
  hyphens: auto;
}

.al-hero-slide__subtitle {
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.4);
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
  line-height: 1.55;
  max-width: 36rem;
  color: rgba(255, 252, 245, 0.92);
}

.al-hero-slide__actions {
  flex-wrap: wrap;
  gap: 12px 14px;
}

.al-hero-slide__actions .al-btn {
  min-height: 48px;
  padding-inline: 1.35rem;
}

@media (max-width: 520px) {
  .al-hero-slider__chrome {
    padding-inline: 12px;
  }

  .al-hero-slider__arrow {
    min-width: 44px;
    min-height: 44px;
  }
}

html.al-motion-ok .al-hero-slide.is-active .al-hero-slide__media img,
html.al-motion-ok .al-hero-slide.is-active .al-hero-slide__media video {
  animation: al-hero-ken 18s ease-in-out both;
}

@keyframes al-hero-ken {
  0% {
    transform: scale(1.02);
  }
  100% {
    transform: scale(1.08);
  }
}

/* Soft gold pulse on trust strip (subtle) */
html.al-motion-ok .al-hero-slider__trust li {
  animation: al-trust-glow 6s ease-in-out infinite alternate;
}

@keyframes al-trust-glow {
  from {
    opacity: 0.85;
  }
  to {
    opacity: 1;
  }
}

/* ------------------------------------------------------------------------- */
/* Homepage editorial cohesion                                               */
/* ------------------------------------------------------------------------- */

.al-home--cinematic .al-section {
  position: relative;
}

.al-home--cinematic .al-section + .al-section {
  margin-top: clamp(8px, 1.5vw, 20px);
}

.al-home--cinematic .al-premium-banner,
.al-home--cinematic .al-home-banners__grid > * {
  border-radius: clamp(14px, 2vw, 22px);
  overflow: hidden;
  box-shadow: 0 28px 80px rgba(10, 8, 6, 0.07);
  transition:
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.65s ease;
}

html.al-motion-ok .al-home--cinematic .al-premium-banner:hover,
html.al-motion-ok .al-home--cinematic .al-home-banners__grid > *:hover {
  transform: translateY(-4px);
  box-shadow: 0 36px 100px rgba(10, 8, 6, 0.12);
}

/* ------------------------------------------------------------------------- */
/* Shop archive hero — readability on cinematic bands                        */
/* ------------------------------------------------------------------------- */

.al-shop-archive__hero .al-heading--archive-hero,
.al-shop-archive__hero h1 {
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
  line-height: 1.05;
}

.al-shop-archive__lede,
.al-shop-archive__term-desc {
  color: rgba(255, 252, 245, 0.88) !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.al-trust-row--hero span {
  background: rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-color: rgba(255, 252, 245, 0.28) !important;
  color: rgba(255, 252, 245, 0.94) !important;
}

/* Prevent eyebrow / H1 collision */
.al-shop-archive__hero .al-eyebrow {
  margin-bottom: 0.65rem;
  display: inline-block;
}

.al-shop-archive__hero--cinematic .al-container {
  position: relative;
  z-index: 2;
}

/* ------------------------------------------------------------------------- */
/* Category tiles + sidebar                                                  */
/* ------------------------------------------------------------------------- */

.al-subcat-card {
  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.55s ease,
    border-color 0.35s ease;
}

html.al-motion-ok .al-subcat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.35);
}

.al-shop-category-nav {
  border-radius: 16px;
  padding: 14px 14px 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(18, 16, 14, 0.08);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  box-shadow: 0 20px 60px rgba(10, 8, 6, 0.06);
}

body.al-ui-noir .al-shop-category-nav {
  background: rgba(255, 252, 245, 0.06);
  border-color: rgba(255, 252, 245, 0.12);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

.al-shop-category-nav a {
  border-radius: 10px;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.al-shop-category-nav a:hover {
  transform: translateX(2px);
}

@media (max-width: 960px) {
  .al-shop-category-nav {
    margin-bottom: 8px;
  }
}

/* ------------------------------------------------------------------------- */
/* Toolbar + ordering — no button overlap                                    */
/* ------------------------------------------------------------------------- */

.al-shop-toolbar {
  row-gap: 12px;
}

.al-shop-toolbar .woocommerce-ordering select {
  min-height: 44px;
  font-size: 0.9rem;
}

/* ------------------------------------------------------------------------- */
/* Product cards — cinematic ratio, glow, luxury motion                      */
/* ------------------------------------------------------------------------- */

.al-product-card__shell {
  border-radius: clamp(14px, 1.8vw, 20px);
  overflow: hidden;
  border: 1px solid rgba(18, 16, 14, 0.07);
  background: linear-gradient(165deg, #fffefb 0%, #f7f2ea 100%);
  box-shadow:
    0 4px 0 rgba(168, 134, 50, 0.04),
    0 22px 50px rgba(10, 8, 6, 0.06);
  transition:
    box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.45s ease;
}

body.al-ui-noir .al-product-card__shell {
  background: linear-gradient(165deg, rgba(255, 252, 245, 0.98), rgba(243, 238, 230, 0.98));
}

.al-product-card__media {
  aspect-ratio: 4 / 5;
  background: linear-gradient(145deg, #f0ebe3, #e8e2d8);
}

.al-product-card__imgstack-primary img,
.al-product-card__imgstack-hover img,
.al-product-card__img,
.al-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
}

.al-product-card__media::after {
  background: linear-gradient(180deg, transparent 55%, rgba(10, 8, 6, 0.18) 100%);
  opacity: 0.85;
}

html.al-motion-ok .al-product-card:hover .al-product-card__shell {
  transform: translateY(-6px);
  border-color: rgba(168, 134, 50, 0.35);
  box-shadow:
    0 0 0 1px rgba(168, 134, 50, 0.12),
    0 0 48px rgba(168, 134, 50, 0.12),
    0 40px 90px rgba(10, 8, 6, 0.12);
}

html.al-motion-ok .al-product-card:hover .al-product-card__imgstack-primary img {
  transform: scale(1.06);
}

.al-product-card__body {
  padding: clamp(14px, 2vw, 18px) clamp(14px, 2vw, 18px) 10px;
}

.al-product-card__title {
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.35;
  color: var(--al-ink-strong, #12100e);
}

.al-product-card__brand {
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  color: var(--al-ink-muted, #5c574e);
}

.al-product-card__cat {
  font-size: 0.72rem;
  opacity: 0.85;
}

.al-product-card__fav {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(18, 16, 14, 0.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(10, 8, 6, 0.1);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.al-product-card__fav:hover,
.al-product-card__fav:focus-visible {
  transform: scale(1.06);
  color: var(--al-accent, #a88632);
  box-shadow: 0 10px 28px rgba(168, 134, 50, 0.2);
}

.al-product-card__cta {
  margin: 0 14px 14px;
  border-radius: 999px;
  text-align: center;
  justify-content: center;
}

/* ------------------------------------------------------------------------- */
/* Mobile drawer — ivory = light luxury panel                                */
/* ------------------------------------------------------------------------- */

body.al-ui-ivory .al-drawer__backdrop {
  background: rgba(18, 16, 14, 0.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.al-ui-ivory .al-drawer__panel {
  background: linear-gradient(165deg, rgba(255, 253, 250, 0.98), rgba(247, 242, 234, 0.98));
  border-left: 1px solid rgba(18, 16, 14, 0.08);
  box-shadow: -28px 0 90px rgba(10, 8, 6, 0.12);
  color: var(--al-ink-strong, #12100e);
}

body.al-ui-ivory .al-drawer__title {
  color: var(--al-ink-strong);
}

body.al-ui-ivory .al-drawer__menu a {
  color: var(--al-ink-muted, #5c574e);
  font-size: 0.82rem;
  padding: 14px 12px;
  letter-spacing: 0.1em;
}

body.al-ui-ivory .al-drawer__menu a:hover,
body.al-ui-ivory .al-drawer__menu .current-menu-item > a {
  color: var(--al-ink-strong);
  background: rgba(168, 134, 50, 0.1);
}

body.al-ui-ivory .al-drawer__close {
  color: var(--al-ink-strong);
}

body.al-ui-ivory .al-drawer__head {
  border-bottom-color: rgba(18, 16, 14, 0.08);
}

body.al-ui-ivory .al-drawer__body {
  padding: 16px 20px max(28px, env(safe-area-inset-bottom));
}

/* ------------------------------------------------------------------------- */
/* Footer — editorial glass band                                             */
/* ------------------------------------------------------------------------- */

.al-footer {
  border-top: 1px solid rgba(18, 16, 14, 0.08);
}

body.al-ui-noir .al-footer {
  border-top-color: rgba(255, 252, 245, 0.1);
}

.al-footer__newsletter {
  background: linear-gradient(120deg, rgba(168, 134, 50, 0.1), rgba(255, 255, 255, 0.5));
  border-block: 1px solid rgba(18, 16, 14, 0.06);
}

body.al-ui-noir .al-footer__newsletter {
  background: linear-gradient(120deg, rgba(201, 162, 39, 0.12), rgba(10, 10, 12, 0.9));
  border-block-color: rgba(255, 252, 245, 0.08);
}

.al-footer__grid {
  gap: clamp(20px, 4vw, 40px);
}

.al-footer__col-title {
  letter-spacing: 0.18em;
  font-size: 0.78rem;
}

/* ------------------------------------------------------------------------- */
/* Typography scale — minimum readable sizes on small phones                 */
/* ------------------------------------------------------------------------- */

body.al-body {
  font-size: clamp(15px, 0.45vw + 14px, 17px);
}

.al-muted {
  color: var(--al-ink-muted, #5c574e) !important;
  opacity: 1;
}

/* Gold accent text: never for long body copy */
.al-heading-line--gold,
.al-eyebrow--gold {
  color: #8a6f28;
}

body.al-ui-noir .al-heading-line--gold {
  color: #d4b85c;
}

/* ------------------------------------------------------------------------- */
/* Product grid density                                                      */
/* ------------------------------------------------------------------------- */

@media (min-width: 1280px) {
  .al-product-grid ul.products,
  .al-shop-archive__grid ul.products {
    gap: clamp(18px, 2.2vw, 28px);
  }
}

@media (max-width: 480px) {
  .al-product-grid ul.products,
  .al-shop-archive__grid ul.products {
    gap: 14px;
  }
}
