/**
 * Shopini Global 3.1.4 — semantic appearance layer.
 * Loaded last on purpose: legacy v3.x page styles remain structurally useful,
 * while all public color/contrast decisions are centralized here.
 */

:root {
	--shopini-accent: var(--shopini-primary);
	--shopini-accent-hover: var(--shopini-primary-dark);
	--shopini-on-accent: #15171a;
	--shopini-bg-page: #ffffff;
	--shopini-bg-surface: #f6f7f9;
	--shopini-bg-card: #ffffff;
	--shopini-bg-elevated: #eef1f4;
	--shopini-bg-inverse: #0d1014;
	--shopini-text-primary: #15171a;
	--shopini-text-secondary: #626876;
	--shopini-text-muted: #69717d;
	--shopini-text-inverse: #f7f8fa;
	--shopini-border-default: #e2e5e9;
	--shopini-border-strong: #cbd1d8;
	--shopini-shadow-sm: 0 0.4rem 1.4rem rgba(21, 23, 26, 0.08);
	--shopini-shadow-md: 0 1.2rem 3.2rem rgba(21, 23, 26, 0.13);
	--shopini-header-bg: rgba(255,255,255,.91);
	--shopini-header-border: rgba(21,23,26,.09);
	--shopini-glow: rgba(255,101,13,.11);
	--shopini-logo-tile: #080a0c;
	color-scheme: light;

	/* Compatibility aliases while v3.x styles are progressively de-hardcoded. */
	--sg31-bg: var(--shopini-bg-page);
	--sg31-surface: var(--shopini-bg-surface);
	--sg31-surface2: var(--shopini-bg-card);
	--sg31-line: var(--shopini-border-default);
	--sg31-text: var(--shopini-text-primary);
	--sg31-muted: var(--shopini-text-secondary);
	--sg31-orange: var(--shopini-accent);
	--sv31-bg: var(--shopini-bg-page);
	--sv31-bg2: var(--shopini-bg-surface);
	--sv31-card: var(--shopini-bg-card);
	--sv31-card2: var(--shopini-bg-elevated);
	--sv31-line: var(--shopini-border-default);
	--sv31-text: var(--shopini-text-primary);
	--sv31-muted: var(--shopini-text-secondary);
	--sv31-orange: var(--shopini-accent);
	--sv31-orange2: var(--shopini-accent-hover);
}

html[data-theme="dark"] {
	--shopini-bg-page: #0d1014;
	--shopini-bg-surface: #11161b;
	--shopini-bg-card: #151a20;
	--shopini-bg-elevated: #1a2027;
	--shopini-bg-inverse: #f7f8fa;
	--shopini-text-primary: #f7f8fa;
	--shopini-text-secondary: #aab2bd;
	--shopini-text-muted: #8f98a4;
	--shopini-text-inverse: #15171a;
	--shopini-border-default: #28303a;
	--shopini-border-strong: #3a434d;
	--shopini-shadow-sm: 0 .45rem 1.5rem rgba(0,0,0,.22);
	--shopini-shadow-md: 0 1.4rem 3.6rem rgba(0,0,0,.38);
	--shopini-header-bg: rgba(13,16,20,.88);
	--shopini-header-border: rgba(255,255,255,.065);
	--shopini-glow: rgba(255,101,13,.13);
	--shopini-logo-tile: #050607;
	color-scheme: dark;
}

html[data-theme="light"] { color-scheme: light; }

:focus-visible { outline-color: var(--shopini-accent-hover); }

/* Core semantics --------------------------------------------------------- */
body,
.shopini-main,
.shopini-solution,
.shopini-v31-home,
.shopini-global-v30.sg30-page,
.sg313-pricing,
.shopini-docs-v311 {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}

body,
button,
input,
select,
textarea { color: var(--shopini-text-primary); }

h1,h2,h3,h4,h5,h6 { color: var(--shopini-text-primary); }
.shopini-section__lead,
.shopini-article__content,
.shopini-article__content p { color: var(--shopini-text-secondary); }

.shopini-post-card,
.shopini-article__content blockquote,
.shopini-article__content table {
	background: var(--shopini-bg-card);
	border-color: var(--shopini-border-default);
	color: var(--shopini-text-primary);
}

.shopini-btn--primary {
	background: var(--shopini-accent) !important;
	border-color: var(--shopini-accent) !important;
	color: var(--shopini-on-accent) !important;
}
.shopini-btn--primary:hover { background: var(--shopini-accent-hover) !important; border-color: var(--shopini-accent-hover) !important; }
.shopini-btn--ghost,
.shopini-btn--outline,
.shopini-btn--secondary {
	background: transparent !important;
	border-color: var(--shopini-border-strong) !important;
	color: var(--shopini-text-primary) !important;
}
.shopini-btn--ghost:hover,
.shopini-btn--outline:hover,
.shopini-btn--secondary:hover { background: var(--shopini-bg-elevated) !important; }

