@font-face {
  font-family: "Inter";
  src: url("/wp-content/uploads/spanora-site-2026/inter-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("/wp-content/uploads/spanora-site-2026/cormorant-garamond-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
}

:root {
  --spanora-deep: #0b0c0b;
  --spanora-charcoal: #151715;
  --spanora-soft-charcoal: #20231f;
  --spanora-warm-white: #f7f5f0;
  --spanora-cream: #efeae0;
  --spanora-white: #fff;
  --spanora-gold: #b8944f;
  --spanora-light-gold: #d2b06a;
  --spanora-dark-gold: #927138;
  --spanora-body: #5d605a;
  --spanora-heading: #151715;
  --spanora-border: #ddd8ce;
  --spanora-success: #59745f;
  --spanora-error: #a6423b;
  --spanora-container: 1280px;
  --spanora-gutter: clamp(20px, 3vw, 40px);
  --spanora-section: clamp(76px, 7vw, 108px);
  --spanora-shadow: 0 18px 44px rgba(29, 27, 22, 0.08);
  --spanora-transition: 220ms cubic-bezier(0.2, 0.75, 0.3, 1);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  overflow-x: clip;
}

body {
  margin: 0;
  overflow-x: clip;
  color: var(--spanora-body);
  background: var(--spanora-warm-white);
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}

body.spanora-menu-open {
  overflow: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg {
  max-width: 100%;
}

a {
  color: inherit;
}

a,
button,
input,
select,
textarea {
  transition: color var(--spanora-transition), background-color var(--spanora-transition), border-color var(--spanora-transition), box-shadow var(--spanora-transition), transform var(--spanora-transition), opacity var(--spanora-transition);
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--spanora-light-gold);
  outline-offset: 3px;
}

.spanora-skip-link {
  position: fixed;
  top: 10px;
  left: 14px;
  z-index: 100000;
  transform: translateY(-150%);
  padding: 10px 16px;
  border-radius: 8px;
  color: var(--spanora-deep);
  background: var(--spanora-light-gold);
  font-weight: 800;
  text-decoration: none;
}

.spanora-skip-link:focus {
  transform: translateY(0);
}

.elementor-widget-heading .elementor-heading-title,
.spanora-heading,
.spanora-card-title {
  margin: 0;
  color: var(--spanora-heading);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.spanora-h1 .elementor-heading-title {
  max-width: 880px;
  font-size: clamp(46px, 6.2vw, 88px);
  line-height: 0.98;
}

.spanora-page-h1 .elementor-heading-title {
  max-width: 900px;
  font-size: clamp(44px, 5.6vw, 74px);
  line-height: 1;
}

.spanora-h2 .elementor-heading-title {
  font-size: clamp(38px, 4.3vw, 62px);
  line-height: 1.04;
}

.spanora-h3 .elementor-heading-title {
  font-size: clamp(25px, 2.2vw, 32px);
  line-height: 1.1;
}

.spanora-h4 .elementor-heading-title {
  font-size: 22px;
  line-height: 1.2;
}

.spanora-copy,
.spanora-copy .elementor-widget-container,
.spanora-copy p {
  margin: 0;
  max-width: 68ch;
  color: var(--spanora-body);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.75;
}

.spanora-copy p + p {
  margin-top: 18px;
}

.spanora-eyebrow .elementor-heading-title {
  color: var(--spanora-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.spanora-section {
  width: 100%;
  padding: var(--spanora-section) var(--spanora-gutter);
  background: var(--spanora-warm-white);
}

.spanora-section--white {
  background: var(--spanora-white);
}

.spanora-section--cream {
  background: var(--spanora-cream);
}

.spanora-section--dark {
  color: rgba(255, 255, 255, 0.76);
  background: var(--spanora-charcoal);
}

.spanora-section--deep {
  color: rgba(255, 255, 255, 0.76);
  background: var(--spanora-deep);
}

.spanora-section--dark .elementor-heading-title,
.spanora-section--deep .elementor-heading-title,
.spanora-page-hero .elementor-heading-title,
.spanora-home-hero .elementor-heading-title,
.spanora-section--dark .spanora-copy p,
.spanora-section--deep .spanora-copy p,
.spanora-page-hero .spanora-copy p,
.spanora-home-hero .spanora-copy p {
  color: var(--spanora-white);
}

.spanora-container {
  width: min(100%, var(--spanora-container));
  margin-inline: auto;
}

.spanora-section-head {
  gap: 16px;
  margin-bottom: clamp(34px, 4vw, 54px);
}

.spanora-page-hero {
  min-height: 470px;
  justify-content: center;
  padding-top: clamp(120px, 12vw, 170px);
  padding-bottom: clamp(70px, 7vw, 100px);
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 22%, rgba(184, 148, 79, 0.16), transparent 25%),
    linear-gradient(135deg, var(--spanora-deep), var(--spanora-soft-charcoal));
}

.spanora-page-hero::after,
.spanora-home-hero::after {
  content: "";
  position: absolute;
  width: min(46vw, 620px);
  aspect-ratio: 1;
  right: -12%;
  bottom: -54%;
  border: 1px solid rgba(210, 176, 106, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 56px rgba(210, 176, 106, 0.035), 0 0 0 112px rgba(210, 176, 106, 0.025);
  pointer-events: none;
}

.spanora-page-hero .spanora-container {
  gap: 20px;
  position: relative;
  z-index: 1;
}

.spanora-home-hero {
  min-height: min(820px, calc(100vh - 20px));
  justify-content: center;
  padding-top: clamp(132px, 14vw, 190px);
  padding-bottom: clamp(80px, 8vw, 115px);
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(11, 12, 11, 0.99) 0%, rgba(11, 12, 11, 0.92) 56%, rgba(21, 23, 21, 0.72) 100%),
    radial-gradient(circle at 82% 40%, rgba(184, 148, 79, 0.23), transparent 28%),
    var(--spanora-deep);
}

.spanora-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.65fr);
  align-items: center;
  gap: clamp(46px, 8vw, 120px);
  position: relative;
  z-index: 1;
}

.spanora-hero-copy {
  gap: 22px;
}

.spanora-hero-actions {
  flex-flow: row wrap;
  gap: 12px;
  margin-top: 8px;
}

.spanora-origin .elementor-heading-title {
  color: rgba(255, 255, 255, 0.62);
  font-family: "Inter", Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.spanora-hero-placeholder {
  min-height: 510px;
  overflow: hidden;
  border: 1px solid rgba(210, 176, 106, 0.3);
  border-radius: 24px;
  background:
    linear-gradient(145deg, transparent 0 45%, rgba(184, 148, 79, 0.1) 45% 46%, transparent 46%),
    radial-gradient(circle at 50% 46%, rgba(210, 176, 106, 0.22), transparent 7%),
    radial-gradient(circle at 50% 46%, transparent 0 24%, rgba(210, 176, 106, 0.16) 24% 24.4%, transparent 24.4% 36%, rgba(210, 176, 106, 0.1) 36% 36.3%, transparent 36.3%),
    linear-gradient(145deg, var(--spanora-soft-charcoal), #101210);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24);
}

.spanora-hero-placeholder::before,
.spanora-hero-placeholder::after {
  content: "";
  position: absolute;
  width: 64%;
  height: 1px;
  top: 50%;
  left: 18%;
  background: linear-gradient(90deg, transparent, var(--spanora-gold), transparent);
  transform: rotate(28deg);
  opacity: 0.55;
}

.spanora-hero-placeholder::after {
  transform: rotate(-22deg);
}

.spanora-button-primary .elementor-button,
.spanora-button-secondary .elementor-button,
.spanora-nav-quote {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px;
  border: 1px solid var(--spanora-gold);
  border-radius: 8px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.spanora-button-primary .elementor-button,
.spanora-nav-quote {
  color: var(--spanora-deep);
  background: var(--spanora-gold);
}

.spanora-button-primary .elementor-button:hover,
.spanora-button-primary .elementor-button:focus-visible,
.spanora-nav-quote:hover,
.spanora-nav-quote:focus-visible {
  color: var(--spanora-deep);
  background: var(--spanora-light-gold);
  border-color: var(--spanora-light-gold);
  transform: translateY(-2px);
}

.spanora-button-secondary .elementor-button {
  color: var(--spanora-white);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.42);
}

.spanora-button-secondary .elementor-button:hover,
.spanora-button-secondary .elementor-button:focus-visible {
  color: var(--spanora-deep);
  background: var(--spanora-white);
  border-color: var(--spanora-white);
  transform: translateY(-2px);
}

.spanora-button-outline-dark .elementor-button {
  color: var(--spanora-charcoal);
  border-color: var(--spanora-charcoal);
}

.spanora-button-outline-dark .elementor-button:hover {
  color: var(--spanora-white);
  background: var(--spanora-charcoal);
}

.xpro-theme-builder-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 9999;
  min-height: 86px;
  border-bottom: 1px solid rgba(184, 148, 79, 0.16);
  background: #0b0c0b;
  backdrop-filter: blur(16px);
}

.xpro-theme-builder-header.is-scrolled {
  min-height: 76px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);
}

.xpro-theme-builder-header > .xpro-theme-builder-header-nav {
  width: 100%;
}

.spanora-header-shell {
  min-height: 86px;
  padding: 0 var(--spanora-gutter);
}

.is-scrolled .spanora-header-shell {
  min-height: 76px;
}

.spanora-header-inner {
  width: min(100%, var(--spanora-container));
  min-height: inherit;
  margin-inline: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
}

.spanora-header-logo {
  flex: 0 0 clamp(220px, 20vw, 270px);
  max-width: 270px;
  background: transparent;
  border: none;
  box-shadow: none;
}

.spanora-header-logo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: transparent;
  border: none;
  box-shadow: none;
}

