/**
 * SeoNami Design System v1.9.22
 * Tokens + primitives + sitewide visual cohesion (CSS only).
 * Do not strip focus rings. Preserve RTL. Pink ≤2%.
 */

/* --------------------------------------------------------------------------
   1) Tokens
   -------------------------------------------------------------------------- */

:root {
	--sn-primary: #673DE6;
	--sn-primary-hover: #5025D1;
	--sn-primary-active: #2F1C6A;
	--sn-ink: #2F1C6A;
	--sn-text: #2F1C6A;
	--sn-text-muted: #727586;
	--sn-lavender: #EBE4FF;
	--sn-canvas: #F4F5FF;
	--sn-white: #FFFFFF;
	--sn-accent: #FC5185;
	--sn-border: #EBE4FF;
	--sn-focus: rgba(103, 61, 230, 0.28);
	--sn-primary-soft: rgba(103, 61, 230, 0.08);
	--sn-accent-soft: rgba(252, 81, 133, 0.10);
	--sn-shadow-sm: 0 4px 16px rgba(47, 28, 106, 0.07);
	--sn-shadow-md: 0 12px 32px rgba(47, 28, 106, 0.10);

	/* Legacy aliases — keep existing consumers working */
	--hostinger-primary: var(--sn-primary);
	--hostinger-primary-hover: var(--sn-primary-hover);
	--hostinger-dark: var(--sn-ink);
	--hostinger-light-purple: var(--sn-lavender);
	--hostinger-background: var(--sn-canvas);
	--hostinger-gray: var(--sn-text-muted);
	--hostinger-white: var(--sn-white);
	--hostinger-pink: var(--sn-accent);

	--seonami-color-ink: var(--sn-ink);
	--seonami-color-muted: var(--sn-text-muted);
	--seonami-color-surface: var(--sn-white);
	--seonami-color-canvas: var(--sn-canvas);
	--seonami-color-border: var(--sn-border);
	--seonami-color-primary: var(--sn-primary);
	--seonami-color-primary-dark: var(--sn-primary-hover);
	--seonami-color-accent: var(--sn-primary);
	--seonami-color-dark: var(--sn-ink);
	--seonami-color-soft: var(--sn-lavender);
	--seonami-color-pink: var(--sn-accent);

	--sn-purple: var(--sn-primary);
	--sn-purple-dark: var(--sn-ink);
	--sn-purple-deep: var(--sn-ink);
	--sn-bg-lite: var(--sn-canvas);
	--sn-cta: var(--sn-primary);

	--seonami-shadow-sm: var(--sn-shadow-sm);
	--seonami-shadow-md: var(--sn-shadow-md);

	--sn-radius-sm: 10px;
	--sn-radius-md: 16px;
	--sn-radius-pill: 999px;
	--sn-focus-ring: 0 0 0 3px var(--sn-focus);
	--sn-focus-outline: 3px solid rgba(103, 61, 230, 0.35);
}

/* --------------------------------------------------------------------------
   2) Base typography + surfaces
   -------------------------------------------------------------------------- */

body.seonami-tt1-child {
	background: var(--sn-canvas);
	color: var(--sn-text);
}

body.seonami-tt1-child h1,
body.seonami-tt1-child h2,
body.seonami-tt1-child h3,
body.seonami-tt1-child h4,
body.seonami-tt1-child h5,
body.seonami-tt1-child h6 {
	color: var(--sn-ink);
}

body.seonami-tt1-child a:not(.wp-block-button__link):not(.sn-btn):not(.seonami-account-link):not(.seonami-footer-cta):not([class*="__btn"]) {
	color: var(--sn-primary-hover);
}

body.seonami-tt1-child a:not(.wp-block-button__link):not(.sn-btn):not(.seonami-account-link):not(.seonami-footer-cta):not([class*="__btn"]):hover,
body.seonami-tt1-child a:not(.wp-block-button__link):not(.sn-btn):not(.seonami-account-link):not(.seonami-footer-cta):not([class*="__btn"]):focus {
	color: var(--sn-primary);
}

