/*
 * EMPRYN Visual Polish v1 — v0.9.6.8
 * Final presentation layer only. No commerce or content logic lives here.
 */

:root {
  /* One canonical brand palette at the end of the cascade. */
  --empryn-navy: #071C33;
  --empryn-navy-2: #0B2746;
  --empryn-navy-3: #163A5C;
  --empryn-gold: #C9A15B;
  --empryn-gold-strong: #B88A3C;
  --empryn-gold-hover: #E4C98A;
  --empryn-gold-soft: #E9D8AD;
  --empryn-ivory: #F8F5EE;
  --empryn-offwhite: #F8F5EE;
  --empryn-text: #071C33;
  --empryn-gray-500: #667085;
  --empryn-gray-100: #EAE6DE;
  --empryn-container: 1320px;
  --empryn-radius-sm: 12px;
  --empryn-radius-md: 20px;
  --empryn-radius-lg: 30px;
  --empryn-shadow-sm: 0 12px 34px rgba(7,28,51,.055);
  --empryn-shadow: 0 26px 70px rgba(7,28,51,.105);
  --empryn-ease-premium: cubic-bezier(.2,.7,.2,1);
}

/* --------------------------------------------------------------------------
   Foundation — calmer rhythm, cleaner typography, better focus states
   -------------------------------------------------------------------------- */
html { scroll-padding-top: 96px; }
body.empryn-storefront {
  background: #fff;
  color: var(--empryn-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.empryn-storefront h1,
body.empryn-storefront h2,
body.empryn-storefront h3 {
  text-wrap: balance;
}

body.empryn-storefront p { text-wrap: pretty; }
body.empryn-storefront ::selection { background: rgba(201,161,91,.28); color: var(--empryn-navy); }

body.empryn-storefront :where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--empryn-gold) !important;
  outline-offset: 3px;
}

.empryn-container {
  width: min(calc(100% - 48px), var(--empryn-container));
}

.empryn-section {
  padding-block: clamp(76px, 7.5vw, 124px);
}

.empryn-section-heading {
  margin-bottom: clamp(30px, 4vw, 50px);
}

.empryn-section-heading h2 {
  max-width: 820px;
  font-size: clamp(2.15rem, 3.4vw, 3.8rem);
  font-weight: 720;
  line-height: .99;
  letter-spacing: -.042em;
}

.empryn-eyebrow {
  font-size: .71rem;
  font-weight: 820;
  letter-spacing: .19em;
}

/* Buttons: luxurious but restrained. */
.empryn-button,
body.empryn-storefront .button,
body.empryn-storefront button.button,
body.empryn-storefront input.button {
  min-height: 48px;
  padding-inline: 23px;
  border-radius: 999px;
  font-size: .83rem;
  font-weight: 760;
  letter-spacing: .005em;
  box-shadow: 0 8px 22px rgba(7,28,51,.08);
  transition:
    transform 240ms var(--empryn-ease-premium),
    box-shadow 240ms var(--empryn-ease-premium),
    background 240ms ease,
    border-color 240ms ease,
    color 240ms ease;
}

.empryn-button:hover,
body.empryn-storefront .button:hover,
body.empryn-storefront button.button:hover,
body.empryn-storefront input.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 30px rgba(7,28,51,.13);
}

/* --------------------------------------------------------------------------
   Header — more editorial spacing and softer sticky treatment
   -------------------------------------------------------------------------- */
body.empryn-storefront [data-header*="type-1"] {
  border-bottom-color: rgba(7,28,51,.065);
  transition:
    background 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease,
    backdrop-filter 260ms ease;
}

body.empryn-storefront [data-header*="type-1"] .ct-container,
body.empryn-storefront [data-header*="type-1"] .ct-container-fluid {
  max-width: var(--empryn-container);
}

body.empryn-storefront [data-header*="type-1"] .menu-item > a {
  font-size: .76rem;
  font-weight: 740;
  letter-spacing: .035em;
}

