/*
Theme Name: MG Group
Theme URI: https://mg-group.ltd
Author: MG Group
Author URI: https://mg-group.ltd
Description: Motyw blokowy MG Group, AI-Powered Software House. Pełna edycja witryny, wzorce sekcji, self-hosted fonty.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: mggroup
*/

/* ==========================================================================
   Base
   ========================================================================== */

:root {
	--mg-ease: cubic-bezier(.2, .7, .1, 1);
	--mg-radius: 18px;
	--mg-line-dark: rgb(243 240 234 / .09);
	--mg-line-light: rgb(22 32 28 / .09);
	--mg-header-h: 76px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--mg-header-h) + 12px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	font-size-adjust: from-font;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}

::selection { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
	border-radius: 4px;
}

.wp-site-blocks { padding: 0; }
.wp-block-post-content > .alignfull { margin-block: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
main.wp-block-group { margin-block-start: 0; }

.mg-skip-link { position: absolute; left: -9999px; }

/* ==========================================================================
   Header
   ========================================================================== */

.mg-header {
	position: sticky;
	top: 0;
	z-index: 50;
	min-height: var(--mg-header-h);
	isolation: isolate;
	border-bottom: 1px solid var(--mg-line-dark);
}
/* blur lives on a pseudo element: backdrop-filter on the header itself would trap the fixed mobile menu overlay */
.mg-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgb(22 32 28 / .9);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
}
.admin-bar .mg-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .mg-header { top: 0; } }

.mg-header .mg-logo img { display: block; height: 46px; width: auto; }
.mg-header .mg-logo { margin: 0; }
.mg-header .mg-logo a { display: block; }

.mg-header .wp-block-navigation { font-size: .95rem; gap: clamp(.5rem, 2vw, 2rem); }
.mg-header .wp-block-navigation-item__content { color: var(--wp--preset--color--mist); transition: color .2s; }
.mg-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--cream); }
.mg-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--cream) !important;
	padding: 2rem;
}
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1.25rem; padding-top: 4rem; }
.mg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.6rem; font-family: var(--wp--preset--font-family--display); }
.mg-header .wp-block-navigation__responsive-container-open svg,
.mg-header .wp-block-navigation__responsive-container-close svg { fill: var(--wp--preset--color--cream); }

.mg-header .mg-header-cta .wp-block-button__link { padding: .6rem 1.15rem; font-size: .9rem; }
@media (max-width: 780px) { .mg-header .mg-header-cta { display: none; } }

/* Polylang language switcher inside the header */
.mg-lang { display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.mg-lang a, .mg-lang span {
	display: inline-block; padding: .3rem .55rem; border-radius: 999px;
	color: var(--wp--preset--color--mist); text-decoration: none; border: 1px solid transparent;
}
.mg-lang a:hover { color: var(--wp--preset--color--cream); border-color: var(--mg-line-dark); }
.mg-lang .is-current { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--gold); }

/* ==========================================================================
   Buttons
   ========================================================================== */

.wp-block-button__link { transition: transform .25s var(--mg-ease), background-color .25s, color .25s, box-shadow .25s; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid currentColor; background: transparent;
}
.mg-arrow .wp-block-button__link::after,
a.mg-arrow::after { content: "→"; display: inline-block; margin-left: .55em; transition: translate .25s var(--mg-ease); }
.mg-arrow .wp-block-button__link:hover::after,
a.mg-arrow:hover::after { translate: 4px 0; }

/* ==========================================================================
   Eyebrow, headings
   ========================================================================== */

.mg-eyebrow {
	font-family: var(--wp--preset--font-family--display);
	font-size: .8rem !important;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	display: inline-flex; align-items: center; gap: .75rem;
}
.mg-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; }

.mg-num { font-family: var(--wp--preset--font-family--display); font-feature-settings: "tnum"; }

/* ==========================================================================
   Hero
   ========================================================================== */

