/* Appily Fortyone — unified Vegist inner-page theme overrides */

body.a41-store:not(.page-home) .page-main {
  padding-top: 0;
  background: #ffffff;
}

/* Stop decorative orb motion */
[class*="-orb"],
[class*="-spotlight-ring"],
[class*="-tally-ring"] svg {
  animation: none !important;
}

/* Shared hero bands — bright soft heroes (no muddy peach coat) */
.a41-basket-hero,
.a41-roots-hero,
.a41-guide-hero,
.a41-gate-hero,
.a41-canopy-hero,
.a41-pulse-hero,
.a41-wire-hero,
.a41-trail-hero,
.a41-radar-hero,
.a41-seal-hero,
.a41-contact-hero,
.a41-orders-hero,
.a41-bazaar-hero,
.a41-spark-hero {
  background:
    linear-gradient(180deg, #ffffff 0%, #f6faf3 100%) !important;
}

/* Preserve dark/brand heroes with readable light text */
.a41-policy-hero,
.a41-sow-hero,
.a41-passport-cover,
.a41-passport-cover-sky {
  /* keep page-owned backgrounds */
}

.a41-policy-hero {
  background: linear-gradient(135deg, #7a8f52 0%, #65753b 100%) !important;
  color: var(--a41-white) !important;
}

.a41-policy-hero h1,
.a41-policy-hero .a41-policy-lede,
.a41-policy-hero p {
  color: var(--a41-white) !important;
}

/* Light soft heroes: force dark readable copy (in case older rules used white) */
.a41-basket-hero,
.a41-roots-hero,
.a41-guide-hero,
.a41-gate-hero,
.a41-canopy-hero,
.a41-pulse-hero,
.a41-contact-hero,
.a41-orders-hero {
  color: var(--a41-ink) !important;
}

.a41-basket-hero h1,
.a41-roots-hero h1,
.a41-guide-hero h1,
.a41-gate-hero h1,
.a41-canopy-hero h1,
.a41-pulse-hero h1,
.a41-contact-hero h1,
.a41-orders-hero h1 {
  color: var(--a41-ink) !important;
}

[class*="-orb--plum"],
[class*="-orb--sage"] {
  opacity: 0.12 !important;
  filter: blur(48px) !important;
}

[class*="-orb--plum"] {
  background: hsla(85, 35%, 72%, 0.35) !important;
}

[class*="-orb--sage"] {
  background: hsla(120, 30%, 82%, 0.4) !important;
}

/* Spotlight / title cards */
[class*="-spotlight"],
[class*="-gallery-spotlight"],
[class*="-ledger-spotlight"],
[class*="-passport-spotlight"],
[class*="-specimen-spotlight"],
[class*="-vault-spotlight"],
[class*="-folio-spotlight"],
[class*="-beacon-spotlight"],
[class*="-seal-spotlight"],
[class*="-concierge-spotlight"],
[class*="-relay-spotlight"],
[class*="-dispatch-spotlight"],
[class*="-index-spotlight"],
.a41-atelier-spotlight {
  background: linear-gradient(135deg, #7a8f52 0%, #65753b 100%) !important;
  color: var(--a41-white) !important;
  border-radius: var(--a41-radius) !important;
  clip-path: none !important;
  box-shadow: var(--a41-shadow) !important;
}

[class*="-spotlight"] h1,
[class*="-spotlight"] h2,
[class*="-spotlight"] p,
[class*="-spotlight"] span,
[class*="-spotlight"] a,
.a41-atelier-spotlight h1,
.a41-atelier-spotlight p {
  color: var(--a41-white) !important;
}

[class*="-kicker"],
[class*="-gallery-kicker"],
[class*="-ledger-kicker"],
[class*="-passport-kicker"] {
  color: var(--a41-gold) !important;
  letter-spacing: 0.12em !important;
}

/* Primary action buttons across pages */
[class*="-btn--primary"],
[class*="-btn-primary"],
.btn-primary,
.a41-atelier-btn--primary {
  background: var(--a41-gold) !important;
  border-color: var(--a41-gold) !important;
  color: #1f1a12 !important;
  border-radius: var(--a41-radius) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

[class*="-btn--primary"]:hover,
[class*="-btn-primary"]:hover,
.btn-primary:hover,
.a41-atelier-btn--primary:hover {
  background: var(--a41-gold-dark) !important;
  border-color: var(--a41-gold-dark) !important;
  color: #1f1a12 !important;
  text-decoration: none !important;
}

[class*="-btn--soft"],
[class*="-btn-soft"],
.btn-outline,
.a41-atelier-btn--soft {
  background: var(--a41-white) !important;
  border: 1px solid var(--a41-border) !important;
  color: var(--a41-olive-dark) !important;
  border-radius: var(--a41-radius) !important;
}

/* Soft buttons on dark passport / hero panels keep light label */
.a41-passport-spine .a41-passport-btn--soft,
.a41-passport-perks .a41-passport-btn--soft,
.a41-sow-strip [class*="-btn--soft"],
[class*="-spotlight"] [class*="-btn--soft"] {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #ffffff !important;
}

.a41-passport-entry .a41-passport-btn--soft {
  background: rgba(101, 117, 59, 0.1) !important;
  border: 1px solid rgba(101, 117, 59, 0.28) !important;
  color: #2f3a1f !important;
}

[class*="-btn--soft"]:hover,
.a41-atelier-btn--soft:hover {
  border-color: var(--a41-olive) !important;
  background: var(--a41-sage) !important;
}

/* Panels & cards */
[class*="-panel"],
[class*="-registry"],
[class*="-sheet"],
[class*="-stage"] > article,
.a41-atelier-gallery,
.a41-atelier-registry {
  border-color: var(--a41-border) !important;
  border-radius: var(--a41-radius) !important;
  box-shadow: var(--a41-shadow) !important;
}

/* Shop product grid cards */
.a41-shop-card {
  background: var(--a41-white);
  border: 1px solid var(--a41-border);
  border-radius: var(--a41-radius);
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.a41-shop-card:hover {
  box-shadow: var(--a41-shadow);
}

.a41-shop-card-img {
  aspect-ratio: 1;
  padding: 18px;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 255, 255, 0.98) 0%, transparent 58%),
    linear-gradient(160deg, #f5f1e8 0%, #e8efe5 100%);
  position: relative;
  box-sizing: border-box;
}

.a41-shop-card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.a41-shop-sale {
  position: absolute;
  top: 10px;
  right: 10px;
  background: var(--a41-red);
  color: var(--a41-white);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 2px;
}

.a41-shop-card-title {
  margin: 0;
  padding: 12px 14px 4px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.a41-shop-card-price {
  margin: 0;
  padding: 0 14px 14px;
  font-size: 15px;
}

.a41-shop-card-price strong {
  font-weight: 700;
}

.a41-shop-card-price s {
  margin-right: 8px;
  color: var(--a41-muted);
  font-size: 13px;
}

.a41-shop-card-link {
  color: inherit;
  text-decoration: none;
}

.a41-shop-card-link:hover {
  text-decoration: none;
}

.a41-shop-card-link:hover .a41-shop-card-title {
  color: var(--a41-olive);
}

/* Filter sidebar */
[class*="-filter"],
[class*="-sidebar"],
.a41-gallery-rail {
  background: var(--a41-white) !important;
  border: 1px solid var(--a41-border) !important;
  border-radius: var(--a41-radius) !important;
}

[class*="-filter"] a.is-active,
[class*="-chip"].is-active,
.a41-gallery-chip.is-active {
  background: var(--a41-olive) !important;
  border-color: var(--a41-olive) !important;
  color: var(--a41-white) !important;
}

/* Tables */
[class*="-table"] th,
table th {
  color: var(--a41-olive) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 11px;
}

/* Auth / account tabs */
[class*="-tab"].is-active,
.dash-tab.is-active,
.a41-vault-tab.is-active {
  color: var(--a41-olive) !important;
  border-color: var(--a41-gold) !important;
}

/* Buy panels — only true buy-panel shells (not product buy columns) */
.buy-panel {
  background: var(--a41-olive) !important;
  border-radius: var(--a41-radius) !important;
  color: var(--a41-white) !important;
}

.buy-panel,
.buy-panel p,
.buy-panel span,
.buy-panel label,
.buy-panel strong,
.buy-panel small {
  color: var(--a41-white) !important;
}

.price-lg,
[class*="-price-lg"] {
  color: var(--a41-gold) !important;
}

/* Status badges */
[class*="-badge"],
.status-pill {
  border-radius: 999px !important;
}

/* Pagination */
.pagination-num.is-active,
[class*="-page"].is-active {
  background: var(--a41-gold) !important;
  border-color: var(--a41-gold) !important;
  color: var(--a41-white) !important;
}

/* Company atelier tiles */
.a41-atelier-tile:hover {
  border-color: var(--a41-olive) !important;
}

.a41-atelier-orb--plum {
  background: hsla(85, 35%, 75%, 0.22) !important;
}

.a41-atelier-orb--sage {
  background: hsla(120, 30%, 85%, 0.25) !important;
}

.a41-atelier-hero {
  background: linear-gradient(180deg, #ffffff, #f6faf3) !important;
}

.a41-atelier-spotlight h1 em {
  color: var(--a41-gold) !important;
}

.a41-atelier-stat {
  border-color: var(--a41-border) !important;
  background: var(--a41-white) !important;
}

.a41-atelier-stat strong {
  color: var(--a41-olive) !important;
}

/* Forms focus */
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(229, 168, 35, 0.45) !important;
  border-color: var(--a41-gold) !important;
}

/* Auth gate */
.auth-split-tabs {
  background: var(--a41-olive) !important;
}

.auth-split-tab.is-active {
  color: var(--a41-gold) !important;
}

.auth-tab-indicator {
  background: var(--a41-gold) !important;
}

.auth-split-panels:not(.a41-vault-auth-wrap) .auth-split-panel.is-focused {
  box-shadow: inset 0 0 0 2px rgba(229, 168, 35, 0.35) !important;
}

/* Gallery product grid */
.a41-gallery-grid,
[class*="-product-grid"],
[class*="-grid-cards"] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}

/* Neutralize leftover purple accents from legacy atelier CSS */
[class*="-spotlight"] h1 em,
[class*="-hero"] h1 em {
  color: var(--a41-gold) !important;
}

/* Only force gold fill on true primary/gold CTAs — not every *-btn (outline/ghost stay readable) */
[class*="-btn--primary"],
[class*="-btn-primary"],
[class*="-btn--gold"],
[class*="-submit"],
.btn-primary,
.a41-btn--gold {
  background: var(--a41-gold) !important;
  border-color: var(--a41-gold) !important;
  color: #1f1a12 !important;
  border-radius: var(--a41-radius) !important;
  box-shadow: 0 8px 22px rgba(229, 168, 35, 0.22) !important;
}

[class*="-btn--outline"],
[class*="-btn--ghost"],
.btn-outline {
  color: var(--a41-olive-dark) !important;
}

.a41-passport-btn--ghost,
.a41-passport-spine [class*="-btn--ghost"],
.a41-passport-perks [class*="-btn--ghost"],
.a41-sow-cta--ghost,
.buy-panel [class*="-btn--ghost"],
[class*="-spotlight"] [class*="-btn--ghost"] {
  color: #ffffff !important;
}

[class*="-badge"],
[class*="-pill"].is-active,
[class*="-chip"].is-active {
  background: var(--a41-olive) !important;
  border-color: var(--a41-olive) !important;
  color: var(--a41-white) !important;
}

[class*="-panel-head"],
[class*="-sheet-head"],
[class*="-stage-head"] {
  border-bottom-color: var(--a41-border) !important;
}

[class*="-accent-bar"],
[class*="-progress"],
[class*="-rail"]::before {
  background: linear-gradient(90deg, var(--a41-olive), var(--a41-sage-mid), var(--a41-gold)) !important;
}

.tone-plum,
[class*="tone-plum"] {
  --vol-accent: var(--a41-olive) !important;
  --stop-tone: var(--a41-olive) !important;
}

[class*="-stop"].tone-plum.is-current [class*="-stop-node"],
[class*="-stop"].tone-plum.is-passed [class*="-stop-node"] {
  border-color: var(--a41-olive) !important;
  color: var(--a41-olive) !important;
}

[class*="-empty"],
[class*="-miss"] {
  background: var(--a41-cream) !important;
  border-color: var(--a41-border) !important;
}

@media (max-width: 768px) {
  [class*="-hero-grid"],
  [class*="-split"],
  .dual,
  .product-layout {
    grid-template-columns: 1fr !important;
  }
}
