/* Slots Palace — fabric.css */
:root {
	--color-primary: #7e3eef;
	--color-accent: #fab924;
	--color-accent-pressed: #eba205;
	--color-bg: #000000;
	--color-bg-elevated: #14101d;
	--color-gradient-light: #feeaa4;
	--color-gradient-mid: #fcd050;
	--color-text: #ffffff;
	--color-text-muted: #bdbdbd;
	--color-border: rgba(255, 255, 255, 0.12);
	--color-rg-banner: #dc2626;

	--font-display: "Rubik", system-ui, sans-serif;
	--font-body: "Rubik", system-ui, sans-serif;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;

	--fs-h1: 48px;
	--fs-h2: 36px;
	--fs-h3: 26px;
	--fs-h4: 21px;
	--fs-h5: 18px;
	--fs-h6: 16px;
	--fs-body: 19px;
	--fs-small: 16px;
	--fs-micro: 14px;
	--lh-tight: 1.2;
	--lh-normal: 1.7;
	--lh-loose: 1.9;
	--ls-tight: -0.01em;
	--ls-wide: 0.02em;

	--space-2xs: 4px;
	--space-xs: 8px;
	--space-sm: 12px;
	--space-md: 16px;
	--space-lg: 24px;
	--space-xl: 40px;
	--space-2xl: 64px;
	--space-3xl: 96px;

	--container-site: 1260px;
	--container-readable: 720px;
	--container-padding-desktop: 24px;
	--container-padding-mobile: 16px;

	--radius-sm: 4px;
	--radius-md: 12px;
	--radius-lg: 24px;
	--radius-pill: 9999px;
	--radius-circle: 50%;
	--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.35);
	--shadow-md: 0 6px 16px rgba(0, 0, 0, 0.4);
	--shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.5);

	--dur-fast: 250ms;
	--dur-base: 400ms;
	--ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);

	--header-height-desktop: 120px;
	--header-height-mobile: 80px;
	--inner-max: calc(var(--container-site) + 2 * var(--container-padding-desktop));
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: var(--lh-normal);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 0 0 var(--space-md); }
p { margin: 0 0 var(--space-md); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-pressed); }

.skip-link {
	position: absolute;
	left: var(--space-md);
	top: -200px;
	background: var(--color-accent);
	color: var(--color-bg);
	padding: var(--space-xs) var(--space-md);
	border-radius: var(--radius-sm);
	z-index: 200;
}
.skip-link:focus { top: var(--space-md); }
.skip-link:not(:focus) { top: -200px !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.main { display: block; }

/* generic content section wrapper width */
.pidu-inner, .nuzugi-inner, .puvu-inner, .sofegu-inner, .zukop-inner,
.kikap-inner, .lurela-inner, .dezytuk-inner, .noxa-inner, .laxu-inner,
.tixaxyp-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}

/* ================= HEADER (HEAD-13) ================= */
.tixaxyp { background: var(--color-bg); border-bottom: 1px solid var(--color-border); }
.tixaxyp-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: var(--header-height-desktop); }
.tixaxyp-logo { flex-shrink: 0; text-decoration: none; }
.tixaxyp-wordmark { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 30px; letter-spacing: var(--ls-tight); color: var(--color-text); }
.tixaxyp-wordmark::first-letter { color: var(--color-accent); }
.tixaxyp-nav { display: flex; flex-direction: column; gap: var(--space-2xs); margin-left: auto; }
.tixaxyp-nav-list { display: flex; flex-wrap: nowrap; gap: var(--space-md); list-style: none; margin: 0; padding: 0; }
.tixaxyp-nav-list--top { justify-content: flex-end; }
.tixaxyp-nav-list--bottom { padding-top: var(--space-2xs); border-top: 1px solid rgba(255, 255, 255, 0.08); justify-content: flex-end; }
.tixaxyp-nav-item { margin: 0; }
.tixaxyp-link { font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--fs-small); color: var(--color-text); text-transform: uppercase; letter-spacing: var(--ls-wide); padding-block: var(--space-2xs); white-space: nowrap; }
.tixaxyp-link:hover, .tixaxyp-link[aria-current="page"] { color: var(--color-accent); }
.tixaxyp-auth { flex-shrink: 0; }
.tixaxyp-auth-btn--login { }
.tixaxyp-auth-btn { display: inline-flex; align-items: center; white-space: nowrap; flex-shrink: 0; background: transparent; border: 1px solid var(--color-text); color: var(--color-text); font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); padding: 10px var(--space-lg); border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.tixaxyp-auth-btn:hover { background: var(--color-text); color: var(--color-bg); }
.tixaxyp-toggle { display: none; margin-left: auto; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; background: transparent; border: 1px solid var(--color-border); border-radius: var(--radius-sm); cursor: pointer; }
.tixaxyp-toggle-bar { display: block; width: 22px; height: 2px; background: var(--color-text); margin-inline: auto; transition: transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out); }
.tixaxyp-drawer { display: none; }
.tixaxyp-drawer-list { list-style: none; margin: 0; padding: var(--space-md) var(--container-padding-desktop); display: flex; flex-direction: column; gap: var(--space-xs); border-top: 1px solid var(--color-border); }
.tixaxyp-drawer-list a { display: block; color: var(--color-text); font-family: var(--font-display); text-transform: uppercase; letter-spacing: var(--ls-wide); font-size: var(--fs-small); padding: var(--space-xs) 0; }
.tixaxyp-drawer-list a:hover { color: var(--color-accent); }
.tixaxyp-drawer.is-open { display: block; }