.mg-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: min(92svh, 900px);
	display: flex !important;
	flex-direction: column;
	justify-content: center;
}
.mg-hero::before {
	content: "";
	position: absolute; inset: 0; z-index: -2;
	background:
		radial-gradient(60% 60% at 78% 40%, rgb(217 164 65 / .16), transparent 70%),
		radial-gradient(50% 60% at 10% 100%, rgb(122 31 61 / .35), transparent 70%);
}
.mg-hero::after {
	content: "";
	position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(var(--mg-line-dark) 1px, transparent 1px),
		linear-gradient(90deg, var(--mg-line-dark) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: radial-gradient(70% 70% at 70% 45%, #000 20%, transparent 75%);
	mask-image: radial-gradient(70% 70% at 70% 45%, #000 20%, transparent 75%);
	opacity: .55;
}
.mg-hero > *:not(.mg-orbit) { position: relative; z-index: 1; width: 100%; }

.mg-hero h1 { text-wrap: balance; }
.mg-hero h1 em { font-style: normal; color: var(--wp--preset--color--gold); }
.mg-hero .mg-lead { max-width: 38rem; text-wrap: pretty; }

/* orbit visual (echo of the logo swoosh) */
.mg-orbit {
	position: absolute !important;
	right: -12vw; top: 50%;
	width: min(980px, 95vw);
	translate: 0 -50%;
	z-index: 0 !important;
	pointer-events: none;
	margin: 0 !important;
	opacity: .95;
}
.mg-orbit svg { width: 100%; height: auto; overflow: visible; display: block; }
.mg-orbit .ring { fill: none; stroke: rgb(243 240 234 / .10); stroke-width: 1; }
.mg-orbit .ring--gold { stroke: url(#mgGold); stroke-width: 1.5; }
.mg-orbit .ring--dash { stroke-dasharray: 2 10; stroke: rgb(243 240 234 / .22); }
.mg-orbit .spin-a, .mg-orbit .spin-b, .mg-orbit .spin-c { transform-box: view-box; transform-origin: 500px 500px; }
.mg-orbit .node { fill: var(--wp--preset--color--gold); }
.mg-orbit .node--cream { fill: var(--wp--preset--color--cream); }
.mg-orbit .node--wine { fill: #c24a72; }
.mg-orbit .core { fill: url(#mgCore); }
@media (prefers-reduced-motion: no-preference) {
	.mg-orbit .spin-a { animation: mg-spin 60s linear infinite; }
	.mg-orbit .spin-b { animation: mg-spin 90s linear infinite reverse; }
	.mg-orbit .spin-c { animation: mg-spin 140s linear infinite; }
	.mg-orbit .pulse { animation: mg-pulse 4s var(--mg-ease) infinite; transform-box: fill-box; transform-origin: center; }
}
@keyframes mg-spin { to { rotate: 360deg; } }
@keyframes mg-pulse { 0%, 100% { opacity: .35; scale: 1; } 50% { opacity: 1; scale: 1.6; } }

@media (max-width: 900px) {
	.mg-orbit { right: -40vw; top: 18%; width: 120vw; opacity: .45; }
}

.mg-hero-meta {
	border-top: 1px solid var(--mg-line-dark);
	padding-top: 1.5rem;
}
.mg-hero-meta p { margin: 0; }

/* ==========================================================================
   Marquee
   ========================================================================== */

.mg-marquee {
	overflow: hidden;
	border-block: 1px solid var(--mg-line-dark);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.mg-marquee .mg-marquee__track {
	display: flex !important; flex-wrap: nowrap !important; width: max-content; gap: 0 !important;
}
.mg-marquee p {
	white-space: nowrap; margin: 0 !important; padding-inline: 1.5rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.1rem, 2vw, 1.5rem);
	color: var(--wp--preset--color--mist);
}
.mg-marquee p::after { content: "✦"; color: var(--wp--preset--color--gold); margin-left: 3rem; font-size: .7em; vertical-align: middle; }
@media (prefers-reduced-motion: no-preference) {
	.mg-marquee .mg-marquee__track { animation: mg-marquee 48s linear infinite; }
	.mg-marquee:hover .mg-marquee__track { animation-play-state: paused; }
}
@keyframes mg-marquee { to { translate: -50% 0; } }

/* ==========================================================================
   Cards
   ========================================================================== */

.mg-card {
	position: relative;
	border-radius: var(--mg-radius);
	border: 1px solid var(--mg-line-light);
	background: var(--wp--preset--color--paper);
	transition: transform .4s var(--mg-ease), box-shadow .4s var(--mg-ease), border-color .4s;
	height: 100%;
}
.mg-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -24px rgb(22 32 28 / .25);
	border-color: rgb(122 31 61 / .25);
}
.mg-card h3 { text-wrap: balance; }
.mg-card .mg-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgb(122 31 61 / .08); color: var(--wp--preset--color--wine); margin: 0 0 1.25rem; }
.mg-card .mg-icon svg { width: 22px; height: 22px; }

.mg-card--dark {
	background: rgb(243 240 234 / .035);
	border-color: var(--mg-line-dark);
}
.mg-card--dark:hover { border-color: rgb(217 164 65 / .4); box-shadow: 0 30px 60px -30px rgb(0 0 0 / .6); }

.mg-card .mg-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; padding-top: .75rem; }
.mg-card--dark .mg-icon { background: rgb(243 240 234 / .1); color: var(--wp--preset--color--gold); }
.mg-tag {
	display: inline-block; font-size: .75rem !important; letter-spacing: .04em; padding: .3rem .7rem;
	border-radius: 999px; border: 1px solid currentColor; opacity: .75; margin: 0 !important;
}

/* Bento grid for services */
.mg-bento { display: grid !important; gap: 1rem; grid-template-columns: repeat(6, 1fr); }
.mg-bento > * { margin: 0 !important; display: flex; flex-direction: column; }
.mg-bento > .mg-span-3 { grid-column: span 3; }
.mg-bento > .mg-span-2 { grid-column: span 2; }
.mg-bento > .mg-span-4 { grid-column: span 4; }
@media (max-width: 980px) {
	.mg-bento { grid-template-columns: repeat(2, 1fr); }
	.mg-bento > .mg-span-3, .mg-bento > .mg-span-2, .mg-bento > .mg-span-4 { grid-column: span 1; }
	.mg-bento > .mg-span-4 { grid-column: span 2; }
}
@media (max-width: 640px) {
	.mg-bento { grid-template-columns: 1fr; }
	.mg-bento > * { grid-column: auto !important; }
}

/* Pillars */
.mg-pillar {
	position: relative; overflow: hidden; border-radius: calc(var(--mg-radius) + 6px);
	min-height: 420px; display: flex !important; flex-direction: column;
}
.mg-pillar .mg-pillar__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(6rem, 14vw, 11rem) !important; line-height: .8 !important; font-weight: 700;
	position: absolute; right: -.05em; bottom: -.12em; margin: 0 !important;
	color: transparent; -webkit-text-stroke: 1px rgb(243 240 234 / .18);
	pointer-events: none;
}
.mg-pillar ul { list-style: none; padding: 1.5rem 0 0; margin-top: auto; }
.mg-pillar li { padding: .7rem 0; border-top: 1px solid rgb(243 240 234 / .12); display: flex; gap: .75rem; }
.mg-pillar li::before { content: "↗"; color: var(--wp--preset--color--gold); }

/* Stats */
.mg-stats > * { border-left: 1px solid var(--mg-line-light); padding-left: 1.5rem; }
.mg-stats .mg-stat-value { font-family: var(--wp--preset--font-family--display); font-size: clamp(2.4rem, 5vw, 3.6rem) !important; line-height: 1 !important; font-weight: 600; letter-spacing: -.03em; margin: 0 0 .6rem !important; }
.mg-stats .mg-stat-value span { color: var(--wp--preset--color--wine); }

/* Statement */
.mg-statement { text-wrap: balance; }
:where(h1, h2, h3) { text-wrap: balance; }
.mg-statement mark { background: none; color: var(--wp--preset--color--wine); }

/* Process */
.mg-process { counter-reset: step; }
.mg-step { position: relative; padding-top: 1.75rem; border-top: 1px solid rgb(243 240 234 / .18); }
.mg-step::before {
	counter-increment: step; content: "0" counter(step);
	font-family: var(--wp--preset--font-family--display); font-size: .85rem; letter-spacing: .1em;
	color: var(--wp--preset--color--gold); display: block; margin-bottom: 1rem;
}
.mg-step::after {
	content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%;
	background: var(--wp--preset--color--gold); box-shadow: 0 0 0 6px rgb(217 164 65 / .15);
}

/* Products */
.mg-product {
	border-radius: calc(var(--mg-radius) + 6px);
	border: 1px solid var(--mg-line-dark);
	background: linear-gradient(180deg, rgb(243 240 234 / .04), rgb(243 240 234 / .01));
	overflow: hidden; height: 100%;
	display: flex !important; flex-direction: column;
	transition: border-color .4s, transform .4s var(--mg-ease);
}
.mg-product:hover { border-color: rgb(217 164 65 / .45); transform: translateY(-4px); }
.mg-product .mg-product__visual { margin: 0 !important; border-bottom: 1px solid var(--mg-line-dark); background: rgb(0 0 0 / .18); }
.mg-product .mg-product__visual svg { display: block; width: 100%; height: auto; }
.mg-product .mg-product__body { flex: 1; display: flex; flex-direction: column; }
.mg-product .mg-product__body > .wp-block-buttons { margin-top: auto; padding-top: 1.25rem; }

@media (prefers-reduced-motion: no-preference) {
	.mg-viz-line { stroke-dasharray: 900; stroke-dashoffset: 900; animation: mg-draw 3.2s var(--mg-ease) forwards .3s; }
	.mg-viz-line--2 { animation-delay: .7s; }
	.mg-viz-line--3 { animation-delay: 1.1s; }
	.mg-viz-packet { offset-rotate: 0deg; animation: mg-travel 5s linear infinite; }
	.mg-viz-packet--2 { animation-delay: -1.7s; animation-duration: 6.5s; }
	.mg-viz-packet--3 { animation-delay: -3.1s; animation-duration: 4.2s; }
	.mg-viz-blink { animation: mg-pulse 3s var(--mg-ease) infinite; transform-box: fill-box; transform-origin: center; }
}
@keyframes mg-draw { to { stroke-dashoffset: 0; } }
@keyframes mg-travel { from { offset-distance: 0%; } to { offset-distance: 100%; } }

/* Studios */
.mg-studio {
	border-radius: calc(var(--mg-radius) + 6px); overflow: hidden; height: 100%;
	display: flex !important; flex-direction: column; min-height: 380px;
	position: relative; isolation: isolate;
	transition: transform .4s var(--mg-ease);
}
.mg-studio:hover { transform: translateY(-4px); }
.mg-studio .wp-block-buttons { margin-top: auto; padding-top: 1.25rem; }
.mg-studio--eightbit::before {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
	background-image: radial-gradient(rgb(243 240 234 / .18) 1.2px, transparent 1.4px);
	background-size: 12px 12px;
	-webkit-mask-image: linear-gradient(200deg, #000 0%, transparent 60%);
	mask-image: linear-gradient(200deg, #000 0%, transparent 60%);
}
.mg-studio--eightbit .mg-studio__name { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace !important; letter-spacing: -.02em; }
.mg-studio--eightbit .mg-studio__name::after { content: "_"; color: var(--wp--preset--color--gold); }
@media (prefers-reduced-motion: no-preference) {
	.mg-studio--eightbit .mg-studio__name::after { animation: mg-caret 1.1s steps(1) infinite; }
}
@keyframes mg-caret { 50% { opacity: 0; } }
.mg-studio--winehunter::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: radial-gradient(80% 70% at 100% 0%, rgb(217 164 65 / .22), transparent 60%);
}
.mg-studio .mg-studio__glyph { position: absolute; right: 2rem; top: 2rem; width: 64px; height: 64px; opacity: .9; margin: 0 !important; }

/* Contact */
.mg-contact { position: relative; overflow: hidden; isolation: isolate; }
.mg-contact::before {
	content: ""; position: absolute; z-index: -1; width: 900px; height: 900px; right: -300px; bottom: -500px;
	background: radial-gradient(closest-side, rgb(217 164 65 / .16), transparent);
}
.mg-contact-mail a {
	color: var(--wp--preset--color--cream); text-decoration: none;
	background: linear-gradient(var(--wp--preset--color--gold), var(--wp--preset--color--gold)) 0 100% / 0 2px no-repeat;
	transition: background-size .5s var(--mg-ease);
}
.mg-contact-mail a:hover { background-size: 100% 2px; }
.mg-company dl { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1.5rem; margin: 0; }
.mg-company dt { color: var(--wp--preset--color--mist); opacity: .8; }
.mg-company dd { margin: 0; }

/* WPForms inside dark contact panel */
.mg-form-panel { border-radius: calc(var(--mg-radius) + 6px); border: 1px solid var(--mg-line-dark); background: rgb(243 240 234 / .035); }
.mg-form-panel .wpforms-container { margin: 0 !important; }
.mg-form-panel .wpforms-field-label, .mg-form-panel .wpforms-field-sublabel { color: var(--wp--preset--color--mist) !important; font-weight: 500 !important; font-size: .9rem !important; }
.mg-form-panel input[type=text], .mg-form-panel input[type=email], .mg-form-panel textarea {
	width: 100%; max-width: 100% !important; background: rgb(0 0 0 / .25) !important; color: var(--wp--preset--color--cream) !important;
	border: 1px solid rgb(243 240 234 / .16) !important; border-radius: 12px !important; padding: .85rem 1rem !important; font: inherit !important; font-size: 1rem !important;
	transition: border-color .2s, box-shadow .2s;
}
.mg-form-panel input:focus, .mg-form-panel textarea:focus { border-color: var(--wp--preset--color--gold) !important; box-shadow: 0 0 0 3px rgb(217 164 65 / .2) !important; outline: none !important; }
.mg-form-panel .wpforms-submit {
	background: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--ink) !important; border: 0 !important;
	border-radius: 999px !important; padding: .9rem 1.6rem !important; font-family: var(--wp--preset--font-family--display) !important; font-weight: 600 !important; font-size: 1rem !important; cursor: pointer;
	transition: transform .25s var(--mg-ease), background .25s !important;
}
.mg-form-panel .wpforms-submit:hover { background: var(--wp--preset--color--cream) !important; transform: translateY(-2px); }
.mg-form-panel .wpforms-confirmation-container-full { background: rgb(217 164 65 / .12) !important; border: 1px solid rgb(217 164 65 / .4) !important; color: var(--wp--preset--color--cream) !important; border-radius: 12px; }
.mg-form-panel label.wpforms-error, .mg-form-panel em.wpforms-error { color: #f19aa9 !important; }

/* ==========================================================================
   Footer
   ========================================================================== */

.mg-footer { border-top: 1px solid var(--mg-line-dark); }
.mg-footer a { color: var(--wp--preset--color--mist); text-decoration: none; transition: color .2s; }
.mg-footer a:hover { color: var(--wp--preset--color--gold); }
.mg-footer .mg-logo img { height: 56px; width: auto; }
.mg-footer .mg-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.mg-footer h3 { margin-bottom: 1.25rem; }
.mg-footer > .mg-wordmark { max-width: var(--wp--style--global--wide-size) !important; width: 100%; overflow: hidden; }
.mg-footer .mg-wordmark {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3.5rem, 15vw, 14.5rem) !important; line-height: .8 !important; font-weight: 700; letter-spacing: -.05em;
	margin: 0 !important; white-space: nowrap; text-align: center;
	background: linear-gradient(180deg, rgb(243 240 234 / .10), rgb(243 240 234 / 0) 85%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	user-select: none;
}

/* ==========================================================================
   Generic page (privacy policy etc.)
   ========================================================================== */

.mg-page-hero { position: relative; overflow: hidden; }
.mg-prose { font-size: 1.075rem; }
.mg-prose :where(h2, h3) { margin-top: 2.5em; }
.mg-prose a { color: var(--wp--preset--color--wine); }

/* ==========================================================================
   Scroll reveal (progressive enhancement, decorative only)
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
	@supports ((animation-timeline: view()) and (animation-range: entry)) {
		.mg-reveal > *, .mg-reveal-self {
			animation: mg-rise auto var(--mg-ease) backwards;
			animation-timeline: view();
			animation-range: entry 0% entry 70%;
		}
		.mg-reveal > *:nth-child(2) { animation-range: entry 8% entry 78%; }
		.mg-reveal > *:nth-child(3) { animation-range: entry 16% entry 86%; }
		.mg-reveal > *:nth-child(4) { animation-range: entry 24% entry 94%; }
	}
	.mg-hero .mg-intro > * { animation: mg-rise 1s var(--mg-ease) backwards; }
	.mg-hero .mg-intro > *:nth-child(2) { animation-delay: .1s; }
	.mg-hero .mg-intro > *:nth-child(3) { animation-delay: .2s; }
	.mg-hero .mg-intro > *:nth-child(4) { animation-delay: .3s; }
	.mg-hero .mg-orbit { animation: mg-fade 2s var(--mg-ease) backwards .2s; }
}
@keyframes mg-rise { from { opacity: 0; translate: 0 28px; } }
@keyframes mg-fade { from { opacity: 0; scale: .96; } }

@media (max-width: 780px) {
	.mg-header .wp-block-navigation { order: 3; }
}

/* ==========================================================================
   CookieYes banner in brand colours
   ========================================================================== */
.cky-consent-container .cky-consent-bar,
.cky-modal, .cky-preference-center {
	background: var(--wp--preset--color--forest) !important;
	border: 1px solid rgb(243 240 234 / .12) !important;
	border-radius: 18px !important;
	box-shadow: 0 30px 60px -20px rgb(0 0 0 / .55) !important;
	color: var(--wp--preset--color--mist) !important;
	font-family: var(--wp--preset--font-family--body) !important;
}
.cky-consent-container .cky-title, .cky-preference-title, .cky-accordion-btn {
	color: var(--wp--preset--color--cream) !important;
	font-family: var(--wp--preset--font-family--display) !important;
	letter-spacing: -.01em;
}
.cky-notice-des, .cky-notice-des p, .cky-preference-content-wrapper, .cky-preference-content-wrapper p { color: var(--wp--preset--color--mist) !important; }
.cky-notice-des a, .cky-preference-content-wrapper a { color: var(--wp--preset--color--gold) !important; }
.cky-btn {
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 600 !important;
	transition: transform .2s var(--mg-ease), background .2s !important;
}
.cky-btn:hover { transform: translateY(-1px); opacity: 1 !important; }
.cky-btn-accept { background: var(--wp--preset--color--gold) !important; border-color: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--ink) !important; }
.cky-btn-reject, .cky-btn-customize, .cky-btn-preferences {
	background: transparent !important; border-color: rgb(243 240 234 / .35) !important; color: var(--wp--preset--color--cream) !important;
}
.cky-btn-revisit-wrapper { background: var(--wp--preset--color--wine) !important; }
.cky-switch input[type="checkbox"]:checked { background: var(--wp--preset--color--gold) !important; }
.cky-accordion-header-des, .cky-accordion-header-des p { color: var(--wp--preset--color--mist) !important; }
.cky-footer-wrapper, .cky-prefrence-btn-wrapper { background: transparent !important; border-color: rgb(243 240 234 / .12) !important; }
.cky-footer-shadow { background: linear-gradient(180deg, transparent, var(--wp--preset--color--forest)) !important; }
.cky-btn-close img, .cky-banner-btn-close img { filter: invert(1); }

/* Tables in long-form pages (privacy policy etc.) */
.mg-prose .wp-block-table { margin-block: 1.5rem; overflow-x: auto; }
.mg-prose .wp-block-table table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.mg-prose .wp-block-table th, .mg-prose .wp-block-table td { border: 1px solid var(--mg-line-light); padding: .75rem 1rem; text-align: left; vertical-align: top; }
.mg-prose .wp-block-table thead th { background: var(--wp--preset--color--paper); font-family: var(--wp--preset--font-family--display); font-weight: 600; }
.mg-prose .wp-block-table thead { border-bottom: 0; }
.mg-prose h2 { font-size: var(--wp--preset--font-size--xl); }
.mg-prose h3 { font-size: var(--wp--preset--font-size--lg); }
.mg-prose .mg-updated { color: var(--wp--preset--color--stone); font-size: .9rem; }
.mg-prose ul { padding-left: 1.25rem; }
.mg-prose li + li { margin-top: .35rem; }
.mg-prose .wp-block-table table.has-fixed-layout { table-layout: auto; }
.mg-prose .wp-block-table td { font-size: .9rem; }
@media (min-width: 1100px) {
	.mg-prose > .wp-block-table { max-width: 980px !important; }
}
