/*!
Theme Name: Nebulite
Theme URI: http://underscores.me/
Author: nebulite
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: nebulite
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Nebulite is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
:root {
	--color-bg: #f5f7fa;
	--color-bg-alt: #fff;
	--color-surface: #fff;
	--color-text: #0a1c3a;
	--color-text-muted: rgba(10, 28, 58, 0.65);
	--color-border: rgba(10, 28, 58, 0.12);
	--color-primary: #63adf2;
	--color-primary-light: #a7cced;
	--color-primary-dark: #304d6d;
	--color-accent-red: #c62828;
	--color-accent-gold: #d4a017;
	--color-accent-green: #27ae60;
	--gradient-hero: linear-gradient(135deg, #0a1c3a 0%, #304d6d 40%, #63adf2 100%);
	--gradient-button: linear-gradient(90deg, #7bb9f4, #4ba1f0);
	--gradient-gold: linear-gradient(135deg, #e9b835, #8f6c10);
	--color-success: #27ae60;
	--color-warning: #f2c94c;
	--color-error: #c62828;
	--color-info: #63adf2;
	--theme-transition: 0.25s ease;
}

[data-theme="dark"] {
	--color-bg: #0a1c3a;
	--color-bg-alt: #122744;
	--color-surface: #1a2e4a;
	--color-text: #fff;
	--color-text-muted: rgba(255, 255, 255, 0.65);
	--color-border: rgba(255, 255, 255, 0.12);
	--color-primary: #63adf2;
	--color-primary-light: #a7cced;
	--color-primary-dark: #304d6d;
	--color-accent-red: #c62828;
	--color-accent-gold: #d4a017;
	--color-accent-green: #27ae60;
	--gradient-hero: linear-gradient(135deg, #0a1c3a 0%, #304d6d 40%, #63adf2 100%);
	--gradient-button: linear-gradient(90deg, #7bb9f4, #4ba1f0);
	--gradient-gold: linear-gradient(135deg, #e9b835, #8f6c10);
	--color-success: #27ae60;
	--color-warning: #f2c94c;
	--color-error: #c62828;
	--color-info: #63adf2;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body {
	color: var(--color-text);
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	transition: color var(--theme-transition);
}

button,
input,
select,
optgroup,
textarea {
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

h2[id] {
	scroll-margin-top: 120px;
}

@media (max-width: 768px) {

	h2[id] {
		scroll-margin-top: 100px;
	}
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: var(--color-surface);
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted var(--color-accent-red);
	cursor: help;
}

mark,
ins {
	background: var(--color-surface);
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
html {
	transition: background-color var(--theme-transition), color var(--theme-transition);
}

body {
	background-color: var(--color-bg);
	color: var(--color-text);
	transition: background-color var(--theme-transition), color var(--theme-transition);
}

/**
 * Global Container
 * Provides consistent width constraints and padding across the site
 */
.container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

@media (min-width: 768px) {

	.container {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 1024px) {

	.container {
		max-width: 1250px;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/**
 * WordPress Block Group
 * Styled with distinct background and side borders for visual separation
 */
.wp-block-group {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	background-color: var(--color-bg);
	border-left: 3px solid var(--color-primary);
	border-right: 3px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (min-width: 768px) {

	.wp-block-group {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

@media (min-width: 1024px) {

	.wp-block-group {
		max-width: 1250px;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

hr {
	background-color: var(--color-border);
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
	transition: background-color var(--theme-transition);
}

ul,
ol {
	margin: 0 0 1.5em 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: var(--color-primary);
	transition: color var(--theme-transition);
}

a:hover,
a:focus,
a:active {
	color: var(--color-primary-light);
}

a:focus {
	outline: thin dotted;
	outline-color: var(--color-primary);
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: var(--color-primary-dark);
	border-radius: 3px;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	font-weight: 700;
	line-height: 1;
	padding: 0.6em 1em 0.4em;
	transition: background var(--theme-transition), border-color var(--theme-transition), box-shadow var(--theme-transition), transform 0.1s ease, color var(--theme-transition);
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.5), 0 0 0 1px rgba(48, 77, 109, 0.4);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: var(--color-primary);
	box-shadow: 0 6px 16px rgba(99, 173, 242, 0.6), 0 0 0 1px rgba(48, 77, 109, 0.5);
	transform: translateY(-1px);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: var(--color-primary-light);
	box-shadow: 0 3px 10px rgba(99, 173, 242, 0.5), 0 0 0 1px rgba(48, 77, 109, 0.6);
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--color-text-muted);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 3px;
	padding: 3px;
	transition: color var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: var(--color-text);
	border-color: var(--color-primary);
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

select {
	border: 1px solid var(--color-border);
	background-color: var(--color-surface);
	color: var(--color-text);
	transition: border-color var(--theme-transition), background-color var(--theme-transition), color var(--theme-transition);
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--color-surface);
	backdrop-filter: none;
	box-shadow: none;
	transition: background-color var(--theme-transition), box-shadow var(--theme-transition);
}

.site-header.scrolled {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65);
}

.site-header .container {
	width: 100%;
}

.site-header__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 0;
}

@media (max-width: 1100px) {

	.site-header__content {
		padding: 1rem 0;
	}
}

.site-branding {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	z-index: 1001;
	position: relative;
}

.site-branding .custom-logo-link {
	display: block;
	line-height: 1;
	transition: opacity var(--theme-transition);
}

.site-branding .custom-logo-link--dark {
	display: none;
}

.site-branding .custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
	transition: opacity var(--theme-transition);
}

[data-theme="dark"] .site-branding .custom-logo-link {
	display: none;
}

[data-theme="dark"] .site-branding .custom-logo-link--dark {
	display: block;
}

.main-navigation {
	display: flex;
	align-items: center;
	z-index: 1001;
}

.main-navigation .nav-menu {
	display: flex;
	align-items: center;
	gap: 2.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu {
		position: fixed;
		top: 0;
		right: -100%;
		width: 85%;
		max-width: 400px;
		height: 100vh;
		background-color: var(--color-surface);
		flex-direction: column;
		align-items: flex-start;
		padding: 5rem 2rem 2rem;
		gap: 0;
		transition: right 0.3s ease, background-color var(--theme-transition);
		overflow-y: auto;
		backdrop-filter: blur(10px);
	}
}

.main-navigation .nav-menu li {
	margin: 0;
	padding: 0;
	position: relative;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li {
		width: 100%;
		border-bottom: 1px solid var(--color-border);
	}
}

.main-navigation .nav-menu li.menu-item-has-children > a {
	position: relative;
	padding-right: 1.5rem;
}

.main-navigation .nav-menu li.menu-item-has-children > a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid currentColor;
	transition: transform 0.3s ease;
	margin-left: 0.5rem;
	pointer-events: none;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li.menu-item-has-children > a::after {
		right: 0;
	}
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu li.menu-item-has-children > a {
		padding-right: 2.5rem;
	}
}

@media (min-width: 1101px) {

	.main-navigation .nav-menu li.menu-item-has-children:hover > a::after {
		transform: translateY(-50%) rotate(180deg);
	}
}

.main-navigation .nav-menu li.menu-item-has-children.submenu-open > a::after {
	transform: translateY(-50%) rotate(180deg);
}

.main-navigation .nav-menu a {
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color var(--theme-transition);
	display: flex;
	align-items: center;
	white-space: nowrap;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu a {
		padding: 1rem 0;
		width: 100%;
		font-size: 1rem;
	}
}

.main-navigation .nav-menu a:hover {
	color: var(--color-primary);
}

.main-navigation .nav-menu .sub-menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	min-width: 220px;
	background-color: var(--color-surface);
	backdrop-filter: blur(10px);
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background-color var(--theme-transition);
	border-radius: 8px;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	z-index: 1000;
	border: 1px solid var(--color-border);
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .sub-menu {
		position: static;
		width: 100%;
		background-color: var(--color-bg);
		opacity: 0;
		visibility: hidden;
		max-height: 0;
		overflow: hidden;
		transform: none;
		transition: opacity 0.3s ease, visibility 0.3s ease, max-height 0.4s ease, padding 0.3s ease, background-color var(--theme-transition);
		margin-top: 0;
		padding: 0;
		border-radius: 0;
		box-shadow: none;
		display: block;
	}
}

.main-navigation .nav-menu .sub-menu li {
	margin: 0;
	padding: 0;
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .sub-menu li {
		border-bottom: 1px solid var(--color-border);
		width: 100%;
	}
}

.main-navigation .nav-menu .sub-menu li a {
	display: block;
	padding: 0.75rem 1.5rem;
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
	white-space: nowrap;
	border-radius: 0;
	transition: background var(--theme-transition), color var(--theme-transition);
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .sub-menu li a {
		padding: 0.75rem 1rem 0.75rem 2rem;
		font-size: 0.9375rem;
		white-space: normal;
		word-wrap: break-word;
		line-height: 1.4;
	}
}

.main-navigation .nav-menu .sub-menu li a:hover {
	background-color: var(--color-bg);
	color: var(--color-primary);
}

.main-navigation .nav-menu .sub-menu li a:first-child {
	border-radius: 8px 8px 0 0;
}

.main-navigation .nav-menu .sub-menu li a:last-child {
	border-radius: 0 0 8px 8px;
}

.main-navigation .nav-menu .sub-menu li a:only-child {
	border-radius: 8px;
}

@media (min-width: 1101px) {

	.main-navigation .nav-menu .menu-item-has-children:hover > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition-delay: 0.1s;
	}
}