/* Adaptive Shopini identity -------------------------------------------- */
.shopini-global-logo { display: inline-flex; align-items: center; }
.shopini-global-logo__variant { display: inline-flex; align-items: center; text-decoration: none; }
.shopini-global-logo__variant img { display:block; width:auto; object-fit:contain; }
.shopini-global-logo--header .shopini-global-logo__variant img { height:62px !important; max-width:280px !important; }
.shopini-global-logo--footer .shopini-global-logo__variant img { height:42px !important; max-width:200px !important; }
html[data-theme="dark"] .shopini-global-logo__variant--light,
html[data-theme="light"] .shopini-global-logo__variant--dark { display:none; }
.shopini-global-logo--header .shopini-wordmark { font-size:1.55rem; color:var(--shopini-text-primary)!important; }
.shopini-global-logo--footer .shopini-wordmark { font-size:1.35rem; color:var(--shopini-text-primary)!important; }

/* Header + menus -------------------------------------------------------- */
.shopini-header {
	background: var(--shopini-header-bg) !important;
	border-bottom: 1px solid var(--shopini-header-border) !important;
	box-shadow: none !important;
}
.shopini-header .shopini-wordmark,
.shopini-header .custom-logo-link { color: var(--shopini-text-primary) !important; }
.shopini-header__nav a,
.shopini-header__nav summary,
.shopini-lang-menu summary,
.shopini-theme-menu summary { color: var(--shopini-text-secondary) !important; }
.shopini-header__nav a:hover,
.shopini-header__nav summary:hover,
.shopini-lang-menu summary:hover,
.shopini-theme-menu summary:hover { color: var(--shopini-text-primary) !important; }
.shopini-nav__list>li.current-menu-item>a,
.shopini-nav__list>li.current-menu-ancestor>details>summary {
	background: var(--shopini-bg-elevated) !important;
	color: var(--shopini-text-primary) !important;
}
.shopini-nav__submenu,
.shopini-lang-menu__panel,
.shopini-theme-menu__panel {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	box-shadow: var(--shopini-shadow-md) !important;
}
.shopini-nav__submenu a:hover,
.shopini-lang-menu__panel a:hover,
.shopini-theme-menu__panel button:hover { background: var(--shopini-bg-elevated) !important; }
.shopini-nav__mega-logo { background: var(--shopini-logo-tile) !important; }
.shopini-nav__mega-logo--icon { background: var(--shopini-bg-elevated) !important; color:var(--shopini-text-primary)!important; }
.shopini-nav__mega-copy strong { color: var(--shopini-text-primary) !important; }
.shopini-nav__mega-copy small { color: var(--shopini-text-muted) !important; }
.shopini-header__actions .shopini-btn--ghost { color:var(--shopini-text-primary)!important; border-color:var(--shopini-border-strong)!important; }
.shopini-menu-toggle { background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; }
.shopini-menu-toggle span[aria-hidden="true"] { background:var(--shopini-text-primary)!important; }

.shopini-theme-menu { position:relative; }
.shopini-theme-menu>summary {
	list-style:none; width:38px; height:38px; display:grid; place-items:center; cursor:pointer;
	border:1px solid var(--shopini-border-default); border-radius:10px; background:var(--shopini-bg-card);
}
.shopini-theme-menu>summary::-webkit-details-marker { display:none; }
.shopini-theme-menu svg { width:18px; height:18px; }
.shopini-theme-menu__panel {
	position:absolute; inset-inline-end:0; top:calc(100% + 10px); z-index:120; min-width:154px;
	padding:7px; border:1px solid; border-radius:13px;
}
.shopini-theme-menu__panel button {
	width:100%; display:grid; grid-template-columns:24px 1fr; gap:8px; align-items:center;
	padding:9px 10px; border:0; border-radius:9px; background:transparent; color:var(--shopini-text-secondary);
	text-align:start; cursor:pointer; font-size:13px;
}
.shopini-theme-menu__panel button[aria-pressed="true"] { background:var(--shopini-bg-elevated); color:var(--shopini-text-primary); font-weight:750; }
.shopini-theme-menu__panel button[aria-pressed="true"] svg { color:var(--shopini-accent); }