/* --------------------------------------------------------------------------
   3) Focus ring — never strip without replacement
   -------------------------------------------------------------------------- */

:where(
	a,
	button,
	input,
	select,
	textarea,
	summary,
	[tabindex]:not([tabindex="-1"]),
	.wp-block-button__link,
	.wp-element-button,
	.sn-btn,
	.seonami-account-link
):focus-visible {
	outline: var(--sn-focus-outline) !important;
	outline-offset: 3px !important;
}

:where(input, select, textarea):focus {
	border-color: var(--sn-primary);
	box-shadow: var(--sn-focus-ring);
}

/* Replace bare outline:none patterns that lack a visible focus treatment */
.sn-search__row input:focus-visible,
.seonami-domain-search input:focus-visible,
.forminator-input:focus-visible,
.forminator-textarea:focus-visible {
	outline: var(--sn-focus-outline) !important;
	outline-offset: 2px !important;
}

/* --------------------------------------------------------------------------
   4) Button system
   -------------------------------------------------------------------------- */

.sn-btn,
.sn-ds-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 44px;
	padding: 0.75rem 1.35rem;
	border-radius: var(--sn-radius-pill);
	border: 1px solid transparent;
	font-family: inherit;
	font-weight: 800;
	font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

/* Primary */
.sn-btn--primary,
.sn-btn--fill,
.sn-ds-btn--primary,
.sn-wp-btn--primary,
.sn-service-hero__btn--primary,
.sn-commerce-funnel__btn--primary,
.sn-design-funnel__btn--primary,
.sn-design-btn--primary,
.seonami-account-link,
input[type="submit"],
input[type="button"],
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.wp-element-button {
	background: var(--sn-primary);
	border-color: var(--sn-primary);
	color: var(--sn-white);
	box-shadow: none;
}

.sn-btn--primary:hover,
.sn-btn--fill:hover,
.sn-ds-btn--primary:hover,
.sn-wp-btn--primary:hover,
.sn-service-hero__btn--primary:hover,
.sn-service-hero__btn--primary:focus,
.sn-commerce-funnel__btn--primary:hover,
.sn-commerce-funnel__btn--primary:focus,
.sn-design-funnel__btn--primary:hover,
.sn-design-funnel__btn--primary:focus-visible,
.sn-design-btn--primary:hover,
.seonami-account-link:hover,
.seonami-account-link:focus,
input[type="submit"]:hover,
input[type="button"]:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-element-button:hover {
	background: var(--sn-primary-hover);
	border-color: var(--sn-primary-hover);
	color: var(--sn-white);
	box-shadow: var(--sn-shadow-sm);
	transform: translateY(-1px);
}

.sn-btn--primary:active,
.sn-ds-btn--primary:active,
.seonami-account-link:active,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
	background: var(--sn-primary-active);
	border-color: var(--sn-primary-active);
	transform: none;
}

/* Secondary */
.sn-btn--secondary,
.sn-ds-btn--secondary,
.sn-service-hero__btn--ghost,
.sn-btn--ghost,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: var(--sn-white);
	border: 1px solid var(--sn-primary);
	color: var(--sn-primary-hover);
	box-shadow: none;
}

.sn-btn--secondary:hover,
.sn-ds-btn--secondary:hover,
.sn-service-hero__btn--ghost:hover,
.sn-service-hero__btn--ghost:focus,
.sn-btn--ghost:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--sn-lavender);
	border-color: var(--sn-primary-hover);
	color: var(--sn-primary-hover);
}

/* On dark heroes, secondary stays translucent white */
.sn-service-hero .sn-service-hero__btn--ghost,
.sn-commerce--domain .sn-btn--secondary,
.sn-landing-aurora-hero .sn-btn--secondary,
.sn-landing-aurora-hero .is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.35);
	color: var(--sn-white);
}

.sn-service-hero .sn-service-hero__btn--ghost:hover,
.sn-service-hero .sn-service-hero__btn--ghost:focus,
.sn-landing-aurora-hero .sn-btn--secondary:hover,
.sn-landing-aurora-hero .is-style-outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.16);
	color: var(--sn-white);
}