@media (min-width: 1101px) {

	.main-navigation .nav-menu .sub-menu:hover {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

@media (max-width: 1100px) {

	.main-navigation .nav-menu .menu-item-has-children.submenu-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		max-height: 1000px !important;
		padding: 0.5rem 0 !important;
		overflow: visible !important;
	}
}

@media (max-width: 1100px) {

	.main-navigation.toggled .nav-menu {
		right: 0;
	}
}

.theme-toggle {
	position: fixed;
	bottom: 7rem;
	right: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 50%;
	cursor: pointer;
	padding: 0.5rem;
	color: var(--color-text);
	width: 52px;
	height: 52px;
	z-index: 9998;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transition: background-color var(--theme-transition), border-color var(--theme-transition), color var(--theme-transition), transform 0.2s ease, box-shadow 0.2s ease;
}

.theme-toggle:hover {
	background-color: var(--color-primary);
	border-color: var(--color-primary-light);
	color: var(--color-bg-alt);
	transform: scale(1.1);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.theme-toggle:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.theme-toggle__icon {
	position: absolute;
	width: 20px;
	height: 20px;
	transition: opacity var(--theme-transition), transform var(--theme-transition);
	color: currentColor;
}

.theme-toggle__icon--moon {
	opacity: 0;
	transform: rotate(-90deg);
}

.theme-toggle--dark .theme-toggle__icon--sun {
	opacity: 0;
	transform: rotate(90deg);
}

.theme-toggle--dark .theme-toggle__icon--moon {
	opacity: 1;
	transform: rotate(0deg);
}

@media (max-width: 768px) {

	.theme-toggle {
		bottom: 5.5rem;
		right: 1.5rem;
		width: 44px;
		height: 44px;
		left: auto;
	}
}

.menu-toggle {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	color: var(--color-text);
	position: relative;
	width: 40px;
	height: 40px;
	z-index: 1002;
	align-items: center;
	justify-content: center;
	transition: color var(--theme-transition);
}

@media (max-width: 1100px) {

	.menu-toggle {
		display: flex;
	}
}

.menu-toggle__icon {
	position: absolute;
	width: 24px;
	height: 24px;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.menu-toggle__icon--close {
	opacity: 0;
	transform: rotate(90deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon--open {
	opacity: 0;
	transform: rotate(90deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon--close {
	opacity: 1;
	transform: rotate(0deg);
}

body.menu-open {
	overflow: hidden;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Casino List
--------------------------------------------- */
.casino-list {
	background-color: var(--color-bg);
	padding: 25px 0;
	transition: background-color var(--theme-transition);
}

.casino-list__update-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-text);
	transition: background-color var(--theme-transition), border-color var(--theme-transition), color var(--theme-transition);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

@media (max-width: 768px) {

	.casino-list__update-badge {
		font-size: 0.8125rem;
		padding: 0.5rem 0.875rem;
		margin-bottom: 1.25rem;
	}
}

.casino-list__update-badge-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	color: var(--color-primary);
	transition: color var(--theme-transition);
}

.casino-list__update-badge-icon svg {
	width: 100%;
	height: 100%;
}

.casino-list__update-badge-text {
	color: var(--color-text);
	transition: color var(--theme-transition);
}

.casino-list__update-badge-time {
	color: var(--color-primary);
	font-weight: 600;
	transition: color var(--theme-transition);
}

.casino-list__empty {
	text-align: center;
	padding: 2rem;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

.casino-list__load-more {
	margin-top: 2rem;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-primary);
	color: var(--color-bg-alt);
	border-radius: 6px;
	cursor: pointer;
	font-size: 0.875rem;
	transition: all var(--theme-transition);
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
}

.casino-list__load-more:hover {
	opacity: 0.9;
	border-color: var(--color-primary-light);
	cursor: pointer;
}

.casino-table {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.casino-table__header {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	margin-bottom: 1.5rem;
	text-align: center;
	gap: 1rem;
	align-items: center;
	padding: 0.75rem 1.25rem;
	border-bottom: 2px solid var(--color-primary);
	background-color: var(--color-surface);
	border-radius: 8px 8px 0 0;
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 1023px) {

	.casino-table__header {
		display: none;
	}
}

.casino-table__body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.casino-table__header-cell {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-text);
	letter-spacing: 0.05em;
	transition: color var(--theme-transition);
}

.casino-table__row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 0.75rem;
	align-items: center;
	padding: 0.875rem;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background-color: var(--color-surface);
	transition: all var(--theme-transition), box-shadow 0.2s ease;
	position: relative;
}

.casino-table__row:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.casino-table__row--first {
	box-shadow: 0 4px 18px rgba(99, 173, 242, 0.35);
}

@media (max-width: 1023px) {

	.casino-table__row {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		padding: 0.75rem;
	}
}

.casino-table__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
}

.casino-table__cell--casino {
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding-top: 20px;
}

.casino-table__cell--features {
	font-size: 0.875rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	align-items: flex-start;
	transition: color var(--theme-transition);
}

@media (max-width: 1023px) {

	.casino-table__cell--features {
		flex-direction: column;
		align-items: center;
	}
}

.casino-table__cell--bonus {
	font-size: 1.35rem;
	color: var(--color-text);
	line-height: 1.3;
	justify-content: center;
	text-align: center;
	gap: 0.5rem;
	font-weight: 800;
	text-transform: uppercase;
	transition: color var(--theme-transition);
	padding: 0.75rem;
	background: linear-gradient(135deg, rgba(99, 173, 242, 0.1), rgba(99, 173, 242, 0.05));
	border: 2px solid var(--color-primary);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(99, 173, 242, 0.2);
}

.casino-table__cell--bonus span {
	color: var(--color-primary);
	font-weight: 900;
}

@media (max-width: 1023px) {

	.casino-table__cell--bonus {
		font-size: 1.2rem;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding: 0.625rem;
	}
}

.casino-table__cell--actions {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	flex-wrap: wrap;
}

@media (max-width: 1023px) {

	.casino-table__cell--actions {
		width: 100%;
		justify-content: stretch;
	}

	.casino-table__cell--actions .casino-table__btn {
		flex: 1;
	}
}

.casino-table__logo {
	width: 100px;
	height: 95px;
	object-fit: contain;
	background-color: #0a1c3a;
	padding: 0.5rem;
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	transition: background-color var(--theme-transition), padding var(--theme-transition), border-radius var(--theme-transition), box-shadow var(--theme-transition);
}

[data-theme="dark"] .casino-table__logo {
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}

.casino-table__name {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-text);
	line-height: 1.4;
	text-align: center;
	transition: color var(--theme-transition);
}

.casino-table__rating-value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.25rem;
}

.casino-table__rating-number {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1;
	transition: color var(--theme-transition);
}

.casino-table__rating-max {
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-text-muted);
	line-height: 1;
	transition: color var(--theme-transition);
}

.casino-table__bonus {
	word-break: break-word;
	font-size: inherit;
}

.casino-table__features-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.25rem;
}