/* Product pages --------------------------------------------------------- */
.shopini-solution-hero {
	background: radial-gradient(circle at 76% 42%,var(--shopini-glow),transparent 29%),linear-gradient(180deg,var(--shopini-bg-page),var(--shopini-bg-surface)) !important;
}
.shopini-solution-hero h1,
.shopini-section-heading h2,
.shopini-solution-feature h3,
.shopini-solution-step h3,
.shopini-solution-connections__copy h2,
.shopini-solution-final-cta h2 { color:var(--shopini-text-primary)!important; }
.shopini-solution-hero__lead,
.shopini-section-heading>p:not(.shopini-kicker),
.shopini-solution-feature p,
.shopini-solution-step p,
.shopini-solution-connections__copy p,
.shopini-solution-final-cta p { color:var(--shopini-text-secondary)!important; }
.shopini-solution-hero__visual {
	background:linear-gradient(145deg,var(--shopini-bg-card),var(--shopini-bg-surface))!important;
	border-color:var(--shopini-border-default)!important;
	box-shadow:var(--shopini-shadow-md)!important;
}
.shopini-solution-brand { background:var(--shopini-logo-tile)!important; }
.shopini-solution-brand--icon { background:var(--shopini-bg-elevated)!important; color:var(--shopini-text-primary)!important; }
.shopini-solution-switcher,
.shopini-solution-process { background:var(--shopini-bg-surface)!important; border-color:var(--shopini-border-default)!important; }
.shopini-solution-switcher a,
.shopini-solution-feature,
.shopini-solution-step,
.shopini-solution-connections__cards a {
	background:var(--shopini-bg-card)!important;
	border-color:var(--shopini-border-default)!important;
	color:var(--shopini-text-primary)!important;
}
.shopini-solution-switcher a small,
.shopini-solution-connections__cards small { color:var(--shopini-text-muted)!important; }
.shopini-solution-connections { background:var(--shopini-bg-page)!important; }
.shopini-solution-final-cta {
	background:radial-gradient(circle at 85% 150%,var(--shopini-glow),transparent 38%),var(--shopini-bg-card)!important;
	border-color:var(--shopini-border-default)!important;
	color:var(--shopini-text-primary)!important;
}
.shopini-solution-feature__icon { color:var(--shopini-accent)!important; background:color-mix(in srgb,var(--shopini-accent) 10%,var(--shopini-bg-card))!important; }
.shopini-solution-step>span { background:var(--shopini-accent)!important; color:var(--shopini-on-accent)!important; }

/* Solutions by outcome ------------------------------------------------- */
.shopini-solutions-v312,
.shopini-solutions-v312__hero { background:var(--shopini-bg-page)!important; color:var(--shopini-text-primary)!important; }
.shopini-solutions-v312__hero { background:radial-gradient(circle at 76% 38%,var(--shopini-glow),transparent 30%),var(--shopini-bg-page)!important; }
.shopini-solutions-v312__hero h1,
.shopini-solutions-v312__card h2 { color:var(--shopini-text-primary)!important; }
.shopini-solutions-v312__lead,
.shopini-solutions-v312__card p { color:var(--shopini-text-secondary)!important; }
.shopini-solutions-v312__card { background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important; }
.shopini-solutions-v312__card:hover { background:var(--shopini-bg-elevated)!important; border-color:var(--shopini-border-strong)!important; }
.shopini-solutions-v312__icon { background:color-mix(in srgb,var(--shopini-accent) 10%,var(--shopini-bg-card))!important; color:var(--shopini-accent)!important; }
.shopini-solutions-v312__arrow { color:var(--shopini-text-muted)!important; }

/* V30 platform/company ------------------------------------------------- */
.sg30-page-hero,
.shopini-global-v30 .sg30-section,
.shopini-global-v30 .sg30-company { background:var(--shopini-bg-page)!important; color:var(--shopini-text-primary)!important; }
.shopini-global-v30 .sg30-section:nth-of-type(even) { background:var(--shopini-bg-surface)!important; }
.sg30-page-hero { background:radial-gradient(circle at 75% 30%,var(--shopini-glow),transparent 30%),var(--shopini-bg-page)!important; }
.sg30-page-hero h1,
.shopini-global-v30 .sg30-heading h2,
.shopini-global-v30 .sg30-heading h3,
.shopini-global-v30 .sg30-docs-grid h2,
.shopini-global-v30 .sg30-three h3,
.shopini-global-v30 .sg30-case-grid h3,
.shopini-global-v30 .sg30-layer-stack h3,
.shopini-global-v30.sg30-page .sg30-company h2,
.shopini-global-v30.sg30-page .sg30-company h3,
.shopini-global-v30.sg30-page .sg30-trust__items article h3 { color:var(--shopini-text-primary)!important; }
.sg30-page-hero .sg30-lead,
.shopini-global-v30 .sg30-heading p:last-child,
.shopini-global-v30 .sg30-three p,
.shopini-global-v30 .sg30-case-grid p,
.shopini-global-v30 .sg30-docs-grid p,
.shopini-global-v30 .sg30-layer-stack p,
.shopini-global-v30.sg30-page .sg30-company p,
.shopini-global-v30.sg30-page .sg30-trust__items article p { color:var(--shopini-text-secondary)!important; }
.shopini-global-v30 .sg30-three article,
.shopini-global-v30 .sg30-case-grid article,
.shopini-global-v30 .sg30-docs-grid article,
.shopini-global-v30 .sg30-layer-stack article,
.shopini-global-v30 .sg30-final__box,
.shopini-global-v30 .sg30-doc-note,
.shopini-global-v30.sg30-page .sg30-trust__items article {
	background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important;
}
.shopini-global-v30 .sg30-three a,
.shopini-global-v30 .sg30-docs-grid a { color:var(--shopini-text-primary)!important; }
.shopini-global-v30 .sg30-doc-note span { color:var(--shopini-text-secondary)!important; }