.spanora-header-nav-widget,
.spanora-header-nav-widget .elementor-widget-container,
.spanora-navigation {
  width: 100%;
}

.spanora-header-nav-widget {
  width: auto !important;
  min-width: 0;
  flex: 1 1 auto;
}

.spanora-navigation {
  display: flex;
  justify-content: flex-end;
}

.spanora-primary-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(16px, 2vw, 28px);
}

.spanora-primary-menu {
  display: flex;
  align-items: center;
  gap: clamp(15px, 1.7vw, 25px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.spanora-primary-menu a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}

.spanora-primary-menu a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1px;
  background: var(--spanora-gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--spanora-transition);
}

.spanora-primary-menu a:hover,
.spanora-primary-menu a:focus-visible,
.spanora-primary-menu .current-menu-item > a,
.spanora-primary-menu .current_page_item > a {
  color: var(--spanora-light-gold);
}

.spanora-primary-menu a:hover::after,
.spanora-primary-menu .current-menu-item > a::after,
.spanora-primary-menu .current_page_item > a::after {
  transform: scaleX(1);
  transform-origin: left;
}

.spanora-menu-toggle {
  width: 48px;
  height: 48px;
  display: none;
  position: relative;
  border: 1px solid rgba(210, 176, 106, 0.42);
  border-radius: 8px;
  background: transparent;
}

.spanora-menu-toggle span,
.spanora-menu-toggle span::before,
.spanora-menu-toggle span::after {
  width: 20px;
  height: 2px;
  display: block;
  position: absolute;
  left: 13px;
  background: var(--spanora-light-gold);
}

.spanora-menu-toggle span {
  top: 22px;
}

.spanora-menu-toggle span::before,
.spanora-menu-toggle span::after {
  content: "";
  left: 0;
}

.spanora-menu-toggle span::before {
  top: -7px;
}

.spanora-menu-toggle span::after {
  top: 7px;
}

.spanora-menu-toggle[aria-expanded="true"] span {
  background: transparent;
}

.spanora-menu-toggle[aria-expanded="true"] span::before {
  top: 0;
  transform: rotate(45deg);
}

.spanora-menu-toggle[aria-expanded="true"] span::after {
  top: 0;
  transform: rotate(-45deg);
}

.spanora-trust-section {
  padding: 0 var(--spanora-gutter);
  background: var(--spanora-deep);
}

.spanora-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(210, 176, 106, 0.18);
}

.spanora-trust-card {
  min-height: 178px;
  gap: 10px;
  justify-content: center;
  padding: 32px clamp(18px, 2.4vw, 32px);
  border-right: 1px solid rgba(210, 176, 106, 0.16);
}

.spanora-trust-card:last-child {
  border-right: 0;
}

.spanora-icon .elementor-icon {
  color: var(--spanora-gold);
  font-size: 25px;
}

.spanora-trust-title .elementor-heading-title {
  color: var(--spanora-white);
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: 0;
}

.spanora-small-copy,
.spanora-small-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
  line-height: 1.55;
}

.spanora-card-grid,
.spanora-products-grid,
.spanora-feature-grid,
.spanora-values-grid,
.spanora-services-grid,
.spanora-contact-grid {
  display: grid;
  gap: 24px;
}

.spanora-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.spanora-products-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.spanora-feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.spanora-values-grid,
.spanora-services-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}



.spanora-product-card {
  min-height: 100%;
  overflow: hidden;
  gap: 0;
  border: 1px solid var(--spanora-border);
  border-radius: 18px;
  background: var(--spanora-white);
  box-shadow: 0 1px 0 rgba(29, 27, 22, 0.03);
}

.spanora-product-card:hover {
  border-color: rgba(184, 148, 79, 0.64);
  box-shadow: var(--spanora-shadow);
  transform: translateY(-2px);
}

