/* =============================================================================
   DEALZKART DESIGN POLISH — Senior review fixes
   Load last. Resolves legacy styles.css conflicts; unifies typography & rhythm.
   ============================================================================= */

/* ── Shared tokens (mirror dd-luxury-store for pages outside .ls-store) ── */
:root {
  --dk-font: "Outfit", "Inter", system-ui, sans-serif;
  --dk-ink: #0c0c0e;
  --dk-muted: #64656b;
  --dk-line: #e8e8ec;
  --dk-surface: #ffffff;
  --dk-bg: #f7f7f8;
  --dk-accent: #e85d04;
  --dk-green: #0f7a45;
  --dk-green-soft: #e8f5ee;
  --dk-r: 16px;
  --dk-r-sm: 8px;
  --dk-shadow: 0 4px 24px rgba(12, 12, 14, 0.06);
  --dk-shadow-hover: 0 12px 40px rgba(12, 12, 14, 0.1);
  --dk-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
  --dk-u: 8px;
  --dk-s1: 8px;
  --dk-s2: 16px;
  --dk-s3: 24px;
  --dk-s4: 32px;
  --dk-max: 1440px;
  --dk-rail: 168px;
}

body:has(.ls-store-page.active),
body:has(.ls-pdp-page.active) {
  background: var(--dk-bg);
}
.main-content:has(#home.ls-store-page.active),
.main-content:has(#deals.ls-store-page.active),
.main-content:has(#productDetail.ls-pdp-page.active) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (min-width: 1024px) {
  .main-content:has(#home.ls-store-page.active),
  .main-content:has(#deals.ls-store-page.active),
  .main-content:has(#productDetail.ls-pdp-page.active) {
    padding-bottom: 0 !important;
  }
}

#home.ls-store-page.page.active,
#deals.ls-store-page.page.active {
  background: var(--dk-bg) !important;
}

#productDetail.ls-pdp-page.page.active {
  background: var(--dk-bg) !important;
  max-width: none !important;
  padding: 0 !important;
  font-family: var(--dk-font);
}

/* Kill legacy Amazon PDP overrides */
#productDetail.ls-pdp-page #detailTitle.product-title {
  font-family: var(--dk-font) !important;
  font-size: clamp(1.375rem, 2.8vw, 1.75rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.35 !important;
  color: var(--dk-ink) !important;
  margin: 0 0 12px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

#productDetail.ls-pdp-page #detailPrice.product-description,
#productDetail.ls-pdp-page .pdp-price-block {
  font-family: var(--dk-font) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: var(--dk-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 8px 10px !important;
}

#productDetail.ls-pdp-page #detailPrice .detail-price-main {
  color: var(--dk-ink) !important;
}

#productDetail.ls-pdp-page #detailMeta.product-meta {
  font-size: 0.8125rem;
  color: var(--dk-muted);
  line-height: 1.5;
  margin: 0;
}

#productDetail.ls-pdp-page .pdp-gallery #detailImageBox,
#productDetail.ls-pdp-page #detailImageBox {
  aspect-ratio: unset !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#productDetail.ls-pdp-page .detail-main-visual {
  min-height: 0 !important;
  background: #fafafa !important;
  border-radius: var(--dk-r-sm) !important;
}

#productDetail.ls-pdp-page .detail-main-visual .detail-main-img {
  max-height: none !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

#productDetail.ls-pdp-page .detail-meta-line {
  font-size: 0.8125rem;
  color: var(--dk-muted);
  margin: 0;
  line-height: 1.4;
}

#productDetail.ls-pdp-page .detail-choose-heading {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 var(--dk-s1);
  color: var(--dk-ink);
}

#productDetail.ls-pdp-page .detail-deal-variant-note {
  font-size: 0.8125rem;
  color: var(--dk-muted);
  line-height: 1.5;
  margin: 0 0 var(--dk-s2);
}

#productDetail.ls-pdp-page .detail-best-deal-card {
  border-radius: var(--dk-r);
  border: 1px solid var(--dk-line);
  padding: var(--dk-s2);
  background: var(--dk-surface);
  box-shadow: var(--dk-shadow);
}

#productDetail.ls-pdp-page .detail-deal-store {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dk-muted);
  margin-bottom: var(--dk-s2);
}