/* ================= HERO (HERO-11) ================= */
.pidu { background: var(--color-bg); padding-block: var(--space-2xl); }
.pidu-inner { display: grid; grid-template-columns: 62% 38%; gap: var(--space-2xl); align-items: center; }
.pidu-content { display: flex; flex-direction: column; }
.pidu-title { font-size: var(--fs-h1); font-weight: var(--fw-bold); }
.pidu-subtitle { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: 560px; margin-bottom: var(--space-lg); }
.pidu-cta { display: inline-flex; align-items: center; background: var(--color-accent); color: var(--color-bg); font-family: var(--font-display); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: var(--ls-wide); padding: var(--space-md) var(--space-xl); border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.pidu-cta:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.pidu-figure { margin: 0; }
.pidu-figure img { aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-lg); width: 100%; box-shadow: var(--shadow-lg); }

/* ================= PAGE HEADER (PHEAD-01) ================= */
.nuzugi { background: var(--color-bg); border-bottom: 1px solid rgba(255, 255, 255, 0.05); padding-block: var(--space-3xl) var(--space-xl); }
.nuzugi-inner { display: flex; flex-direction: column; gap: var(--space-md); }
.nuzugi-eyebrow { font-family: var(--font-body); font-weight: var(--fw-medium); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-accent); }
.nuzugi-title { font-size: var(--fs-h1); font-weight: var(--fw-bold); max-width: 920px; margin: 0; }
.nuzugi-divider { width: 60px; height: 2px; background: var(--color-accent); }
.nuzugi-description { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: var(--container-readable); margin: 0; }

/* ================= PROSE (PROSE-07) ================= */
.laxu { padding-block: var(--space-xl); }
.laxu-inner { counter-reset: section; }
.laxu-block { margin-bottom: var(--space-xl); }
.laxu-block h2 { font-size: var(--fs-h2); font-weight: var(--fw-bold); }
.laxu-block h2::before { counter-increment: section; content: counter(section, decimal-leading-zero) ". "; color: var(--color-accent); font-family: var(--font-display); font-weight: var(--fw-bold); margin-right: var(--space-xs); }
.laxu-block p { font-size: var(--fs-body); line-height: var(--lh-loose); color: var(--color-text); }
.laxu-block ol, .laxu-block ul { font-size: var(--fs-body); line-height: var(--lh-loose); padding-left: var(--space-lg); margin-bottom: var(--space-md); }
.laxu-block li { margin-bottom: var(--space-xs); }
.laxu-block a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }
.laxu-block a:hover { color: var(--color-accent-pressed); }