.casino-table__features-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-text);
	line-height: 1.5;
	text-transform: uppercase;
	transition: color var(--theme-transition);
}

.casino-table__features-icon {
	flex-shrink: 0;
	width: 16px;
	height: 17px;
}

.casino-table__features-text {
	word-break: break-word;
}

.casino-table__btn {
	padding: 0.75rem 1.5rem;
	border-radius: 8px;
	font-size: 1rem;
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
	border: none;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}

.casino-table__btn--primary {
	background: var(--color-accent-green);
	color: var(--color-bg-alt);
	text-transform: uppercase;
	min-width: 180px;
	font-weight: 800;
	font-size: 1.05rem;
	box-shadow: 0 4px 15px rgba(39, 174, 96, 0.5), 0 2px 6px rgba(39, 174, 96, 0.3) inset, 0 0 12px rgba(39, 174, 96, 0.4);
	letter-spacing: 0.05em;
	transition: all var(--theme-transition), transform 0.2s ease, box-shadow 0.2s ease;
}

.casino-table__btn--primary:hover {
	background: linear-gradient(90deg, #2cc36b, #295);
	color: var(--color-bg-alt);
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 8px 25px rgba(39, 174, 96, 0.6), 0 4px 10px rgba(39, 174, 96, 0.4) inset, 0 0 20px rgba(39, 174, 96, 0.5);
	cursor: pointer;
}

@media (max-width: 768px) {

	.casino-table__row {
		padding: 0.875rem;
	}

	.casino-table__name {
		font-size: 0.875rem;
	}

	.casino-table__logo {
		width: 80px;
		height: 76px;
		padding: 0.375rem;
	}

	.casino-table__cell--bonus,
	.casino-table__cell--features {
		font-size: 0.8125rem;
	}

	.casino-table__btn {
		padding: 0.4375rem 0.875rem;
		font-size: 0.8125rem;
	}
}

.casino-table__position-badge {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	border-radius: 8px 0;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 1;
	z-index: 10;
	padding: 0.25rem 0.5rem;
	transition: background var(--theme-transition), color var(--theme-transition);
}

.casino-table__position {
	color: var(--color-primary);
	background-color: var(--color-surface);
	border-radius: 50%;
	width: 30px;
	height: 30px;
	transition: color var(--theme-transition), background-color var(--theme-transition);
	display: flex;
	align-items: center;
	justify-content: center;
}

.casino-card-block {
	width: 100%;
	padding: 2rem 0;
}

.casino-card-block .casino-table {
	width: 100%;
}

.casino-card-block .casino-table__body {
	display: flex;
	flex-direction: column;
	gap: 0;
}

@media (max-width: 768px) {

	.casino-card-block {
		padding: 1.5rem 0;
	}
}

/* Hero Block
--------------------------------------------- */
.hero-block {
	position: relative;
	width: 100%;
	background-color: transparent;
	display: flex;
	align-items: center;
	padding: clamp(2rem, 4vw, 3rem) 0;
}

.hero-block .container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.hero-block__content {
	color: var(--color-text);
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 1rem;
	transition: color var(--theme-transition);
}

.hero-block__title {
	margin: 0 0 1rem;
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: clamp(1.2, 1.3, 1.4);
	color: var(--color-text);
	max-width: 90ch;
	animation: fadeInUp 0.8s ease-out;
	transition: color var(--theme-transition);
	text-align: left;
}

@media (max-width: 768px) {

	.hero-block__title {
		margin-bottom: 0.75rem;
	}
}

.hero-block__author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	width: 100%;
	justify-content: flex-start;
}

@media (max-width: 768px) {

	.hero-block__author {
		gap: 0.5rem;
		margin-bottom: 0.5rem;
	}
}

.hero-block__author-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

@media (max-width: 768px) {

	.hero-block__author-avatar {
		width: 32px;
		height: 32px;
	}
}

.hero-block__author-info {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	text-align: left;
}

.hero-block__author-name {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text);
	line-height: 1.3;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.hero-block__author-name {
		font-size: 0.8125rem;
	}
}

.hero-block__author-updated {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	line-height: 1.3;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.hero-block__author-updated {
		font-size: 0.6875rem;
	}
}

.hero-block__description {
	width: 100%;
	text-align: left;
	max-width: 90ch;
	margin-top: 1.5rem;
	color: var(--color-text);
	font-size: clamp(1rem, 2vw, 1.125rem);
	line-height: 1.7;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.hero-block__description {
		margin-top: 1rem;
		font-size: 0.9375rem;
	}
}

.hero-block__description p {
	margin: 0 0 1rem;
}

.hero-block__description p:last-child {
	margin-bottom: 0;
}

.hero-block__description ul,
.hero-block__description ol {
	text-align: left;
	margin: 1rem 0;
	padding-left: 1.5rem;
}

@media (max-width: 768px) {

	.hero-block__description ul,
	.hero-block__description ol {
		text-align: center;
	}
}

.hero-block__description a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color var(--theme-transition);
}

.hero-block__description a:hover {
	color: var(--color-primary-light);
}

.hero-block__featured-wrapper {
	width: 100%;
	animation: fadeInUp 1s ease-out 0.2s both;
	flex: 1 1 50%;
}

@media (min-width: 1024px) {

	.hero-block__featured-wrapper {
		max-width: 500px;
		width: 100%;
		flex: 1 1 55%;
	}
}

.hero-block__casino-row {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(0.75rem, 2vw, 1.5rem);
	align-items: stretch;
	padding: clamp(1.25rem, 3vw, 2rem);
	background-color: var(--color-surface);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 2px solid var(--color-primary);
	border-radius: clamp(12px, 2vw, 16px);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px var(--color-primary) inset, 0 4px 16px rgba(99, 173, 242, 0.2);
	position: relative;
	transition: all var(--theme-transition), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
	max-width: 100%;
	box-sizing: border-box;
}

.hero-block__casino-row::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(99, 173, 242, 0.1) 0%, transparent 70%);
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none;
}

.hero-block__casino-row:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5), 0 0 0 1px var(--color-primary-light) inset, 0 8px 24px rgba(99, 173, 242, 0.3);
	border-color: var(--color-primary-light);
}

.hero-block__casino-row:hover::before {
	opacity: 1;
}

@media (max-width: 1023px) {

	.hero-block__casino-row {
		gap: clamp(1rem, 3vw, 1.5rem);
		padding: clamp(1rem, 3vw, 1.5rem);
	}
}