.spanora-media {
  min-height: 0;
  aspect-ratio: 4 / 3;
  align-items: flex-end;
  justify-content: flex-end;
  overflow: hidden;
  padding: 18px;
  background:
    radial-gradient(circle at 26% 30%, rgba(255, 255, 255, 0.42), transparent 16%),
    linear-gradient(145deg, var(--spanora-cream), #d8d2c5);
}

.spanora-media::before {
  content: "";
  position: absolute;
  width: 55%;
  aspect-ratio: 1;
  top: 18%;
  left: 22%;
  border: 1px solid rgba(146, 113, 56, 0.28);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(184, 148, 79, 0.045), 0 0 0 44px rgba(184, 148, 79, 0.025);
}

.spanora-media--rice {
  background: linear-gradient(145deg, #f1ead9, #d8cfb9);
}

.spanora-media--onion {
  background: linear-gradient(145deg, #eee7de, #d9cbc1);
}

.spanora-media--cumin {
  background: linear-gradient(145deg, #e7ddcb, #c9bba0);
}

.spanora-media--psyllium {
  background: linear-gradient(145deg, #efe7da, #d6c9b4);
}

.spanora-media-label .elementor-heading-title {
  color: rgba(21, 23, 21, 0.52);
  font-family: "Inter", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.spanora-product-body {
  flex: 1;
  gap: 12px;
  padding: 25px;
}

.spanora-product-category .elementor-heading-title {
  color: var(--spanora-dark-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.spanora-product-copy,
.spanora-product-copy p {
  margin: 0;
  color: var(--spanora-body);
  font-size: 14px;
  line-height: 1.65;
}

.spanora-product-note,
.spanora-product-note p {
  margin: 0;
  color: #77786f;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.spanora-card-actions {
  margin-top: auto;
  flex-flow: row wrap;
  gap: 14px;
  padding-top: 8px;
}

.spanora-text-link .elementor-button {
  min-height: 44px;
  padding: 8px 0;
  color: var(--spanora-charcoal);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--spanora-gold);
  border-radius: 0;
  font-size: 13px;
  font-weight: 800;
}

.spanora-text-link .elementor-button:hover {
  color: var(--spanora-dark-gold);
  background: transparent;
  transform: translateX(3px);
}

.spanora-split {
  display: grid;
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(46px, 8vw, 112px);
}

.spanora-split-copy {
  gap: 20px;
}

.spanora-editorial-visual {
  min-height: 560px;
  justify-content: flex-end;
  overflow: hidden;
  padding: clamp(28px, 4vw, 52px);
  border-radius: 24px;
  background:
    linear-gradient(180deg, transparent 30%, rgba(11, 12, 11, 0.76)),
    radial-gradient(circle at 65% 32%, rgba(210, 176, 106, 0.38), transparent 26%),
    linear-gradient(145deg, var(--spanora-soft-charcoal), var(--spanora-deep));
}

.spanora-editorial-mark .elementor-heading-title {
  color: rgba(210, 176, 106, 0.92);
  font-size: clamp(120px, 18vw, 250px);
  line-height: 0.72;
}

.spanora-inline-values {
  display: flex;
  flex-flow: row wrap;
  gap: 8px;
}

.spanora-inline-values .elementor-widget-heading {
  width: auto;
}

.spanora-inline-values .elementor-heading-title {
  padding: 9px 13px;
  border: 1px solid var(--spanora-border);
  border-radius: 99px;
  color: var(--spanora-charcoal);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0;
}

.spanora-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  position: relative;
}

.spanora-process::before {
  content: "";
  position: absolute;
  top: 28px;
  right: 7%;
  left: 7%;
  height: 1px;
  background: var(--spanora-border);
}

.spanora-process-step {
  gap: 14px;
  position: relative;
  padding: 0 22px;
}

.spanora-step-number .elementor-heading-title {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  border: 1px solid var(--spanora-gold);
  border-radius: 50%;
  color: var(--spanora-dark-gold);
  background: var(--spanora-warm-white);
  font-family: "Inter", Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
}

.spanora-feature-card,
.spanora-value-card,
.spanora-service-card,
.spanora-contact-card,
.spanora-mission-card {
  gap: 14px;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid var(--spanora-border);
  border-radius: 18px;
  background: var(--spanora-white);
}

.spanora-section--dark .spanora-feature-card {
  border-color: rgba(210, 176, 106, 0.18);
  background: rgba(255, 255, 255, 0.035);
}

.spanora-section--dark .spanora-feature-card .elementor-heading-title {
  color: var(--spanora-white);
}

.spanora-section--dark .spanora-feature-card .spanora-product-copy p {
  color: rgba(255, 255, 255, 0.62);
}

.spanora-feature-number .elementor-heading-title {
  color: var(--spanora-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.spanora-trade-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
  align-items: center;
  gap: clamp(54px, 8vw, 120px);
}

.spanora-regions {
  display: flex;
  flex-flow: row wrap;
  gap: 9px;
}

.spanora-region .elementor-heading-title {
  padding: 9px 14px;
  border: 1px solid rgba(210, 176, 106, 0.24);
  border-radius: 99px;
  color: rgba(255, 255, 255, 0.82);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
}

.spanora-world-map {
  width: 100%;
  aspect-ratio: 1.8 / 1;
  padding: 20px;
  border: 1px solid rgba(210, 176, 106, 0.18);
  border-radius: 24px;
  background: radial-gradient(circle at 64% 53%, rgba(184, 148, 79, 0.12), transparent 15%), rgba(255, 255, 255, 0.025);
}

.spanora-world-map svg {
  width: 100%;
  height: 100%;
  fill: rgba(210, 176, 106, 0.19);
  stroke: rgba(210, 176, 106, 0.33);
  stroke-width: 1;
}

.spanora-world-map .trade-line {
  fill: none;
  opacity: 0.7;
  stroke: var(--spanora-gold);
  stroke-dasharray: 3 5;
  stroke-width: 1;
}

.spanora-world-map .india-dot {
  fill: var(--spanora-light-gold);
  stroke: #fff;
  stroke-width: 1;
}

.spanora-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 36px;
  padding: clamp(36px, 5vw, 62px);
  border: 1px solid rgba(184, 148, 79, 0.32);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 28%, rgba(184, 148, 79, 0.18), transparent 24%),
    var(--spanora-charcoal);
  box-shadow: 0 28px 70px rgba(25, 22, 17, 0.15);
}

.spanora-cta-copy {
  gap: 12px;
}

.spanora-cta .elementor-heading-title,
.spanora-cta .spanora-copy p {
  color: var(--spanora-white);
}

.spanora-filters {
  margin-bottom: 34px;
}

.spanora-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.spanora-filter-button,
.spanora-tab-button {
  min-height: 46px;
  padding: 11px 17px;
  border: 1px solid var(--spanora-border);
  border-radius: 99px;
  color: var(--spanora-charcoal);
  background: var(--spanora-white);
  font-family: "Inter", Arial, sans-serif;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.spanora-filter-button[aria-pressed="true"],
.spanora-tab-button[aria-selected="true"] {
  color: var(--spanora-deep);
  border-color: var(--spanora-gold);
  background: var(--spanora-gold);
}

.spanora-product-card[hidden],
.spanora-tab-panel[hidden] {
  display: none !important;
}

.spanora-service-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: start;
  gap: 22px;
}

.spanora-service-icon .elementor-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(184, 148, 79, 0.34);
  border-radius: 14px;
  color: var(--spanora-dark-gold);
  background: var(--spanora-cream);
  font-size: 24px;
}

.spanora-service-copy {
  gap: 10px;
}

.spanora-service-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.spanora-service-step {
  min-height: 150px;
  justify-content: flex-end;
  padding: 24px;
  border-top: 1px solid var(--spanora-gold);
  background: rgba(255, 255, 255, 0.035);
}

.spanora-disclaimer,
.spanora-disclaimer p {
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
  line-height: 1.65;
}

.spanora-contact-card address {
  color: var(--spanora-body);
  font-style: normal;
}

.spanora-contact-card a {
  color: var(--spanora-dark-gold);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.spanora-form-shell {
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--spanora-border);
  border-radius: 24px;
  background: var(--spanora-white);
  box-shadow: var(--spanora-shadow);
}

.spanora-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
}

.spanora-tab-button {
  border-radius: 8px;
}

.spanora-tab-panel {
  width: 100%;
}

.spanora-form-wrap .wpforms-container {
  margin: 0;
}

.spanora-form-wrap .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
}

.spanora-form-wrap .wpforms-field {
  width: 100% !important;
  padding: 0 0 20px !important;
}

.spanora-form-wrap .wpforms-field-textarea,
.spanora-form-wrap .wpforms-field-gdpr-checkbox,
.spanora-form-wrap .wpforms-field-html {
  grid-column: 1 / -1;
}

.spanora-form-wrap .wpforms-field-label {
  margin-bottom: 7px !important;
  color: var(--spanora-charcoal) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.spanora-form-wrap .wpforms-required-label {
  color: var(--spanora-error) !important;
}

.spanora-form-wrap input:not([type="checkbox"]):not([type="radio"]),
.spanora-form-wrap select,
.spanora-form-wrap textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 50px !important;
  padding: 11px 13px !important;
  border: 1px solid #cfc9bd !important;
  border-radius: 8px !important;
  color: var(--spanora-charcoal) !important;
  background: var(--spanora-warm-white) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

.spanora-form-wrap textarea {
  min-height: 145px !important;
  resize: vertical;
}

.spanora-form-wrap input:focus,
.spanora-form-wrap select:focus,
.spanora-form-wrap textarea:focus {
  border-color: var(--spanora-gold) !important;
  outline: 3px solid rgba(184, 148, 79, 0.2) !important;
  outline-offset: 1px;
}

.spanora-form-wrap .wpforms-field-description {
  margin-top: 8px !important;
  color: #686a64 !important;
  font-size: 13px !important;
}

.spanora-form-wrap .wpforms-field-description a {
  color: var(--spanora-dark-gold);
  font-weight: 750;
}

.spanora-form-wrap .wpforms-error {
  color: var(--spanora-error) !important;
}

.spanora-form-wrap .wpforms-submit-container {
  padding-top: 8px !important;
}

.spanora-form-wrap button.wpforms-submit {
  min-height: 48px !important;
  padding: 13px 24px !important;
  border: 1px solid var(--spanora-gold) !important;
  border-radius: 8px !important;
  color: var(--spanora-deep) !important;
  background: var(--spanora-gold) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.spanora-form-wrap button.wpforms-submit:hover,
.spanora-form-wrap button.wpforms-submit:focus-visible {
  border-color: var(--spanora-light-gold) !important;
  background: var(--spanora-light-gold) !important;
  transform: translateY(-2px);
}

.spanora-form-wrap button.wpforms-submit[aria-busy="true"] {
  cursor: wait;
  opacity: 0.72;
  pointer-events: none;
}

.spanora-location-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(360px, 1.15fr);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--spanora-border);
  border-radius: 24px;
  background: var(--spanora-white);
}

.spanora-location-copy {
  gap: 16px;
  justify-content: center;
  padding: clamp(32px, 5vw, 62px);
}

.spanora-map-placeholder {
  min-height: 390px;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(rgba(184, 148, 79, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 148, 79, 0.1) 1px, transparent 1px),
    radial-gradient(circle at 52% 48%, var(--spanora-gold) 0 5px, transparent 6px),
    var(--spanora-charcoal);
  background-size: 44px 44px, 44px 44px, auto, auto;
}

.spanora-map-label .elementor-heading-title {
  color: var(--spanora-light-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.spanora-legal-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 800px);
  justify-content: center;
  align-items: start;
  gap: clamp(46px, 7vw, 92px);
}

.spanora-legal-nav {
  position: sticky;
  top: 112px;
  gap: 8px;
  padding: 22px;
  border: 1px solid var(--spanora-border);
  border-radius: 16px;
  background: var(--spanora-warm-white);
}

.spanora-legal-nav a {
  min-height: 40px;
  display: flex;
  align-items: center;
  color: var(--spanora-body);
  font-size: 13px;
  text-decoration: none;
}

body.page-id-3 .spanora-legal-nav .spanora-footer-copy,
body.page-id-3 .spanora-legal-nav .spanora-footer-copy .elementor-widget-container,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy .elementor-widget-container {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

body.page-id-3 .spanora-legal-nav .spanora-footer-copy strong,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy strong {
  display: block;
  margin: 0 0 8px;
  color: #1b1b1b;
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}

body.page-id-3 .spanora-legal-nav .spanora-footer-copy a,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy a {
  width: 100%;
  min-height: 0;
  display: block;
  padding: 5px 0;
  color: #595650;
  font-size: 13px;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}

body.page-id-3 .spanora-legal-nav .spanora-footer-copy a:hover,
body.page-id-3 .spanora-legal-nav .spanora-footer-copy a:focus-visible,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy a:hover,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy a:focus-visible {
  color: #1b1b1b;
}

body.page-id-3 .spanora-legal-nav .spanora-footer-copy a[aria-current="true"],
body.page-id-3 .spanora-legal-nav .spanora-footer-copy a.is-current,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy a[aria-current="true"],
body.page-id-29 .spanora-legal-nav .spanora-footer-copy a.is-current,
body.page-id-3 .spanora-legal-nav .spanora-footer-copy a:active,
body.page-id-29 .spanora-legal-nav .spanora-footer-copy a:active {
  color: var(--spanora-dark-gold);
}

.spanora-legal-content {
  gap: 16px;
}

.spanora-legal-content .elementor-widget-text-editor,
.spanora-legal-content .elementor-widget-text-editor p,
.spanora-legal-content .elementor-widget-text-editor li {
  color: var(--spanora-body);
  font-size: 16px;
  line-height: 1.78;
}

.spanora-legal-content .elementor-widget-text-editor ul {
  margin: 8px 0 0;
  padding-left: 22px;
}

.spanora-legal-content .spanora-h3 {
  margin-top: 24px;
  scroll-margin-top: 112px;
}

.spanora-legal-meta,
.spanora-legal-meta p {
  color: var(--spanora-dark-gold) !important;
  font-size: 13px !important;
  font-weight: 750;
}

#xpro-theme-builder-footer {
  color: rgba(255, 255, 255, 0.65);
  background: var(--spanora-deep);
}

.spanora-footer-cta-section {
  padding: 0 var(--spanora-gutter);
  background: var(--spanora-charcoal);
}

.spanora-footer-cta {
  width: min(100%, var(--spanora-container));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 36px;
  margin-inline: auto;
  padding: 48px 0;
  border-bottom: 1px solid rgba(210, 176, 106, 0.16);
}

.spanora-footer-cta .elementor-heading-title,
.spanora-footer-main .elementor-heading-title {
  color: var(--spanora-white);
}

.spanora-footer-main-section {
  padding: 68px var(--spanora-gutter) 58px;
  background: var(--spanora-deep);
  border-top: 1px solid rgba(184, 148, 79, 0.16);
}

.spanora-footer-main {
  width: min(100%, var(--spanora-container));
  display: grid;
  grid-template-columns: minmax(340px, 1.5fr) repeat(2, minmax(150px, 0.65fr)) minmax(240px, 0.9fr);
  gap: clamp(32px, 4vw, 56px);
  margin-inline: auto;
}

.spanora-footer-column {
  gap: 13px;
}

.spanora-footer-logo {
  max-width: 260px;
  margin-bottom: 8px;
  background: transparent;
  border: none;
  box-shadow: none;
}

.spanora-footer-logo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: transparent;
  border: none;
  box-shadow: none;
}

.spanora-footer-kicker .elementor-heading-title {
  color: var(--spanora-light-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.spanora-footer-copy,
.spanora-footer-copy p,
.spanora-footer-copy li {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 13px;
  line-height: 1.7;
}

.spanora-footer-copy ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.spanora-footer-copy li + li {
  margin-top: 9px;
}

.spanora-footer-copy a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.68);
  text-decoration: none;
}

.spanora-footer-copy a:hover,
.spanora-footer-copy a:focus-visible {
  color: var(--spanora-light-gold);
}

.spanora-footer-bottom-section {
  padding: 0 var(--spanora-gutter);
  background: var(--spanora-deep);
}

.spanora-footer-bottom {
  width: min(100%, var(--spanora-container));
  min-height: 72px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-inline: auto;
  border-top: 1px solid rgba(210, 176, 106, 0.12);
}

.spanora-footer-legal,
.spanora-footer-legal p {
  margin: 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 12px;
}

.spanora-footer-legal a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-left: 22px;
  color: rgba(255, 255, 255, 0.62);
  text-decoration: none;
}