/* Tertiary / text link button */
.sn-btn--tertiary,
.sn-ds-btn--tertiary {
	background: transparent;
	border-color: transparent;
	color: var(--sn-primary-hover);
	min-height: 40px;
	padding-inline: 0.5rem;
	box-shadow: none;
}

.sn-btn--tertiary:hover,
.sn-ds-btn--tertiary:hover {
	background: var(--sn-primary-soft);
	color: var(--sn-primary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Disabled */
.sn-btn:disabled,
.sn-ds-btn:disabled,
.sn-btn.is-disabled,
.sn-ds-btn.is-disabled,
button:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
.wp-block-button__link[aria-disabled="true"] {
	background: var(--sn-lavender) !important;
	border-color: var(--sn-border) !important;
	color: var(--sn-text-muted) !important;
	box-shadow: none !important;
	cursor: not-allowed;
	transform: none !important;
	opacity: 1;
}

/* --------------------------------------------------------------------------
   5) Input / Card / Badge / Link primitives
   -------------------------------------------------------------------------- */

.sn-ds-input,
body.seonami-tt1-child input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
body.seonami-tt1-child select,
body.seonami-tt1-child textarea,
body.seonami-tt1-child .forminator-input,
body.seonami-tt1-child .forminator-textarea,
body.seonami-tt1-child .forminator-select {
	border: 1px solid var(--sn-border);
	border-radius: var(--sn-radius-sm);
	background: var(--sn-white);
	color: var(--sn-ink);
}

body.seonami-tt1-child input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):hover,
body.seonami-tt1-child select:hover,
body.seonami-tt1-child textarea:hover {
	border-color: rgba(103, 61, 230, 0.35);
}

body.seonami-tt1-child input:disabled,
body.seonami-tt1-child select:disabled,
body.seonami-tt1-child textarea:disabled {
	background: var(--sn-canvas);
	color: var(--sn-text-muted);
	cursor: not-allowed;
}

.sn-ds-card,
.wp-block-group.is-style-seonami-card,
.wp-block-column.is-style-seonami-card {
	border: 1px solid var(--sn-border);
	border-radius: var(--sn-radius-md);
	background: var(--sn-white);
	box-shadow: var(--sn-shadow-sm);
}

.sn-ds-badge,
.seonami-pricing-card__badge,
.seonami-pricing-card__discount,
.sn-commerce__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.3em 0.75em;
	border-radius: var(--sn-radius-pill);
	background: var(--sn-lavender);
	color: var(--sn-primary-hover);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
}

/* Tiny pink accent allowed for discount / promo chips (not white-on-pink) */
.sn-ds-badge--accent,
.seonami-pricing-card.is-featured .seonami-pricing-card__badge,
.seonami-pricing-card.is-featured .seonami-pricing-card__discount,
.sn-promo__pill {
	background: var(--sn-accent-soft) !important;
	color: var(--sn-accent) !important;
	border: 1px solid rgba(252, 81, 133, 0.22);
}