@media (max-width: 768px) {

	.hero-block__casino-row {
		margin-top: 0;
		padding: clamp(1rem, 4vw, 1.25rem);
	}
}

.hero-block__casino-position-badge {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	border-radius: 12px 0;
	z-index: 10;
	padding: 0.25rem 0.5rem;
}

.hero-block__casino-badge {
	background: var(--color-accent-gold);
	color: var(--color-bg-alt);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1;
	padding: 0.25rem 0.5rem;
	border-radius: 6px;
	transition: background var(--theme-transition), color var(--theme-transition);
}

@media (max-width: 1023px) {

	.hero-block__casino-badge {
		position: static;
		display: inline-block;
		margin-bottom: 0.5rem;
	}
}

.hero-block__casino-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
}

.hero-block__casino-cell--casino {
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding-top: 30px;
}

@media (max-width: 1023px) {

	.hero-block__casino-cell--casino {
		padding-top: 0;
	}
}

.hero-block__casino-cell--bonus {
	font-size: 1.05rem;
	color: var(--color-text);
	line-height: 1.5;
	justify-content: center;
	text-align: center;
	gap: 0.5rem;
	font-weight: 700;
	text-transform: uppercase;
	transition: color var(--theme-transition);
}

@media (max-width: 1023px) {

	.hero-block__casino-cell--bonus {
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}
}

.hero-block__casino-cell--features {
	font-size: 0.875rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	align-items: flex-start;
	transition: color var(--theme-transition);
}

@media (max-width: 1023px) {

	.hero-block__casino-cell--features {
		flex-direction: column;
		align-items: center;
	}
}

.hero-block__casino-cell--actions {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	flex-wrap: wrap;
}

@media (max-width: 1023px) {

	.hero-block__casino-cell--actions {
		width: 100%;
		justify-content: stretch;
	}
}

.hero-block__casino-logo {
	width: 138px;
	height: 131px;
	object-fit: contain;
}

@media (max-width: 1023px) {

	.hero-block__casino-logo {
		width: 120px;
		height: 120px;
	}
}

@media (max-width: 768px) {

	.hero-block__casino-logo {
		width: 100px;
		height: 100px;
	}
}

.hero-block__casino-name {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-text);
	line-height: 1.4;
	text-align: center;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.hero-block__casino-name {
		font-size: 0.9375rem;
	}
}

.hero-block__casino-bonus {
	word-break: break-word;
	font-size: 1.2rem;
}

@media (max-width: 1023px) {

	.hero-block__casino-bonus {
		font-size: 1rem;
	}
}

.hero-block__casino-features-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.375rem;
}

@media (max-width: 1023px) {

	.hero-block__casino-features-list {
		width: 100%;
	}
}

.hero-block__casino-features-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-text);
	line-height: 1.5;
	text-transform: uppercase;
	transition: color var(--theme-transition);
}

.hero-block__casino-features-icon {
	flex-shrink: 0;
	width: 16px;
	height: 17px;
}

.hero-block__casino-features-text {
	word-break: break-word;
}

.hero-block__casino-rating-value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.25rem;
}

.hero-block__casino-rating-number {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1;
	transition: color var(--theme-transition);
}

.hero-block__casino-rating-max {
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-text-muted);
	line-height: 1;
	transition: color var(--theme-transition);
}

.hero-block__casino-btn {
	padding: clamp(0.625rem, 2vw, 0.875rem) clamp(1.25rem, 3vw, 2rem);
	border-radius: clamp(8px, 1.5vw, 12px);
	font-size: clamp(0.875rem, 2vw, 1rem);
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
	border: none;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	letter-spacing: 0.05em;
	position: relative;
	overflow: hidden;
}

.hero-block__casino-btn::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(99, 173, 242, 0.2);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}

.hero-block__casino-btn:active::before {
	width: 300px;
	height: 300px;
}

.hero-block__casino-btn--primary {
	background: var(--color-primary);
	color: var(--color-bg-alt);
	text-transform: uppercase;
	transition: all var(--theme-transition), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	min-width: clamp(140px, 20vw, 180px);
	box-shadow: 0 6px 20px rgba(99, 173, 242, 0.5), 0 2px 8px rgba(99, 173, 242, 0.3) inset, 0 0 15px rgba(99, 173, 242, 0.4);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.hero-block__casino-btn--primary:hover,
.hero-block__casino-btn--primary:focus {
	background: var(--gradient-button);
	color: var(--color-bg-alt);
	transform: translateY(-4px) scale(1.03);
	box-shadow: 0 12px 30px rgba(99, 173, 242, 0.6), 0 4px 12px rgba(99, 173, 242, 0.4) inset, 0 0 25px rgba(99, 173, 242, 0.5);
	outline: 3px solid var(--color-primary);
	outline-offset: 3px;
}

.hero-block__casino-btn--primary:active {
	transform: translateY(-2px) scale(0.99);
	box-shadow: 0 4px 15px rgba(99, 173, 242, 0.5), 0 2px 6px rgba(99, 173, 242, 0.3) inset;
}

@media (max-width: 1023px) {

	.hero-block__casino-btn {
		width: 100%;
		padding: clamp(0.875rem, 3vw, 1rem) clamp(1.5rem, 5vw, 2rem);
	}
}

@media (max-width: 768px) {

	.hero-block__casino-btn {
		padding: clamp(0.75rem, 4vw, 0.875rem) clamp(1.25rem, 6vw, 1.75rem);
		font-size: clamp(0.8125rem, 3vw, 0.9375rem);
	}
}

@keyframes fadeInUp {

	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {

	.hero-block__title,
	.hero-block__featured-wrapper,
	.hero-block__casino-row {
		animation: none;
	}

	.hero-block__casino-row:hover {
		transform: none;
	}

	.hero-block__casino-btn--primary:hover,
	.hero-block__casino-btn--primary:focus {
		transform: none;
	}
}

/* Why Choose Casino Block
--------------------------------------------- */
.why-choose-casino {
	width: 100%;
}

@media (max-width: 768px) {

	.why-choose-casino {
		padding: 3rem 0;
	}
}

.why-choose-casino__title {
	margin: 0 0 3rem;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-text);
	text-align: left;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.why-choose-casino__title {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
}

.why-choose-casino__reasons {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

@media (max-width: 768px) {

	.why-choose-casino__reasons {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

.why-choose-casino__item {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.5rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.why-choose-casino__item {
		gap: 0.75rem;
	}
}

.why-choose-casino__header {
	display: flex;
	gap: 1.5rem;
	align-items: center;
}

@media (max-width: 768px) {

	.why-choose-casino__header {
		gap: 1rem;
	}
}

.why-choose-casino__icon-wrapper {
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: var(--color-bg);
	border: 1px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.why-choose-casino__icon-wrapper {
		width: 50px;
		height: 50px;
	}
}

.why-choose-casino__icon {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.why-choose-casino__reason {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--color-text);
	flex: 1;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.why-choose-casino__reason {
		font-size: 1.125rem;
	}
}

.why-choose-casino__description {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

.why-choose-casino__description p {
	margin: 0 0 0.75rem;
}

.why-choose-casino__description p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {

	.why-choose-casino__description {
		font-size: 0.875rem;
	}
}

/* Trending Casinos Block
--------------------------------------------- */
.trending-casinos {
	width: 100%;
	padding: 4rem 0;
}

@media (max-width: 768px) {

	.trending-casinos {
		padding: 3rem 0;
	}
}

.trending-casinos .container {
	width: 100%;
}

.trending-casinos__title {
	margin: 0 0 1.5rem;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-text);
	text-align: center;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.trending-casinos__title {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
}

.trending-casinos__description {
	margin: 0 0 3rem;
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--color-text-muted);
	text-align: center;
	transition: color var(--theme-transition);
}

.trending-casinos__description p {
	margin: 0 0 1rem;
}

.trending-casinos__description p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {

	.trending-casinos__description {
		font-size: 1rem;
		margin-bottom: 2rem;
	}
}

.trending-casinos__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

@media (max-width: 1100px) {

	.trending-casinos__cards {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

.trending-casinos__card {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 1.5rem;
	transition: all var(--theme-transition), box-shadow 0.2s ease, border-color 0.2s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	position: relative;
	justify-content: space-between;
}

.trending-casinos__card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border-color: var(--color-primary);
}

.trending-casinos__badge-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem;
}

.trending-casinos__rank {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text);
	line-height: 1;
	border: 2px solid var(--color-border);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	transition: color var(--theme-transition), border-color var(--theme-transition);
}

.trending-casinos__badge {
	background: var(--color-accent-gold);
	color: var(--color-bg-alt);
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 600;
	transition: background var(--theme-transition), color var(--theme-transition);
}

.trending-casinos__logo-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 1rem;
}

.trending-casinos__logo {
	width: 180px;
	height: 180px;
	object-fit: contain;
}

.trending-casinos__name {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-text);
	text-align: center;
	text-transform: uppercase;
	transition: color var(--theme-transition);
}

.trending-casinos__bonus {
	width: 100%;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-text);
	line-height: 1.4;
	text-transform: lowercase;
	transition: color var(--theme-transition);
}

.trending-casinos__bonus span {
	text-transform: uppercase;
	color: var(--color-primary);
}

.trending-casinos__rating {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.trending-casinos__rating-value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.25rem;
}

.trending-casinos__rating-number {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1;
	transition: color var(--theme-transition);
}

.trending-casinos__rating-max {
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-text-muted);
	line-height: 1;
	transition: color var(--theme-transition);
}