/* Documentation -------------------------------------------------------- */
.shopini-docs-v311 {
	--docs-bg:var(--shopini-bg-page); --docs-panel:var(--shopini-bg-card); --docs-panel-2:var(--shopini-bg-elevated);
	--docs-line:var(--shopini-border-default); --docs-muted:var(--shopini-text-secondary); --docs-text:var(--shopini-text-primary); --docs-orange:var(--shopini-accent);
}
.shopini-docs-v311__body { background:var(--shopini-bg-page)!important; }
.shopini-docs-v311__version,
.shopini-docs-v311__nav,
.shopini-docs-v311__article,
.shopini-docs-v311__types article,
.shopini-docs-v311__capabilities article,
.shopini-docs-v311__connection {
	background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important;
}
.shopini-docs-v311__article--os { background:radial-gradient(circle at 86% 7%,var(--shopini-glow),transparent 28%),var(--shopini-bg-card)!important; }
.shopini-docs-v311__nav strong,
.shopini-docs-v311__index { color:var(--shopini-text-muted)!important; }
.shopini-docs-v311__nav a,
.shopini-docs-v311__lead,
.shopini-docs-v311__section>p,
.shopini-docs-v311__checklist li,
.shopini-docs-v311__capabilities p,
.shopini-docs-v311__types p { color:var(--shopini-text-secondary)!important; }
.shopini-docs-v311__nav a:hover,
.shopini-docs-v311__nav a:focus { background:var(--shopini-bg-elevated)!important; color:var(--shopini-text-primary)!important; }
.shopini-docs-v311__article h2,
.shopini-docs-v311__article h3,
.shopini-docs-v311__article h4,
.shopini-docs-v311__steps strong,
.shopini-docs-v311__process strong,
.shopini-docs-v311__connection>strong,
.shopini-docs-v311__message span,
.shopini-docs-v311__message a,
.shopini-docs-v311__types strong { color:var(--shopini-text-primary)!important; }
.shopini-docs-v311__article blockquote,
.shopini-docs-v311__steps li,
.shopini-docs-v311__process li,
.shopini-docs-v311__flow li { background:var(--shopini-bg-elevated)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important; }
.shopini-docs-v311__section { border-color:var(--shopini-border-default)!important; }
.shopini-docs-v311__brand { background:var(--shopini-logo-tile)!important; border-color:var(--shopini-border-default)!important; }
.shopini-docs-v311__message { background:color-mix(in srgb,var(--shopini-accent) 7%,var(--shopini-bg-card))!important; border-color:color-mix(in srgb,var(--shopini-accent) 24%,var(--shopini-border-default))!important; }

/* Home ----------------------------------------------------------------- */
.shopini-v31-home { background:var(--shopini-bg-page)!important; color:var(--shopini-text-primary)!important; }
.sv31-hero { background:radial-gradient(circle at 73% 40%,var(--shopini-glow),transparent 28%),linear-gradient(180deg,var(--shopini-bg-page),var(--shopini-bg-surface))!important; }
.sv31-hero h1,
.sv31-section-head h2,
.sv31-product-card h3,
.sv31-final h2,
.sv313-proof__stat strong,
.sv313-section-head h2,
.sv313-testimonial strong,
.sv313-faq summary,
.sv313-hero-proof strong { color:var(--shopini-text-primary)!important; }
.sv31-hero__subtitle,
.sv31-hero__text,
.sv31-product-card p,
.sv31-final p:not(.sv31-eyebrow),
.sv313-proof__inner>p,
.sv313-testimonial small,
.sv313-faq details p,
.sv313-hero-proof,
.sv313-hero-proof span { color:var(--shopini-text-secondary)!important; }
.sv31-actions .shopini-btn--ghost { color:var(--shopini-text-primary)!important; border-color:var(--shopini-border-strong)!important; }
.sv31-actions .shopini-btn--ghost:hover { background:var(--shopini-bg-elevated)!important; }
.sv31-trust,
.sv313-proof { background:var(--shopini-bg-surface)!important; border-color:var(--shopini-border-default)!important; }
.sv31-trust__label,
.sv313-proof__stat span,
.sv313-comparison__panel>span { color:var(--shopini-text-muted)!important; }
/* The hero "OS card" is a fixed inverse accent (contrasts with the page in
   both themes), not page content — it uses --shopini-bg-inverse/text-inverse,
   the two root tokens defined for exactly this case but left unused until now. */