.spanora-back-to-top {
  position: fixed !important;
  right: 24px;
  bottom: 24px;
  z-index: 9998;
  width: auto !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}

.spanora-has-scrolled .spanora-back-to-top {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.spanora-back-to-top .elementor-button {
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid var(--spanora-gold);
  border-radius: 50%;
  color: var(--spanora-light-gold);
  background: var(--spanora-charcoal);
  font-size: 18px;
}

body.elementor-editor-active .spanora-reveal,
body.elementor-editor-preview .spanora-reveal,
html.elementor-editor-active .spanora-reveal,
html.elementor-editor-preview .spanora-reveal,
html.spanora-elementor-editor .spanora-reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

body.elementor-editor-active .elementor-invisible,
body.elementor-editor-preview .elementor-invisible,
html.elementor-editor-active .elementor-invisible,
html.elementor-editor-preview .elementor-invisible,
html.spanora-elementor-editor .elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

body.elementor-editor-active .spanora-product-card[hidden],
body.elementor-editor-active .spanora-tab-panel[hidden],
body.elementor-editor-preview .spanora-product-card[hidden],
body.elementor-editor-preview .spanora-tab-panel[hidden],
html.spanora-elementor-editor .spanora-product-card[hidden],
html.spanora-elementor-editor .spanora-tab-panel[hidden] {
  display: flex !important;
}

.spanora-js .spanora-reveal {
  opacity: 0;
  transform: translateY(18px);
}

.spanora-js .spanora-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 600ms ease, transform 600ms ease;
}

.spanora-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1080px) {
  :root {
    --spanora-gutter: clamp(24px, 3vw, 30px);
    --spanora-section: clamp(68px, 8vw, 90px);
  }

  .spanora-header-logo {
    flex-basis: 205px;
  }

  .spanora-primary-navigation,
  .spanora-primary-menu {
    gap: 14px;
  }

  .spanora-card-grid,
  .spanora-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-trust-grid,
  .spanora-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-trust-card:nth-child(2) {
    border-right: 0;
  }

  .spanora-trust-card:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(210, 176, 106, 0.16);
  }

  .spanora-process {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 0;
  }

  .spanora-process::before {
    display: none;
  }

  .spanora-footer-main {
    grid-template-columns: 1.4fr repeat(3, 0.7fr);
    gap: 34px;
  }
}

@media (max-width: 860px) {
  .xpro-theme-builder-header,
  .spanora-header-shell {
    min-height: 74px;
  }

  .xpro-theme-builder-header.is-scrolled,
  .is-scrolled .spanora-header-shell {
    min-height: 70px;
  }

  .spanora-header-logo {
    flex-basis: 190px;
    max-width: 210px;
  }

  .spanora-menu-toggle {
    display: block;
  }

  .spanora-primary-navigation {
    position: fixed;
    inset: 74px 0 auto;
    max-height: calc(100vh - 74px);
    display: block;
    overflow-y: auto;
    padding: 22px var(--spanora-gutter) 28px;
    border-top: 1px solid rgba(210, 176, 106, 0.18);
    background: rgba(11, 12, 11, 0.99);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
  }

  .spanora-primary-navigation.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .spanora-primary-menu {
    display: block;
  }

  .spanora-primary-menu a {
    width: 100%;
    min-height: 52px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .spanora-primary-menu a::after {
    display: none;
  }

  .spanora-nav-quote {
    width: 100%;
    margin-top: 18px;
  }

  .spanora-home-hero {
    min-height: auto;
    padding-top: 122px;
  }

  .spanora-hero-grid,
  .spanora-split,
  .spanora-trade-grid,
  .spanora-location-panel,
  .spanora-cta {
    grid-template-columns: 1fr;
  }

  .spanora-hero-placeholder {
    min-height: 400px;
  }

  .spanora-editorial-visual {
    min-height: 480px;
  }

  .spanora-process {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .spanora-process-step {
    min-height: 130px;
    padding: 0 0 28px 80px;
    border-left: 1px solid var(--spanora-border);
  }

  .spanora-process-step:last-child {
    border-left-color: transparent;
  }

  .spanora-step-number {
    position: absolute;
    left: -28px;
    top: 0;
  }

  .spanora-service-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-contact-card:first-child {
    grid-column: 1 / -1;
  }

  .spanora-legal-layout {
    grid-template-columns: 1fr;
  }

  body.page-id-3 .spanora-legal-nav,
  body.page-id-29 .spanora-legal-nav {
    display: flex;
    position: static;
    width: 100%;
    max-width: 520px;
    margin-bottom: 4px;
  }

  .spanora-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-footer-column:first-child {
    grid-column: 1 / -1;
    max-width: 540px;
  }
}

@media (max-width: 620px) {
  :root {
    --spanora-gutter: 19px;
    --spanora-section: 62px;
  }

  html {
    scroll-padding-top: 82px;
  }

  .xpro-theme-builder-header,
  .spanora-header-shell {
    min-height: 70px;
  }

  .spanora-header-logo {
    flex-basis: 170px;
    max-width: 185px;
  }

  .spanora-primary-navigation {
    inset-block-start: 70px;
    max-height: calc(100vh - 70px);
  }

  .spanora-home-hero,
  .spanora-page-hero {
    padding-top: 112px;
  }

  .spanora-page-hero {
    min-height: 410px;
  }

  .spanora-h1 .elementor-heading-title {
    font-size: clamp(38px, 10.8vw, 48px);
    line-height: 1;
  }

  .spanora-page-h1 .elementor-heading-title {
    font-size: clamp(41px, 12vw, 54px);
  }

  .spanora-h2 .elementor-heading-title {
    font-size: clamp(34px, 10vw, 45px);
  }

  .spanora-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .spanora-hero-actions .elementor-widget-button,
  .spanora-hero-actions .elementor-button {
    width: 100%;
  }

  .spanora-hero-placeholder {
    min-height: 320px;
  }

  .spanora-trust-grid,
  .spanora-card-grid,
  .spanora-products-grid,
  .spanora-feature-grid,
  .spanora-values-grid,
  .spanora-services-grid,
  .spanora-contact-grid,
  .spanora-service-flow,
  .spanora-footer-main {
    grid-template-columns: 1fr;
  }

  .spanora-trust-card {
    min-height: 144px;
    border-right: 0;
    border-bottom: 1px solid rgba(210, 176, 106, 0.16);
  }

  .spanora-trust-card:last-child {
    border-bottom: 0;
  }

  .spanora-contact-card:first-child,
  .spanora-footer-column:first-child {
    grid-column: auto;
  }

  .spanora-editorial-visual {
    min-height: 400px;
  }

  .spanora-service-card {
    grid-template-columns: 1fr;
  }

  .spanora-service-step {
    min-height: 120px;
  }

  .spanora-cta,
  .spanora-footer-cta {
    display: grid;
    grid-template-columns: 1fr;
  }

  .spanora-cta .elementor-widget-button,
  .spanora-cta .elementor-button,
  .spanora-footer-cta .elementor-widget-button,
  .spanora-footer-cta .elementor-button {
    width: 100%;
  }

  .spanora-form-shell {
    padding: 22px 18px;
    border-radius: 18px;
  }

  .spanora-form-wrap .wpforms-field-container {
    grid-template-columns: 1fr;
  }

  .spanora-form-wrap .wpforms-field-textarea,
  .spanora-form-wrap .wpforms-field-gdpr-checkbox,
  .spanora-form-wrap .wpforms-field-html {
    grid-column: auto;
  }

  .spanora-tab-list,
  .spanora-filter-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .spanora-filter-button,
  .spanora-tab-button {
    width: 100%;
  }

  .spanora-location-panel {
    display: grid;
  }

  .spanora-map-placeholder {
    min-height: 300px;
  }

  .spanora-world-map {
    aspect-ratio: 1.35 / 1;
  }

  .spanora-footer-main-section {
    padding-top: 54px;
  }

  .spanora-footer-bottom {
    min-height: 112px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
  }

  .spanora-footer-legal a {
    margin: 0 18px 0 0;
  }

  .spanora-back-to-top {
    right: 14px;
    bottom: 14px;
  }
}

@media (max-width: 430px) {
  .spanora-header-logo {
    flex-basis: 158px;
  }

  .spanora-tab-list,
  .spanora-filter-list {
    grid-template-columns: 1fr;
  }

  .spanora-product-body,
  .spanora-feature-card,
  .spanora-value-card,
  .spanora-service-card,
  .spanora-contact-card,
  .spanora-mission-card {
    padding: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .spanora-js .spanora-reveal {
    opacity: 1;
    transform: none;
  }
}

/* ---- Phase 4: Hero image backgrounds (applied 2026-08-02) ----
   Elementor per-page CSS supplies background-image on the hero
   containers (attachments 41-45). These rules control placement,
   sizing and the dark readability overlay. */
.spanora-home-hero,
.spanora-page-hero {
  background-color: var(--spanora-deep);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}

.spanora-home-hero::before,
.spanora-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.spanora-home-hero::before {
  background:
    linear-gradient(90deg, rgba(11, 12, 11, 0.98) 0%, rgba(11, 12, 11, 0.92) 40%, rgba(21, 23, 21, 0.62) 68%, rgba(21, 23, 21, 0.32) 88%, rgba(21, 23, 21, 0.2) 100%),
    radial-gradient(circle at 82% 40%, rgba(184, 148, 79, 0.23), transparent 28%);
}

.spanora-page-hero::before {
  background:
    radial-gradient(circle at 84% 22%, rgba(184, 148, 79, 0.16), transparent 25%),
    linear-gradient(105deg, rgba(11, 12, 11, 0.94) 0%, rgba(21, 23, 21, 0.8) 42%, rgba(21, 23, 21, 0.55) 72%, rgba(21, 23, 21, 0.42) 100%);
}

.spanora-hero-placeholder {
  background: transparent;
}

.spanora-hero-placeholder::before,
.spanora-hero-placeholder::after {
  display: none;
}

@media (max-width: 1024px) {
  .spanora-home-hero,
  .spanora-page-hero {
    background-position: center;
    background-size: 62% auto;
  }
}

@media (max-width: 767px) {
  .spanora-home-hero,
  .spanora-page-hero {
    background-position: center;
    background-size: 66% auto;
  }

  .spanora-home-hero::before {
    background:
      linear-gradient(180deg, rgba(11, 12, 11, 0.96) 0%, rgba(11, 12, 11, 0.88) 40%, rgba(21, 23, 21, 0.62) 78%, rgba(21, 23, 21, 0.5) 100%),
      radial-gradient(circle at 50% 18%, rgba(184, 148, 79, 0.2), transparent 30%);
  }

  .spanora-page-hero::before {
    background:
      radial-gradient(circle at 50% 16%, rgba(184, 148, 79, 0.15), transparent 30%),
      linear-gradient(180deg, rgba(11, 12, 11, 0.96) 0%, rgba(11, 12, 11, 0.87) 45%, rgba(21, 23, 21, 0.66) 80%, rgba(21, 23, 21, 0.55) 100%);
  }
}

/* ==========================================================================
   Phase 5-7: Section imagery (editorial portraits, world map, product media)
   ========================================================================== */

.spanora-editorial-visual {
  background-size: cover;
  background-position: center;
}

.spanora-editorial-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(11, 12, 11, 0.04) 42%, rgba(11, 12, 11, 0.66) 100%);
}

.spanora-editorial-visual > .elementor-widget {
  position: relative;
  z-index: 1;
}

.spanora-editorial-visual .spanora-editorial-mark {
  display: none;
}

.spanora-world-map {
  padding: 0;
}

.spanora-world-map-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.spanora-media {
  position: relative;
  background-size: cover;
  background-position: center;
}

.spanora-media::before {
  display: none;
}

.spanora-media-label {
  position: absolute;
  left: 18px;
  bottom: 18px;
  margin: 0;
  background: rgba(11, 12, 11, 0.78);
  border: 1px solid rgba(210, 176, 106, 0.35);
  border-radius: 6px;
  padding: 7px 11px;
}

.spanora-media-label .elementor-heading-title {
  color: #f4ecd9;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ==========================================================================
   Phase 8: Design refinements (applied 2026-08-02)
   1) Home trust strip -> light premium   2) Contact location map + cards
   4) Products filter chips (mobile)      5) About mobile typography
   6) Services mobile spacing             7) Home polish
   8) Footer mobile spacing
   ========================================================================== */