body.empryn-storefront [data-header*="type-1"] .menu-item > a::after {
  bottom: -9px;
  height: 2px;
  border-radius: 999px;
}

body.empryn-storefront [data-header*="type-1"].empryn-header-scrolled {
  background: rgba(255,255,255,.94);
  border-bottom-color: rgba(7,28,51,.075);
  box-shadow: 0 12px 34px rgba(7,28,51,.07);
  backdrop-filter: blur(20px) saturate(135%);
  -webkit-backdrop-filter: blur(20px) saturate(135%);
}

body.empryn-storefront [data-id="logo"],
body.empryn-storefront .site-logo-container { max-width: 285px; }

body.empryn-storefront :where([data-id="search"], [data-id="account"], .ct-header-cart, .empryn-header-account-fallback) {
  border-radius: 999px;
}

body.empryn-storefront :where([data-id="search"], [data-id="account"], .ct-header-cart, .empryn-header-account-fallback):hover {
  background: rgba(201,161,91,.09);
}

/* --------------------------------------------------------------------------
   Home — premium rhythm without changing section order/content
   -------------------------------------------------------------------------- */
.empryn-home--2026 .empryn-trust-strip {
  border-bottom: 1px solid rgba(7,28,51,.055);
  background: rgba(255,255,255,.97);
}

.empryn-home--2026 .empryn-trust-item {
  min-height: 96px;
}

.empryn-home--2026 .empryn-category-card {
  border-color: rgba(7,28,51,.07);
  box-shadow: 0 14px 38px rgba(7,28,51,.055);
  transition:
    transform 360ms var(--empryn-ease-premium),
    box-shadow 360ms var(--empryn-ease-premium),
    border-color 360ms ease;
}

.empryn-home--2026 .empryn-category-card:hover {
  transform: translateY(-6px);
  border-color: rgba(201,161,91,.38);
  box-shadow: 0 28px 66px rgba(7,28,51,.14);
}

.empryn-home--2026 .empryn-category-card__overlay {
  background: linear-gradient(180deg, rgba(7,28,51,0) 32%, rgba(7,28,51,.12) 57%, rgba(7,28,51,.78) 100%);
}

/* Hero slider arrows: quieter, more premium, and better separated from the CTA. */
.empryn-home-category-slide__inner {
  padding-bottom: 92px;
}

.empryn-home-category-slider__controls {
  bottom: 22px;
  align-items: flex-end;
  width: min(calc(100% - 56px), var(--empryn-container));
}

.empryn-home-category-slider__arrows {
  gap: 10px;
}