#productDetail.ls-pdp-page .detail-deal-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--dk-s2);
  padding: var(--dk-s1) 0;
  font-size: 0.875rem;
  border-bottom: 1px solid var(--dk-line);
}

#productDetail.ls-pdp-page .detail-deal-row:last-of-type {
  border-bottom: none;
}

#productDetail.ls-pdp-page .detail-deal-cashback strong {
  color: var(--dk-green);
}

#productDetail.ls-pdp-page .detail-trust-panel {
  font-size: 0.8125rem;
  line-height: 1.45;
}

#productDetail.ls-pdp-page .detail-desc-block {
  font-size: 0.875rem;
  color: var(--dk-muted);
  line-height: 1.6;
}

/* ── Store: section typography & rhythm ── */
.ls-block-head__title {
  font-size: clamp(1.125rem, 2vw, 1.375rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.15 !important;
}

.ls-block-head__sub {
  font-size: 0.875rem !important;
  color: var(--ls-muted, var(--dk-muted)) !important;
  line-height: 1.45 !important;
  max-width: 42ch;
  margin-top: var(--dk-s1) !important;
}

.ls-block__inner {
  padding-top: var(--dk-s3) !important;
  padding-bottom: var(--dk-s3) !important;
}

@media (min-width: 1024px) {
  .ls-block__inner {
    padding-top: var(--dk-s4) !important;
    padding-bottom: var(--dk-s4) !important;
  }
}

.ls-hero-full__title {
  letter-spacing: -0.04em;
}

/* ── Product cards: alignment & rail consistency ── */
.pc {
  border: 1px solid var(--dk-line);
  box-shadow: var(--dk-shadow);
}

.pc__title {
  min-height: calc(2 * 1.35em);
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.pc-rail,
.pdp-section__rail {
  gap: var(--dk-s2);
  scroll-padding-inline: var(--dk-s2);
}

.pdp-section__rail:not(.pdp-related-stack) .pc--compact,
#moreProductsList.pc-rail:not(.pdp-related-stack) .pc--compact {
  flex: 0 0 var(--pc-rail-compact-w, 280px);
  width: var(--pc-rail-compact-w, 280px);
  height: auto;
}

.pdp-related-stack .pc--compact,
#moreProductsList.pdp-related-stack .pc--compact {
  flex: none;
  width: 100%;
  max-width: 100%;
}

.pdp-section__rail .pc--standard,
#moreProductsList.pc-rail .pc--standard {
  flex: 0 0 var(--dk-rail);
  width: var(--dk-rail);
  height: auto;
}

/* ── Secondary pages: unified premium shell ── */
#search.page.active,
#cart.cart-page.page.active,
#account.account-page.page.active,
#spin.spin-page.page.active,
#spin-history.spin-history-page.page.active,
#support.support-page.page.active,
#about.page.active,
#terms.page.active,
#faq.page.active,
#refer.page.active,
#rewards-guide.page.active,
#delete-account.account-delete-page.page.active {
  font-family: var(--dk-font);
  color: var(--dk-ink);
  background: var(--dk-bg) !important;
}

/* Search */
#search.page.active .search-page-shell {
  max-width: var(--dk-max);
  margin: 0 auto;
  padding: var(--dk-s2) var(--dk-s2) var(--dk-s4);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  #search.page.active .search-page-shell {
    padding: var(--dk-s3);
  }
}

#search .search-page-title {
  font-family: var(--dk-font);
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  color: var(--dk-ink) !important;
}

#search .search-bc-link {
  color: var(--dk-ink) !important;
  font-weight: 600;
  text-decoration: none;
}

#search .search-bc-link:hover {
  color: var(--dk-accent) !important;
  text-decoration: underline;
}

#search .search-filter-heading {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dk-muted);
}

#search .search-results-grid {
  gap: var(--dk-s2);
}

#search .card-mini--search {
  border-radius: var(--dk-r);
  border: 1px solid var(--dk-line);
  background: var(--dk-surface);
  box-shadow: var(--dk-shadow);
  overflow: hidden;
  transition: transform 0.22s var(--dk-ease), box-shadow 0.22s var(--dk-ease);
}

#search .card-mini--search:hover {
  transform: translateY(-2px);
  box-shadow: var(--dk-shadow-hover);
}