.sv31-os-card { border-color:var(--shopini-border-strong)!important; background:linear-gradient(145deg,var(--shopini-bg-elevated),var(--shopini-bg-inverse) 72%)!important; }
.sv31-os-card__word { color:var(--shopini-text-inverse)!important; }
.sv31-os-card__os { color:var(--shopini-text-muted)!important; }
html[data-theme="light"] .sv31-trust__logos img { filter:grayscale(1); opacity:.62; }
html[data-theme="dark"] .sv31-trust__logos img { filter:grayscale(1) brightness(1.65); opacity:.7; }
.sv31-products,
.sv31-mission,
.sv31-final,
.sv313-comparison,
.sv313-faq { background:var(--shopini-bg-page)!important; }
.sv313-testimonials { background:var(--shopini-bg-surface)!important; }
.sv31-product-card,
.sv313-comparison__panel,
.sv313-testimonial {
	background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important;
}
.sv31-product-card:hover { background:var(--shopini-bg-elevated)!important; border-color:var(--shopini-border-strong)!important; }
.sv31-product-card>a,
.sv31-text-link,
.sv313-testimonial blockquote { color:var(--shopini-text-primary)!important; }
.sv31-brand-mark { background:var(--shopini-logo-tile)!important; }
.sv313-comparison__panel li { background:var(--shopini-bg-elevated)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-secondary)!important; }
.sv313-comparison__panel--after { background:color-mix(in srgb,var(--shopini-accent) 4%,var(--shopini-bg-card))!important; border-color:color-mix(in srgb,var(--shopini-accent) 32%,var(--shopini-border-default))!important; }
.sv313-faq__list,
.sv313-faq details { border-color:var(--shopini-border-default)!important; }
.sv31-final__box { background:radial-gradient(circle at 85% 160%,color-mix(in srgb,var(--shopini-accent) 18%,transparent),transparent 36%),var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; }
/* Editorial mission intentionally stays light in both modes for visual rhythm. */
.sv31-mission__panel { color:#111418; }
.sv31-mission__copy h2 { color:#111418!important; }

/* Pricing -------------------------------------------------------------- */
.sg313-pricing__hero,
.sg313-pricing__section { background:var(--shopini-bg-page)!important; color:var(--shopini-text-primary)!important; }
.sg313-pricing__section--suites { background:var(--shopini-bg-surface)!important; }
.sg313-pricing h1,
.sg313-pricing h2,
.sg313-pricing h3,
.sg313-pricing__products strong,
.sg313-pricing__table-wrap th { color:var(--shopini-text-primary)!important; }
.sg313-pricing__hero>div>p:not(.sv31-eyebrow),
.sg313-pricing__section header p,
.sg313-pricing__products span,
.sg313-pricing__suites p,
.sg313-pricing__note,
.sg313-pricing__table-wrap td { color:var(--shopini-text-secondary)!important; }
.sg313-pricing__market,
.sg313-pricing__products a,
.sg313-pricing__suites article,
.sg313-pricing__table-wrap { background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important; }
.sg313-pricing__products a:hover { background:var(--shopini-bg-elevated)!important; border-color:var(--shopini-border-strong)!important; }
.sg313-pricing__table-wrap th,
.sg313-pricing__table-wrap td { border-color:var(--shopini-border-default)!important; }

/* Footer --------------------------------------------------------------- */
.shopini-footer.shopini-footer--global-v31 {
	background:var(--shopini-bg-surface)!important; color:var(--shopini-text-secondary)!important; border-color:var(--shopini-border-default)!important;
}
.shopini-footer--global-v31 h2,
.shopini-footer-v31__brand .shopini-wordmark { color:var(--shopini-text-primary)!important; }
.shopini-footer-v31__brand p,
.shopini-footer-v31__contact p,
.shopini-footer-v31__contact li,
.shopini-footer--global-v31 .shopini-footer__links a,
.shopini-footer-v31__contact a,
.shopini-footer-v31__legal a { color:var(--shopini-text-secondary)!important; }
.shopini-footer--global-v31 .shopini-footer__links a:hover,
.shopini-footer-v31__contact a:hover,
.shopini-footer-v31__legal a:hover { color:var(--shopini-text-primary)!important; }
.shopini-footer--global-v31 .shopini-social-menu a { background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; color:var(--shopini-text-primary)!important; }
.shopini-footer--global-v31 .shopini-footer__bottom { border-color:var(--shopini-border-default)!important; color:var(--shopini-text-muted)!important; }

@media (max-width: 1088px) {
	.shopini-header__navigation { background:var(--shopini-bg-card)!important; border-color:var(--shopini-border-default)!important; }
	.shopini-theme-menu__panel { position:static; margin-top:8px; width:100%; }
	.shopini-theme-menu>summary { width:100%; height:42px; display:flex; justify-content:center; }
}
@media (max-width: 720px) {
	.shopini-global-logo--header .shopini-global-logo__variant img { height:44px!important; max-width:205px!important; }
	.shopini-global-logo--header .shopini-wordmark { font-size:1.32rem; }
}


/* 3.1.4-global.3 — site-wide contrast contract ------------------------
 * Contract: regular page content follows the resolved theme everywhere.
 * Light  => dark primary/secondary text on light semantic surfaces.
 * Dark   => light primary/secondary text on dark semantic surfaces.
 * Accent/inverse brand objects are explicit exceptions and carry their own
 * foreground tokens; they must never inherit an accidental legacy color.
 *
 * The html[data-theme] + body + page-wrapper prefixes are intentional:
 * several v3.x compatibility styles contain higher-specificity !important
 * declarations. These selectors guarantee that the semantic layer still wins.
 */

/* Fixed brand-object palette: the Shopini OS hero object intentionally stays
 * dark in both page themes, with a light foreground. It is an illustration,
 * not regular page copy. */
:root {
	--shopini-os-card-bg: #0d1014;
	--shopini-os-card-bg-elevated: #1b2026;
	--shopini-os-card-text: #f7f8fa;
	--shopini-os-card-muted: #9da5b0;
	--shopini-os-card-border: #3a414b;
}

html[data-theme] body {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-main,
html[data-theme] body .shopini-article,
html[data-theme] body .shopini-solution,
html[data-theme] body .shopini-global-v30.sg30-page,
html[data-theme] body .shopini-solutions-v312,
html[data-theme] body .sg313-pricing,
html[data-theme] body .shopini-docs-v311 {
	color: var(--shopini-text-primary) !important;
}

/* Header and language/theme panels. */
html[data-theme] body .shopini-header .shopini-lang-menu__panel a,
html[data-theme] body .shopini-header .shopini-theme-menu__panel button {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .shopini-header .shopini-lang-menu__panel a:hover,
html[data-theme] body .shopini-header .shopini-lang-menu__panel a:focus,
html[data-theme] body .shopini-header .shopini-theme-menu__panel button:hover,
html[data-theme] body .shopini-header .shopini-theme-menu__panel button:focus,
html[data-theme] body .shopini-header .shopini-lang-menu__panel a[aria-current="page"] {
	color: var(--shopini-text-primary) !important;
	background: var(--shopini-bg-elevated) !important;
}
html[data-theme] body .shopini-header .shopini-nav__business > a {
	color: var(--shopini-text-primary) !important;
	background: var(--shopini-bg-elevated) !important;
}

/* Product + Academy pages. */
html[data-theme] body .shopini-solution .shopini-solution-hero {
	background: radial-gradient(circle at 76% 42%,var(--shopini-glow),transparent 29%),linear-gradient(180deg,var(--shopini-bg-page),var(--shopini-bg-surface)) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-hero h1,
html[data-theme] body .shopini-solution .shopini-solution-hero h2,
html[data-theme] body .shopini-solution .shopini-solution-hero h3,
html[data-theme] body .shopini-solution .shopini-solution-capabilities h2,
html[data-theme] body .shopini-solution .shopini-solution-capabilities h3,
html[data-theme] body .shopini-solution .shopini-solution-process h2,
html[data-theme] body .shopini-solution .shopini-solution-process h3,
html[data-theme] body .shopini-solution .shopini-solution-connections h2,
html[data-theme] body .shopini-solution .shopini-solution-connections h3,
html[data-theme] body .shopini-solution .shopini-solution-connections strong,
html[data-theme] body .shopini-solution .shopini-solution-final-cta h2 {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-hero__lead,
html[data-theme] body .shopini-solution .shopini-solution-capabilities .shopini-section-heading > p:not(.shopini-kicker),
html[data-theme] body .shopini-solution .shopini-solution-feature p,
html[data-theme] body .shopini-solution .shopini-solution-process p,
html[data-theme] body .shopini-solution .shopini-solution-connections p,
html[data-theme] body .shopini-solution .shopini-solution-connections small,
html[data-theme] body .shopini-solution .shopini-solution-final-cta p {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-capabilities,
html[data-theme] body .shopini-solution .shopini-solution-process,
html[data-theme] body .shopini-solution .shopini-solution-connections {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
	border-color: var(--shopini-border-default) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-process {
	background: var(--shopini-bg-surface) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-switcher {
	background: var(--shopini-bg-surface) !important;
	border-color: var(--shopini-border-default) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-switcher a,
html[data-theme] body .shopini-solution .shopini-solution-feature,
html[data-theme] body .shopini-solution .shopini-solution-step,
html[data-theme] body .shopini-solution .shopini-solution-connections__cards a,
html[data-theme] body .shopini-solution .shopini-solution-final-cta {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-switcher a small,
html[data-theme] body .shopini-solution .shopini-solution-connections__cards small {
	color: var(--shopini-text-muted) !important;
}
html[data-theme] body .shopini-solution .shopini-solution-hero__actions .shopini-btn--secondary {
	color: var(--shopini-text-primary) !important;
	border-color: var(--shopini-border-strong) !important;
	background: transparent !important;
}

/* V30 platform / company / resources pages. */
html[data-theme] body .shopini-global-v30.sg30-page .sg30-page-hero,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-section,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-company,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-resources,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-trust {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-global-v30.sg30-page .sg30-section:nth-of-type(even),
html[data-theme] body .shopini-global-v30.sg30-page .sg30-resources,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-trust {
	background: var(--shopini-bg-surface) !important;
}
html[data-theme] body .shopini-global-v30.sg30-page .sg30-page-hero h1,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-company h2,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-company h3,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-resources h2,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-resources h3,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-trust h2,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-trust h3,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-three h3,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-case-grid h3,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-layer-stack h3,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-docs-grid h2 {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-global-v30.sg30-page .sg30-page-hero .sg30-lead,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-company p,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-resources p,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-trust p,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-three p,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-case-grid p,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-layer-stack p,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-docs-grid p {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .shopini-global-v30.sg30-page .sg30-trust__items article,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-three article,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-resources article,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-case-grid article,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-layer-stack article,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-docs-grid article,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-final__box,
html[data-theme] body .shopini-global-v30.sg30-page .sg30-doc-note {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-global-v30.sg30-page .sg30-company .shopini-btn--ghost {
	color: var(--shopini-text-primary) !important;
	border-color: var(--shopini-border-strong) !important;
	background: transparent !important;
}

/* Outcome-led Solutions hub. */
html[data-theme] body .shopini-solutions-v312,
html[data-theme] body .shopini-solutions-v312 .shopini-solutions-v312__hero {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-solutions-v312 .shopini-solutions-v312__hero h1,
html[data-theme] body .shopini-solutions-v312 .shopini-solutions-v312__card h2 {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-solutions-v312 .shopini-solutions-v312__lead,
html[data-theme] body .shopini-solutions-v312 .shopini-solutions-v312__card p {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .shopini-solutions-v312 .shopini-solutions-v312__card {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	color: var(--shopini-text-primary) !important;
}

/* Global pricing. */
html[data-theme] body .sg313-pricing .sg313-pricing__hero,
html[data-theme] body .sg313-pricing .sg313-pricing__section {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .sg313-pricing .sg313-pricing__section--suites {
	background: var(--shopini-bg-surface) !important;
}
html[data-theme] body .sg313-pricing .sg313-pricing__hero h1,
html[data-theme] body .sg313-pricing .sg313-pricing__market > strong,
html[data-theme] body .sg313-pricing .sg313-pricing__section h2,
html[data-theme] body .sg313-pricing .sg313-pricing__suites h3,
html[data-theme] body .sg313-pricing .sg313-pricing__products strong,
html[data-theme] body .sg313-pricing .sg313-pricing__table-wrap th,
html[data-theme] body .sg313-pricing .sg313-pricing__table-wrap td:first-child {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .sg313-pricing .sg313-pricing__hero > div > p:not(.sv31-eyebrow),
html[data-theme] body .sg313-pricing .sg313-pricing__section header p,
html[data-theme] body .sg313-pricing .sg313-pricing__products span,
html[data-theme] body .sg313-pricing .sg313-pricing__suites p,
html[data-theme] body .sg313-pricing .sg313-pricing__table-wrap td,
html[data-theme] body .sg313-pricing .sg313-pricing__note {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .sg313-pricing .sg313-pricing__market,
html[data-theme] body .sg313-pricing .sg313-pricing__products a,
html[data-theme] body .sg313-pricing .sg313-pricing__suites article,
html[data-theme] body .sg313-pricing .sg313-pricing__suites .is-corporate,
html[data-theme] body .sg313-pricing .sg313-pricing__table-wrap,
html[data-theme] body .sg313-pricing table,
html[data-theme] body .sg313-pricing th {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .sg313-pricing .sg313-pricing__market .shopini-btn--ghost {
	color: var(--shopini-text-primary) !important;
	border-color: var(--shopini-border-strong) !important;
	background: transparent !important;
}

/* Home: every editorial section now follows the resolved theme. */
html[data-theme] body .shopini-v31-home .sv31-mission,
html[data-theme] body .shopini-v31-home .sv31-mission__panel {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-v31-home .sv31-mission__panel {
	background: linear-gradient(115deg,var(--shopini-bg-card),var(--shopini-bg-elevated)) !important;
	border: 1px solid var(--shopini-border-default) !important;
}
html[data-theme] body .shopini-v31-home .sv31-mission__copy h2 {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-v31-home .sv31-mission__copy > p:not(.sv31-eyebrow),
html[data-theme] body .shopini-v31-home .sv31-mission__art span {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .shopini-v31-home .sv31-mission__art {
	background: linear-gradient(155deg,transparent 0 33%,color-mix(in srgb,var(--shopini-border-strong) 55%,var(--shopini-bg-elevated)) 33.2% 66%,var(--shopini-bg-elevated) 66.2%) !important;
}
html[data-theme] body .shopini-v31-home .sv31-mission__art::before {
	background: color-mix(in srgb,var(--shopini-border-default) 70%,var(--shopini-bg-elevated)) !important;
}
html[data-theme] body .shopini-v31-home .sv31-os-card {
	background: linear-gradient(145deg,var(--shopini-os-card-bg-elevated),var(--shopini-os-card-bg) 72%) !important;
	border-color: var(--shopini-os-card-border) !important;
}
html[data-theme] body .shopini-v31-home .sv31-os-card__word {
	color: var(--shopini-os-card-text) !important;
}
html[data-theme] body .shopini-v31-home .sv31-os-card__os {
	color: var(--shopini-os-card-muted) !important;
}

/* Generic WordPress content pages. */
html[data-theme] body .shopini-article,
html[data-theme] body .shopini-article__content {
	background: var(--shopini-bg-page) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-article h1,
html[data-theme] body .shopini-article h2,
html[data-theme] body .shopini-article h3,
html[data-theme] body .shopini-article h4,
html[data-theme] body .shopini-article h5,
html[data-theme] body .shopini-article h6,
html[data-theme] body .shopini-article a:not(.shopini-btn) {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .shopini-article p,
html[data-theme] body .shopini-article li,
html[data-theme] body .shopini-article figcaption {
	color: var(--shopini-text-secondary) !important;
}

/* Forms and WooCommerce inherit the same readable contract. */
html[data-theme] body input:not([type="submit"]):not([type="button"]):not([type="reset"]),
html[data-theme] body select,
html[data-theme] body textarea,
html[data-theme] body .woocommerce form .form-row input.input-text,
html[data-theme] body .woocommerce form .form-row textarea {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body input::placeholder,
html[data-theme] body textarea::placeholder {
	color: var(--shopini-text-muted) !important;
	opacity: 1;
}
html[data-theme] body .woocommerce,
html[data-theme] body .woocommerce-page {
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .woocommerce div.product,
html[data-theme] body .woocommerce-cart .cart-collaterals,
html[data-theme] body .woocommerce-checkout #order_review,
html[data-theme] body .woocommerce table.shop_table,
html[data-theme] body .woocommerce .woocommerce-message,
html[data-theme] body .woocommerce .woocommerce-info {
	background: var(--shopini-bg-card) !important;
	border-color: var(--shopini-border-default) !important;
	color: var(--shopini-text-primary) !important;
}
html[data-theme] body .woocommerce p,
html[data-theme] body .woocommerce .woocommerce-product-details__short-description,
html[data-theme] body .woocommerce .product_meta,
html[data-theme] body .woocommerce table.shop_table td {
	color: var(--shopini-text-secondary) !important;
}
html[data-theme] body .woocommerce h1,
html[data-theme] body .woocommerce h2,
html[data-theme] body .woocommerce h3,
html[data-theme] body .woocommerce table.shop_table th,
html[data-theme] body .woocommerce .price {
	color: var(--shopini-text-primary) !important;
}

/* 3.1.4-global.4 — Customizer contract fixes ---------------------------- */
.shopini-global-logo--header .shopini-global-logo__variant img {
	height: var(--shopini-logo-height, 62px) !important;
}
.sv313-testimonials__subtitle { color:var(--shopini-text-secondary); margin:.65rem 0 0; line-height:1.6; }
.sv313-testimonial__rating { color:var(--shopini-accent); font-size:.82rem; letter-spacing:.08em; margin-bottom:.8rem; }
.sv313-testimonial__initials { color:var(--shopini-text-primary); font-weight:800; background:var(--shopini-bg-elevated); }
.sv313-testimonial small a { color:inherit; text-decoration:none; }
.sv313-testimonial small a:hover { color:var(--shopini-accent); }

/* 3.1.4-global.6 — Home hero visual is driven by the Customizer. */
html[data-theme] body .shopini-v31-home .sv31-hero__visual {
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
}
html[data-theme] body .shopini-v31-home .sv31-hero__visual .shopini-home-picture {
  position: relative;
  z-index: 2;
  display: block;
  width: min(100%, 650px);
}
html[data-theme] body .shopini-v31-home .sv31-hero__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 30px;
  object-fit: cover;
  box-shadow: var(--shopini-shadow-md);
}
@media (max-width: 720px) {
  html[data-theme] body .shopini-v31-home .sv31-hero__visual { min-height: 250px; }
  html[data-theme] body .shopini-v31-home .sv31-hero__visual .shopini-home-picture { width: min(100%, 560px); }
  html[data-theme] body .shopini-v31-home .sv31-hero__image { border-radius: 22px; }
}