/* ================= ITEMS GRID (GRID-10) ================= */
.puvu { padding-block: var(--space-xl); }
.puvu-heading { font-size: var(--fs-h2); font-weight: var(--fw-bold); margin-bottom: var(--space-lg); }
.puvu-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
.puvu-item { background: rgba(126, 62, 239, 0.08); border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: var(--space-md); min-height: 180px; transition: transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.puvu-item:hover { transform: translateY(-4px); border-color: var(--color-accent); }
.puvu-item-title { font-size: var(--fs-h5); font-weight: var(--fw-bold); color: var(--color-accent); margin-bottom: var(--space-xs); }
.puvu-item-text { font-size: var(--fs-small); color: var(--color-text-muted); margin: 0; line-height: var(--lh-normal); }

/* ================= TABLE (TABLE-08 cards) ================= */
.kikap { padding-block: var(--space-xl); }
.kikap-heading { font-size: var(--fs-h2); font-weight: var(--fw-bold); margin-bottom: var(--space-lg); }
.kikap-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-md); }
.kikap-card { background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-lg); display: flex; flex-direction: column; gap: var(--space-sm); }
.kikap-field { display: flex; flex-direction: column; gap: var(--space-2xs); }
.kikap-label { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-text-muted); }
.kikap-value { font-size: var(--fs-body); font-weight: var(--fw-medium); color: var(--color-text); }

/* ================= REVIEWS (REV-09) ================= */
.zukop { padding-block: var(--space-2xl); }
.zukop-heading { font-size: var(--fs-h2); font-weight: var(--fw-bold); margin-bottom: var(--space-lg); text-align: center; }
.zukop-item { padding-block: var(--space-xl); text-align: center; }
.zukop-quote-text { font-family: var(--font-display); font-size: var(--fs-h3); font-style: italic; line-height: var(--lh-tight); max-width: 820px; margin: 0 auto var(--space-md); color: var(--color-text); }
.zukop-attribution { display: flex; align-items: center; justify-content: center; gap: var(--space-sm); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-text-muted); }
.zukop-author { font-style: normal; font-weight: var(--fw-semibold); color: var(--color-text); }
.zukop-rating { color: var(--color-accent); font-weight: var(--fw-bold); }
.zukop-sep { width: 80px; height: 1px; border: 0; background: var(--color-border); margin: 0 auto; }

/* ================= FAQ (FAQ-01) ================= */
.sofegu { padding-block: var(--space-xl); }
.sofegu-heading { font-size: var(--fs-h2); font-weight: var(--fw-bold); margin-bottom: var(--space-lg); }
.sofegu-list { margin: 0; padding: 0; }
.sofegu-item { border-bottom: 1px solid var(--color-border); }
.sofegu-question { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); width: 100%; background: transparent; border: 0; color: var(--color-text); font-family: var(--font-display); font-weight: var(--fw-medium); font-size: var(--fs-h5); text-align: left; padding: var(--space-md) 0; cursor: pointer; }
.sofegu-question-text { flex: 1; }
.sofegu-icon { font-size: 24px; color: var(--color-accent); line-height: 1; transition: transform var(--dur-fast) var(--ease-out); }
.sofegu-question[aria-expanded="true"] .sofegu-icon { transform: rotate(45deg); }
.sofegu-answer { margin: 0; padding: 0 0 var(--space-md); }
.sofegu-answer p { font-size: var(--fs-body); color: var(--color-text-muted); margin: 0; }
.sofegu-answer[hidden] { display: none; }

/* ================= CTA (CTA-03) ================= */
.beruv { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; max-width: var(--inner-max); margin: var(--space-2xl) auto; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); }
.beruv-content { background: var(--color-bg-elevated); padding: var(--space-2xl); display: flex; flex-direction: column; justify-content: center; }
.beruv-title { font-size: var(--fs-h2); font-weight: var(--fw-bold); }
.beruv-text { color: var(--color-text-muted); margin-bottom: var(--space-lg); }
.beruv-button { align-self: flex-start; background: var(--color-accent); color: var(--color-bg); font-family: var(--font-display); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: var(--ls-wide); padding: var(--space-md) var(--space-xl); border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.beruv-button:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.beruv-visual { background: linear-gradient(135deg, var(--color-accent), var(--color-primary)); display: flex; align-items: center; justify-content: center; min-height: 300px; }
.beruv-visual-mark { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 64px; color: var(--color-bg); letter-spacing: var(--ls-tight); }

/* ================= INLINE CTA (INLINE-CTA-01) ================= */
.zyte { margin: var(--space-lg) auto; max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); background: var(--color-accent); border-radius: var(--radius-md); padding: var(--space-md) var(--space-xl); }
.zyte-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); }
.zyte-text { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h5); color: var(--color-bg); margin: 0; }
.zyte-btn { flex-shrink: 0; background: var(--color-bg); color: var(--color-accent); font-family: var(--font-display); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: var(--ls-wide); padding: var(--space-sm) var(--space-lg); border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.zyte-btn:hover { background: var(--color-bg-elevated); color: var(--color-accent); }

/* ================= PAGE CONTEXT IMAGE ================= */
.pageimg { margin: 0 auto var(--space-lg); max-width: var(--inner-max); padding-inline: var(--container-padding-desktop); }
.pageimg img { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.pageimg--context { max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop)); }
.pageimg--detail { max-width: var(--container-readable); }

