/* ============================================================
   NEUMORPHISM THEME "NEU 39" — LAVENDER · GEHRA
   logicsdev/assets/css/neu.css — loaded after glass.css.

   Active when the body has the class "ld-neu"
   (Customize > LogicsDev – edit website > Site-wide > Design style).
   Cards and background share one colour; soft light + shadow make
   them look raised (outset) or pressed (inset).

   Tokens (set from the Customizer in inc/editor.php):
     --neu-base   background + card colour
     --neu-dark   shadow colour (bottom-right)
     --neu-light  light colour (top-left)
     --neu-d      shadow distance, --neu-b blur, --neu-radius corner size
   ============================================================ */

body.ld-neu {
  --neu-base: #ece8f5;
  --neu-dark: #d0d0dc;
  --neu-light: #ffffff;
  --neu-d: 2px;
  --neu-b: 5px;
  --neu-radius: 26px;
  --neu-lo: #dedae6;
  --neu-hi: #f4f2f9;
  --neu-out: var(--neu-d) var(--neu-d) var(--neu-b) var(--neu-dark), calc(var(--neu-d) * -1) calc(var(--neu-d) * -1) var(--neu-b) var(--neu-light);
  --neu-out-lg: calc(var(--neu-d) * 1.35) calc(var(--neu-d) * 1.35) calc(var(--neu-b) * 1.3) var(--neu-dark), calc(var(--neu-d) * -1.35) calc(var(--neu-d) * -1.35) calc(var(--neu-b) * 1.3) var(--neu-light);
  --neu-out-sm: 2px 2px 4px var(--neu-dark), -2px -2px 4px var(--neu-light);
  --neu-in: inset var(--neu-d) var(--neu-d) var(--neu-b) var(--neu-dark), inset calc(var(--neu-d) * -1) calc(var(--neu-d) * -1) var(--neu-b) var(--neu-light);
  --neu-in-sm: inset 2px 2px 4px var(--neu-dark), inset -2px -2px 4px var(--neu-light);
  --black: var(--neu-base);
  --bg-1: var(--neu-base);
  --bg-2: var(--neu-base);
  --border: rgba(0, 0, 0, .08);
  background: var(--neu-base);
}
html:has(body.ld-neu) { background: var(--neu-base, #e6eef5); }

/* Flat, calm background: no floating circles or grid lines */
body.ld-neu .ld-bg,
body.ld-neu .ld-hero__grid,
body.ld-neu .ld-lightning-flash,
body.ld-neu .ld-lightning-svg { display: none; }
body.ld-neu .ld-hero__bg,
body.ld-neu .ld-page-hero::before,
body.ld-neu .ld-seo::before { background: none; }
body.ld-neu .ld-services::before,
body.ld-neu .hww-section::before,
body.ld-neu .hww-section::after,
body.ld-neu .ld-story-section::before,
body.ld-neu .ld-story-section::after,
body.ld-neu .ld-values-section::before,
body.ld-neu .ld-team-section::before,
body.ld-neu .ld-team-section::after { background-image: none; }

/* ── RAISED CARDS ───────────────────────────────────────────── */
body.ld-neu :is(
  .ld-service-card, .ld-plat-card, .ld-market-card, .ld-global-card, .ld-value-card,
  .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .ld-faq__item,
  .ld-contact-panel, .ld-why__panels, .ld-why__tabs, .ld-story__stat, .ld-story__milestones,
  .ld-about__stats, .ld-hero__stats > div, .ld-step, .platform-item, .ld-extras__card, .ld-glass-page__body
) {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 0;
  box-shadow: var(--neu-out);
}

body.ld-neu :is(
  .ld-service-card, .ld-plat-card, .ld-market-card, .ld-global-card, .ld-value-card,
  .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .ld-contact-panel,
  .ld-why__panels, .ld-why__tabs, .ld-story__milestones, .ld-extras__card, .ld-glass-page__body
) { border-radius: var(--neu-radius); }

body.ld-neu :is(.ld-hero__stats > div, .ld-step, .ld-story__stat, .ld-about__stats, .ld-faq__item, .platform-item) {
  border-radius: calc(var(--neu-radius) * .65);
}

/* Shadows need room around the cards */
body.ld-neu :is(.ld-seo__grid, .ld-markets__cards, .ld-services__grid, .ld-plat-cards, .ld-values__grid, .ld-team-grid) { gap: 26px; }
body.ld-neu .ld-platforms__grid { gap: 18px; }
body.ld-neu .ld-faq__list { gap: 16px; }
body.ld-neu .ld-story__stats { gap: 18px; }
body.ld-neu .ld-why__body { gap: 22px; }

/* Hover: lift a little higher */
body.ld-neu :is(.ld-service-card, .ld-plat-card, .ld-market-card, .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .platform-item, .ld-global-card, .ld-value-card):hover {
  background: var(--neu-base);
  box-shadow: var(--neu-out-lg);
  border-color: transparent;
}

/* Open FAQ question and active tab look pressed in */
body.ld-neu .ld-faq__item[open] { background: var(--neu-base); box-shadow: var(--neu-in); }
body.ld-neu .ld-faq__icon { border: 0; border-radius: 50%; box-shadow: var(--neu-out-sm); }
body.ld-neu .ld-faq__item[open] .ld-faq__icon { background: var(--orange); box-shadow: none; }
body.ld-neu .ld-why__tab { border-color: rgba(0, 0, 0, .06); }
body.ld-neu .ld-why__tab.active { background: var(--neu-base); box-shadow: var(--neu-in-sm); }
body.ld-neu .ld-team-tab { background: var(--neu-base); border: 0; box-shadow: var(--neu-out-sm); border-radius: 99px; }
body.ld-neu .ld-team-tab.active { box-shadow: var(--neu-in-sm); color: var(--orange); }

/* ── SMALL PRESSED-IN PIECES: tags, chips, icon wells ───────── */
body.ld-neu :is(.service-tag, .hww-tag, .ld-why__chip, .market-tz, .ld-markets__also-chips span, .country-chip, .ld-hero__tag) {
  background: var(--neu-base);
  border: 0;
  box-shadow: var(--neu-in-sm);
  border-radius: 99px;
}
body.ld-neu :is(.ld-service-card__icon, .ld-why__icon, .ld-value-card-new__icon, .hww-node, .ld-pin, .ld-mega__item-icon, .ld-contact-page__icon) {
  background: var(--neu-base);
  border: 0;
  box-shadow: var(--neu-in-sm);
}

/* ── HEADER, MENUS, TICKER, FOOTER ──────────────────────────── */
body.ld-neu .ld-header.scrolled .ld-nav {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 0;
  box-shadow: 0 3px 8px var(--neu-dark), 0 -1px 0 var(--neu-light) inset;
}
body.ld-neu .ld-mega__panel {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 0;
  border-radius: var(--neu-radius);
  box-shadow: var(--neu-out-lg);
}
body.ld-neu .ld-mega__item:hover { background: var(--neu-base); box-shadow: var(--neu-in-sm); border-radius: 14px; }
body.ld-neu .ld-mobile-menu {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 0;
  box-shadow: 0 6px 12px var(--neu-dark);
}
body.ld-neu .ld-ticker-wrap {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 0;
  box-shadow: var(--neu-in);
}
body.ld-neu .ld-footer {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-top: 0;
  box-shadow: inset 0 var(--neu-d) var(--neu-b) var(--neu-dark);
}

/* ── BUTTONS ────────────────────────────────────────────────── */
/* Main buttons keep the accent colour so they are easy to spot */
body.ld-neu :is(.btn-primary, .ld-nav__cta, #ldSubmitBtn, .ld-form-submit) {
  box-shadow: var(--neu-out);
  border: 0;
}
body.ld-neu :is(.btn-primary, .ld-nav__cta, #ldSubmitBtn, .ld-form-submit):hover { box-shadow: var(--neu-out-lg); }
body.ld-neu :is(.btn-primary, .ld-nav__cta, #ldSubmitBtn, .ld-form-submit):active { box-shadow: var(--neu-in-sm); transform: none; }

/* Second buttons: same colour as the page, raised, accent text */
body.ld-neu .btn-secondary {
  background: var(--neu-base);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 0;
  color: var(--orange);
  box-shadow: var(--neu-out);
}
body.ld-neu .btn-secondary:hover { background: var(--neu-base); color: var(--orange); box-shadow: var(--neu-out-lg); }
body.ld-neu .btn-secondary:active { box-shadow: var(--neu-in-sm); }

/* CTA band: raised accent panel with room around it */
body.ld-neu .ld-cta-band {
  background: var(--orange);
  margin: 60px 6vw;
  border-radius: var(--neu-radius);
  box-shadow: var(--neu-out-lg);
}
body.ld-neu .btn-dark { box-shadow: 2px 2px 6px rgba(0, 0, 0, .18), -2px -2px 5px rgba(255, 255, 255, .14); }

/* ── FORMS: pressed-in fields ───────────────────────────────── */
body.ld-neu :is(.ld-form-group input, .ld-form-group select, .ld-form-group textarea) {
  background: var(--neu-base);
  border: 0;
  border-radius: 14px;
  box-shadow: var(--neu-in-sm);
}
body.ld-neu :is(.ld-form-group input, .ld-form-group select, .ld-form-group textarea):focus {
  box-shadow: var(--neu-in-sm), 0 0 0 2px var(--orange);
}

/* ── PHOTOS, PAGE CONTENT ───────────────────────────────────── */
body.ld-neu .ld-glass-page__media img { border: 0; box-shadow: var(--neu-out-lg); border-radius: var(--neu-radius); }
body.ld-neu .ld-content-blocks img { border-radius: calc(var(--neu-radius) * .6); box-shadow: var(--neu-out); }
body.ld-neu .ld-team-card__img-wrap { border-radius: calc(var(--neu-radius) - 6px) calc(var(--neu-radius) - 6px) 0 0; }


@media (max-width: 768px) {
  body.ld-neu .ld-cta-band { margin: 40px 5vw; }
  body.ld-neu :is(.ld-seo__grid, .ld-markets__cards, .ld-services__grid, .ld-plat-cards, .ld-values__grid, .ld-team-grid) { gap: 20px; }
}

body.ld-neu .ld-mobile-menu .ld-nav__cta { border-radius: 14px; }

/* ── CARD SURFACE: Gehra (concave, Neu 39) / Gol (convex) ───── */
body.ld-neu-concave :is(
  .ld-service-card, .ld-plat-card, .ld-market-card, .ld-global-card, .ld-value-card,
  .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .ld-contact-panel,
  .ld-why__panels, .ld-story__milestones, .ld-extras__card, .ld-glass-page__body,
  .ld-hero__stats > div, .ld-story__stat, .ld-about__stats, .platform-item, .ld-mega__panel
),
body.ld-neu-concave :is(.ld-service-card, .ld-plat-card, .ld-market-card, .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .platform-item, .ld-global-card, .ld-value-card):hover {
  background: linear-gradient(145deg, var(--neu-lo), var(--neu-hi));
}
body.ld-neu-convex :is(
  .ld-service-card, .ld-plat-card, .ld-market-card, .ld-global-card, .ld-value-card,
  .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .ld-contact-panel,
  .ld-why__panels, .ld-story__milestones, .ld-extras__card, .ld-glass-page__body,
  .ld-hero__stats > div, .ld-story__stat, .ld-about__stats, .platform-item, .ld-mega__panel
),
body.ld-neu-convex :is(.ld-service-card, .ld-plat-card, .ld-market-card, .ld-value-card-new, .ld-team-card, .hww-card, .ld-seo__block, .platform-item, .ld-global-card, .ld-value-card):hover {
  background: linear-gradient(145deg, var(--neu-hi), var(--neu-lo));
}
