/*
 * SHOWPLACE.ART — Theme: Dark
 * ─────────────────────────────────────────────────────────────────────────────
 * Dramatic, classy, minimalist noir with subtle lighting and texture depth.
 * Visual-only overrides that work across all layouts.
 */

:root {
  --dark-bg: #090b0f;
  --dark-bg-elev-1: #12161c;
  --dark-bg-elev-2: #030405;
  --dark-bg-glass: rgba(15, 19, 26, 0.8);
  --dark-text: #f0ece3;
  --dark-text-soft: #c2b9aa;
  --dark-text-muted: #968d81;
  --dark-accent: #c8a46a;
  --dark-accent-soft: #8f7248;
  --dark-border: rgba(255, 255, 255, 0.12);
  --dark-shadow-soft: 0 18px 40px -34px rgba(0, 0, 0, 0.95);
  --dark-shadow-deep: 0 22px 52px -26px rgba(0, 0, 0, 0.92);
  --dark-glow: 0 0 0 1px rgba(200, 164, 106, 0.24);
}

/* ── Page ────────────────────────────────────────────────────────────────── */

.sp-preview {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background:
    radial-gradient(1200px 700px at 14% 9%, rgba(219, 200, 165, 0.12), transparent 55%),
    radial-gradient(900px 600px at 84% 15%, rgba(130, 147, 187, 0.1), transparent 56%),
    linear-gradient(176deg, #07090d 0%, #0d1015 36%, #090b0f 100%);
  color: var(--dark-text);
  font-family: "Avenir Next", "Inter", "Helvetica Neue", Arial, sans-serif;
}

.sp-preview::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.013) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0 1px, transparent 1px 4px);
  opacity: 0.28;
}

.sp-preview > * {
  position: relative;
  z-index: 1;
}

/* .sp-preview a {
  color: inherit;
} */

.powered-by,
.powered-by-link,
.powered-by a {
  color: var(--dark-text-muted);
}

/* ── Navigation (top + sidebar) ─────────────────────────────────────────── */

.sp-nav,
.sp-sidebar-nav {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.015)),
    var(--dark-bg-glass);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), var(--dark-shadow-soft);
  backdrop-filter: blur(8px);
}

.sp-nav {
  border-bottom: 1px solid var(--dark-border);
}

.sp-sidebar-nav {
  border-right: 1px solid var(--dark-border);
}

.sp-nav-logo,
.sp-sidebar-logo {
  color: var(--dark-text);
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sp-nav-link {
  color: var(--dark-text-soft);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.sp-nav-link:hover {
  color: var(--dark-accent);
}

/* ── Hero + content surfaces ─────────────────────────────────────────────── */

.sp-product-details,
.sp-slide-info {
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01)),
    var(--dark-bg-elev-1);
  border: 1px solid var(--dark-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), var(--dark-shadow-soft);
}

.sp-slide-info {
    padding: 16px;
}

.sp-hero,
.sp-gallery-wrap,
.sp-grid-section,
.sp-masonry-wrap,
.sp-slideshow-main {
  border-radius: 16px;
}

/* ── Artwork cards ───────────────────────────────────────────────────────── */

.artwork-card {
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.026), rgba(255, 255, 255, 0.01)),
    var(--dark-bg-elev-1);
  border: 1px solid var(--dark-border);
  box-shadow: var(--dark-shadow-soft);
  transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
}

.artwork-card:hover {
  border-color: rgba(200, 164, 106, 0.42);
  box-shadow: var(--dark-shadow-deep), var(--dark-glow);
  transform: translateY(-2px);
}

.artwork-image,
.sp-masonry-item img,
.sp-slide img,
.sp-product-image img {
  box-shadow: 0 18px 30px -28px rgba(0, 0, 0, 1);
}

.artwork-title,
.sp-hero-title,
.sp-slide-title,
.sp-page-title,
.sp-product-title {
  color: var(--dark-text);
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, serif;
  letter-spacing: 0.01em;
}