.trending-casinos__cta {
	padding: 0.75rem 1.5rem;
	background: var(--color-primary);
	color: var(--color-bg-alt);
	text-decoration: none;
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 700;
	text-align: center;
	transition: all var(--theme-transition), transform 0.3s ease, box-shadow 0.3s ease;
	text-transform: uppercase;
	width: 100%;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 15px rgba(99, 173, 242, 0.5), 0 2px 6px rgba(99, 173, 242, 0.3) inset, 0 0 12px rgba(99, 173, 242, 0.4);
}

.trending-casinos__cta:hover {
	background: var(--gradient-button);
	color: var(--color-bg-alt);
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 8px 25px rgba(99, 173, 242, 0.6), 0 4px 10px rgba(99, 173, 242, 0.4) inset, 0 0 20px rgba(99, 173, 242, 0.5);
	cursor: pointer;
}

/* FAQ Section Block
--------------------------------------------- */

/**
 * FAQ Section Block
 */
.faq-section {
	padding: 2rem 0;
	background-color: var(--color-bg);
	transition: background-color var(--theme-transition);
}

.faq-section .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1rem;
}

@media (max-width: 768px) {

	.faq-section .container {
		padding: 0 1rem;
	}
}

.faq-section__title {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 2rem;
	text-align: center;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.faq-section__title {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
}

.faq-section__description {
	max-width: 800px;
	margin: 0 auto;
	font-size: 1.125rem;
	font-weight: 400;
	margin-bottom: 2rem;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.faq-section__description {
		font-size: 1rem;
		margin-bottom: 1.5rem;
	}
}

.faq-section__items {
	max-width: 800px;
	margin: 0 auto;
}

.faq-section__item {
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 0;
	transition: border-color var(--theme-transition);
}

.faq-section__item:first-child {
	border-top: 1px solid var(--color-border);
}

.faq-section__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.5rem 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	color: var(--color-text);
	transition: opacity var(--theme-transition);
}

.faq-section__question:hover {
	opacity: 0.6;
}

.faq-section__question[aria-expanded="true"] .faq-section__icon {
	transform: rotate(45deg);
}

@media (max-width: 768px) {

	.faq-section__question {
		padding: 1rem 0;
	}
}

.faq-section__question-text {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0;
	flex: 1;
	color: inherit;
	padding-right: 1rem;
	padding-left: 0.5rem;
}

@media (max-width: 768px) {

	.faq-section__question-text {
		font-size: 1rem;
	}
}

.faq-section__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease, color var(--theme-transition);
	color: var(--color-primary);
}

.faq-section__icon svg {
	width: 100%;
	height: 100%;
}

.faq-section__answer {
	overflow: hidden;
	transition: max-height 0.3s ease, padding 0.3s ease;
	max-height: 0;
	padding: 0 0;
}

.faq-section__answer[hidden] {
	display: none;
}

.faq-section__answer:not([hidden]) {
	display: block;
	max-height: 2000px;
	padding: 1rem 0;
}

@media (max-width: 768px) {

	.faq-section__answer:not([hidden]) {
		padding-bottom: 1rem;
	}
}

.faq-section__answer-content {
	color: var(--color-text);
	line-height: 1.6;
	transition: color var(--theme-transition);
}

.faq-section__answer-content p {
	margin: 0 0 1rem;
	padding: 0 0.5rem;
}

.faq-section__answer-content p:last-child {
	margin-bottom: 0;
}

.faq-section__answer-content ul,
.faq-section__answer-content ol {
	margin: 0 0 1rem;
	padding-left: 1.5rem;
}

.faq-section__answer-content ul:last-child,
.faq-section__answer-content ol:last-child {
	margin-bottom: 0;
}

.faq-section__answer-content li {
	margin-bottom: 0.5rem;
}

.faq-section__answer-content li:last-child {
	margin-bottom: 0;
}

.faq-section__answer-content a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color var(--theme-transition);
}

.faq-section__answer-content a:hover {
	text-decoration: none;
}

.faq-section__answer-content strong {
	font-weight: 600;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

.faq-section__answer-content em {
	font-style: italic;
}

/* Key Sections Block
--------------------------------------------- */

/**
 * Key Sections Block Styles
 */
.key-sections-block {
	width: 100%;
	margin: 2rem 0;
	position: relative;
}

@media (max-width: 768px) {

	.key-sections-block {
		margin: 1.5rem 0;
	}
}

.key-sections__toggle {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	color: var(--color-text);
	font-size: 1rem;
	font-weight: 600;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	cursor: pointer;
	transition: all var(--theme-transition);
	text-align: left;
}

.key-sections__toggle:hover {
	background-color: var(--color-bg);
	border-color: var(--color-primary);
}

.key-sections__toggle:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.key-sections__toggle[aria-expanded="true"] {
	border-color: var(--color-primary);
	background-color: var(--color-bg);
}

.key-sections__toggle[aria-expanded="true"] .key-sections__toggle-icon {
	transform: rotate(180deg);
}

@media (max-width: 768px) {

	.key-sections__toggle {
		padding: 0.875rem 1rem;
		font-size: 0.9375rem;
	}
}

.key-sections__toggle-text {
	flex: 1;
	margin: 0;
}

.key-sections__toggle-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-left: 0.75rem;
	transition: transform 0.3s ease, color var(--theme-transition);
	color: var(--color-primary);
}

.key-sections__menu-wrapper {
	position: relative;
	margin: 0.5rem 0 0;
}

.key-sections__menu {
	list-style: none;
	margin: 0;
	padding: 0 0 3rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	overflow: hidden;
	max-height: 400px;
	opacity: 1;
	visibility: visible;
	overflow-y: auto;
	transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, background-color var(--theme-transition), border-color var(--theme-transition);
}