.empryn-home-category-slider .empryn-slider-arrow {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(201,161,91,.46);
  background: rgba(7,28,51,.74);
  color: var(--empryn-gold-soft);
  box-shadow: 0 12px 28px rgba(7,28,51,.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    transform 220ms var(--empryn-ease-premium),
    background 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    box-shadow 220ms ease;
}

.empryn-home-category-slider .empryn-slider-arrow:hover {
  background: var(--empryn-gold);
  border-color: var(--empryn-gold);
  color: var(--empryn-navy);
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(7,28,51,.2);
}

.empryn-home-category-slider .empryn-slider-arrow:focus-visible {
  outline-color: var(--empryn-gold) !important;
}

/* Category slider arrows: match the refined Home arrows and sit more cleanly under the CTA. */
.empryn-category-page .empryn-category-slide__inner {
  padding-bottom: clamp(72px, 7vw, 92px) !important;
}

.empryn-category-page .empryn-category-slider__controls {
  bottom: 16px;
  align-items: flex-end;
  width: min(calc(100% - 56px), var(--empryn-container));
}

.empryn-category-page .empryn-category-slider__arrows {
  gap: 10px;
}

.empryn-category-page .empryn-category-slider .empryn-slider-arrow {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(201,161,91,.46);
  background: rgba(7,28,51,.74);
  color: var(--empryn-gold-soft);
  box-shadow: 0 12px 28px rgba(7,28,51,.16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    transform 220ms var(--empryn-ease-premium),
    background 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    box-shadow 220ms ease;
}

.empryn-category-page .empryn-category-slider .empryn-slider-arrow:hover {
  background: var(--empryn-gold);
  border-color: var(--empryn-gold);
  color: var(--empryn-navy);
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(7,28,51,.2);
}

.empryn-category-page .empryn-category-slider .empryn-slider-arrow:focus-visible {
  outline-color: var(--empryn-gold) !important;
}

.empryn-home--2026 .empryn-modern-rail--empryn-new-drops,
.empryn-home--2026 .empryn-section--soft {
  background: linear-gradient(180deg, #FBF9F5 0%, var(--empryn-ivory) 100%);
}

/* Home horizontal product rails. */
.empryn-rail-card {
  border-color: rgba(7,28,51,.075) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 12px 34px rgba(7,28,51,.045) !important;
  transition:
    transform 300ms var(--empryn-ease-premium),
    box-shadow 300ms var(--empryn-ease-premium),
    border-color 300ms ease !important;
}

.empryn-rail-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(201,161,91,.38) !important;
  box-shadow: 0 25px 58px rgba(7,28,51,.105) !important;
}

.empryn-rail-card__media {
  background: linear-gradient(180deg, #FCFBF8, #F7F4ED) !important;
}

.empryn-rail-card__media img {
  transform: scale(.96);
  transition: transform 480ms var(--empryn-ease-premium) !important;
}

.empryn-rail-card:hover .empryn-rail-card__media img { transform: scale(1) !important; }
.empryn-rail-card h3 { letter-spacing: -.015em; }

.empryn-rail-card__arrow {
  width: 40px !important;
  height: 40px !important;
  background: var(--empryn-navy) !important;
  box-shadow: 0 8px 18px rgba(7,28,51,.13);
}

.empryn-rail-card:hover .empryn-rail-card__arrow {
  background: var(--empryn-gold) !important;
  color: var(--empryn-navy) !important;
}

/* Featured Pick / spotlight: cleaner luxury card. */
.empryn-home--2026 .empryn-spotlight {
  background:
    radial-gradient(circle at 8% 20%, rgba(201,161,91,.09), transparent 28%),
    var(--empryn-navy);
}

.empryn-home--2026 .empryn-spotlight-card {
  overflow: hidden;
  border: 1px solid rgba(201,161,91,.16);
  border-radius: 30px;
  box-shadow: 0 32px 86px rgba(0,0,0,.20);
}

.empryn-home--2026 .empryn-spotlight-card__media {
  background: #F2EEE5;
}

.empryn-home--2026 .empryn-spotlight-card__media img {
  transition: transform 700ms var(--empryn-ease-premium);
}

.empryn-home--2026 .empryn-spotlight-card:hover .empryn-spotlight-card__media img {
  transform: scale(1.018);
}

.empryn-home--2026 .empryn-spotlight-card__content {
  background: var(--empryn-ivory);
}

/* Watch & Shop cards become less heavy. */
.empryn-home--2026 .empryn-video-card {
  border-radius: 24px;
  box-shadow: 0 18px 48px rgba(7,28,51,.12);
  transition: transform 320ms var(--empryn-ease-premium), box-shadow 320ms var(--empryn-ease-premium);
}

.empryn-home--2026 .empryn-video-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 66px rgba(7,28,51,.17);
}

/* --------------------------------------------------------------------------
   WooCommerce grids — consistent premium product cards everywhere
   -------------------------------------------------------------------------- */
body.empryn-storefront .woocommerce ul.products {
  gap: clamp(16px, 1.8vw, 24px);
}

body.empryn-storefront .woocommerce ul.products li.product {
  padding: 10px 10px 16px;
  border: 1px solid rgba(7,28,51,.075);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(7,28,51,.035);
  transition:
    transform 300ms var(--empryn-ease-premium),
    box-shadow 300ms var(--empryn-ease-premium),
    border-color 300ms ease;
}

body.empryn-storefront .woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
  border-color: rgba(201,161,91,.34);
  box-shadow: 0 24px 56px rgba(7,28,51,.10);
}

body.empryn-storefront .woocommerce ul.products li.product img {
  margin-bottom: 16px;
  padding: 10px;
  border-radius: 16px;
  background: linear-gradient(180deg, #FCFBF8, #F7F4ED);
  transform: scale(.975);
  transition: transform 420ms var(--empryn-ease-premium);
}

body.empryn-storefront .woocommerce ul.products li.product:hover img { transform: scale(1); }

body.empryn-storefront .woocommerce-loop-product__title {
  min-height: 2.72em;
  color: var(--empryn-navy);
  font-size: .96rem !important;
  font-weight: 690;
  line-height: 1.36;
  letter-spacing: -.012em;
}

body.empryn-storefront .woocommerce ul.products li.product .price {
  margin: 9px 0 15px;
  color: var(--empryn-navy);
  font-size: 1rem;
  font-weight: 820;
}

body.empryn-storefront .woocommerce ul.products li.product .button {
  min-height: 42px;
  border: 1px solid rgba(7,28,51,.12);
  background: var(--empryn-navy);
  box-shadow: none;
  font-size: .79rem;
}

body.empryn-storefront .woocommerce ul.products li.product .button:hover {
  border-color: var(--empryn-gold);
  background: var(--empryn-gold);
  color: var(--empryn-navy);
}

body.empryn-storefront .woocommerce span.onsale {
  top: 18px;
  left: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(7,28,51,.92);
  color: var(--empryn-gold-soft);
  box-shadow: 0 7px 18px rgba(7,28,51,.16);
  backdrop-filter: blur(10px);
}

/* --------------------------------------------------------------------------
   Product page — polish Blocksy/Woo native layout, never alter its geometry
   -------------------------------------------------------------------------- */
body.single-product .woocommerce-product-gallery {
  border-color: rgba(7,28,51,.075);
  border-radius: 26px;
  background: linear-gradient(180deg, #FAF9F6, #F5F2EB);
  box-shadow: 0 22px 62px rgba(7,28,51,.065);
}

body.single-product div.product .summary .product_title {
  color: var(--empryn-navy) !important;
  letter-spacing: -.045em;
}

body.single-product .woocommerce-product-details__short-description {
  color: #667085;
  line-height: 1.72;
}

body.single-product form.cart .single_add_to_cart_button {
  box-shadow: 0 13px 28px rgba(7,28,51,.13) !important;
  transition: transform 240ms var(--empryn-ease-premium), box-shadow 240ms var(--empryn-ease-premium), filter 240ms ease !important;
}

body.single-product form.cart .single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(7,28,51,.18) !important;
  filter: saturate(1.05);
}

/* --------------------------------------------------------------------------
   Forms / store surfaces — shared visual language
   -------------------------------------------------------------------------- */
body.empryn-storefront :where(input.input-text, input[type="email"], input[type="text"], input[type="tel"], input[type="password"], select, textarea) {
  transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

body.empryn-storefront :where(input.input-text, input[type="email"], input[type="text"], input[type="tel"], input[type="password"], select, textarea):focus {
  border-color: rgba(201,161,91,.72) !important;
  box-shadow: 0 0 0 4px rgba(201,161,91,.10) !important;
}

/* --------------------------------------------------------------------------
   Footer — stronger brand finish, still using the existing footer content
   -------------------------------------------------------------------------- */
.empryn-global-footer {
  border-top: 1px solid rgba(201,161,91,.22) !important;
  background:
    radial-gradient(circle at 88% -8%, rgba(201,161,91,.12), transparent 26%),
    linear-gradient(180deg, #071C33 0%, #06182B 100%) !important;
}

.empryn-global-footer__newsletter {
  padding-block: clamp(58px, 6vw, 78px) !important;
  background: rgba(11,39,70,.72) !important;
}

.empryn-global-footer__newsletter-inner::before {
  width: 86px;
  background: linear-gradient(90deg, var(--empryn-gold), rgba(201,161,91,0));
}

.empryn-global-footer__newsletter-copy h2 {
  max-width: 650px;
  font-size: clamp(2rem, 3vw, 3.45rem);
  letter-spacing: -.042em;
}

.empryn-global-footer__newsletter-form input[type="email"],
.empryn-global-footer__newsletter-form input[type="text"] {
  min-height: 56px;
  border-color: rgba(228,201,138,.30);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  padding-inline: 20px;
}

.empryn-global-footer__newsletter-form button,
.empryn-global-footer__newsletter-form input[type="submit"] {
  min-height: 50px;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

.empryn-global-footer__main {
  padding-top: clamp(58px, 6vw, 84px);
}

.empryn-footer-column h3 {
  margin-bottom: 20px;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.empryn-footer-column li + li { margin-top: 10px; }
.empryn-footer-column a { font-size: .9rem; }

.empryn-footer-socials a {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  color: #fff;
}

.empryn-footer-socials a:hover {
  border-color: var(--empryn-gold);
  background: var(--empryn-gold);
  color: var(--empryn-navy);
}

.empryn-global-footer__bottom {
  min-height: 80px;
}

/* --------------------------------------------------------------------------
   Responsive — deliberately composed for mobile, not just shrunken desktop
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .empryn-container { width: min(calc(100% - 36px), var(--empryn-container)); }
  .empryn-category-page .empryn-category-slide__inner { padding-bottom: 60px !important; }
  .empryn-category-page .empryn-category-slider__controls { width: calc(100% - 36px); }
  .empryn-section { padding-block: clamp(66px, 8vw, 94px); }
  body.empryn-storefront [data-id="logo"],
  body.empryn-storefront .site-logo-container { max-width: 235px; }
}

@media (max-width: 767px) {
  .empryn-container,
  .empryn-store-main { width: min(calc(100% - 28px), var(--empryn-container)); }

  .empryn-home-category-slide__inner { padding-bottom: 76px; }
  .empryn-category-page .empryn-category-slide__inner { padding-bottom: 46px !important; }
  .empryn-category-page .empryn-category-slider__controls {
    bottom: 8px;
    width: calc(100% - 28px);
  }
  .empryn-home-category-slider__controls {
    bottom: 16px;
    width: min(calc(100% - 28px), var(--empryn-container));
  }

  .empryn-section { padding-block: 58px; }
  .empryn-section-heading { margin-bottom: 28px; }
  .empryn-section-heading h2 { font-size: clamp(1.9rem, 9vw, 2.75rem); }

  body.empryn-storefront [data-id="logo"],
  body.empryn-storefront .site-logo-container { max-width: 180px; }

  body.empryn-storefront .woocommerce ul.products { gap: 12px; }
  body.empryn-storefront .woocommerce ul.products li.product {
    padding: 7px 7px 12px;
    border-radius: 17px;
  }
  body.empryn-storefront .woocommerce ul.products li.product img {
    margin-bottom: 11px;
    padding: 5px;
    border-radius: 13px;
  }
  body.empryn-storefront .woocommerce-loop-product__title {
    font-size: .86rem !important;
    line-height: 1.35;
  }
  body.empryn-storefront .woocommerce ul.products li.product .price {
    font-size: .91rem;
    margin-bottom: 10px;
  }
  body.empryn-storefront .woocommerce ul.products li.product .button {
    min-height: 39px;
    padding-inline: 12px;
    font-size: .72rem;
  }

  .empryn-home--2026 .empryn-spotlight-card { border-radius: 22px; }
  .empryn-rail-card { border-radius: 18px !important; }
  .empryn-global-footer__newsletter-copy h2 { font-size: clamp(1.9rem, 9vw, 2.75rem); }
}

@media (max-width: 420px) {
  .empryn-container,
  .empryn-store-main { width: min(calc(100% - 22px), var(--empryn-container)); }

  body.empryn-storefront .woocommerce ul.products li.product .button {
    width: 100%;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.empryn-storefront *,
  body.empryn-storefront *::before,
  body.empryn-storefront *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