.sn-ds-link {
	color: var(--sn-primary-hover);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.sn-ds-link:hover {
	color: var(--sn-primary);
}

/* --------------------------------------------------------------------------
   6) Global chrome — notice, header, menu, footer
   -------------------------------------------------------------------------- */

/* Notice / utility bar — ink only */
.seonami-utility-bar,
.sn-promo {
	background: var(--sn-ink) !important;
	color: rgba(255, 255, 255, 0.92);
}

.seonami-utility-bar a,
.sn-promo__link,
.sn-promo__text {
	color: var(--sn-white) !important;
}

.seonami-utility-bar a:hover,
.seonami-utility-bar a:focus,
.sn-promo__link:hover {
	color: var(--sn-lavender) !important;
}

/* Sticky header — white + soft shadow */
.seonami-site-header,
.sn-header {
	background: rgba(255, 255, 255, 0.98) !important;
	border-bottom: 1px solid var(--sn-border);
}

.seonami-site-header.is-sticky,
.sn-header.sn-header--scrolled {
	box-shadow: var(--sn-shadow-sm);
}

/* Nav items */
.seonami-site-header .primary-navigation .primary-menu-container > ul > .menu-item > a,
.sn-nav a {
	color: var(--sn-ink);
}

.seonami-site-header .primary-navigation .primary-menu-container > ul > .menu-item > a:hover,
.sn-nav a:hover {
	background: var(--sn-canvas);
	color: var(--sn-primary-hover);
}

.seonami-site-header .primary-navigation .primary-menu-container > ul > .current-menu-item > a,
.seonami-site-header .primary-navigation .primary-menu-container > ul > .current-menu-ancestor > a {
	background: transparent;
	color: var(--sn-primary);
	box-shadow: inset 0 -2px 0 var(--sn-primary);
}

/* Dropdown panels */
.seonami-site-header .primary-navigation .sub-menu {
	border-color: var(--sn-border);
	background:
		linear-gradient(165deg, var(--sn-lavender) 0%, var(--sn-white) 42%, var(--sn-white) 100%);
	box-shadow: var(--sn-shadow-md);
}

.seonami-site-header .primary-navigation > div > .menu-wrapper > li.menu-item-has-children > .sub-menu::before {
	background: var(--sn-lavender);
	border-color: var(--sn-border);
}

/* Footer — solid ink (not navy/teal mash) */
.seonami-site-footer {
	background:
		radial-gradient(ellipse 70% 80% at 100% 0%, rgba(103, 61, 230, 0.22), transparent 55%),
		linear-gradient(180deg, var(--sn-ink) 0%, #241450 100%) !important;
	color: rgba(255, 255, 255, 0.82);
}

.seonami-footer-col__title,
.seonami-footer-title a {
	color: var(--sn-white) !important;
}

.seonami-footer-col__list a,
.seonami-footer-bottom__links a {
	color: var(--sn-lavender) !important;
}

.seonami-footer-col__list a:hover,
.seonami-footer-col__list a:focus,
.seonami-footer-bottom__links a:hover,
.seonami-footer-bottom__links a:focus {
	color: var(--sn-white) !important;
}

.seonami-footer-cta--primary {
	background: var(--sn-primary) !important;
	border-color: var(--sn-primary) !important;
	color: var(--sn-white) !important;
	box-shadow: var(--sn-shadow-sm);
}

.seonami-footer-cta--primary:hover,
.seonami-footer-cta--primary:focus {
	background: var(--sn-primary-hover) !important;
	border-color: var(--sn-primary-hover) !important;
	color: var(--sn-white) !important;
}

.seonami-footer-col__title::after {
	background: var(--sn-primary) !important;
}

/* --------------------------------------------------------------------------
   7) Cohesion — kill random purples / illegal pink usage
   -------------------------------------------------------------------------- */

/* Remap neon / random purples to brand primary scale */
.sn-commerce-funnel__btn--primary:hover,
.sn-commerce-funnel__btn--primary:focus,
.sn-service-hero__btn--primary:hover,
.sn-service-hero__btn--primary:focus,
.sn-design-funnel__btn--primary:hover,
.sn-design-funnel__btn--primary:focus-visible {
	background: var(--sn-primary-hover) !important;
}

.sn-pattern-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.sn-landing-aurora-hero .sn-btns a.sn-btn--primary,
.sn-landing-aurora-hero .sn-btns .sn-btn--primary .wp-block-button__link,
.sn-hosting-page .sn-btns a.sn-btn--primary,
.sn-hosting-page .sn-btns .sn-btn--primary .wp-block-button__link,
.sn-article-hero__share-btn {
	background: var(--sn-primary) !important;
	background-image: none !important;
}

.sn-article-hero__share-btn:hover {
	background: var(--sn-primary-hover) !important;
}

/* Progress / decorative bars: primary only (no pink gradients) */
.sn-progress__bar,
.sn-home .sn-progress__bar {
	background: var(--sn-primary) !important;
	background-image: none !important;
}

/* No white-on-pink anywhere */
[style*="background"][style*="#FC5185"],
[style*="background"][style*="#fc5185"],
.sn-promo__pill {
	background: var(--sn-accent-soft) !important;
	color: var(--sn-accent) !important;
}

/* Pricing featured — one strong card, brand border */
.seonami-pricing-card.is-featured {
	border: 2px solid var(--sn-primary);
	background: var(--sn-canvas);
	box-shadow: var(--sn-shadow-md);
}

.seonami-pricing-card.is-featured a.seonami-pricing-card__button,
.seonami-pricing-card.is-featured .seonami-pricing-card__button {
	background: var(--sn-primary);
	border-color: var(--sn-primary);
	color: var(--sn-white);
}

.seonami-pricing-card.is-featured a.seonami-pricing-card__button:hover,
.seonami-pricing-card.is-featured .seonami-pricing-card__button:hover {
	background: var(--sn-primary-hover);
	border-color: var(--sn-primary-hover);
	color: var(--sn-white);
}

/* Home hero CTAs on dark surfaces */
.sn-home .sn-wp-btn--ghost-dark,
.sn-home .sn-hero .sn-btn--secondary,
.sn-home .sn-hero .is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, 0.08) !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
	color: var(--sn-white) !important;
}