.artwork-meta,
.sp-hero-meta,
.sp-page-subtitle,
.sp-enquiry-subject,
.sp-slide-meta,
.sp-page-info,
.sp-page-counter,
.sp-load-more,
.sp-product-meta-label,
.sp-form-label,
.sp-product-sold,
.sp-back-link,
.sp-product-blurb,
p.sp-slide-caption {
  color: var(--dark-text-muted);
}

.artwork-price,
.sp-hero-price,
.sp-slide-price,
.sp-product-meta-value {
  color: var(--dark-accent);
}

/* ── Buttons, links, controls ───────────────────────────────────────────── */

.sp-hero-cta,
.sp-form-btn {
  background: linear-gradient(125deg, #c8a46a, #9a7a4d 64%, #7e633f);
  color: #fff;
  border: 1px solid rgba(225, 196, 150, 0.5);
  box-shadow: 0 10px 24px -18px rgba(0, 0, 0, 0.92);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
}

.sp-hero-cta:hover,
.sp-form-btn:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.sp-page-btn,
.sp-slide-view-link {
  color: var(--dark-text-soft);
}

.sp-page-btn:hover:not(:disabled),
.sp-slide-view-link:hover,
.sp-back-link:hover {
  color: var(--dark-accent);
}

/* ── Forms + alerts ─────────────────────────────────────────────────────── */

.sp-form-input,
.sp-form-textarea {
  background: var(--dark-bg-elev-2);
  color: var(--dark-text);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.sp-form-input:focus,
.sp-form-textarea:focus {
  outline: none;
  border-color: var(--dark-accent);
  box-shadow: 0 0 0 3px rgba(200, 164, 106, 0.18);
}

.sp-form-input-error {
  border-color: #dd8f8f;
}

.sp-form-error {
  color: #e8afaf;
}

.sp-alert {
  background: rgba(200, 164, 106, 0.08);
  border: 1px solid rgba(200, 164, 106, 0.28);
  color: var(--dark-text-soft);
}

.sp-alert-success {
  background: rgba(115, 156, 118, 0.14);
  border: 1px solid rgba(146, 196, 151, 0.4);
  color: #d6ebd7;
}

/* Override inline light alert styles on product and order-confirmation pages. */
.sp-product-page .sp-alert {
  background: rgba(200, 164, 106, 0.08) !important;
  border: 1px solid rgba(200, 164, 106, 0.28) !important;
}

.sp-product-page .sp-alert p,
.sp-product-page .sp-alert b,
.sp-product-page .sp-alert strong {
  color: var(--dark-text-soft) !important;
}


/* ── Collections (header + homepage preview) ───────────────────────────── */

.sp-collection-title {
  color: var(--dark-text);
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, serif;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.15;
  letter-spacing: 0.01em;
}

.sp-collection-blurb {
  color: var(--dark-text-muted);
  font-size: 16px;
  line-height: 1.7;
}

.sp-collections-row {
  padding: 0;
}

.sp-collections-preview-title,
.sp-all-artworks-title {
  color: var(--dark-text-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sp-collection-card-thumb {
  background: var(--dark-bg-elev-1);
}

.sp-collection-card {
  border: 1px solid var(--dark-border);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.026), rgba(255, 255, 255, 0.01)),
    var(--dark-bg-elev-1);
}

.sp-collection-card-content {
  padding: 12px;
}

.sp-collection-card-name {
  color: var(--dark-text);
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}

.sp-collection-card-count {
  color: var(--dark-text-muted);
  font-size: 13px;
  display: block;
}

/*
 Buy / shipping page
 */
.sp-buy-totals {
  color: var(--dark-text-muted);
}
.sp-buy-totals-row.is-total {
  border-top: 1px solid var(--dark-border);
}
.sp-buy-unavailable {
  color: var(--dark-accent);
}

/* multi-image products: gallery thumbnails */
.sp-product-thumb.is-active {
  border: 1px solid var(--dark-accent);
}

/* ── Subtle layout adjustments for small screens ────────────────────────── */

@media (max-width: 768px) {
  .sp-hero,
  .sp-gallery-wrap,
  .sp-grid-section,
  .sp-masonry-wrap,
  .sp-slideshow-main {
    border-radius: 12px;
  }

  .sp-nav,
  .sp-sidebar-nav {
    backdrop-filter: none;
  }
}