/* ---- 1. Home: 4-feature trust strip -> light premium ---- */
.spanora-trust-section {
  padding: 0 var(--spanora-gutter);
  background: #f5f1e8;
}

.spanora-trust-section .spanora-trust-grid {
  border-top: 0;
  gap: 18px;
  padding: clamp(54px, 6vw, 88px) 0;
}

.spanora-trust-card {
  min-height: 178px;
  gap: 11px;
  justify-content: center;
  padding: 30px clamp(18px, 2.2vw, 28px);
  border: 1px solid #e8e0cd;
  border-right: 1px solid #e8e0cd;
  border-radius: 18px;
  background: #fcfaf6;
  box-shadow: 0 1px 0 rgba(29, 27, 22, 0.03), 0 14px 30px rgba(29, 27, 22, 0.06);
}

.spanora-trust-section .spanora-trust-title .elementor-heading-title {
  color: #2c2b26;
}

.spanora-trust-section .spanora-small-copy,
.spanora-trust-section .spanora-small-copy p {
  color: #6b6a62;
}

.spanora-trust-section .spanora-icon .elementor-icon {
  color: var(--spanora-dark-gold);
}

@media (max-width: 1080px) {
  .spanora-trust-section .spanora-trust-card,
  .spanora-trust-section .spanora-trust-card:nth-child(2),
  .spanora-trust-section .spanora-trust-card:nth-child(-n + 2),
  .spanora-trust-section .spanora-trust-card:last-child {
    border: 1px solid #e8e0cd;
  }
}

@media (max-width: 620px) {
  .spanora-trust-section .spanora-trust-grid {
    gap: 14px;
    padding: clamp(40px, 9vw, 56px) 0;
  }

  .spanora-trust-card {
    min-height: 150px;
    padding: 26px 22px;
  }
}

/* ---- 2. Contact: location/map visual + label removal ---- */
.spanora-map-placeholder {
  position: relative;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  justify-content: stretch;
  background:
    linear-gradient(rgba(184, 148, 79, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 148, 79, 0.1) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(184, 148, 79, 0.55) 0 6px, transparent 7px),
    var(--spanora-charcoal);
  background-size: 44px 44px, 44px 44px, auto, auto;
}

.spanora-map-label {
  display: none;
}

.spanora-map-placeholder .spanora-map-frame-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.spanora-map-frame {
  width: 100%;
  height: 100%;
  min-height: 390px;
  border: 0;
  display: block;
}

@media (max-width: 860px) {
  .spanora-map-frame {
    min-height: 340px;
  }
}

@media (max-width: 620px) {
  .spanora-map-frame {
    min-height: 300px;
  }
}

/* ---- 4. Products: mobile filter chip row ---- */
@media (max-width: 620px) {
  .spanora-filter-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 4px 2px 10px;
  }

  .spanora-filter-list::-webkit-scrollbar {
    display: none;
  }

  .spanora-filter-button {
    flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
  }
}

/* ---- 5. About: mobile typography spacing ---- */
@media (max-width: 620px) {
  body.page-id-19 .spanora-split-copy .spanora-h2 {
    margin-bottom: 16px;
  }

  body.page-id-19 .spanora-split-copy .spanora-copy,
  body.page-id-19 .spanora-split-copy .spanora-copy p {
    line-height: 1.78;
  }

  body.page-id-19 .spanora-split-copy .spanora-copy p + p {
    margin-top: 18px;
  }

  body.page-id-19 .spanora-value-card {
    gap: 15px;
    padding: 28px 24px;
  }

  body.page-id-19 .spanora-value-card .spanora-product-copy,
  body.page-id-19 .spanora-value-card .spanora-product-copy p {
    line-height: 1.72;
  }
}

/* ---- 6. Services: mobile spacing ---- */
@media (max-width: 620px) {
  body.page-id-23 .spanora-service-flow {
    gap: 20px;
  }

  body.page-id-23 .spanora-service-step {
    min-height: 132px;
    padding: 26px 24px;
  }

  body.page-id-23 .spanora-services-grid {
    gap: 20px;
  }

  body.page-id-23 .spanora-service-card {
    gap: 18px;
    padding: 26px 24px;
  }

  body.page-id-23 .spanora-service-copy {
    gap: 13px;
  }
}

/* ---- 7. Home: minor polish ---- */
@media (max-width: 767px) {
  .spanora-home-hero {
    padding-top: 138px;
    padding-bottom: 70px;
  }

  .spanora-home-hero::before {
    background:
      linear-gradient(180deg, rgba(11, 12, 11, 0.97) 0%, rgba(11, 12, 11, 0.9) 42%, rgba(21, 23, 21, 0.68) 78%, rgba(21, 23, 21, 0.55) 100%),
      radial-gradient(circle at 50% 18%, rgba(184, 148, 79, 0.2), transparent 30%);
  }
}

@media (max-width: 620px) {
  .spanora-home-hero {
    padding: 128px var(--spanora-gutter) 62px;
  }

  .spanora-split-copy {
    gap: 24px;
  }

  body.page-id-17 .spanora-inline-values {
    gap: 12px;
  }

  body.page-id-17 .spanora-button-outline-dark {
    margin-top: 4px;
    align-self: flex-start;
  }

  .spanora-world-map {
    aspect-ratio: 1.25 / 1;
    min-height: 320px;
  }
}

/* ---- 8. Footer: mobile spacing ---- */
@media (max-width: 860px) {
  .spanora-footer-main {
    row-gap: 40px;
    column-gap: 24px;
  }
}

@media (max-width: 620px) {
  .spanora-footer-main {
    row-gap: 46px;
  }
}

/* ==========================================================================
   Phase 9: Premium polish (applied 2026-08-02)
   1) Contact: two equal centred cards (Phone/WhatsApp card removed)
   2) Global typography (16px desktop / 15px mobile, 1.7 line height)
   3) Consistent vertical rhythm
   4) Home feature strip refinements
   5) Home preview cards + editorial alignment
   6) Products cards + mobile filter chip row
   7) Services step + service card refinements
   8) About readability + equal card heights
   9) Contact form + location polish
   10) Footer mobile layout + back-to-top clearance
   11) Accessibility + restrained transitions
   ========================================================================== */