.key-sections-block:not(.is-open) .key-sections__menu {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	padding-bottom: 0;
}

@media (max-width: 768px) {

	.key-sections__menu {
		max-height: 400px;
		padding-bottom: 3rem;
	}
}

.key-sections__item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--color-border);
	transition: border-color var(--theme-transition);
}

.key-sections__item:last-child {
	border-bottom: none;
}

.key-sections__link {
	display: block;
	padding: 0.875rem 1.25rem;
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.9375rem;
	line-height: 1.5;
	transition: all var(--theme-transition), padding 0.2s ease;
	position: relative;
	padding-left: 2.5rem;
}

.key-sections__link::before {
	content: "";
	position: absolute;
	left: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-primary);
	opacity: 0.6;
	transition: opacity 0.2s ease, background var(--theme-transition);
}

.key-sections__link:hover,
.key-sections__link:focus {
	background-color: var(--color-bg);
	color: var(--color-primary);
	padding-left: 2.75rem;
}

.key-sections__link:hover::before,
.key-sections__link:focus::before {
	opacity: 1;
	background: var(--color-primary-light);
}

.key-sections__link:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: -2px;
}

@media (max-width: 768px) {

	.key-sections__link {
		padding: 0.75rem 1rem;
		padding-left: 2.25rem;
		font-size: 0.875rem;
	}

	.key-sections__link:hover,
	.key-sections__link:focus {
		padding-left: 2.5rem;
	}

	.key-sections__link::before {
		left: 1rem;
	}
}

.key-sections__scroll-indicator {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem;
	background: linear-gradient(to bottom, transparent 0%, var(--color-surface) 20%, var(--color-surface) 50%, var(--color-surface) 100%);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease, background var(--theme-transition);
	z-index: 2;
	border-radius: 0 0 8px 8px;
}

.key-sections-block:not(.is-open) .key-sections__scroll-indicator {
	opacity: 0 !important;
	visibility: hidden !important;
}

.key-sections-block.is-open .key-sections__menu-wrapper[data-scrollable="true"] .key-sections__scroll-indicator {
	opacity: 1;
	visibility: visible;
}

.key-sections-block.is-open .key-sections__menu-wrapper:hover .key-sections__scroll-indicator {
	opacity: 0.3;
}

.key-sections__scroll-text {
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color var(--theme-transition);
}

.key-sections__scroll-icon {
	width: 14px;
	height: 14px;
	color: var(--color-primary);
	animation: key-sections-scroll-bounce 2s ease-in-out infinite;
	transition: color var(--theme-transition);
}

@keyframes key-sections-scroll-bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(4px);
	}
}

.key-sections__empty {
	margin: 0;
	padding: 1rem;
	text-align: center;
	color: var(--color-text-muted);
	font-size: 0.9375rem;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	transition: color var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition);
}

/* Contact Form Block
--------------------------------------------- */
.contact-form-block {
	width: 100%;
	padding: 4rem 0;
	background-color: var(--color-bg);
	transition: background-color var(--theme-transition);
}

@media (max-width: 768px) {

	.contact-form-block {
		padding: 3rem 0;
	}
}

.contact-form-block .container {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.contact-form-block__description {
	margin-bottom: 2rem;
	color: var(--color-text);
	font-size: 1.125rem;
	line-height: 1.7;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.contact-form-block__description {
		font-size: 1rem;
		margin-bottom: 1.5rem;
	}
}

.contact-form-block__description p {
	margin: 0 0 1rem;
}

.contact-form-block__description p:last-child {
	margin-bottom: 0;
}

.contact-form-block__wrapper {
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 16px;
	padding: 2.5rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.contact-form-block__wrapper {
		padding: 1.5rem;
	}
}

.contact-form-block__empty {
	text-align: center;
	padding: 2rem;
	color: var(--color-text-muted);
	background-color: var(--color-surface);
	border: 1px dashed var(--color-border);
	border-radius: 8px;
	transition: color var(--theme-transition), background-color var(--theme-transition), border-color var(--theme-transition);
}

.contact-form-block .wpcf7 form .wpcf7-form-control-wrap {
	margin-bottom: 1.5rem;
}

.contact-form-block .wpcf7 form label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: var(--color-text);
	font-size: 0.9375rem;
	transition: color var(--theme-transition);
}

.contact-form-block .wpcf7 form input[type="text"],
.contact-form-block .wpcf7 form input[type="email"],
.contact-form-block .wpcf7 form input[type="tel"],
.contact-form-block .wpcf7 form input[type="url"],
.contact-form-block .wpcf7 form input[type="number"],
.contact-form-block .wpcf7 form textarea,
.contact-form-block .wpcf7 form select {
	width: 100%;
	padding: 0.875rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: 8px;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-size: 1rem;
	font-family: inherit;
	line-height: 1.5;
	transition: border-color var(--theme-transition), background-color var(--theme-transition), color var(--theme-transition);
}

.contact-form-block .wpcf7 form input[type="text"]:focus,
.contact-form-block .wpcf7 form input[type="email"]:focus,
.contact-form-block .wpcf7 form input[type="tel"]:focus,
.contact-form-block .wpcf7 form input[type="url"]:focus,
.contact-form-block .wpcf7 form input[type="number"]:focus,
.contact-form-block .wpcf7 form textarea:focus,
.contact-form-block .wpcf7 form select:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(99, 173, 242, 0.1);
}

.contact-form-block .wpcf7 form input[type="text"]::placeholder,
.contact-form-block .wpcf7 form input[type="email"]::placeholder,
.contact-form-block .wpcf7 form input[type="tel"]::placeholder,
.contact-form-block .wpcf7 form input[type="url"]::placeholder,
.contact-form-block .wpcf7 form input[type="number"]::placeholder,
.contact-form-block .wpcf7 form textarea::placeholder,
.contact-form-block .wpcf7 form select::placeholder {
	color: var(--color-text-muted);
	opacity: 0.7;
}

.contact-form-block .wpcf7 form textarea {
	min-height: 120px;
	resize: vertical;
}

.contact-form-block .wpcf7 form .wpcf7-submit {
	background: var(--gradient-button);
	color: var(--color-bg-alt);
	border: none;
	padding: 1rem 2rem;
	font-size: 1rem;
	font-weight: 700;
	border-radius: 8px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.3);
}

.contact-form-block .wpcf7 form .wpcf7-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(99, 173, 242, 0.4);
}

.contact-form-block .wpcf7 form .wpcf7-submit:active {
	transform: translateY(0);
}

.contact-form-block .wpcf7 form .wpcf7-submit:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.contact-form-block .wpcf7 form .wpcf7-validation-errors,
.contact-form-block .wpcf7 form .wpcf7-mail-sent-ok,
.contact-form-block .wpcf7 form .wpcf7-mail-sent-ng,
.contact-form-block .wpcf7 form .wpcf7-spam {
	padding: 1rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	font-size: 0.9375rem;
	transition: background-color var(--theme-transition), color var(--theme-transition), border-color var(--theme-transition);
}

.contact-form-block .wpcf7 form .wpcf7-validation-errors {
	background-color: rgba(220, 53, 69, 0.1);
	border: 1px solid rgba(220, 53, 69, 0.3);
	color: var(--color-accent-red);
}

.contact-form-block .wpcf7 form .wpcf7-mail-sent-ok {
	background-color: rgba(40, 167, 69, 0.1);
	border: 1px solid rgba(40, 167, 69, 0.3);
	color: #28a745;
}

