/**
 * Premium Deluxe — storefront overrides for default Bootstrap markup inside .pd-body
 */
body.pd-body {
  --bs-body-bg: var(--pd-bg);
  --bs-body-color: var(--pd-text);
  --bs-primary: var(--pd-primary);
  --bs-primary-rgb: var(--pd-primary-rgb, 13, 110, 253);
  --bs-card-bg: var(--pd-card);
  --bs-secondary-bg: color-mix(in srgb, var(--pd-text) 6%, var(--pd-bg));
  --bs-secondary-color: color-mix(in srgb, var(--pd-text) 55%, var(--pd-bg));
  --bs-primary-bg-subtle: var(--pd-accent-soft);
  --bs-border-color: color-mix(in srgb, var(--pd-text) 14%, transparent);
  --bs-border-color-translucent: color-mix(in srgb, var(--pd-text) 10%, transparent);
  --bs-border-radius: var(--pd-radius);
  --bs-border-radius-lg: calc(var(--pd-radius) * 1.5);
  --bs-border-radius-xl: calc(var(--pd-radius) * 2);
  background: var(--pd-bg) !important;
  color: var(--pd-text);
}

body.pd-body h1,
body.pd-body h2,
body.pd-body h3,
body.pd-body .h1,
body.pd-body .h2,
body.pd-body .h3,
body.pd-body .h4 {
  font-family: var(--pd-font-heading, Inter, system-ui, sans-serif);
  letter-spacing: -0.02em;
}

body.pd-body .pd-header {
  backdrop-filter: blur(14px) saturate(1.2);
  background: color-mix(in srgb, var(--pd-card) 90%, transparent);
  border-bottom-color: color-mix(in srgb, var(--pd-primary) 12%, transparent);
}

body.pd-body .pd-main--shop {
  max-width: none;
  padding: 0;
}

body.pd-body .pd-main__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.25rem calc(1rem + 5px) 5rem;
}

@media (max-width: 991.98px) {
  body.pd-body .pd-main__inner {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  }
}

body.pd-body .pd-page--checkout .pd-main__inner {
  max-width: min(1280px, calc(100vw - 2rem));
}

body.pd-body .pd-page--checkout .pd-estore-page--checkout {
  max-width: 100%;
}

body.pd-body .pd-block,
body.pd-body .pd-section,
body.pd-body .shop-home-section,
body.pd-body .auction-home-section {
  padding-inline: 5px;
  box-sizing: border-box;
}

.pd-page--product .pd-main__inner {
  padding-inline: calc(1rem + 5px);
}

body.pd-body .home-premium-intro {
  margin-top: 0 !important;
  border: none !important;
  border-radius: calc(var(--pd-radius) * 2.5) !important;
  padding: clamp(2.5rem, 6vw, 4.25rem) clamp(1.25rem, 4vw, 2.5rem) !important;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--pd-primary) 22%, var(--pd-card)),
    color-mix(in srgb, var(--pd-secondary) 6%, var(--pd-card))
  ) !important;
  box-shadow: var(--pd-shadow);
  position: relative;
  overflow: hidden;
}

body.pd-body .home-premium-intro::before {
  content: "";
  position: absolute;
  inset: -40% 30% auto -20%;
  height: 120%;
  background: radial-gradient(circle, color-mix(in srgb, var(--pd-primary) 35%, transparent), transparent 65%);
  pointer-events: none;
  opacity: 0.55;
}

body.pd-body .home-premium-intro__inner {
  position: relative;
  z-index: 1;
}

body.pd-body .home-premium-intro__eyebrow {
  display: inline-block;
  padding: 0.35rem 0.9rem;
  margin-bottom: 1rem !important;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pd-primary) 14%, var(--pd-card));
  color: var(--pd-primary) !important;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
}

body.pd-body .home-premium-intro h1 {
  font-size: clamp(2.1rem, 5.5vw, 3.5rem) !important;
  font-weight: 800;
  line-height: 1.08;
}

body.pd-body .home-premium-intro__cta {
  border-radius: 999px !important;
  padding: 0.75rem 1.75rem !important;
  font-weight: 600;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--pd-primary) 35%, transparent);
}

body.pd-body .btn-primary {
  --bs-btn-bg: var(--pd-primary);
  --bs-btn-border-color: var(--pd-primary);
  --bs-btn-hover-bg: var(--pd-hover);
  --bs-btn-hover-border-color: var(--pd-hover);
  --bs-btn-active-bg: var(--pd-hover);
  --bs-btn-active-border-color: var(--pd-hover);
  border-radius: var(--pd-radius);
}