/* ================= BYLINE (BYLINE-07) ================= */
.dizal { max-width: var(--inner-max); margin: var(--space-2xl) auto; padding-inline: var(--container-padding-desktop); }
.dizal-card { background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); padding: var(--space-lg);  }
.dizal-header { display: flex; align-items: center; gap: var(--space-md); }
.dizal-portrait { width: 72px; height: 72px; border-radius: var(--radius-circle); object-fit: cover; object-position: center top; border: 2px solid var(--color-accent); }
.dizal-name { font-size: var(--fs-h4); font-weight: var(--fw-bold); margin: 0; }
.dizal-name a { color: var(--color-text); }
.dizal-name a:hover { color: var(--color-accent); }
.dizal-role { font-size: var(--fs-small); color: var(--color-text-muted); margin: var(--space-2xs) 0 0; }
.dizal-bio { font-size: var(--fs-small); line-height: var(--lh-normal); color: var(--color-text-muted); margin: var(--space-md) 0; }
.dizal-expertise { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-md); }
.dizal-tag { background: var(--color-primary); color: var(--color-text); padding: var(--space-2xs) var(--space-sm); border-radius: var(--radius-pill); font-size: var(--fs-micro); }
.dizal-link { font-weight: var(--fw-semibold); }

/* ================= AUTHOR CARD (AUTH-05) ================= */
.mezuxa { padding-block: var(--space-xl); }
.mezuxa-card { display: flex; gap: var(--space-lg); background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-lg); max-width: var(--inner-max); margin-inline: auto; }
.mezuxa-portrait { width: 140px; height: 140px; flex-shrink: 0; border-radius: var(--radius-circle); object-fit: cover; object-position: center top; border: 3px solid var(--color-accent); }
.mezuxa-body { display: flex; flex-direction: column; gap: var(--space-2xs); }
.mezuxa-job-title { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-accent); margin: 0; }
.mezuxa-name { font-family: var(--font-display); font-size: var(--fs-h3); font-weight: var(--fw-bold); margin: 0; }
.mezuxa-bio { font-size: var(--fs-body); color: var(--color-text-muted); margin: var(--space-xs) 0; }
.mezuxa-exp { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.mezuxa-exp-item { background: var(--color-primary); color: var(--color-text); padding: var(--space-2xs) var(--space-sm); border-radius: var(--radius-pill); font-size: var(--fs-micro); }

/* ================= LEGAL (LEGAL-03) ================= */
.lurela { padding-block: var(--space-xl); }
.lurela-intro { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: var(--container-readable); margin-bottom: var(--space-xl); }
.lurela-grid { display: grid; grid-template-columns: 240px 1fr; gap: var(--space-2xl); align-items: start; }
.lurela-toc { position: sticky; top: var(--space-xl); background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-md); }
.lurela-toc-title { font-size: var(--fs-h6); text-transform: uppercase; letter-spacing: var(--ls-wide); margin-bottom: var(--space-sm); }
.lurela-toc ol { margin: 0; padding-left: var(--space-md); font-size: var(--fs-small); }
.lurela-toc a { color: var(--color-text-muted); }
.lurela-toc a:hover { color: var(--color-accent); }
.lurela-main { max-width: var(--container-readable); }
.lurela-block { margin-bottom: var(--space-xl); }
.lurela-block h2 { font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.lurela-block p { font-size: var(--fs-body); line-height: var(--lh-loose); color: var(--color-text); }
.lurela-contacts { margin-bottom: var(--space-xl); }
.lurela-contacts h2 { font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.lurela-contacts ul { padding-left: var(--space-lg); color: var(--color-text-muted); }
.lurela-disclaimer { font-size: var(--fs-small); color: var(--color-text-muted); border-left: 3px solid var(--color-accent); padding-left: var(--space-md); font-style: italic; }

/* ================= CONTACT FORM (FORM-04) ================= */
.dezytuk { padding-block: var(--space-xl); }
.dezytuk-intro { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: var(--container-readable); margin-bottom: var(--space-lg); }
.dezytuk-form { max-width: var(--container-readable); display: flex; flex-direction: column; gap: var(--space-md); }
.dezytuk-field { display: flex; flex-direction: column; gap: var(--space-2xs); }
.dezytuk-field label { font-size: var(--fs-small); font-weight: var(--fw-medium); color: var(--color-text); }
.dezytuk-field input, .dezytuk-field textarea { background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); font-family: var(--font-body); font-size: var(--fs-small); padding: var(--space-sm) var(--space-md); }
.dezytuk-field input:focus, .dezytuk-field textarea:focus { outline: 2px solid var(--color-accent); border-color: var(--color-accent); }
.dezytuk-submit { align-self: flex-start; background: var(--color-accent); color: var(--color-bg); font-family: var(--font-display); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: var(--ls-wide); border: 0; padding: var(--space-md) var(--space-xl); border-radius: var(--radius-md); cursor: pointer; transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.dezytuk-submit:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.dezytuk-success { margin-top: var(--space-md); max-width: var(--container-readable); background: rgba(126, 62, 239, 0.15); border: 1px solid var(--color-primary); border-radius: var(--radius-md); padding: var(--space-md) var(--space-lg); color: var(--color-text); }
.dezytuk-success[hidden] { display: none; }

/* ================= ERROR (ERR-07) ================= */
.noxa { padding-block: var(--space-3xl); background-image: linear-gradient(rgba(250, 185, 36, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(250, 185, 36, 0.06) 1px, transparent 1px); background-size: 40px 40px; }
.noxa-inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-md); }
.noxa-code { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: clamp(80px, 18vw, 200px); color: var(--color-accent); line-height: 1; }
.noxa-title { font-size: var(--fs-h1); font-weight: var(--fw-bold); max-width: 720px; margin: 0; }
.noxa-text { font-size: var(--fs-h5); color: var(--color-text-muted); max-width: 600px; }
.noxa-button { background: var(--color-accent); color: var(--color-bg); font-family: var(--font-display); font-weight: var(--fw-bold); text-transform: uppercase; letter-spacing: var(--ls-wide); padding: var(--space-md) var(--space-xl); border-radius: var(--radius-md); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.noxa-button:hover { background: var(--color-accent-pressed); color: var(--color-bg); }

/* ================= FOOTER (FOOT-07) ================= */
.nurope { background: var(--color-primary); }
.nurope-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 0; }
.nurope-content { padding: var(--space-2xl) var(--container-padding-desktop); max-width: var(--container-site); margin-left: auto; width: 100%; }
.nurope-logo { display: inline-block; text-decoration: none; margin-bottom: var(--space-lg); }
.nurope-wordmark { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: 26px; color: var(--color-text); }
.nurope-cols { display: flex; gap: var(--space-3xl); flex-wrap: wrap; margin-bottom: var(--space-lg); }
.nurope-heading { font-size: var(--fs-h6); text-transform: uppercase; letter-spacing: var(--ls-wide); color: var(--color-text); margin-bottom: var(--space-sm); }
.nurope-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xs); }
.nurope-nav a { color: #ffffff; font-size: var(--fs-small); }
.nurope-nav a:hover { color: var(--color-accent); }
.nurope-rg { font-size: var(--fs-small); color: #ffffff; margin-bottom: var(--space-sm); }
.nurope-copy { font-size: var(--fs-small); color: #ffffff; }
.nurope-accent-block { background: var(--color-accent); display: flex; align-items: center; justify-content: center; padding: var(--space-xl); }
.nurope-accent-label { font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-h2); text-transform: uppercase; letter-spacing: var(--ls-tight); color: var(--color-bg); writing-mode: vertical-rl; transform: rotate(180deg); }

/* ================= COOKIE (COOK-03) ================= */
.zigu { position: fixed; inset-block-end: var(--space-md); inset-inline-end: var(--space-md); z-index: 150; max-width: 360px; background: var(--color-bg-elevated); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.zigu[hidden] { display: none; }
.zigu-inner { display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-lg); }
.zigu-title { font-size: var(--fs-h5); font-weight: var(--fw-bold); text-transform: uppercase; color: var(--color-accent); margin: 0; }
.zigu-message { font-size: var(--fs-small); line-height: var(--lh-normal); color: var(--color-text-muted); margin: 0; }
.zigu-actions { display: flex; gap: var(--space-sm); }
.zigu-button { flex: 1; min-height: 40px; border-radius: var(--radius-md); font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); cursor: pointer; border: 1px solid var(--color-border); transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.zigu-button--accept { background: var(--color-accent); color: var(--color-bg); border-color: var(--color-accent); }
.zigu-button--accept:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.zigu-button--decline { background: transparent; color: var(--color-text); }
.zigu-button--decline:hover { background: rgba(255, 255, 255, 0.1); color: var(--color-text); }

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 1024px) {
	:root { --header-height-desktop: 96px; }
	.puvu-list { grid-template-columns: repeat(2, 1fr); }
	.pidu-inner { grid-template-columns: 1fr; }
	.pidu-figure { max-width: 520px; }
	.lurela-grid { grid-template-columns: 1fr; }
	.lurela-toc { position: static; }
}

@media (max-width: 767px) {
	:root {
		--fs-h1: 32px; --fs-h2: 26px; --fs-h3: 22px; --fs-h4: 19px; --fs-h5: 17px; --fs-body: 18px; --fs-small: 15px; --fs-micro: 13px;
		--container-padding-desktop: 16px;
	}
	.tixaxyp-inner { min-height: var(--header-height-mobile); }
	.tixaxyp-nav { display: none; }
	.tixaxyp-auth { display: none; }
	.tixaxyp-toggle { display: flex; }
	.tixaxyp-toggle[aria-expanded="true"] .tixaxyp-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.tixaxyp-toggle[aria-expanded="true"] .tixaxyp-toggle-bar:nth-child(2) { opacity: 0; }
	.tixaxyp-toggle[aria-expanded="true"] .tixaxyp-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.puvu-list { grid-template-columns: 1fr; }
	.beruv { grid-template-columns: 1fr; }
	.beruv-visual { min-height: 180px; }
	.nurope-inner { grid-template-columns: 1fr; }
	.nurope-content { max-width: none; }
	.nurope-cols { gap: var(--space-xl); }
	.nurope-accent-block { padding: var(--space-lg); }
	.nurope-accent-label { writing-mode: horizontal-tb; transform: none; }
	.mezuxa-card { flex-direction: column; align-items: flex-start; }
	.zyte-inner { flex-direction: column; align-items: stretch; text-align: center; }
	.zyte-btn { text-align: center; }
}

@media (max-width: 720px) {
	.zigu { inset-inline: var(--space-md); max-width: none; }
	.zigu-inner { padding: 12px 14px !important; gap: 8px !important; font-size: 13px !important; line-height: 1.35 !important; }
	.zigu-title { display: none !important; }
	.zigu-button { padding: 8px 14px !important; font-size: 12px !important; min-height: 36px !important; }
}

/* Контентные картинки не занимают почти весь экран (image-gen отдаёт квадраты
   1024×1024 и вертикали 1024×1536). Хиро и логотипы вне <figure> — не задеты. */
main figure img,
article figure img {
	max-height: 56vh;
	width: 100%;
	object-fit: cover;
}

/* Кнопки не вылезают за край на самых узких экранах (320px): разрешаем перенос
   текста и ограничиваем шириной родителя. */
@media (max-width: 360px) {
	a[class*="btn"],
	a[class*="button"],
	button[class] {
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}


/* Порог перехода на гамбургер стоял ниже 768px, и на планшете десктопное меню
   уже не помещалось — ссылки уходили за правый край. Прячем до 1024. */
@media (max-width: 1024px) {
	.tixaxyp-nav,
	.tixaxyp-auth {
		display: none;
	}
	.tixaxyp-toggle {
		display: flex;
	}
}


/* ---- цвет офферной кнопки ----
   Разведён по партии: у нескольких сайтов кнопки совпадали цветом до последней
   цифры. Состояния и цвет текста подобраны по контрасту (WCAG): 12.7:1 в покое. */
.pidu-cta {
	background: #16E0D3;
	color: #000000;
	border-color: #16E0D3;
}
.pidu-cta:hover {
	background: #0BB4A8;
	color: #000000;
	border-color: #0BB4A8;
}
.pidu-cta:active {
	background: #09998F;
	color: #000000;
	border-color: #09998F;
}

/* Офферная кнопка лежит в колонке-флексе и растягивалась на всю её ширину —
   781px в первом экране. Прижимаем к началу колонки: ширина по содержимому.
   На узких экранах широкая кнопка уместна, поэтому правило только с планшета. */
@media (min-width: 768px) {
  .pidu-cta {
    align-self: flex-start;
  }
}