.contact-form-block .wpcf7 form .wpcf7-mail-sent-ng,
.contact-form-block .wpcf7 form .wpcf7-spam {
	background-color: rgba(255, 193, 7, 0.1);
	border: 1px solid rgba(255, 193, 7, 0.3);
	color: #ffc107;
}

.contact-form-block .wpcf7 form span.wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--color-accent-red);
}

.contact-form-block .wpcf7 form .wpcf7-not-valid {
	border-color: var(--color-accent-red) !important;
}

/* Scroll to Top Button
--------------------------------------------- */

/**
 * Scroll to Top Button Styles
 */
.scroll-to-top {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: 50%;
	color: var(--color-text);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: all var(--theme-transition), transform 0.3s ease, box-shadow 0.3s ease;
	z-index: 9999;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	padding: 12px;
}

.scroll-to-top:hover,
.scroll-to-top:focus {
	background-color: var(--color-primary);
	border-color: var(--color-primary-light);
	color: var(--color-bg-alt);
	transform: translateY(-4px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.scroll-to-top:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.scroll-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@media (max-width: 768px) {

	.scroll-to-top {
		bottom: 1.5rem;
		right: 1.5rem;
		left: auto;
		transform: translateY(20px);
		height: 44px;
		width: 44px;
	}

	.scroll-to-top.is-visible {
		transform: translateY(0);
	}

	.scroll-to-top:hover,
	.scroll-to-top:focus {
		transform: translateY(-4px);
	}
}

.scroll-to-top__icon {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media (max-width: 768px) {

	.scroll-to-top__icon {
		width: 24px;
		height: 24px;
		stroke-width: 2.5;
	}
}

/* Table of Contents
--------------------------------------------- */

/* Error Pages
--------------------------------------------- */
.error-404 {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background-color: var(--color-bg);
	color: var(--color-text);
	text-align: center;
	padding: 4rem 1.5rem;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	transition: background-color var(--theme-transition), color var(--theme-transition);
}

@media (min-width: 768px) {

	.error-404 {
		padding: 6rem 2rem;
	}
}

.error-404__inner {
	position: relative;
	z-index: 1;
	max-width: 680px;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	align-items: center;
}

.error-404__status {
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-size: clamp(4rem, 14vw, 8rem);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin: 0;
	text-shadow: 0 0 20px rgba(99, 173, 242, 0.35);
	transition: color var(--theme-transition);
}

.error-404__title {
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	margin: 0;
	color: var(--color-text);
	line-height: 1.2;
	transition: color var(--theme-transition);
}

.error-404__subtitle {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--color-text-muted);
	max-width: 600px;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.error-404__subtitle {
		font-size: 1rem;
	}
}

.error-404__actions {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

@media (min-width: 480px) {

	.error-404__actions {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		width: auto;
	}
}

.error-404__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2.5rem;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	font-weight: 700;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-radius: 6px;
	transition: all var(--theme-transition), transform 0.3s ease, box-shadow 0.3s ease;
	text-decoration: none;
	cursor: pointer;
	border: none;
}

.error-404__button--primary {
	background: var(--color-primary);
	color: var(--color-bg-alt);
	box-shadow: 0 4px 12px rgba(99, 173, 242, 0.35);
}

.error-404__button--primary:hover,
.error-404__button--primary:focus {
	background: var(--color-primary-light);
	color: var(--color-bg-alt);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(99, 173, 242, 0.45);
}

.error-404__button--secondary {
	background-color: var(--color-surface);
	color: var(--color-text);
	border: 1px solid var(--color-border);
	backdrop-filter: blur(10px);
	transition: all var(--theme-transition), transform 0.3s ease;
}

.error-404__button--secondary:hover,
.error-404__button--secondary:focus {
	background-color: var(--color-bg);
	color: var(--color-primary);
	border-color: var(--color-primary);
	transform: translateY(-2px);
}

.error-404__illustration {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 2rem 0;
}

.error-404__illustration svg {
	width: clamp(120px, 30vw, 200px);
	height: auto;
	filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.25));
}

.error-404__glow {
	position: absolute;
	width: clamp(240px, 50vw, 420px);
	height: clamp(240px, 50vw, 420px);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(99, 173, 242, 0.35) 0%, transparent 70%);
	filter: blur(60px);
	opacity: 0.6;
	z-index: 0;
	pointer-events: none;
	transition: background var(--theme-transition);
}

.error-404__glow--top {
	top: 8%;
	left: 15%;
}

.error-404__glow--bottom {
	bottom: 10%;
	right: 20%;
	background: radial-gradient(circle, rgba(99, 173, 242, 0.3) 0%, transparent 70%);
	transition: background var(--theme-transition);
}

.site-footer {
	background-color: var(--color-surface);
	color: var(--color-text);
	border-top: 1px solid var(--color-border);
	padding: 3rem 0 2rem;
	transition: background-color var(--theme-transition), color var(--theme-transition), border-color var(--theme-transition);
}

.site-footer .container {
	width: 100%;
}

.site-footer__content {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 3rem);
}

.site-footer__top {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(2rem, 4vw, 3rem);
	align-items: start;
}

@media (max-width: 1024px) {

	.site-footer__top {
		grid-template-columns: 1fr;
		gap: 2rem;
		text-align: center;
	}
}

.site-footer__branding {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}

@media (max-width: 1024px) {

	.site-footer__branding {
		justify-content: center;
	}
}

.site-footer__branding .custom-logo-link {
	display: block;
	line-height: 1;
	transition: opacity var(--theme-transition);
}

.site-footer__branding .custom-logo-link--dark {
	display: none;
}

.site-footer__branding .custom-logo {
	max-height: 60px;
	width: auto;
	height: auto;
	transition: opacity var(--theme-transition);
}

.site-footer__copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
}

.site-footer__copyright p {
	margin: 0;
	font-size: 0.875rem;
	color: var(--color-text-muted);
	transition: color var(--theme-transition);
}