.wp-block-group.is-style-seonami-dark {
	background: var(--sn-ink);
	color: var(--sn-white);
}

/* Commerce domain band stays ink (final CTA-class surface) */
.sn-commerce--domain {
	background: linear-gradient(180deg, var(--sn-ink) 0%, #241450 100%);
	color: var(--sn-lavender);
}

/* --------------------------------------------------------------------------
   8) Blog + articles readability
   -------------------------------------------------------------------------- */

.single-post .entry-content,
.sn-article,
.sn-article-body,
.blog .site-main article,
.archive .site-main article {
	color: var(--sn-text);
}

.single-post .entry-content h2,
.single-post .entry-content h3,
.sn-article h2,
.sn-article h3 {
	color: var(--sn-ink);
	background: none;
	-webkit-text-fill-color: unset;
}

.single-post .entry-content a,
.sn-article a {
	color: var(--sn-primary-hover);
}

.sn-article,
.single-post {
	--sn-text: #2F1C6A;
	--sn-text-muted: #727586;
	--sn-purple: #673DE6;
	--sn-purple-dark: #2F1C6A;
	--sn-cta: #673DE6;
	--sn-bg-lite: #F4F5FF;
}

/* Tone down article decorative gradients → solid brand */
.sn-article-share__copy-btn,
.sn-article-hero__share-btn,
.sn-article [class*="__cta"],
.sn-article .wp-block-button__link {
	background-image: none !important;
}

/* Callouts: lavender soft, not neon */
.sn-article blockquote,
.single-post .entry-content blockquote {
	border-inline-start: 4px solid var(--sn-primary);
	background: var(--sn-canvas);
	color: var(--sn-text);
}

/* --------------------------------------------------------------------------
   9) Forms (Forminator + consult) cohesion
   -------------------------------------------------------------------------- */

body.seonami-tt1-child .forminator-button-submit,
body.seonami-tt1-child .forminator-button {
	background: var(--sn-primary) !important;
	border-color: var(--sn-primary) !important;
	color: var(--sn-white) !important;
	border-radius: var(--sn-radius-pill) !important;
}

body.seonami-tt1-child .forminator-button-submit:hover,
body.seonami-tt1-child .forminator-button:hover {
	background: var(--sn-primary-hover) !important;
	border-color: var(--sn-primary-hover) !important;
}

body.seonami-tt1-child .forminator-is-required::after {
	color: var(--sn-accent);
}

/* --------------------------------------------------------------------------
   10) Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.sn-btn,
	.sn-ds-btn,
	.seonami-account-link,
	.wp-block-button__link,
	.seonami-footer-cta,
	.seonami-pricing-card {
		transition: none !important;
		transform: none !important;
	}
}