/* ---- 1. Contact: three equal cards ---- */
.spanora-contact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.spanora-contact-card {
  justify-content: center;
  height: 100%;
}

@media (max-width: 860px) {
  .spanora-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-contact-card:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .spanora-contact-grid {
    grid-template-columns: 1fr;
  }

  .spanora-contact-card:first-child {
    grid-column: auto;
  }
}

/* ---- 2. Global typography ---- */
body {
  font-size: 16px;
}

.spanora-copy,
.spanora-copy p {
  font-size: 16px;
  line-height: 1.7;
}

.spanora-product-copy,
.spanora-product-copy p {
  font-size: 15px;
  line-height: 1.7;
}

.spanora-media-label .elementor-heading-title {
  font-size: 11px;
}

.spanora-footer-legal,
.spanora-footer-legal p {
  font-size: 13px;
}

.spanora-footer-legal a {
  font-size: 13px;
}

.spanora-trust-section .spanora-small-copy,
.spanora-trust-section .spanora-small-copy p {
  font-size: 14px;
  line-height: 1.6;
}

.spanora-trust-section .spanora-trust-title .elementor-heading-title {
  font-size: 16px;
}

@media (max-width: 620px) {
  body {
    font-size: 15px;
  }

  .spanora-copy,
  .spanora-copy p {
    font-size: 15px;
    line-height: 1.7;
  }

  .spanora-product-copy,
  .spanora-product-copy p {
    font-size: 15px;
    line-height: 1.72;
  }
}

/* ---- 3. Consistent vertical rhythm ---- */
:root {
  --spanora-section: clamp(92px, 7.5vw, 112px);
}

.spanora-section-head {
  gap: 18px;
}

.spanora-split-copy,
.spanora-hero-copy {
  gap: 24px;
}

@media (max-width: 1080px) {
  :root {
    --spanora-section: clamp(76px, 8vw, 88px);
  }
}

@media (max-width: 620px) {
  :root {
    --spanora-section: clamp(58px, 8vw, 68px);
  }

  .spanora-hero-copy {
    gap: 20px;
  }
}

/* ---- 4. Home feature strip ---- */
.spanora-trust-section .spanora-trust-card {
  height: 100%;
  align-items: flex-start;
  text-align: left;
}

.spanora-trust-section .spanora-trust-card .elementor-widget-icon {
  width: 100%;
}

.spanora-trust-section .spanora-icon .elementor-icon {
  font-size: 27px;
}

.spanora-trust-section .spanora-trust-card .spanora-icon .elementor-icon-wrapper {
  display: flex;
  justify-content: flex-start;
}

/* ---- 5. Home preview cards + editorial ---- */
.spanora-card-grid .spanora-product-card,
.spanora-products-grid .spanora-product-card {
  height: 100%;
}

.spanora-product-body {
  gap: 13px;
}

.spanora-card-actions {
  padding-top: 12px;
}

/* ---- 7. Services: dark steps + white cards ---- */
.spanora-section--dark .spanora-service-step {
  height: 100%;
  min-height: 150px;
  padding: 26px 24px;
  border-top: 2px solid var(--spanora-gold);
  background: rgba(255, 255, 255, 0.07);
}

.spanora-service-card {
  height: 100%;
}

/* ---- 8. About: equal card heights ---- */
.spanora-value-card,
.spanora-mission-card {
  height: 100%;
}

@media (max-width: 620px) {
  body.page-id-19 .spanora-mission-card {
    gap: 16px;
    padding: 28px 24px;
  }

  body.page-id-19 .spanora-mission-card .spanora-copy,
  body.page-id-19 .spanora-mission-card .spanora-copy p {
    line-height: 1.72;
  }
}

/* ---- 9. Contact form + location ---- */
.spanora-form-shell {
  padding: clamp(28px, 4vw, 42px);
}

.spanora-form-wrap .wpforms-field {
  padding-bottom: 16px !important;
}

.spanora-form-wrap .wpforms-field-label {
  font-size: 14px !important;
  letter-spacing: 0.01em !important;
}

.spanora-form-wrap input:focus,
.spanora-form-wrap select:focus,
.spanora-form-wrap textarea:focus {
  border-color: var(--spanora-dark-gold) !important;
  outline: 3px solid rgba(146, 113, 56, 0.28) !important;
  outline-offset: 2px !important;
}

/* ---- 10. Footer ---- */
.spanora-footer-copy a {
  color: rgba(255, 255, 255, 0.72);
}

.spanora-footer-copy li + li {
  margin-top: 10px;
}

@media (max-width: 860px) {
  .spanora-footer-copy a {
    min-height: 44px;
  }

  .spanora-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 40px;
    column-gap: 28px;
  }

  .spanora-footer-column:nth-child(4) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .spanora-footer-legal {
    padding-right: 60px;
  }
}

/* ---- 11. Accessibility + restrained transitions ---- */
:root {
  --spanora-transition: 200ms cubic-bezier(0.2, 0.75, 0.3, 1);
}

.spanora-js .spanora-reveal.is-visible {
  transition: opacity 420ms ease, transform 420ms ease;
}

.spanora-product-card:hover {
  transform: translateY(-2px);
}

.spanora-map-frame:focus-visible {
  outline: 3px solid var(--spanora-light-gold);
  outline-offset: -3px;
}

/* ==========================================================================
   Back to top: incremental accessibility fix (applied 2026-08-03)
   1) #top anchor target at the very top of every public page
   2) 44 x 44 px minimum touch target
   3) visible keyboard focus state
   4) reduced-motion safety (neutralise any inherited smooth scrolling)
   ========================================================================== */
.spanora-top-anchor {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  overflow: hidden;
}

.spanora-footer-bottom a[href="#top"],
a[href="#top"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}

a[href="#top"]:focus-visible {
  outline: 3px solid var(--spanora-gold);
  outline-offset: 2px;
  border-radius: 10px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
}

/* While the footer legal row is on screen, clear the floating control so it
   never covers the Privacy / Terms / Back to Top links at any width. */
body.spanora-footer-in-view .spanora-back-to-top {
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
}

/* ==========================================================================
   Incremental premium brand-consistency pass (2026-08-03)
   1) Header/footer unified #0B0C0B charcoal-black surface
   2) Header bottom + footer top 1px border rgba(184,148,79,0.16)
   3) Transparent logo wrappers (no black rectangle, no crop, contain-fit)
   4) Mobile footer refinement: logo + company description full width,
      Quick Links and Products in two balanced columns, Contact full width
      below, legal row final, floating Back to Top never covers legal text
   5) Mobile product filters: all five filters visible in a wrapped
      two-column layout below 620px (Dehydrated Products full-width row)
   6) Restrained card hover: max 2px movement, 200ms transitions
   ========================================================================== */

/* Contact lower location hierarchy: scoped to the approved location panel only. */
body.page-id-25 .spanora-location-copy {
  gap: 0;
}

body.page-id-25 .spanora-location-copy > .spanora-eyebrow {
  margin-bottom: 10px;
}

body.page-id-25 .spanora-location-copy > .spanora-h2 {
  margin-bottom: 20px;
}

body.page-id-25 .spanora-location-copy > .spanora-h2 .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(42px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.08;
}

body.page-id-25 .spanora-location-copy > .spanora-copy .spanora-location-address {
  margin: 0 0 20px;
  color: var(--spanora-charcoal);
  font-family: Inter, Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
}

body.page-id-25 .spanora-location-copy > .spanora-copy p {
  margin: 0 0 20px;
  color: var(--spanora-body);
  font-size: 16px;
  line-height: 1.65;
}