#search .search-card-price-main {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--dk-ink) !important;
}

#search .search-discount-pill {
  background: var(--dk-green-soft);
  color: var(--dk-green);
  font-weight: 700;
  border-radius: var(--dk-r-sm);
  padding: 2px 8px;
  font-size: 0.6875rem;
}

#search .search-card-cashback {
  background: var(--dk-green-soft);
  border-radius: var(--dk-r-sm);
  padding: 6px 10px;
  font-size: 0.75rem;
  color: var(--dk-green);
}

#search .search-card-add-cart,
#search .search-load-more-btn {
  border-radius: var(--dk-r-sm);
  font-weight: 600;
  font-family: var(--dk-font);
}

#search .search-sort-select {
  border-radius: var(--dk-r-sm);
  border: 1px solid var(--dk-line);
  font-family: var(--dk-font);
}

/* Cart */
#cart.cart-page.page.active {
  background: var(--dk-bg) !important;
}

#cart.cart-page .cart-page-shell {
  max-width: var(--dk-max);
  margin: 0 auto;
  padding: var(--dk-s2) var(--dk-s2) var(--dk-s4);
}

#cart.cart-page .cart-hero__title {
  font-family: var(--dk-font);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--dk-ink);
}

#cart.cart-page .cart-trust__pill {
  border-radius: var(--dk-r-sm);
  font-size: 0.75rem;
}

/* Account */
#account.account-page .account-page-shell {
  max-width: var(--dk-max);
  margin: 0 auto;
  padding: var(--dk-s2);
}

#account .account-hero__title,
#account .guest-card__title {
  font-family: var(--dk-font);
  font-weight: 700;
  letter-spacing: -0.03em;
}

#account .primary-btn,
#account .guest-card .primary-btn {
  border-radius: var(--dk-r-sm);
  font-weight: 700;
  font-family: var(--dk-font);
  min-height: 44px;
}

#account .profile-container,
#account .stat-box,
#account .guest-card {
  border-radius: var(--dk-r);
  border: 1px solid var(--dk-line);
  box-shadow: var(--dk-shadow);
}

/* Spin & rewards */
#spin.spin-page.page.active {
  background: var(--dk-bg) !important;
}

#spin.spin-page .spin-page-wrapper {
  max-width: var(--dk-max);
  margin: 0 auto;
  padding: var(--dk-s2);
  box-sizing: border-box;
}

#spin.spin-page .spin-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dk-muted);
}

#spin.spin-page .spin-hero__title {
  font-family: var(--dk-font);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--dk-ink);
}

#spin.spin-page .spin-container,
#spin-history.spin-history-page .spin-history-shell {
  max-width: var(--dk-max);
  margin: 0 auto;
}

#spin-history.spin-history-page.page.active {
  background: var(--dk-bg) !important;
}

/* Deals page */
#deals.deals-page .deals-page-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Content / legal pages */
#about.page.active .info-card,
#terms.page.active .info-card,
#faq.page.active .info-card,
#refer.page.active .info-card,
#rewards-guide.page.active .info-card,
#support.support-page .info-card,
#delete-account .info-card {
  max-width: 720px;
  margin: 0 auto var(--dk-s3);
  padding: var(--dk-s3);
  border-radius: var(--dk-r);
  border: 1px solid var(--dk-line);
  background: var(--dk-surface);
  box-shadow: var(--dk-shadow);
  line-height: 1.65;
}

#about.page.active h1,
#terms.page.active h1,
#faq.page.active h1,
#support.support-page h1 {
  font-family: var(--dk-font);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--dk-ink);
}

#about.page.active .inline-link,
#terms.page.active .inline-link,
#support.support-page .inline-link {
  color: var(--dk-ink);
  font-weight: 600;
}

/* Global CTA consistency on premium surfaces */
.ls-store-page .see-deal-btn,
.grab-deal-btn,
.pdp-cta-primary,
.pc__btn {
  font-family: var(--dk-font);
}

/* Footer alignment with store */
.site-footer {
  font-family: var(--dk-font);
  border-top: 1px solid var(--dk-line);
}

@media (prefers-reduced-motion: reduce) {
  .pc:hover,
  #search .card-mini--search:hover {
    transform: none;
  }
}