.site-footer__navigation {
	width: 100%;
	min-width: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

@media (max-width: 1024px) {

	.site-footer__navigation {
		justify-content: center;
	}
}

[data-theme="dark"] .site-footer__branding .custom-logo-link {
	display: none;
}

[data-theme="dark"] .site-footer__branding .custom-logo-link--dark {
	display: block;
}

.footer-menu {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 4vw, 3rem);
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

@media (max-width: 1024px) {

	.footer-menu {
		grid-template-columns: repeat(2, 1fr);
		gap: clamp(1.5rem, 3vw, 2rem);
	}
}

@media (max-width: 768px) {

	.footer-menu {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

.footer-menu__column {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.footer-menu__column-title {
	color: var(--color-text);
	font-size: clamp(1rem, 1.5vw, 1.125rem);
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.5rem;
	text-decoration: none;
	transition: color var(--theme-transition);
	display: block;
}

.footer-menu__column-title.footer-menu__link:hover,
.footer-menu__column-title.footer-menu__link:focus {
	color: var(--color-primary);
	outline: none;
}

.footer-menu__submenu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.footer-menu__subitem {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu__sublink {
	color: var(--color-text-muted);
	text-decoration: none;
	font-size: clamp(0.875rem, 1.25vw, 0.9375rem);
	font-weight: 400;
	line-height: 1.6;
	transition: color var(--theme-transition);
	display: block;
}

.footer-menu__sublink:hover,
.footer-menu__sublink:focus {
	color: var(--color-primary);
	outline: none;
}

.footer-menu__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu__link {
	color: var(--color-text-muted);
	text-decoration: none;
	font-size: clamp(0.875rem, 1.5vw, 1rem);
	font-weight: 400;
	line-height: 1.6;
	white-space: nowrap;
	transition: color var(--theme-transition);
}

.footer-menu__link:hover,
.footer-menu__link:focus {
	color: var(--color-primary);
	outline: none;
}

@media (max-width: 768px) {

	.footer-menu__link {
		font-size: 0.875rem;
	}
}

/* Gutenberg Block Group Styles
--------------------------------------------- */

/**
 * Gutenberg Block Group Styles
 * Styles for typography and tables within .wp-block-group
 */
.wp-block-group {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.wp-block-group p {
	margin-bottom: 1.5em;
	color: var(--color-text);
	line-height: 1.5;
	font-size: 1rem;
	transition: color var(--theme-transition);
}

.wp-block-group p:last-child {
	margin-bottom: 0;
}

.wp-block-group h1,
.wp-block-group h2,
.wp-block-group h3,
.wp-block-group h4,
.wp-block-group h5,
.wp-block-group h6 {
	clear: both;
	font-family: Poppins, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif;
	color: var(--color-text);
	margin-top: 1.5em;
	margin-bottom: 1em;
	line-height: 1.3;
	font-weight: 700;
	transition: color var(--theme-transition);
}

.wp-block-group h1:first-child,
.wp-block-group h2:first-child,
.wp-block-group h3:first-child,
.wp-block-group h4:first-child,
.wp-block-group h5:first-child,
.wp-block-group h6:first-child {
	margin-top: 0;
}

.wp-block-group h1 {
	font-size: 2.5rem;
	margin-bottom: 1.25em;
}

@media (max-width: 768px) {

	.wp-block-group h1 {
		font-size: 2rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h1 {
		font-size: 1.75rem;
	}
}

.wp-block-group h2 {
	font-size: 2rem;
	margin-bottom: 1em;
}

@media (max-width: 768px) {

	.wp-block-group h2 {
		font-size: 1.75rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h2 {
		font-size: 1.5rem;
	}
}

.wp-block-group h3 {
	font-size: 1.75rem;
	margin-bottom: 0.875em;
}

@media (max-width: 768px) {

	.wp-block-group h3 {
		font-size: 1.5rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h3 {
		font-size: 1.25rem;
	}
}

.wp-block-group h4 {
	font-size: 1.5rem;
	margin-bottom: 0.75em;
}

@media (max-width: 768px) {

	.wp-block-group h4 {
		font-size: 1.25rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h4 {
		font-size: 1.125rem;
	}
}

.wp-block-group h5 {
	font-size: 1.25rem;
	margin-bottom: 0.625em;
}

@media (max-width: 768px) {

	.wp-block-group h5 {
		font-size: 1.125rem;
	}
}

@media (max-width: 480px) {

	.wp-block-group h5 {
		font-size: 1rem;
	}
}

.wp-block-group h6 {
	font-size: 1rem;
	margin-bottom: 0.5em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.wp-block-group ul,
.wp-block-group ol {
	padding: 0;
	margin: 0 0 1.5em 1.5em;
	color: var(--color-text);
	line-height: 1.5;
	transition: color var(--theme-transition);
}

.wp-block-group ul:last-child,
.wp-block-group ol:last-child {
	margin-bottom: 0;
}

.wp-block-group ul {
	list-style: disc;
}

.wp-block-group ul ul {
	list-style: circle;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wp-block-group ol {
	list-style: decimal;
}

.wp-block-group ol ol {
	list-style: lower-alpha;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wp-block-group li {
	margin-bottom: 0.5em;
	color: var(--color-text);
	transition: color var(--theme-transition);
}

.wp-block-group li:last-child {
	margin-bottom: 0;
}

.wp-block-group li > ul,
.wp-block-group li > ol {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.wp-block-group table {
	width: 100%;
	margin: 1.5em 0;
	border-collapse: collapse;
	border-spacing: 0;
	background-color: var(--color-surface);
	border-radius: 8px;
	overflow: hidden;
	min-width: 100%;
	transition: background-color var(--theme-transition);
}

.wp-block-group table:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {

	.wp-block-group table {
		display: table;
		width: 100%;
		min-width: 600px;
	}
}

.wp-block-group .wp-block-table,
.wp-block-group .wp-block-table__content-wrapper {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin: 1.5em 0;
	border-radius: 8px;
}

@media (max-width: 768px) {

	.wp-block-group .wp-block-table,
	.wp-block-group .wp-block-table__content-wrapper {
		box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, 0.5);
	}
}

.wp-block-group .wp-block-table table,
.wp-block-group .wp-block-table__content-wrapper table {
	margin: 0;
}

.wp-block-group .table-responsive {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	margin: 1.5em 0;
	border-radius: 8px;
}

@media (max-width: 768px) {

	.wp-block-group .table-responsive {
		box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, 0.5);
	}
}

.wp-block-group .table-responsive table {
	margin: 0;
	min-width: 600px;
}

.wp-block-group thead {
	background-color: var(--color-surface);
	border-bottom: 2px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group tbody tr {
	border-bottom: 1px solid var(--color-border);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group tbody tr:hover {
	background-color: var(--color-bg);
}

.wp-block-group tbody tr:last-child {
	border-bottom: none;
}

.wp-block-group tfoot {
	background-color: var(--color-surface);
	border-top: 2px solid var(--color-primary);
	transition: background-color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group th,
.wp-block-group td {
	padding: 0.75rem 1rem;
	text-align: left;
	color: var(--color-text);
	vertical-align: top;
	transition: color var(--theme-transition);
}

@media (max-width: 768px) {

	.wp-block-group th,
	.wp-block-group td {
		padding: 0.625rem 0.75rem;
		font-size: 0.875rem;
		white-space: nowrap;
	}
}

.wp-block-group th {
	font-weight: 700;
	color: var(--color-text);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.875rem;
	border-bottom: 2px solid var(--color-border);
	white-space: nowrap;
	transition: color var(--theme-transition), border-color var(--theme-transition);
}

.wp-block-group td {
	border-bottom: 1px solid var(--color-border);
	transition: border-color var(--theme-transition);
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked table {
		display: block;
		width: 100%;
		min-width: 100%;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked thead,
	.wp-block-group.table-stacked tbody,
	.wp-block-group.table-stacked tfoot {
		display: block;
		width: 100%;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked tr {
		display: block;
		width: 100%;
		margin-bottom: 1rem;
		border: 1px solid var(--color-border);
		border-radius: 6px;
		padding: 0.5rem 0;
		transition: border-color var(--theme-transition);
	}

	.wp-block-group.table-stacked tr:last-child {
		margin-bottom: 0;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked th {
		display: none;
	}
}

@media (max-width: 768px) {

	.wp-block-group.table-stacked td {
		display: block;
		width: 100%;
		padding: 0.5rem 1rem;
		border: none;
		border-bottom: 1px solid var(--color-border);
		white-space: normal;
		transition: border-color var(--theme-transition);
	}

	.wp-block-group.table-stacked td:last-child {
		border-bottom: none;
	}

	.wp-block-group.table-stacked td[data-label]::before {
		content: attr(data-label);
		display: inline-block;
		font-weight: 700;
		color: var(--color-primary);
		margin-right: 0.5rem;
		min-width: 100px;
		transition: color var(--theme-transition);
	}
}

.wp-block-heading {
	color: var(--color-text) !important;
	transition: color var(--theme-transition);
}

.wp-block-heading h1,
.wp-block-heading h2,
.wp-block-heading h3,
.wp-block-heading h4,
.wp-block-heading h5,
.wp-block-heading h6 {
	color: var(--color-text) !important;
	transition: color var(--theme-transition);
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--color-bg-alt);
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: var(--color-text);
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