@media (max-width: 620px) {
  body.page-id-25 .spanora-location-copy > .spanora-h2 .elementor-heading-title {
    font-size: clamp(30px, 8.5vw, 34px);
    line-height: 1.08;
  }

  body.page-id-25 .spanora-location-copy > .spanora-copy .spanora-location-address {
    font-size: 16px;
    line-height: 1.6;
  }

  body.page-id-25 .spanora-location-copy > .spanora-copy p {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* Keep the longer Contact address readable at compact desktop widths. */
@media (min-width: 861px) and (max-width: 1080px) {
  .spanora-footer-main {
    grid-template-columns: minmax(250px, 1.3fr) repeat(2, minmax(120px, 0.65fr)) minmax(240px, 0.95fr);
    gap: 24px;
  }
}

/* ---- 4. Mobile footer refinement ---- */
@media (max-width: 860px) {
  .spanora-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .spanora-footer-column:first-child,
  .spanora-footer-column:nth-child(4) {
    grid-column: 1 / -1;
  }

  .spanora-footer-column:first-child {
    max-width: 100%;
  }

  .spanora-footer-column:nth-child(2),
  .spanora-footer-column:nth-child(3) {
    min-width: 0;
  }
}

/* ---- 5. Mobile product filters: all five visible in a wrapped layout ---- */
@media (max-width: 620px) {
  .spanora-filter-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    padding: 4px 0 10px;
    scroll-snap-type: none;
  }

  .spanora-filter-button {
    width: 100%;
    height: auto;
    min-height: 46px;
    white-space: normal;
    text-align: center;
  }

  .spanora-filter-button[data-spanora-filter="dehydrated"] {
    grid-column: 1 / -1;
  }
}

/* ---- 6. Restrained card hover transitions (within 160-220ms) ---- */
.spanora-js .spanora-product-card.is-visible {
  transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.spanora-media-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  border-radius: 18px 18px 0 0;
}

/* Contact buyer FAQ */
body.page-id-25 .spanora-contact-faq-section {
  padding-top: clamp(72px, 6vw, 88px);
  padding-bottom: clamp(60px, 5vw, 72px);
}

body.page-id-25 .spanora-contact-faq {
  align-items: center;
}

body.page-id-25 .spanora-contact-faq-head {
  width: min(100%, 940px);
  align-items: center;
  gap: 0;
  margin-bottom: 30px;
  text-align: center;
}

body.page-id-25 .spanora-contact-faq-head > .spanora-eyebrow {
  margin-bottom: 9px;
}

body.page-id-25 .spanora-contact-faq-head > .spanora-h2 {
  margin-bottom: 15px;
}

body.page-id-25 .spanora-contact-faq-intro {
  max-width: 680px;
}

body.page-id-25 .spanora-contact-faq-intro p {
  margin: 0;
}

body.page-id-25 .spanora-contact-faq-accordion {
  width: min(100%, 960px);
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion {
  display: grid;
  gap: 11px;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion-item {
  overflow: hidden;
  border: 1px solid var(--spanora-border) !important;
  border-radius: 12px;
  background: var(--spanora-white);
  box-shadow: 0 8px 24px rgba(29, 27, 22, 0.035);
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 44px;
  align-items: center;
  min-height: 68px;
  padding: 18px 12px 18px 20px !important;
  border: 0 !important;
  color: var(--spanora-charcoal) !important;
  background: var(--spanora-white) !important;
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.45;
  cursor: pointer;
  transition: background-color 190ms ease, color 190ms ease;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title::before {
  content: counter(spanora-faq, decimal-leading-zero);
  align-self: center;
  color: var(--spanora-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.12em;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion-item {
  counter-increment: spanora-faq;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion {
  counter-reset: spanora-faq;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion-title {
  color: inherit !important;
  font: inherit;
  outline: 0;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion-icon {
  grid-column: 3;
  grid-row: 1;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--spanora-gold) !important;
  font-size: 15px;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-accordion-icon svg {
  width: 13px;
  height: 13px;
  fill: currentColor !important;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title:hover,
body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title.elementor-active {
  background: #fcfbf8 !important;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title:focus-within,
body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title:focus-visible {
  outline: 3px solid rgba(146, 113, 56, 0.32) !important;
  outline-offset: -3px;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-content {
  display: none;
  margin: 0;
  padding: 0 64px 20px 54px !important;
  border: 0 !important;
  color: var(--spanora-body);
  background: #fcfbf8;
  font-family: "Inter", Arial, sans-serif;
  font-size: 15.5px;
  line-height: 1.72;
}

body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-content p {
  max-width: 72ch;
  margin: 0;
}

/* Shared WPForms inline confirmation */
.spanora-form-shell .spanora-form-wrap .wpforms-confirmation-container-full,
.spanora-form-shell .spanora-form-wrap .wpforms-confirmation-container {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.spanora-confirmation-panel {
  width: 100%;
  padding: clamp(26px, 4vw, 38px);
  border: 1px solid rgba(184, 148, 79, 0.58);
  border-radius: 16px;
  color: var(--spanora-charcoal);
  background: var(--spanora-warm-white);
  box-shadow: 0 16px 38px rgba(29, 27, 22, 0.07);
}

.spanora-confirmation-icon {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: 18px;
  border: 1px solid var(--spanora-gold);
  border-radius: 50%;
}

.spanora-confirmation-icon::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 13px;
  width: 10px;
  height: 16px;
  border-right: 2px solid var(--spanora-gold);
  border-bottom: 2px solid var(--spanora-gold);
  transform: rotate(45deg);
}

.spanora-confirmation-kicker {
  margin: 0 0 9px !important;
  color: var(--spanora-dark-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.spanora-confirmation-title {
  margin: 0 0 12px;
  color: var(--spanora-charcoal);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.spanora-confirmation-title:focus {
  outline: 0;
}

.spanora-confirmation-copy {
  max-width: 68ch;
  margin: 0 0 22px !important;
  color: var(--spanora-body);
  font-family: "Inter", Arial, sans-serif;
  font-size: 15.5px;
  line-height: 1.7;
}

.spanora-confirmation-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid var(--spanora-gold);
  border-radius: 8px;
  color: var(--spanora-deep) !important;
  background: var(--spanora-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  transition: background-color 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.spanora-confirmation-action:hover,
.spanora-confirmation-action:focus-visible {
  border-color: var(--spanora-light-gold);
  background: var(--spanora-light-gold);
  transform: translateY(-2px);
}

.spanora-confirmation-action:focus-visible {
  outline: 3px solid rgba(146, 113, 56, 0.32);
  outline-offset: 3px;
}

@media (max-width: 620px) {
  body.page-id-25 .spanora-contact-faq-section {
    padding-top: clamp(52px, 14vw, 64px);
    padding-bottom: clamp(45px, 12vw, 55px);
  }

  body.page-id-25 .spanora-contact-faq-head {
    margin-bottom: 28px;
  }

  body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title {
    grid-template-columns: 30px minmax(0, 1fr) 44px;
    min-height: 68px;
    padding: 16px 8px 16px 16px !important;
    font-size: 15px;
  }

  body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-content {
    padding: 0 52px 18px 46px !important;
    font-size: 15px;
    line-height: 1.7;
  }

  .spanora-confirmation-panel {
    padding: 24px 20px;
    border-radius: 14px;
  }

  .spanora-confirmation-title {
    font-size: clamp(30px, 9vw, 37px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-25 .spanora-contact-faq-accordion .elementor-tab-title,
  .spanora-confirmation-action {
    transition: none !important;
  }

  .spanora-confirmation-action:hover,
  .spanora-confirmation-action:focus-visible {
    transform: none;
  }
}

/* Final vertical-rhythm refinement: scoped marketing-section boundaries. */
@media (min-width: 1200px) {
  body.page-id-17 .elementor-element.elementor-element-eaa3d4b,
  body.page-id-17 .elementor-element.elementor-element-254ad5f {
    padding-top: 88px;
    padding-bottom: 88px;
  }

  body.page-id-17 .elementor-element.elementor-element-86fe48a,
  body.page-id-17 .elementor-element.elementor-element-341cd66,
  body.page-id-17 .elementor-element.elementor-element-751a6a6,
  body.page-id-17 .elementor-element.elementor-element-eb0504a {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  body.page-id-19 .elementor-element.elementor-element-32351a4,
  body.page-id-21 .elementor-element.elementor-element-c1eb552,
  body.page-id-23 .elementor-element.elementor-element-3fa827e {
    padding-bottom: 80px;
  }

  body.page-id-19 .elementor-element.elementor-element-df04bd0,
  body.page-id-21 .elementor-element.elementor-element-9eff8b6,
  body.page-id-23 .elementor-element.elementor-element-1a8ddf4 {
    padding-top: 80px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.page-id-17 .elementor-element.elementor-element-eaa3d4b,
  body.page-id-17 .elementor-element.elementor-element-254ad5f {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  body.page-id-17 .elementor-element.elementor-element-86fe48a,
  body.page-id-17 .elementor-element.elementor-element-341cd66,
  body.page-id-17 .elementor-element.elementor-element-751a6a6,
  body.page-id-17 .elementor-element.elementor-element-eb0504a {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  body.page-id-19 .elementor-element.elementor-element-32351a4,
  body.page-id-21 .elementor-element.elementor-element-c1eb552,
  body.page-id-23 .elementor-element.elementor-element-3fa827e {
    padding-bottom: 64px;
  }

  body.page-id-19 .elementor-element.elementor-element-df04bd0,
  body.page-id-21 .elementor-element.elementor-element-9eff8b6,
  body.page-id-23 .elementor-element.elementor-element-1a8ddf4 {
    padding-top: 64px;
  }
}

@media (max-width: 767px) {
  body.page-id-17 .elementor-element.elementor-element-eaa3d4b,
  body.page-id-17 .elementor-element.elementor-element-254ad5f {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  body.page-id-17 .elementor-element.elementor-element-86fe48a,
  body.page-id-17 .elementor-element.elementor-element-341cd66,
  body.page-id-17 .elementor-element.elementor-element-751a6a6,
  body.page-id-17 .elementor-element.elementor-element-eb0504a {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body.page-id-19 .elementor-element.elementor-element-32351a4,
  body.page-id-21 .elementor-element.elementor-element-c1eb552,
  body.page-id-23 .elementor-element.elementor-element-3fa827e {
    padding-bottom: 48px;
  }

  body.page-id-19 .elementor-element.elementor-element-df04bd0,
  body.page-id-21 .elementor-element.elementor-element-9eff8b6,
  body.page-id-23 .elementor-element.elementor-element-1a8ddf4 {
    padding-top: 48px;
  }
}

/* Scoped content-depth additions: Home, About and Services only. */
body.page-id-17 .spanora-home-markets-light {
  color: var(--spanora-body);
  background: var(--spanora-white);
}

body.page-id-17 .spanora-home-markets-light .spanora-region .elementor-heading-title {
  color: var(--spanora-charcoal);
  border-color: var(--spanora-border);
  background: var(--spanora-warm-white);
}

body.page-id-17 .spanora-home-markets-light .spanora-world-map {
  border-color: var(--spanora-border);
  background: radial-gradient(circle at 64% 53%, rgba(184, 148, 79, 0.13), transparent 16%), var(--spanora-cream);
}

body.page-id-17 .spanora-home-markets-light .spanora-world-map svg {
  fill: rgba(146, 113, 56, 0.16);
  stroke: rgba(146, 113, 56, 0.34);
}

body.page-id-17 .spanora-home-markets-light .spanora-world-map .trade-line {
  stroke: var(--spanora-dark-gold);
}

body.page-id-17 .spanora-home-markets-light .spanora-world-map .india-dot {
  fill: var(--spanora-gold);
  stroke: var(--spanora-white);
}

body.page-id-17 .spanora-home-trade-enquiries,
body.page-id-23 .spanora-services-enquiry-guide {
  padding-top: 64px;
  padding-bottom: 64px;
}

body.page-id-17 .spanora-content-head,
body.page-id-19 .spanora-content-head,
body.page-id-23 .spanora-content-head {
  max-width: 860px;
  margin-bottom: 42px;
}

body.page-id-17 .spanora-content-head .spanora-copy,
body.page-id-19 .spanora-content-head .spanora-copy,
body.page-id-23 .spanora-content-head .spanora-copy {
  max-width: 68ch;
}

body.page-id-17 .spanora-info-grid,
body.page-id-23 .spanora-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

body.page-id-17 .spanora-info-card,
body.page-id-23 .spanora-info-card {
  min-height: 190px;
  gap: 10px;
  padding: 24px;
  border: 1px solid var(--spanora-border);
  border-radius: 18px;
  background: var(--spanora-white);
}

body.page-id-23 .spanora-services-enquiry-guide .spanora-info-card {
  background: var(--spanora-warm-white);
}

body.page-id-17 .spanora-info-number .elementor-heading-title,
body.page-id-23 .spanora-info-number .elementor-heading-title {
  color: var(--spanora-dark-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.12em;
}

body.page-id-17 .spanora-info-card .spanora-h3 .elementor-heading-title,
body.page-id-23 .spanora-info-card .spanora-h3 .elementor-heading-title {
  font-size: clamp(23px, 2vw, 28px);
  line-height: 1.08;
}

body.page-id-19 .spanora-about-operate {
  padding-top: 84px;
  padding-bottom: 84px;
  background: var(--spanora-charcoal);
}

body.page-id-19 .spanora-about-operate .spanora-content-head {
  max-width: 900px;
}

body.page-id-19 .spanora-about-operate .spanora-content-head .spanora-copy,
body.page-id-19 .spanora-about-operate .spanora-content-head .spanora-copy p {
  color: rgba(255, 255, 255, 0.68);
}

body.page-id-19 .spanora-operate-intro p + p {
  margin-top: 14px;
}

body.page-id-19 .spanora-operate-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

body.page-id-19 .spanora-operate-pillar {
  min-height: 230px;
  gap: 13px;
  padding: 26px 22px;
  border-top: 2px solid var(--spanora-gold);
  background: rgba(255, 255, 255, 0.045);
}

body.page-id-19 .spanora-operate-pillar .spanora-h3 .elementor-heading-title {
  color: var(--spanora-white);
  font-size: clamp(24px, 2vw, 30px);
}

body.page-id-19 .spanora-operate-pillar .spanora-product-copy,
body.page-id-19 .spanora-operate-pillar .spanora-product-copy p {
  color: rgba(255, 255, 255, 0.64);
}

body.page-id-19 .spanora-about-buyers {
  padding-top: 64px;
  padding-bottom: 64px;
}

body.page-id-19 .spanora-buyer-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

body.page-id-19 .spanora-buyer-type {
  min-height: 104px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--spanora-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
}

body.page-id-19 .spanora-buyer-icon .elementor-icon-wrapper {
  display: flex;
}

body.page-id-19 .spanora-buyer-icon .elementor-icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--spanora-dark-gold);
  border: 1px solid rgba(184, 148, 79, 0.35);
  border-radius: 50%;
  font-size: 15px;
}

body.page-id-19 .spanora-buyer-type .spanora-h3 .elementor-heading-title {
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: 0;
}

body.page-id-23 .spanora-services-grid {
  align-items: stretch;
}

body.page-id-23 .spanora-service-copy {
  gap: 12px;
}

body.page-id-23 .spanora-service-number .elementor-heading-title {
  color: var(--spanora-dark-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.14em;
}

body.page-id-23 .spanora-service-detail,
body.page-id-23 .spanora-service-detail p,
body.page-id-23 .spanora-service-detail li {
  color: var(--spanora-body);
  font-size: 14px;
  line-height: 1.58;
}

body.page-id-23 .spanora-service-detail p {
  margin: 0;
}

body.page-id-23 .spanora-service-detail ul {
  display: grid;
  gap: 7px;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--spanora-border);
  list-style: none;
}

body.page-id-23 .spanora-service-detail li {
  position: relative;
  padding-left: 14px;
}

body.page-id-23 .spanora-service-detail li::before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 0.65em;
  left: 0;
  border-radius: 50%;
  background: var(--spanora-gold);
}

body.page-id-23 .spanora-service-detail .spanora-service-note {
  margin-top: 14px;
  color: #77786f;
  font-size: 12px;
  line-height: 1.55;
}

body.page-id-23 .spanora-services-process {
  padding-top: 84px;
  padding-bottom: 72px;
}

body.page-id-23 .spanora-services-final-section {
  padding-top: 64px;
  padding-bottom: 64px;
}

body.page-id-23 .spanora-services-final {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--spanora-border);
  border-radius: 24px;
  background: var(--spanora-white);
  box-shadow: 0 18px 44px rgba(29, 27, 22, 0.06);
}

body.page-id-23 .spanora-services-note,
body.page-id-23 .spanora-services-final-cta {
  gap: 16px;
  padding: clamp(30px, 4vw, 48px);
}

body.page-id-23 .spanora-services-note {
  justify-content: center;
  border-right: 1px solid var(--spanora-border);
}

body.page-id-23 .spanora-services-final-cta {
  justify-content: center;
  background: var(--spanora-warm-white);
}

body.page-id-23 .spanora-services-final-cta .spanora-button-primary {
  width: auto;
  align-self: flex-start;
  margin-top: 6px;
}

@media (max-width: 1080px) {
  body.page-id-19 .spanora-operate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-19 .spanora-buyer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body.page-id-17 .spanora-home-trade-enquiries,
  body.page-id-19 .spanora-about-buyers,
  body.page-id-23 .spanora-services-enquiry-guide,
  body.page-id-23 .spanora-services-final-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  body.page-id-19 .spanora-about-operate,
  body.page-id-23 .spanora-services-process {
    padding-top: 68px;
    padding-bottom: 64px;
  }

  body.page-id-17 .spanora-content-head,
  body.page-id-19 .spanora-content-head,
  body.page-id-23 .spanora-content-head {
    margin-bottom: 36px;
  }

  body.page-id-23 .spanora-services-final {
    grid-template-columns: 1fr;
  }

  body.page-id-23 .spanora-services-note {
    border-right: 0;
    border-bottom: 1px solid var(--spanora-border);
  }
}

@media (max-width: 620px) {
  body.page-id-17 .spanora-home-trade-enquiries,
  body.page-id-19 .spanora-about-buyers,
  body.page-id-23 .spanora-services-enquiry-guide,
  body.page-id-23 .spanora-services-final-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  body.page-id-19 .spanora-about-operate,
  body.page-id-23 .spanora-services-process {
    padding-top: 54px;
    padding-bottom: 54px;
  }

  body.page-id-17 .spanora-info-grid,
  body.page-id-19 .spanora-operate-grid,
  body.page-id-23 .spanora-info-grid {
    grid-template-columns: 1fr;
  }

  body.page-id-17 .spanora-info-card,
  body.page-id-23 .spanora-info-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px 12px;
    padding: 20px;
  }

  body.page-id-17 .spanora-info-card .spanora-info-number,
  body.page-id-23 .spanora-info-card .spanora-info-number {
    grid-row: 1 / 3;
  }

  body.page-id-17 .spanora-info-card .spanora-product-copy,
  body.page-id-23 .spanora-info-card .spanora-product-copy {
    grid-column: 2;
  }

  body.page-id-19 .spanora-operate-pillar {
    min-height: 0;
    padding: 24px 22px;
  }

  body.page-id-19 .spanora-buyer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-id-19 .spanora-buyer-type {
    min-height: 116px;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 10px;
  }

  body.page-id-23 .spanora-service-detail,
  body.page-id-23 .spanora-service-detail p,
  body.page-id-23 .spanora-service-detail li {
    font-size: 14px;
  }

  body.page-id-23 .spanora-services-note,
  body.page-id-23 .spanora-services-final-cta {
    padding: 26px 22px;
  }

  body.page-id-23 .spanora-services-final-cta .spanora-button-primary,
  body.page-id-23 .spanora-services-final-cta .elementor-button {
    width: 100%;
  }

  body.page-id-3 .spanora-legal-nav .spanora-footer-copy,
  body.page-id-29 .spanora-legal-nav .spanora-footer-copy {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
}

/* ==========================================================================
   12. Products page grid: centered partial rows (applied 2026-08-16)
   Scoped to the Products listing (page 21). Keeps the existing column
   counts (4-col desktop / 2-col tablet / 1-col mobile) and card widths
   identical; switches the grid to flexbox so orphan rows center instead
   of leaving a wide empty gutter on the right. The DEHYDRATED filter
   uses a 3-col desktop layout (3 + 2 centered). All other filters and
   the "all" state keep their existing column counts, just centered.
   ========================================================================== */

body.page-id-21 .spanora-products-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 24px;
}

body.page-id-21 .spanora-products-grid .spanora-product-card {
  flex: 0 0 auto;
  width: calc((100% - 72px) / 4);
  height: auto;
}

@media (min-width: 1081px) {
  body.page-id-21:has(.spanora-filter-button[data-spanora-filter="dehydrated"][aria-pressed="true"]) .spanora-products-grid .spanora-product-card {
    width: calc((100% - 48px) / 3);
  }
}

@media (max-width: 1080px) {
  body.page-id-21 .spanora-products-grid .spanora-product-card {
    width: calc((100% - 24px) / 2);
  }
}

@media (max-width: 620px) {
  body.page-id-21 .spanora-products-grid .spanora-product-card {
    width: 100%;
  }
}