body.pd-body .btn-outline-primary {
  --bs-btn-color: var(--pd-primary);
  --bs-btn-border-color: color-mix(in srgb, var(--pd-primary) 55%, transparent);
  --bs-btn-hover-bg: var(--pd-primary);
  --bs-btn-hover-border-color: var(--pd-primary);
  border-radius: var(--pd-radius);
}

body.pd-body .shop-product-card,
body.pd-body .shop-spotlight-home .card,
body.pd-body .card.shop-product-card {
  background: var(--pd-card) !important;
  border: 1px solid color-mix(in srgb, var(--pd-text) 10%, transparent) !important;
  border-radius: calc(var(--pd-radius) * 1.35) !important;
  box-shadow: var(--pd-shadow) !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

body.pd-body .shop-product-card:hover,
body.pd-body .shop-spotlight-home .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--pd-primary) 18%, transparent) !important;
}

body.pd-body .shop-product-card .card-title a {
  font-weight: 600;
  color: var(--pd-text) !important;
}

body.pd-body .text-primary,
body.pd-body .shop-section-heading .text-primary {
  color: var(--pd-primary) !important;
}

body.pd-body .shop-section-heading h2 {
  font-weight: 700;
}

body.pd-body .shop-section-heading hr {
  opacity: 0.15;
}

body.pd-body .shop-spotlight-home {
  padding: 0;
}

body.pd-body .shop-spotlight-home .shop-spotlight-carousel__ctrl,
body.pd-body .shop-spotlight-home .carousel-control-prev,
body.pd-body .shop-spotlight-home .carousel-control-next {
  width: 2.75rem;
  height: 2.75rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1;
}

body.pd-body .shop-spotlight-home .carousel-control-prev-icon,
body.pd-body .shop-spotlight-home .carousel-control-next-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: color-mix(in srgb, #000 55%, transparent) !important;
  background-size: 55% 55%;
}

body.pd-body .shop-home-section {
  margin-bottom: 3rem !important;
}

body.pd-body .pd-footer,
body.pd-body .pd-estore-footer.shop-footer {
  margin-top: 2rem;
  border-radius: 0;
}

body.pd-body .pd-footer a:not(.pd-footer-social__link):not(.pd-footer-store-btn) {
  color: var(--pd-primary);
  text-decoration: none;
  font-weight: 500;
}

body.pd-body .pd-footer a:not(.pd-footer-social__link):not(.pd-footer-store-btn):hover {
  color: var(--pd-hover);
}

body.pd-body .breadcrumb {
  font-size: 0.875rem;
}

body.pd-body .breadcrumb a {
  color: var(--pd-primary);
}

body.pd-body .pd-bottom-nav {
  border-top: 1px solid color-mix(in srgb, var(--pd-text) 8%, transparent);
}

body.pd-body .pd-bottom-nav a.is-active,
body.pd-body .pd-bottom-nav a:hover {
  color: var(--pd-primary);
}

body.pd-body .form-control,
body.pd-body .form-select {
  border-radius: var(--pd-radius);
  border-color: color-mix(in srgb, var(--pd-text) 18%, transparent);
}

body.pd-body .form-control:focus,
body.pd-body .form-select:focus {
  border-color: var(--pd-primary);
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--pd-primary) 22%, transparent);
}

body.pd-mode-dark .home-premium-intro {
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--pd-primary) 28%, #0f172a),
    color-mix(in srgb, var(--pd-secondary) 12%, #111827)
  ) !important;
}

/* Flash toasts */
body.pd-body .global-toast-stack {
  z-index: 12250;
  max-width: min(420px, calc(100vw - 1.5rem));
}

body.pd-body .toast-business {
  min-width: 280px;
  max-width: 380px;
  border-radius: 1rem;
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.35);
  background: linear-gradient(135deg, color-mix(in srgb, var(--pd-card) 95%, #000), var(--pd-card));
  color: var(--pd-text);
  border: 1px solid color-mix(in srgb, var(--pd-text) 14%, transparent) !important;
  border-inline-start: 0.35rem solid var(--pd-muted) !important;
  backdrop-filter: blur(12px);
}

body.pd-body .toast-business__title {
  font-size: 0.9rem;
  color: var(--pd-text);
}

body.pd-body .toast-business__icon-wrap {
  width: 2rem;
  height: 2rem;
  background-color: color-mix(in srgb, var(--pd-primary) 18%, transparent);
}

body.pd-body .toast-business--success {
  border-inline-start-color: #16a34a !important;
}

body.pd-body .toast-business--success .toast-business__icon {
  color: #16a34a;
}

body.pd-body .toast-business--info {
  border-inline-start-color: #2563eb !important;
}

body.pd-body .toast-business--info .toast-business__icon {
  color: #2563eb;
}

body.pd-body .toast-business--error {
  border-inline-start-color: #dc2626 !important;
}

body.pd-body .toast-business--error .toast-business__icon {
  color: #dc2626;
}
