/*!***********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!./src/scss/main.scss ***!
  \***********************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ==============================================
   MAIN SCSS ENTRY POINT
   ============================================== */
/**
 * Visually Hidden Mixin
 * @description Hides an element visually while keeping it accessible to screen readers.
 * @mixin visually-hidden
 * @example scss
 *   .sr-only { @include visually-hidden; }
 */
/**
 * Visually Shown Mixin
 * @description Reverses visually-hidden styles to make an element visible again.
 * @mixin visually-shown
 * @example scss
 *   .show-element { @include visually-shown; }
 */
/* =====================
   BREAKPOINT MIXINS
   ===================== */
/**
 * Breakpoint Up Mixin
 * @description Applies styles at or above a specified breakpoint.
 * @mixin breakpoint-up
 * @param {string} $breakpoint - Breakpoint key (sm, md, lg, etc.)
 * @example scss
 *   .container { @include breakpoint-up('md') { color: red; } }
 */
/**
 * Breakpoint Down Mixin
 * @description Applies styles below a specified breakpoint.
 * @mixin breakpoint-down
 * @param {string} $breakpoint - Breakpoint key
 * @example scss
 *   .element { @include breakpoint-down('md') { display: none; } }
 */
/**
 * Breakpoint Between Mixin
 * @description Applies styles between two specified breakpoints.
 * @mixin breakpoint-between
 * @param {string} $min - Minimum breakpoint key
 * @param {string} $max - Maximum breakpoint key
 * @example scss
 *   .box { @include breakpoint-between('sm', 'md') { width: 50%; } }
 */
/* =====================
   SPACING MIXINS
   ===================== */
/**
 * @mixin margin
 * @param {number} $size - Margin value for all sides
 * @example scss
 *   .element { @include margin(1rem); }
 */
/**
 * Margin X Mixin
 * @description Sets equal horizontal margins on both sides.
 * @mixin margin-x
 * @param {number} $size - Horizontal margin value
 * @example scss
 *   .container { @include margin-x(1rem); }
 */
/**
 * Margin Y Mixin
 * @description Sets equal vertical margins on top and bottom.
 * @mixin margin-y
 * @param {number} $size - Vertical margin value
 * @example scss
 *   .section { @include margin-y(2rem); }
 */
/**
 * @mixin padding
 * @param {number} $size - Padding value for all sides
 * @example scss
 *   .element { @include padding(1rem); }
 */
/**
 * Padding X Mixin
 * @description Sets equal horizontal padding on both sides.
 * @mixin padding-x
 * @param {number} $size - Horizontal padding value
 * @example scss
 *   .container { @include padding-x(1rem); }
 */
/**
 * Padding Y Mixin
 * @description Sets equal vertical padding on top and bottom.
 * @mixin padding-y
 * @param {number} $size - Vertical padding value
 * @example scss
 *   .section { @include padding-y(2rem); }
 */
/**
 * Responsive Padding Y Mixin
 * @description Applies responsive vertical padding based on breakpoints
 * @mixin responsive-padding-y
 * @param {number} $sm - Small breakpoint padding
 * @param {number} $md - Medium breakpoint padding
 * @param {number} $lg - Large breakpoint padding
 * @example scss
 *   .element { @include responsive-padding-y(1rem, 2rem, 3rem); }
 */
/* =====================
   FLEX/GRID MIXINS
   ===================== */
/**
 * Flex Mixin
 * @description Creates a flex container with a specified wrap behavior.
 * @mixin flex
 * @param {string} $wrap - Flex-wrap value (nowrap|wrap) [default: nowrap]
 * @example scss
 *   .nav { @include flex(wrap); }
 */
/**
 * Flex Column Center Mixin
 * @description Creates a centered flex column layout.
 * @mixin flex-column-center
 * @example scss
 *   .hero { @include flex-column-center; }
 */
/**
 * Grid Responsive Mixin
 * @description Creates a responsive grid with auto-fitting columns.
 * @mixin grid-responsive
 * @param {number} $min-width - Minimum column width
 * @param {number} $gap - Grid gap
 * @example scss
 *   .gallery { @include grid-responsive(250px, 1rem); }
 */
/* =====================
   ASPECT RATIO MIXIN
   ===================== */
/**
 * Aspect Ratio Mixin
 * @description Maintains an aspect ratio for an element.
 * @mixin aspect-ratio
 * @param {number} $width - Ratio width
 * @param {number} $height - Ratio height
 * @example scss
 *   .video-container { @include aspect-ratio(16, 9); }
 */
/* =====================
   BORDER MIXINS
   ===================== */
/**
 * Rounded Mixin
 * @description Applies a border radius based on a size key.
 * @mixin rounded
 * @param {string} $size - Border radius size key (sm, md, lg)
 * @example scss
 *   .card { @include rounded('md'); }
 */
/* =====================
   TYPOGRAPHY MIXINS
   ===================== */
/**
 * Font Smoothing Mixin
 * @description Applies font smoothing for better text rendering.
 * @mixin font-smoothing
 * @example scss
 *   body { @include font-smoothing; }
 */
/**
 * Transition Mixin
 * @description Adds a transition effect to a specified property.
 * @mixin transition
 * @param {string} $property - CSS property to transition [default: all]
 * @example scss
 *   a { @include transition(color); }
 */
/**
 * Responsive Text Mixin
 * @description Sets font size with optional responsive scaling at a breakpoint.
 * @mixin responsive-text
 * @param {string} $size-key - Font size key
 * @param {string} $breakpoint - Optional breakpoint for scaling [default: null]
 * @example scss
 *   h1 { @include responsive-text('h1', 'lg'); }
 */
/**
 * Heading Style Mixin
 * @description Applies consistent heading typography styles.
 * @mixin heading-style
 * @example scss
 *   h1, h2, h3 { @include heading-style; }
 */
/**
 * Text Style Mixin
 * @description Applies standard text typography styles.
 * @mixin text-style
 * @param {string} $size-key - Font size key
 * @example scss
 *   p { @include text-style('md'); }
 */
/**
 * Text Gradient Mixin
 * @description Applies a gradient background to text.
 * @mixin text-gradient
 * @param {string} $gradient - Gradient value (e.g., linear-gradient)
 * @example scss
 *   .fancy-text { @include text-gradient(linear-gradient(to right, #ff0000, #00ff00)); }
 */
/**
 * Modern CSS Reset for WordPress/Gutenberg
 * Preserves editor styles while ensuring consistency with theme.json
 */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Remove default margin/padding and set base font */
html,
body,
div,
span,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* Core body defaults */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Lists */
ul, ol {
  margin: var(--wp--preset--spacing--0);
}

ul {
  list-style-type: none;
  text-decoration: none;
}

ol {
  list-style-type: decimal;
}

/* Media elements */
img, picture, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

figure {
  margin: 0 0 var(--wp--preset--spacing--md);
}

/* Forms */
input, button, textarea, select {
  font: inherit;
  color: inherit;
  background-color: transparent;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
}

/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin-bottom: var(--wp--preset--spacing--md);
}

/* Gutenberg-specific resets */
/* Accessibility improvements */
[hidden] {
  display: none !important;
}

[aria-hidden=false] {
  display: inherit;
}

/* Print styles */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body {
    font-size: 12pt;
    line-height: 1.5;
  }
  a {
    text-decoration: underline;
  }
  a[href^=http]::after {
    content: " (" attr(href) ")";
    font-size: smaller;
  }
  /* Don't show links that are fragment identifiers */
  a[href^="#"]::after {
    content: "";
  }
}
/* ================
   TYPOGRAPHY SYSTEM
   ================ */
body {
  font-size: var(--wp--preset--font-size--md);
  font-weight: 400;
  line-height: var(--wp--preset--line-height--normal);
  color: var(--wp--preset--color--base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.dark-mode {
  color: var(--wp--preset--color--base-dark);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 400;
  line-height: var(--wp--preset--line-height--tight);
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--md);
  color: var(--wp--preset--color--base);
}

h1 {
  font-size: var(--wp--preset--font-size--h1);
  line-height: var(--wp--preset--line-height--h1);
}
@media (min-width: 992px) {
  h1 {
    font-size: calc(var(--wp--preset--font-size--h1) * 1.2);
  }
}

h2 {
  font-size: var(--wp--preset--font-size--h2);
  line-height: var(--wp--preset--line-height--h2);
}
@media (min-width: 768px) {
  h2 {
    font-size: calc(var(--wp--preset--font-size--h2) * 1.2);
  }
}

h3 {
  font-size: var(--wp--preset--font-size--h3);
  line-height: var(--wp--preset--line-height--h3);
}

h4 {
  font-size: var(--wp--preset--font-size--h4);
  line-height: var(--wp--preset--line-height--h4);
}

p {
  margin-bottom: var(--wp--preset--spacing--md);
}
p:last-child {
  margin-bottom: 0;
}

.text-muted {
  color: var(--wp--preset--color--text-muted);
}
.text-center {
  text-align: center;
}
.text-uppercase {
  text-transform: uppercase;
}

a {
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  transition: color var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
a:hover, a:focus {
  color: var(--wp--preset--color--primary-hover);
  text-decoration: underline;
}
a.external::after {
  content: " ↗";
}

blockquote,
.wp-block-pullquote {
  border-left: var(--wp--custom--border--width--md) solid var(--wp--preset--color--primary);
  padding-left: var(--wp--preset--spacing--md);
  margin: var(--wp--preset--spacing--lg) 0;
}
blockquote p,
.wp-block-pullquote p {
  font-size: var(--wp--preset--font-size--lg);
}
blockquote cite,
.wp-block-pullquote cite {
  color: var(--wp--preset--color--text-muted);
  font-size: var(--wp--preset--font-size--sm);
}

/* ==============================================
   LAYOUT SYSTEM
   Combines traditional grid with Gutenberg support
   ============================================== */
.wp-block-group {
  padding: 0;
}
.wp-block-group.alignfull {
  max-width: none;
  width: 100vw;
  margin-left: calc(-50vw + 50%) !important;
}

/**
 * Base container styles
 * @selector .container
 * @example html
 *   <div class="container">Content</div>
 * @example scss
 *   .my-container { @extend .container; }
 */
.container {
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--wp--preset--spacing--md);
  padding-right: var(--wp--preset--spacing--md);
  /**
     * Responsive container widths
     * @responsive
     */
  /**
     * Fluid container variant (full width)
     * @selector .container--fluid
     */
  /**
     * Narrow container variant
     * @selector .container--narrow
     */
  /**
     * Wide container variant
     * @selector .container--wide
     */
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}
.container--fluid {
  max-width: 100%;
  padding-left: var(--wp--preset--spacing--md);
  padding-right: var(--wp--preset--spacing--md);
}
.container--narrow {
  max-width: 720px;
}
.container--wide {
  max-width: 1140px;
}

.section {
  padding-top: var(--wp--preset--spacing--xl);
  padding-bottom: var(--wp--preset--spacing--xl);
}
.section--sm {
  padding-top: var(--wp--preset--spacing--lg);
  padding-bottom: var(--wp--preset--spacing--lg);
}
.section--lg {
  padding-top: var(--wp--preset--spacing--xxl);
  padding-bottom: var(--wp--preset--spacing--xxl);
}
.section--full {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.grid {
  display: grid;
  gap: var(--wp--preset--spacing--lg);
}
.grid--responsive {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
  gap: var(--wp--preset--spacing--xl);
}
.grid--sidebar {
  grid-template-columns: 1fr minmax(300px, 25%);
}
@media (max-width: 767.98px) {
  .grid--sidebar {
    grid-template-columns: 1fr;
  }
  .grid--sidebar > aside {
    order: 2;
  }
}

.flex, .wp-block-columns {
  display: flex;
  flex-wrap: wrap;
}
.flex--stack > * + * {
  margin-top: var(--wp--preset--spacing--lg);
}
.wp-block-columns .flex, .wp-block-columns .wp-block-columns {
  gap: var(--wp--preset--spacing--lg);
}

.wp-block-columns {
  margin-bottom: var(--wp--preset--spacing--xl);
  gap: var(--wp--preset--spacing--lg);
}
.wp-block-columns__column {
  flex: 1;
  min-width: 0;
  margin-bottom: 0;
}
.wp-block-columns__column > * {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--md);
}
.wp-block-columns__column > *:last-child {
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .wp-block-columns {
    flex-direction: column;
  }
  .wp-block-columns__column {
    flex: 1 1 100%;
  }
}

.aspect-video {
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.aspect-video > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.aspect-square {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
}
.aspect-square > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==============================================
   ATOMIC UTILITY CLASSES
   Single-purpose classes for rapid development
   Integrated with WordPress theme.json tokens
   ============================================== */
/**
 * Generate padding utility classes (e.g., .p-sm, .px-md)
 * Based on spacing scale defined in variables
 */
.p-0 {
  padding: var(--wp--preset--spacing--0) !important;
}

.pt-0 {
  padding-top: var(--wp--preset--spacing--0) !important;
}

.pr-0 {
  padding-right: var(--wp--preset--spacing--0) !important;
}

.pb-0 {
  padding-bottom: var(--wp--preset--spacing--0) !important;
}

.pl-0 {
  padding-left: var(--wp--preset--spacing--0) !important;
}

.px-0 {
  padding-left: var(--wp--preset--spacing--0) !important;
  padding-right: var(--wp--preset--spacing--0) !important;
}

.py-0 {
  padding-top: var(--wp--preset--spacing--0) !important;
  padding-bottom: var(--wp--preset--spacing--0) !important;
}

.p-xxs {
  padding: var(--wp--preset--spacing--xxs) !important;
}

.pt-xxs {
  padding-top: var(--wp--preset--spacing--xxs) !important;
}

.pr-xxs {
  padding-right: var(--wp--preset--spacing--xxs) !important;
}

.pb-xxs {
  padding-bottom: var(--wp--preset--spacing--xxs) !important;
}

.pl-xxs {
  padding-left: var(--wp--preset--spacing--xxs) !important;
}

.px-xxs {
  padding-left: var(--wp--preset--spacing--xxs) !important;
  padding-right: var(--wp--preset--spacing--xxs) !important;
}

.py-xxs {
  padding-top: var(--wp--preset--spacing--xxs) !important;
  padding-bottom: var(--wp--preset--spacing--xxs) !important;
}

.p-xs {
  padding: var(--wp--preset--spacing--xs) !important;
}

.pt-xs {
  padding-top: var(--wp--preset--spacing--xs) !important;
}

.pr-xs {
  padding-right: var(--wp--preset--spacing--xs) !important;
}

.pb-xs {
  padding-bottom: var(--wp--preset--spacing--xs) !important;
}

.pl-xs {
  padding-left: var(--wp--preset--spacing--xs) !important;
}

.px-xs {
  padding-left: var(--wp--preset--spacing--xs) !important;
  padding-right: var(--wp--preset--spacing--xs) !important;
}

.py-xs {
  padding-top: var(--wp--preset--spacing--xs) !important;
  padding-bottom: var(--wp--preset--spacing--xs) !important;
}

.p-sm {
  padding: var(--wp--preset--spacing--sm) !important;
}

.pt-sm {
  padding-top: var(--wp--preset--spacing--sm) !important;
}

.pr-sm {
  padding-right: var(--wp--preset--spacing--sm) !important;
}

.pb-sm {
  padding-bottom: var(--wp--preset--spacing--sm) !important;
}

.pl-sm {
  padding-left: var(--wp--preset--spacing--sm) !important;
}

.px-sm {
  padding-left: var(--wp--preset--spacing--sm) !important;
  padding-right: var(--wp--preset--spacing--sm) !important;
}

.py-sm {
  padding-top: var(--wp--preset--spacing--sm) !important;
  padding-bottom: var(--wp--preset--spacing--sm) !important;
}

.p-md {
  padding: var(--wp--preset--spacing--md) !important;
}

.pt-md {
  padding-top: var(--wp--preset--spacing--md) !important;
}

.pr-md {
  padding-right: var(--wp--preset--spacing--md) !important;
}

.pb-md {
  padding-bottom: var(--wp--preset--spacing--md) !important;
}

.pl-md {
  padding-left: var(--wp--preset--spacing--md) !important;
}

.px-md {
  padding-left: var(--wp--preset--spacing--md) !important;
  padding-right: var(--wp--preset--spacing--md) !important;
}

.py-md {
  padding-top: var(--wp--preset--spacing--md) !important;
  padding-bottom: var(--wp--preset--spacing--md) !important;
}

.p-lg {
  padding: var(--wp--preset--spacing--lg) !important;
}

.pt-lg {
  padding-top: var(--wp--preset--spacing--lg) !important;
}

.pr-lg {
  padding-right: var(--wp--preset--spacing--lg) !important;
}

.pb-lg {
  padding-bottom: var(--wp--preset--spacing--lg) !important;
}

.pl-lg {
  padding-left: var(--wp--preset--spacing--lg) !important;
}

.px-lg {
  padding-left: var(--wp--preset--spacing--lg) !important;
  padding-right: var(--wp--preset--spacing--lg) !important;
}

.py-lg {
  padding-top: var(--wp--preset--spacing--lg) !important;
  padding-bottom: var(--wp--preset--spacing--lg) !important;
}

.p-xl {
  padding: var(--wp--preset--spacing--xl) !important;
}

.pt-xl {
  padding-top: var(--wp--preset--spacing--xl) !important;
}

.pr-xl {
  padding-right: var(--wp--preset--spacing--xl) !important;
}

.pb-xl {
  padding-bottom: var(--wp--preset--spacing--xl) !important;
}

.pl-xl {
  padding-left: var(--wp--preset--spacing--xl) !important;
}

.px-xl {
  padding-left: var(--wp--preset--spacing--xl) !important;
  padding-right: var(--wp--preset--spacing--xl) !important;
}

.py-xl {
  padding-top: var(--wp--preset--spacing--xl) !important;
  padding-bottom: var(--wp--preset--spacing--xl) !important;
}

.p-xxl {
  padding: var(--wp--preset--spacing--xxl) !important;
}

.pt-xxl {
  padding-top: var(--wp--preset--spacing--xxl) !important;
}

.pr-xxl {
  padding-right: var(--wp--preset--spacing--xxl) !important;
}

.pb-xxl {
  padding-bottom: var(--wp--preset--spacing--xxl) !important;
}

.pl-xxl {
  padding-left: var(--wp--preset--spacing--xxl) !important;
}

.px-xxl {
  padding-left: var(--wp--preset--spacing--xxl) !important;
  padding-right: var(--wp--preset--spacing--xxl) !important;
}

.py-xxl {
  padding-top: var(--wp--preset--spacing--xxl) !important;
  padding-bottom: var(--wp--preset--spacing--xxl) !important;
}

.py-0 {
  padding-top: var(--wp--preset--spacing--0);
  padding-bottom: var(--wp--preset--spacing--0);
}

.py-1 {
  padding-top: var(--wp--preset--spacing--xxs);
  padding-bottom: var(--wp--preset--spacing--xxs);
}

.py-2 {
  padding-top: var(--wp--preset--spacing--xs);
  padding-bottom: var(--wp--preset--spacing--xs);
}

.py-3 {
  padding-top: var(--wp--preset--spacing--sm);
  padding-bottom: var(--wp--preset--spacing--sm);
}

.py-4 {
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
}

.py-5 {
  padding-top: var(--wp--preset--spacing--lg);
  padding-bottom: var(--wp--preset--spacing--lg);
}

.py-6 {
  padding-top: var(--wp--preset--spacing--xxl);
  padding-bottom: var(--wp--preset--spacing--xxl);
}

.py-7 {
  padding-top: var(--wp--preset--spacing--xxxl);
  padding-bottom: var(--wp--preset--spacing--xxxl);
}

.py-responsive {
  padding-top: var(--wp--preset--spacing--lg);
  padding-bottom: var(--wp--preset--spacing--lg);
}
@media (min-width: 768px) {
  .py-responsive {
    padding-top: var(--wp--preset--spacing--xxl);
    padding-bottom: var(--wp--preset--spacing--xxl);
  }
}
@media (min-width: 992px) {
  .py-responsive {
    padding-top: var(--wp--preset--spacing--xxxl);
    padding-bottom: var(--wp--preset--spacing--xxxl);
  }
}

/**
 * Generate margin utility classes (e.g., .m-xs, .mx-lg)
 * Follows same spacing scale as padding
 */
.m-0 {
  margin: var(--wp--preset--spacing--0) !important;
}

.mt-0 {
  margin-top: var(--wp--preset--spacing--0) !important;
}

.mr-0 {
  margin-right: var(--wp--preset--spacing--0) !important;
}

.mb-0 {
  margin-bottom: var(--wp--preset--spacing--0) !important;
}

.ml-0 {
  margin-left: var(--wp--preset--spacing--0) !important;
}

.mx-0 {
  margin-left: var(--wp--preset--spacing--0) !important;
  margin-right: var(--wp--preset--spacing--0) !important;
}

.my-0 {
  margin-top: var(--wp--preset--spacing--0) !important;
  margin-bottom: var(--wp--preset--spacing--0) !important;
}

.m-xxs {
  margin: var(--wp--preset--spacing--xxs) !important;
}

.mt-xxs {
  margin-top: var(--wp--preset--spacing--xxs) !important;
}

.mr-xxs {
  margin-right: var(--wp--preset--spacing--xxs) !important;
}

.mb-xxs {
  margin-bottom: var(--wp--preset--spacing--xxs) !important;
}

.ml-xxs {
  margin-left: var(--wp--preset--spacing--xxs) !important;
}

.mx-xxs {
  margin-left: var(--wp--preset--spacing--xxs) !important;
  margin-right: var(--wp--preset--spacing--xxs) !important;
}

.my-xxs {
  margin-top: var(--wp--preset--spacing--xxs) !important;
  margin-bottom: var(--wp--preset--spacing--xxs) !important;
}

.m-xs {
  margin: var(--wp--preset--spacing--xs) !important;
}

.mt-xs {
  margin-top: var(--wp--preset--spacing--xs) !important;
}

.mr-xs {
  margin-right: var(--wp--preset--spacing--xs) !important;
}

.mb-xs {
  margin-bottom: var(--wp--preset--spacing--xs) !important;
}

.ml-xs {
  margin-left: var(--wp--preset--spacing--xs) !important;
}

.mx-xs {
  margin-left: var(--wp--preset--spacing--xs) !important;
  margin-right: var(--wp--preset--spacing--xs) !important;
}

.my-xs {
  margin-top: var(--wp--preset--spacing--xs) !important;
  margin-bottom: var(--wp--preset--spacing--xs) !important;
}

.m-sm {
  margin: var(--wp--preset--spacing--sm) !important;
}

.mt-sm {
  margin-top: var(--wp--preset--spacing--sm) !important;
}

.mr-sm {
  margin-right: var(--wp--preset--spacing--sm) !important;
}

.mb-sm {
  margin-bottom: var(--wp--preset--spacing--sm) !important;
}

.ml-sm {
  margin-left: var(--wp--preset--spacing--sm) !important;
}

.mx-sm {
  margin-left: var(--wp--preset--spacing--sm) !important;
  margin-right: var(--wp--preset--spacing--sm) !important;
}

.my-sm {
  margin-top: var(--wp--preset--spacing--sm) !important;
  margin-bottom: var(--wp--preset--spacing--sm) !important;
}

.m-md {
  margin: var(--wp--preset--spacing--md) !important;
}

.mt-md {
  margin-top: var(--wp--preset--spacing--md) !important;
}

.mr-md {
  margin-right: var(--wp--preset--spacing--md) !important;
}

.mb-md {
  margin-bottom: var(--wp--preset--spacing--md) !important;
}

.ml-md {
  margin-left: var(--wp--preset--spacing--md) !important;
}

.mx-md {
  margin-left: var(--wp--preset--spacing--md) !important;
  margin-right: var(--wp--preset--spacing--md) !important;
}

.my-md {
  margin-top: var(--wp--preset--spacing--md) !important;
  margin-bottom: var(--wp--preset--spacing--md) !important;
}

.m-lg {
  margin: var(--wp--preset--spacing--lg) !important;
}

.mt-lg {
  margin-top: var(--wp--preset--spacing--lg) !important;
}

.mr-lg {
  margin-right: var(--wp--preset--spacing--lg) !important;
}

.mb-lg {
  margin-bottom: var(--wp--preset--spacing--lg) !important;
}

.ml-lg {
  margin-left: var(--wp--preset--spacing--lg) !important;
}

.mx-lg {
  margin-left: var(--wp--preset--spacing--lg) !important;
  margin-right: var(--wp--preset--spacing--lg) !important;
}

.my-lg {
  margin-top: var(--wp--preset--spacing--lg) !important;
  margin-bottom: var(--wp--preset--spacing--lg) !important;
}

.m-xl {
  margin: var(--wp--preset--spacing--xl) !important;
}

.mt-xl {
  margin-top: var(--wp--preset--spacing--xl) !important;
}

.mr-xl {
  margin-right: var(--wp--preset--spacing--xl) !important;
}

.mb-xl {
  margin-bottom: var(--wp--preset--spacing--xl) !important;
}

.ml-xl {
  margin-left: var(--wp--preset--spacing--xl) !important;
}

.mx-xl {
  margin-left: var(--wp--preset--spacing--xl) !important;
  margin-right: var(--wp--preset--spacing--xl) !important;
}

.my-xl {
  margin-top: var(--wp--preset--spacing--xl) !important;
  margin-bottom: var(--wp--preset--spacing--xl) !important;
}

.m-xxl {
  margin: var(--wp--preset--spacing--xxl) !important;
}

.mt-xxl {
  margin-top: var(--wp--preset--spacing--xxl) !important;
}

.mr-xxl {
  margin-right: var(--wp--preset--spacing--xxl) !important;
}

.mb-xxl {
  margin-bottom: var(--wp--preset--spacing--xxl) !important;
}

.ml-xxl {
  margin-left: var(--wp--preset--spacing--xxl) !important;
}

.mx-xxl {
  margin-left: var(--wp--preset--spacing--xxl) !important;
  margin-right: var(--wp--preset--spacing--xxl) !important;
}

.my-xxl {
  margin-top: var(--wp--preset--spacing--xxl) !important;
  margin-bottom: var(--wp--preset--spacing--xxl) !important;
}

/**
 * Negative margin utilities for layout tweaks
 * Useful for spacing overrides, grid collapsing, etc.
 */
.-m-0 {
  margin: -var(--wp--preset--spacing--0) !important;
}

.-mt-0 {
  margin-top: -var(--wp--preset--spacing--0) !important;
}

.-mr-0 {
  margin-right: -var(--wp--preset--spacing--0) !important;
}

.-mb-0 {
  margin-bottom: -var(--wp--preset--spacing--0) !important;
}

.-ml-0 {
  margin-left: -var(--wp--preset--spacing--0) !important;
}

.-mx-0 {
  margin-left: -var(--wp--preset--spacing--0) !important;
  margin-right: -var(--wp--preset--spacing--0) !important;
}

.-my-0 {
  margin-top: -var(--wp--preset--spacing--0) !important;
  margin-bottom: -var(--wp--preset--spacing--0) !important;
}

.-m-xxs {
  margin: -var(--wp--preset--spacing--xxs) !important;
}

.-mt-xxs {
  margin-top: -var(--wp--preset--spacing--xxs) !important;
}

.-mr-xxs {
  margin-right: -var(--wp--preset--spacing--xxs) !important;
}

.-mb-xxs {
  margin-bottom: -var(--wp--preset--spacing--xxs) !important;
}

.-ml-xxs {
  margin-left: -var(--wp--preset--spacing--xxs) !important;
}

.-mx-xxs {
  margin-left: -var(--wp--preset--spacing--xxs) !important;
  margin-right: -var(--wp--preset--spacing--xxs) !important;
}

.-my-xxs {
  margin-top: -var(--wp--preset--spacing--xxs) !important;
  margin-bottom: -var(--wp--preset--spacing--xxs) !important;
}

.-m-xs {
  margin: -var(--wp--preset--spacing--xs) !important;
}

.-mt-xs {
  margin-top: -var(--wp--preset--spacing--xs) !important;
}

.-mr-xs {
  margin-right: -var(--wp--preset--spacing--xs) !important;
}

.-mb-xs {
  margin-bottom: -var(--wp--preset--spacing--xs) !important;
}

.-ml-xs {
  margin-left: -var(--wp--preset--spacing--xs) !important;
}

.-mx-xs {
  margin-left: -var(--wp--preset--spacing--xs) !important;
  margin-right: -var(--wp--preset--spacing--xs) !important;
}

.-my-xs {
  margin-top: -var(--wp--preset--spacing--xs) !important;
  margin-bottom: -var(--wp--preset--spacing--xs) !important;
}

.-m-sm {
  margin: -var(--wp--preset--spacing--sm) !important;
}

.-mt-sm {
  margin-top: -var(--wp--preset--spacing--sm) !important;
}

.-mr-sm {
  margin-right: -var(--wp--preset--spacing--sm) !important;
}

.-mb-sm {
  margin-bottom: -var(--wp--preset--spacing--sm) !important;
}

.-ml-sm {
  margin-left: -var(--wp--preset--spacing--sm) !important;
}

.-mx-sm {
  margin-left: -var(--wp--preset--spacing--sm) !important;
  margin-right: -var(--wp--preset--spacing--sm) !important;
}

.-my-sm {
  margin-top: -var(--wp--preset--spacing--sm) !important;
  margin-bottom: -var(--wp--preset--spacing--sm) !important;
}

.-m-md {
  margin: -var(--wp--preset--spacing--md) !important;
}

.-mt-md {
  margin-top: -var(--wp--preset--spacing--md) !important;
}

.-mr-md {
  margin-right: -var(--wp--preset--spacing--md) !important;
}

.-mb-md {
  margin-bottom: -var(--wp--preset--spacing--md) !important;
}

.-ml-md {
  margin-left: -var(--wp--preset--spacing--md) !important;
}

.-mx-md {
  margin-left: -var(--wp--preset--spacing--md) !important;
  margin-right: -var(--wp--preset--spacing--md) !important;
}

.-my-md {
  margin-top: -var(--wp--preset--spacing--md) !important;
  margin-bottom: -var(--wp--preset--spacing--md) !important;
}

.-m-lg {
  margin: -var(--wp--preset--spacing--lg) !important;
}

.-mt-lg {
  margin-top: -var(--wp--preset--spacing--lg) !important;
}

.-mr-lg {
  margin-right: -var(--wp--preset--spacing--lg) !important;
}

.-mb-lg {
  margin-bottom: -var(--wp--preset--spacing--lg) !important;
}

.-ml-lg {
  margin-left: -var(--wp--preset--spacing--lg) !important;
}

.-mx-lg {
  margin-left: -var(--wp--preset--spacing--lg) !important;
  margin-right: -var(--wp--preset--spacing--lg) !important;
}

.-my-lg {
  margin-top: -var(--wp--preset--spacing--lg) !important;
  margin-bottom: -var(--wp--preset--spacing--lg) !important;
}

.-m-xl {
  margin: -var(--wp--preset--spacing--xl) !important;
}

.-mt-xl {
  margin-top: -var(--wp--preset--spacing--xl) !important;
}

.-mr-xl {
  margin-right: -var(--wp--preset--spacing--xl) !important;
}

.-mb-xl {
  margin-bottom: -var(--wp--preset--spacing--xl) !important;
}

.-ml-xl {
  margin-left: -var(--wp--preset--spacing--xl) !important;
}

.-mx-xl {
  margin-left: -var(--wp--preset--spacing--xl) !important;
  margin-right: -var(--wp--preset--spacing--xl) !important;
}

.-my-xl {
  margin-top: -var(--wp--preset--spacing--xl) !important;
  margin-bottom: -var(--wp--preset--spacing--xl) !important;
}

.-m-xxl {
  margin: -var(--wp--preset--spacing--xxl) !important;
}

.-mt-xxl {
  margin-top: -var(--wp--preset--spacing--xxl) !important;
}

.-mr-xxl {
  margin-right: -var(--wp--preset--spacing--xxl) !important;
}

.-mb-xxl {
  margin-bottom: -var(--wp--preset--spacing--xxl) !important;
}

.-ml-xxl {
  margin-left: -var(--wp--preset--spacing--xxl) !important;
}

.-mx-xxl {
  margin-left: -var(--wp--preset--spacing--xxl) !important;
  margin-right: -var(--wp--preset--spacing--xxl) !important;
}

.-my-xxl {
  margin-top: -var(--wp--preset--spacing--xxl) !important;
  margin-bottom: -var(--wp--preset--spacing--xxl) !important;
}

/**
 * Typography system using theme.json fonts
 * @group typography
 */
.u-font-heading, body.single .single-area__title, .sidebar-area__widgets .widget__title {
  font-family: var(--wp--preset--font-family--heading) !important;
  font-weight: 400 !important;
}
.u-font-body, body.single .single-area__content, body.single .single-area__no-content, .sidebar-area__widgets .widget__text {
  font-family: var(--wp--preset--font-family--body) !important;
  line-height: var(--wp--preset--line-height--normal) !important;
}

/**
 * Utility classes for font families, weights, sizes, line-heights
 * Mapped to theme.json typography settings
 */
.u-text-left {
  text-align: left !important;
}
.u-text-center {
  text-align: center !important;
}
.u-text-right {
  text-align: right !important;
}
.u-text-justify {
  text-align: justify !important;
}

.u-weight-light {
  font-weight: 300 !important;
}
.u-weight-normal {
  font-weight: 400 !important;
}
.u-weight-medium {
  font-weight: 500 !important;
}
.u-weight-semibold {
  font-weight: 600 !important;
}
.u-weight-bold {
  font-weight: 700 !important;
}

.u-transform-uppercase {
  text-transform: uppercase !important;
}
.u-transform-lowercase {
  text-transform: lowercase !important;
}
.u-transform-capitalize {
  text-transform: capitalize !important;
}
.u-transform-none {
  text-transform: none !important;
}

/**
 * Looping over font sizes, colors, line-heights
 * Ensures classes like .text-md or .leading-loose work with theme tokens
 */
.text-xs {
  font-size: var(--wp--preset--font-size--xs) !important;
}

.text-sm, body.single .single-area__meta {
  font-size: var(--wp--preset--font-size--sm) !important;
}

.text-md, body.single .single-area__no-content, .sidebar-area__widgets .widget__text {
  font-size: var(--wp--preset--font-size--md) !important;
}

.text-lg, .sidebar-area__widgets .widget__title {
  font-size: var(--wp--preset--font-size--lg) !important;
}

.text-xl, body.single .single-area__title {
  font-size: var(--wp--preset--font-size--xl) !important;
}

.text-h4 {
  font-size: var(--wp--preset--font-size--h4) !important;
}

.text-h3 {
  font-size: var(--wp--preset--font-size--h3) !important;
}

.text-h2 {
  font-size: var(--wp--preset--font-size--h2) !important;
}

.text-h1 {
  font-size: var(--wp--preset--font-size--h1) !important;
}

.leading-none {
  line-height: var(--wp--preset--line-height--none) !important;
}

.leading-tight {
  line-height: var(--wp--preset--line-height--tight) !important;
}

.leading-normal {
  line-height: var(--wp--preset--line-height--normal) !important;
}

.leading-relaxed {
  line-height: var(--wp--preset--line-height--relaxed) !important;
}

.leading-h1 {
  line-height: var(--wp--preset--line-height--h1) !important;
}

.leading-h2 {
  line-height: var(--wp--preset--line-height--h2) !important;
}

.leading-h3 {
  line-height: var(--wp--preset--line-height--h3) !important;
}

.leading-h4 {
  line-height: var(--wp--preset--line-height--h4) !important;
}

.tracking-tight {
  letter-spacing: -0.025em !important;
}

.tracking-normal {
  letter-spacing: 0 !important;
}

.tracking-wide {
  letter-spacing: 0.025em !important;
}

.tracking-wider {
  letter-spacing: 0.05em !important;
}

.tracking-widest {
  letter-spacing: 0.1em !important;
}

.text-white, .btn--primary, .btn--outline:hover {
  color: #ffffff !important;
}

.hover\:text-white:hover {
  color: #ffffff !important;
}

.text-black {
  color: #000000 !important;
}

.hover\:text-black:hover {
  color: #000000 !important;
}

.text-gray-300 {
  color: #d1d5db !important;
}

.hover\:text-gray-300:hover {
  color: #d1d5db !important;
}

.text-primary, .btn--outline {
  color: var(--wp--preset--color--primary) !important;
}

.hover\:text-primary:hover {
  color: var(--wp--preset--color--primary) !important;
}

.text-primary-hover {
  color: var(--wp--preset--color--primary-hover) !important;
}

.hover\:text-primary-hover:hover {
  color: var(--wp--preset--color--primary-hover) !important;
}

.text-secondary {
  color: var(--wp--preset--color--secondary) !important;
}

.hover\:text-secondary:hover {
  color: var(--wp--preset--color--secondary) !important;
}

.text-secondary-hover {
  color: var(--wp--preset--color--secondary-hover) !important;
}

.hover\:text-secondary-hover:hover {
  color: var(--wp--preset--color--secondary-hover) !important;
}

.text-accent {
  color: var(--wp--preset--color--accent) !important;
}

.hover\:text-accent:hover {
  color: var(--wp--preset--color--accent) !important;
}

.text-base {
  color: var(--wp--preset--color--base) !important;
}

.hover\:text-base:hover {
  color: var(--wp--preset--color--base) !important;
}

.text-background {
  color: var(--wp--preset--color--background) !important;
}

.hover\:text-background:hover {
  color: var(--wp--preset--color--background) !important;
}

.text-background-secondary {
  color: var(--wp--preset--color--background-secondary) !important;
}

.hover\:text-background-secondary:hover {
  color: var(--wp--preset--color--background-secondary) !important;
}

.text-background-accent {
  color: var(--wp--preset--color--background-accent) !important;
}

.hover\:text-background-accent:hover {
  color: var(--wp--preset--color--background-accent) !important;
}

.text-base-dark {
  color: var(--wp--preset--color--base-dark) !important;
}

.hover\:text-base-dark:hover {
  color: var(--wp--preset--color--base-dark) !important;
}

.text-background-dark {
  color: var(--wp--preset--color--background-dark) !important;
}

.hover\:text-background-dark:hover {
  color: var(--wp--preset--color--background-dark) !important;
}

.text-text-muted {
  color: var(--wp--preset--color--text-muted) !important;
}

.hover\:text-text-muted:hover {
  color: var(--wp--preset--color--text-muted) !important;
}

/**
 * Modern layout utilities for flex/grid
 * @group layout
 */
/**
* Core display, flex, and grid utility classes
* Ideal for layout scaffolding and quick prototypes
*/
.u-display-block {
  display: block !important;
}
.u-display-inline {
  display: inline !important;
}
.u-display-inline-block {
  display: inline-block !important;
}
.u-display-flex, .sidebar-area__widgets .widget__content .wp-block-latest-posts__list li {
  display: flex !important;
}
.u-display-inline-flex {
  display: inline-flex !important;
}
.u-display-grid {
  display: grid !important;
}
.u-display-none {
  display: none !important;
}

.u-flex-row {
  flex-direction: row !important;
}
.u-flex-row-reverse {
  flex-direction: row-reverse !important;
}
.u-flex-col, .sidebar-area__widgets, .sidebar-area__widgets .widget__container {
  flex-direction: column !important;
}
.u-flex-col-reverse {
  flex-direction: column-reverse !important;
}

.u-flex-wrap {
  flex-wrap: wrap !important;
}
.u-flex-nowrap {
  flex-wrap: nowrap !important;
}
.u-flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.u-justify-start {
  justify-content: flex-start !important;
}
.u-justify-end {
  justify-content: flex-end !important;
}
.u-justify-center {
  justify-content: center !important;
}
.u-justify-between {
  justify-content: space-between !important;
}
.u-justify-around {
  justify-content: space-around !important;
}
.u-justify-evenly {
  justify-content: space-evenly !important;
}

.u-align-start {
  align-items: flex-start !important;
}
.u-align-end {
  align-items: flex-end !important;
}
.u-align-center, .sidebar-area__widgets .widget__content .wp-block-latest-posts__list li {
  align-items: center !important;
}
.u-align-baseline {
  align-items: baseline !important;
}
.u-align-stretch {
  align-items: stretch !important;
}

.gap-0 {
  gap: var(--wp--preset--spacing--0) !important;
}

.gap-x-0 {
  -moz-column-gap: var(--wp--preset--spacing--0) !important;
       column-gap: var(--wp--preset--spacing--0) !important;
}

.gap-y-0 {
  row-gap: var(--wp--preset--spacing--0) !important;
}

.gap-xxs {
  gap: var(--wp--preset--spacing--xxs) !important;
}

.gap-x-xxs {
  -moz-column-gap: var(--wp--preset--spacing--xxs) !important;
       column-gap: var(--wp--preset--spacing--xxs) !important;
}

.gap-y-xxs {
  row-gap: var(--wp--preset--spacing--xxs) !important;
}

.gap-xs {
  gap: var(--wp--preset--spacing--xs) !important;
}

.gap-x-xs {
  -moz-column-gap: var(--wp--preset--spacing--xs) !important;
       column-gap: var(--wp--preset--spacing--xs) !important;
}

.gap-y-xs {
  row-gap: var(--wp--preset--spacing--xs) !important;
}

.gap-sm {
  gap: var(--wp--preset--spacing--sm) !important;
}

.gap-x-sm {
  -moz-column-gap: var(--wp--preset--spacing--sm) !important;
       column-gap: var(--wp--preset--spacing--sm) !important;
}

.gap-y-sm {
  row-gap: var(--wp--preset--spacing--sm) !important;
}

.gap-md {
  gap: var(--wp--preset--spacing--md) !important;
}

.gap-x-md {
  -moz-column-gap: var(--wp--preset--spacing--md) !important;
       column-gap: var(--wp--preset--spacing--md) !important;
}

.gap-y-md {
  row-gap: var(--wp--preset--spacing--md) !important;
}

.gap-lg {
  gap: var(--wp--preset--spacing--lg) !important;
}

.gap-x-lg {
  -moz-column-gap: var(--wp--preset--spacing--lg) !important;
       column-gap: var(--wp--preset--spacing--lg) !important;
}

.gap-y-lg {
  row-gap: var(--wp--preset--spacing--lg) !important;
}

.gap-xl {
  gap: var(--wp--preset--spacing--xl) !important;
}

.gap-x-xl {
  -moz-column-gap: var(--wp--preset--spacing--xl) !important;
       column-gap: var(--wp--preset--spacing--xl) !important;
}

.gap-y-xl {
  row-gap: var(--wp--preset--spacing--xl) !important;
}

.gap-xxl {
  gap: var(--wp--preset--spacing--xxl) !important;
}

.gap-x-xxl {
  -moz-column-gap: var(--wp--preset--spacing--xxl) !important;
       column-gap: var(--wp--preset--spacing--xxl) !important;
}

.gap-y-xxl {
  row-gap: var(--wp--preset--spacing--xxl) !important;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

/**
 * Background utilities with theme.json colors
 * @group background
 */
.bg-white {
  background-color: #ffffff !important;
}

.hover\:bg-white:hover {
  background-color: #ffffff !important;
}

.bg-black {
  background-color: #000000 !important;
}

.hover\:bg-black:hover {
  background-color: #000000 !important;
}

.bg-gray-300 {
  background-color: #d1d5db !important;
}

.hover\:bg-gray-300:hover {
  background-color: #d1d5db !important;
}

.bg-primary, .btn--primary, .btn--outline:hover {
  background-color: var(--wp--preset--color--primary) !important;
}

.hover\:bg-primary:hover {
  background-color: var(--wp--preset--color--primary) !important;
}

.bg-primary-hover, .btn--primary:hover {
  background-color: var(--wp--preset--color--primary-hover) !important;
}

.hover\:bg-primary-hover:hover {
  background-color: var(--wp--preset--color--primary-hover) !important;
}

.bg-secondary {
  background-color: var(--wp--preset--color--secondary) !important;
}

.hover\:bg-secondary:hover {
  background-color: var(--wp--preset--color--secondary) !important;
}

.bg-secondary-hover {
  background-color: var(--wp--preset--color--secondary-hover) !important;
}

.hover\:bg-secondary-hover:hover {
  background-color: var(--wp--preset--color--secondary-hover) !important;
}

.bg-accent {
  background-color: var(--wp--preset--color--accent) !important;
}

.hover\:bg-accent:hover {
  background-color: var(--wp--preset--color--accent) !important;
}

.bg-base {
  background-color: var(--wp--preset--color--base) !important;
}

.hover\:bg-base:hover {
  background-color: var(--wp--preset--color--base) !important;
}

.bg-background {
  background-color: var(--wp--preset--color--background) !important;
}

.hover\:bg-background:hover {
  background-color: var(--wp--preset--color--background) !important;
}

.bg-background-secondary {
  background-color: var(--wp--preset--color--background-secondary) !important;
}

.hover\:bg-background-secondary:hover {
  background-color: var(--wp--preset--color--background-secondary) !important;
}

.bg-background-accent {
  background-color: var(--wp--preset--color--background-accent) !important;
}

.hover\:bg-background-accent:hover {
  background-color: var(--wp--preset--color--background-accent) !important;
}

.bg-base-dark {
  background-color: var(--wp--preset--color--base-dark) !important;
}

.hover\:bg-base-dark:hover {
  background-color: var(--wp--preset--color--base-dark) !important;
}

.bg-background-dark {
  background-color: var(--wp--preset--color--background-dark) !important;
}

.hover\:bg-background-dark:hover {
  background-color: var(--wp--preset--color--background-dark) !important;
}

.bg-text-muted {
  background-color: var(--wp--preset--color--text-muted) !important;
}

.hover\:bg-text-muted:hover {
  background-color: var(--wp--preset--color--text-muted) !important;
}

.bg-gradient-primary {
  background: var(--wp--preset--gradient--primary-to-secondary) !important;
}

/**
 * Border utilities using theme.json values
 * @group border
 */
.rounded-sm {
  border-radius: var(--wp--custom--border--radius--sm) !important;
}

.rounded-md, body.single .single-area__thumbnail img {
  border-radius: var(--wp--custom--border--radius--md) !important;
}

.rounded-lg {
  border-radius: var(--wp--custom--border--radius--lg) !important;
}

.rounded-full {
  border-radius: var(--wp--custom--border--radius--full) !important;
}

.border-none {
  border-width: var(--wp--custom--border--width--none) !important;
}

.border-sm {
  border-width: var(--wp--custom--border--width--sm) !important;
}

.border-md {
  border-width: var(--wp--custom--border--width--md) !important;
}

.border-lg {
  border-width: var(--wp--custom--border--width--lg) !important;
}

.border-white {
  border-color: #ffffff !important;
}

.border-black {
  border-color: #000000 !important;
}

.border-gray-300 {
  border-color: #d1d5db !important;
}

.border-primary, .btn--outline {
  border-color: var(--wp--preset--color--primary) !important;
}

.border-primary-hover {
  border-color: var(--wp--preset--color--primary-hover) !important;
}

.border-secondary {
  border-color: var(--wp--preset--color--secondary) !important;
}

.border-secondary-hover {
  border-color: var(--wp--preset--color--secondary-hover) !important;
}

.border-accent {
  border-color: var(--wp--preset--color--accent) !important;
}

.border-base {
  border-color: var(--wp--preset--color--base) !important;
}

.border-background {
  border-color: var(--wp--preset--color--background) !important;
}

.border-background-secondary {
  border-color: var(--wp--preset--color--background-secondary) !important;
}

.border-background-accent {
  border-color: var(--wp--preset--color--background-accent) !important;
}

.border-base-dark {
  border-color: var(--wp--preset--color--base-dark) !important;
}

.border-background-dark {
  border-color: var(--wp--preset--color--background-dark) !important;
}

.border-text-muted {
  border-color: var(--wp--preset--color--text-muted) !important;
}

/**
 * Shadow and transition utilities
 * @group effects
 */
.shadow-sm {
  box-shadow: var(--wp--custom--shadow--sm) !important;
}

.shadow-md {
  box-shadow: var(--wp--custom--shadow--md) !important;
}

.shadow-lg {
  box-shadow: var(--wp--custom--shadow--lg) !important;
}

.shadow-xl {
  box-shadow: var(--wp--custom--shadow--xl) !important;
}

.shadow-inner {
  box-shadow: var(--wp--custom--shadow--inner) !important;
}

.u-transition-none {
  transition: none !important;
}
.u-transition-all {
  transition: all var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out) !important;
}
.u-transition-colors {
  transition: color var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out), background-color var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out) !important;
}

/**
 * Responsive visibility controls
 * @group visibility
 */
@media (min-width: 0) {
  .visible-xs {
    display: block !important;
  }
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 576px) {
  .visible-sm {
    display: block !important;
  }
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .visible-md {
    display: block !important;
  }
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .visible-lg {
    display: block !important;
  }
  .hidden-lg {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .visible-xl {
    display: block !important;
  }
  .hidden-xl {
    display: none !important;
  }
}
@media (min-width: 1400px) {
  .visible-xxl {
    display: block !important;
  }
  .hidden-xxl {
    display: none !important;
  }
}
@media print {
  .print-visible {
    display: block !important;
  }
  .print-hidden {
    display: none !important;
  }
}
.sr-only, .sr-only-focusable {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sr-only-focusable:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

/**
 * WordPress-specific utility classes
 * @group wordpress
 */
.alignwide {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.alignfull .container, .alignfull body.single .page-content--single, body.single .alignfull .page-content--single {
  padding-left: var(--wp--preset--spacing--md);
  padding-right: var(--wp--preset--spacing--md);
}

.aspect-video {
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.aspect-video > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.aspect-square {
  position: relative;
  overflow: hidden;
  padding-bottom: 100%;
}
.aspect-square > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.aspect-portrait {
  position: relative;
  overflow: hidden;
  padding-bottom: 133.3333333333%;
}
.aspect-portrait > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.aspect-landscape {
  position: relative;
  overflow: hidden;
  padding-bottom: 75%;
}
.aspect-landscape > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/**
 * Components Index
 * @description Central file to forward all component styles for easier importing.
 * @component index
 * @example scss
 *   @use 'components';
 *   .my-button { @extend .btn; }
 *   .my-card { @extend .card; }
 * @subcomponents
 *   buttons - Button component styles
 *   cards - Card component styles
 *   forms - Form component styles
 *   gutenberg-blocks - Gutenberg block override styles (WordPress-specific)
 */
/**
 * Button Component styles
 * @selector .btn
 * @description Base button styles with variants and size modifiers for creating customizable buttons.
 * @component button
 * @example html
 *   <button class="btn btn--primary">Primary Button</button>
 *   <button class="btn btn--outline btn--sm">Small Outline Button</button>
 *   <button class="btn btn--lg">Large Button</button>
 * @example scss
 *   .my-custom-button { @extend .btn; @extend .btn--primary; }
 * @modifiers
 *   .btn--primary - Primary button variant with solid background
 *   .btn--outline - Outline button variant with transparent background
 *   .btn--sm - Small button size
 *   .btn--lg - Large button size
 */
.btn {
  padding-top: var(--wp--preset--spacing--sm);
  padding-bottom: var(--wp--preset--spacing--sm);
  padding-left: var(--wp--preset--spacing--lg);
  padding-right: var(--wp--preset--spacing--lg);
  transition: all var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
  border-radius: var(--wp--custom--border--radius--md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: var(--wp--custom--border--width--sm) solid transparent;
  font-weight: 600;
  line-height: var(--wp--preset--line-height--tight);
}
.btn--outline {
  background-color: transparent;
}
.btn--sm {
  padding-top: var(--wp--preset--spacing--xs);
  padding-bottom: var(--wp--preset--spacing--xs);
  padding-left: var(--wp--preset--spacing--md);
  padding-right: var(--wp--preset--spacing--md);
  font-size: var(--wp--preset--font-size--sm);
}
.btn--lg {
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
  padding-left: var(--wp--preset--spacing--xl);
  padding-right: var(--wp--preset--spacing--xl);
  font-size: var(--wp--preset--font-size--lg);
}
.wp-block-button .btn {
  margin-bottom: 0;
}

/**
 * Card Component styles
 * @selector .card
 * @description Base styles for a card component with header, body, and footer sections.
 * @component card
 * @example html
 *   <div class="card">
 *     <div class="card__header">Header</div>
 *     <div class="card__body">Body Content</div>
 *     <div class="card__footer">Footer</div>
 *   </div>
 * @example scss
 *   .my-custom-card { @extend .card; }
 * @subcomponents
 *   .card__header - Header section of the card
 *   .card__body - Main content area of the card
 *   .card__footer - Footer section of the card
 */
.card {
  overflow: hidden;
  border-radius: var(--wp--custom--border--radius--lg);
  background-color: #ffffff;
  box-shadow: var(--wp--custom--shadow--md);
  border: var(--wp--custom--border--width--sm) solid var(--wp--preset--color--background-secondary);
  height: 100%;
}
.card__header {
  padding: var(--wp--preset--spacing--sm);
  border-bottom: var(--wp--custom--border--width--sm) solid var(--wp--preset--color--background-secondary);
  margin: var(--wp--preset--spacing--0);
}
.card__header p {
  margin: var(--wp--preset--spacing--0);
}
.card__body {
  padding: var(--wp--preset--spacing--sm);
  margin: var(--wp--preset--spacing--0);
}
.card__body .wp-block-post-excerpt__more-text {
  margin-top: var(--wp--preset--spacing--0);
  margin-bottom: var(--wp--preset--spacing--0);
}
.card__footer {
  padding-left: var(--wp--preset--spacing--lg);
  padding-right: var(--wp--preset--spacing--lg);
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
  border-top: var(--wp--custom--border--width--sm) solid var(--wp--preset--color--background-secondary);
}
.wp-block-group .card {
  margin-bottom: var(--wp--preset--spacing--lg);
}

/**
 * Form Component styles
 * @selector .form-control, .form-label
 * @description Styles for form elements including inputs and labels.
 * @component form
 * @example html
 *   <label class="form-label">Input Label</label>
 *   <input type="text" class="form-control" placeholder="Enter text">
 * @example scss
 *   .my-custom-input { @extend .form-control; }
 *   .my-custom-label { @extend .form-label; }
 * @subcomponents
 *   .form-control - Styles for form input fields
 *   .form-label - Styles for form labels
 */
.form-control {
  padding-top: var(--wp--preset--spacing--sm);
  padding-bottom: var(--wp--preset--spacing--sm);
  padding-left: var(--wp--preset--spacing--md);
  padding-right: var(--wp--preset--spacing--md);
  border-radius: var(--wp--custom--border--radius--md);
  border: var(--wp--custom--border--width--md) solid var(--wp--preset--color--background-secondary);
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form-control:focus {
  border-color: var(--wp--preset--color--primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--wp--preset--color--primary), 0.1);
}
.form-label {
  display: block;
  margin-bottom: var(--wp--preset--spacing--sm);
  font-weight: 600;
}
.wp-block-search .form {
  display: flex;
  gap: var(--wp--preset--spacing--sm);
}

body[class*=page-]:not(.single):not(.category):not(.archive):not([class*=page-home]) .cover-page__breadcrumb a {
  text-decoration: none;
}
body[class*=page-]:not(.single):not(.category):not(.archive):not([class*=page-home]) .cover-page__breadcrumb a:hover {
  color: var(--wp--preset--color--primary-hover);
}
body[class*=page-]:not(.single):not(.category):not(.archive):not([class*=page-home]) .cover-page__breadcrumb span:not(.cover-page__breadcrumb-first)::before {
  content: "/";
  margin: 0 var(--wp--preset--spacing--xs);
}
body[class*=page-]:not(.single):not(.category):not(.archive):not([class*=page-home]) .cover-page__breadcrumb-first a {
  color: inherit;
}
body[class*=page-]:not(.single):not(.category):not(.archive):not([class*=page-home]) .cover-page__breadcrumb-seperator {
  margin: 0 var(--wp--preset--spacing--xxs) !important;
}
body[class*=page-]:not(.single):not(.category):not(.archive):not([class*=page-home]) .cover-page__breadcrumb-active {
  pointer-events: none;
}

/**
 * Gutenberg Block Override styles
 * @selector .wp-block-quote, .wp-block-pullquote, .wp-block-cover
 * @description Custom styles to override default Gutenberg block appearances.
 * @component gutenberg
 * @example html
 *   <blockquote class="wp-block-quote">
 *     <p>Quoted text</p>
 *     <cite>Author</cite>
 *   </blockquote>
 *   <blockquote class="wp-block-pullquote">Pullquote text</blockquote>
 *   <div class="wp-block-cover">Cover content</div>
 * @example scss
 *   .my-custom-quote { @extend .wp-block-quote; }
 * @subcomponents
 *   .wp-block-quote - Styles for quote blocks with left border
 *   .wp-block-pullquote - Styles for pullquote blocks with top and bottom borders
 *   .wp-block-cover - Styles for cover blocks with centered content
 */
.wp-block-quote {
  padding-left: var(--wp--preset--spacing--lg);
  padding-right: var(--wp--preset--spacing--lg);
  border-left: var(--wp--custom--border--width--md) solid var(--wp--preset--color--primary);
}
.wp-block-quote cite {
  color: var(--wp--preset--color--text-muted);
  font-size: var(--wp--preset--font-size--sm);
}
.wp-block-pullquote {
  padding-top: var(--wp--preset--spacing--xl);
  padding-bottom: var(--wp--preset--spacing--xl);
  border-top: var(--wp--custom--border--width--md) solid var(--wp--preset--color--primary);
  border-bottom: var(--wp--custom--border--width--md) solid var(--wp--preset--color--primary);
  text-align: center;
}
.wp-block-cover {
  padding: var(--wp--preset--spacing--xl);
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

/**
 * Pagination Component styles
 * @selector .pagination
 * @description Styles for pagination navigation, including page numbers and next/prev links.
 * @component pagination
 * @example html
 *   <nav class="pagination">
 *     <div class="pagination__numbers">
 *       <span class="page-numbers current">1</span>
 *       <a class="page-numbers" href="#">2</a>
 *       <a class="page-numbers" href="#">3</a>
 *     </div>
 *     <a class="pagination__next" href="#">Next</a>
 *   </nav>
 * @subcomponents
 *   .pagination__numbers - Container for page numbers
 *   .page-numbers - Individual page number or link
 *   .pagination__next - Next page link
 */
.pagination {
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
}
.pagination.wp-block-query-pagination {
  margin: 0;
}
.pagination__numbers {
  display: flex;
  gap: var(--wp--preset--spacing--sm);
}
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--md);
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  border: var(--wp--custom--border--width--sm) solid var(--wp--preset--color--background-secondary);
  border-radius: var(--wp--custom--border--radius--sm);
  transition: all 0.3s ease var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
.pagination .page-numbers.current {
  background-color: var(--wp--preset--color--primary);
  color: #ffffff;
  border-color: var(--wp--preset--color--primary);
  font-weight: bold;
}
.pagination .page-numbers:hover, .pagination .page-numbers:focus {
  background-color: var(--wp--preset--color--primary-hover);
  color: #ffffff;
  border-color: var(--wp--preset--color--primary-hover);
}
.pagination__next, .pagination__previous {
  display: inline-flex;
  align-items: center;
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  transition: all 0.3s ease var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
.pagination__next .wp-block-query-pagination-next-arrow, .pagination__previous .wp-block-query-pagination-next-arrow {
  margin-left: var(--wp--preset--spacing--xs);
}
.pagination__next:hover, .pagination__previous:hover, .pagination__next:focus, .pagination__previous:focus {
  background-color: var(--wp--preset--color--primary);
  color: #ffffff;
  text-decoration: none;
}
.pagination__previous .wp-block-query-pagination-previous-arrow {
  margin-right: var(--wp--preset--spacing--xs);
}

.header {
  position: relative;
  z-index: 300;
  color: #ffffff;
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
  background-color: #ffffff;
  transition: all 0.3s ease var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}

.header__logo {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  transition: all 0.3s ease var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
.header__logo .custom-logo-link {
  display: block;
  line-height: 0;
}
.header__logo .custom-logo-link img {
  max-height: 60px;
  width: 250px;
  transition: all 0.3s ease var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
.header__logo .header__title {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 400;
  line-height: var(--wp--preset--line-height--tight);
  margin: 0;
  transition: all 0.3s ease var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}

.header__menu.menu .menu__icon {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 24px;
  height: 20px;
  justify-content: center;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
}
.header__menu.menu .menu__icon span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #000000;
  transition: all var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
.header__menu.menu .menu__icon.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.header__menu.menu .menu__icon.is-active span:nth-child(2) {
  opacity: 0;
}
.header__menu.menu .menu__icon.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
@media (min-width: 992px) {
  .header__menu.menu .menu__icon {
    display: none;
  }
}

@media (min-width: 992px) {
  .header__menu.menu .menu__body {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--lg);
  }
}
@media (max-width: 991.98px) {
  .header__menu.menu .menu__body {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100vh;
    background-color: var(--wp--preset--color--primary);
    padding: var(--wp--preset--spacing--lg);
    flex-direction: column;
    align-items: flex-start;
    z-index: 410;
    transition: right var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
  }
  .header__menu.menu .menu__body.is-active {
    right: 0;
  }
}
@media (max-width: 991.98px) {
  .header.is-menu-open::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 400;
  }
}

.header__menu.menu .menu__body .menu__close {
  display: none;
  cursor: pointer;
  background: none;
  border: none;
  padding: var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--xl);
  color: #ffffff;
  position: absolute;
  top: 10px;
  right: 10px;
}
.header__menu.menu .menu__body .menu__close .close-icon {
  display: block;
  line-height: 1;
}
@media (min-width: 992px) {
  .header__menu.menu .menu__body .menu__close {
    display: none;
  }
}
.header__menu.menu .menu__body.is-active .menu__close {
  display: block;
}

.header__menu.menu .menu__body .menu__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 992px) {
  .header__menu.menu .menu__body .menu__list {
    display: flex;
    flex-direction: row;
    gap: var(--wp--preset--spacing--md);
    margin: 0;
  }
}
@media (max-width: 991.98px) {
  .header__menu.menu .menu__body .menu__list {
    flex-direction: column;
    width: 100%;
    gap: var(--wp--preset--spacing--md);
    margin: var(--wp--preset--spacing--lg) 0;
  }
}
.header__menu.menu .menu__body .menu__list li {
  position: relative;
}
.header__menu.menu .menu__body .menu__list li a {
  transition: color var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
  color: #000000;
  display: block;
  padding-top: var(--wp--preset--spacing--xs);
  padding-bottom: var(--wp--preset--spacing--xs);
}
.header__menu.menu .menu__body .menu__list li a:hover, .header__menu.menu .menu__body .menu__list li a:focus {
  color: var(--wp--preset--color--primary-hover);
}
@media (max-width: 991.98px) {
  .header__menu.menu .menu__body .menu__list li a {
    font-size: var(--wp--preset--font-size--lg);
    color: #ffffff;
  }
}
.header__menu.menu .menu__body .menu__list li .sub-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 992px) {
  .header__menu.menu .menu__body .menu__list li .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--wp--preset--color--background-dark);
    border-radius: var(--wp--custom--border--radius--md);
    padding: var(--wp--preset--spacing--sm);
    min-width: 200px;
    z-index: 100;
  }
  .header__menu.menu .menu__body .menu__list li .sub-menu li a {
    color: var(--wp--preset--color--base-dark);
    padding-top: var(--wp--preset--spacing--xs);
    padding-bottom: var(--wp--preset--spacing--xs);
  }
  .header__menu.menu .menu__body .menu__list li .sub-menu li a:hover, .header__menu.menu .menu__body .menu__list li .sub-menu li a:focus {
    color: #ffffff;
  }
  li:hover > .header__menu.menu .menu__body .menu__list li .sub-menu, li:focus-within > .header__menu.menu .menu__body .menu__list li .sub-menu {
    display: block;
  }
}
@media (max-width: 991.98px) {
  .header__menu.menu .menu__body .menu__list li .sub-menu {
    position: static;
    width: 100%;
    background-color: transparent;
    padding-left: var(--wp--preset--spacing--md);
    display: none;
  }
  .header__menu.menu .menu__body .menu__list li .sub-menu.is-active {
    display: block;
  }
  .header__menu.menu .menu__body .menu__list li .sub-menu li a {
    color: #ffffff;
  }
}

@media (min-width: 992px) {
  .header__menu.menu .menu__body .button-group {
    display: flex;
    gap: var(--wp--preset--spacing--sm);
  }
}
@media (max-width: 991.98px) {
  .header__menu.menu .menu__body .button-group {
    flex-direction: column;
    width: 100%;
    margin-top: var(--wp--preset--spacing--lg);
    gap: var(--wp--preset--spacing--md);
  }
}
@media (min-width: 992px) {
  .header__menu.menu .menu__body .button-group .btn--primary {
    background-color: #ffffff;
    color: var(--wp--preset--color--primary);
  }
  .header__menu.menu .menu__body .button-group .btn--primary:hover, .header__menu.menu .menu__body .button-group .btn--primary:focus {
    background-color: var(--wp--preset--color--base-dark);
    color: var(--wp--preset--color--primary-hover);
  }
  .header__menu.menu .menu__body .button-group .btn--outline {
    border-color: #ffffff;
    color: #ffffff;
  }
  .header__menu.menu .menu__body .button-group .btn--outline:hover, .header__menu.menu .menu__body .button-group .btn--outline:focus {
    background-color: #ffffff;
    color: var(--wp--preset--color--primary);
  }
}
@media (max-width: 991.98px) {
  .header__menu.menu .menu__body .button-group .btn {
    width: 100%;
    text-align: center;
    padding-top: var(--wp--preset--spacing--md);
    padding-bottom: var(--wp--preset--spacing--md);
  }
  .header__menu.menu .menu__body .button-group .btn--primary {
    background-color: #ffffff;
    color: var(--wp--preset--color--primary);
  }
  .header__menu.menu .menu__body .button-group .btn--outline {
    border-color: #ffffff;
    color: #ffffff;
  }
}

.header__menu.menu {
  position: relative;
}

.header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: var(--wp--preset--spacing--sm);
  padding-bottom: var(--wp--preset--spacing--sm);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  z-index: 300;
}
.header.is-sticky .header__logo {
  transform: scale(0.9);
  transform-origin: left center;
}

.footer {
  background-color: var(--wp--preset--color--background);
  padding-top: var(--wp--preset--spacing--xxl);
  padding-bottom: var(--wp--preset--spacing--xxl);
  color: #ffffff;
}
@media (min-width: 992px) {
  .footer .container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--wp--preset--spacing--md);
  }
}
@media (max-width: 991.98px) {
  .footer .container {
    flex-direction: column;
    gap: var(--wp--preset--spacing--sm);
  }
}
.footer__copyright {
  margin: 0;
  font-size: var(--wp--preset--font-size--sm);
}

.footer__widgets {
  flex: 1;
  width: 100%;
}

.footer__columns .footer__widgets-about .wp-block-image {
  margin-bottom: var(--wp--preset--spacing--sm);
}
.footer__columns .footer__widgets-about .wp-block-image img {
  max-width: 250px;
  height: auto;
}
.footer__columns .footer__widgets-about p {
  color: #000000;
}
.footer__columns .footer__widgets-about .wp-block-social-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: var(--wp--preset--spacing--sm);
}
.footer__columns .footer__widgets-about .wp-block-social-links ul li a {
  color: #ffffff;
  font-size: var(--wp--preset--font-size--lg);
  transition: color var(--wp--custom--transition--duration--normal) var(--wp--custom--transition--timing--ease-in-out);
}
.footer__columns .footer__widgets-about .wp-block-social-links ul li a:hover, .footer__columns .footer__widgets-about .wp-block-social-links ul li a:focus {
  color: var(--wp--preset--color--primary-hover);
}
.footer__columns .footer__widgets-company .widget_nav_menu ul li,
.footer__columns .footer__widgets-links .widget_nav_menu ul li {
  padding-top: var(--wp--preset--spacing--xs);
  padding-bottom: var(--wp--preset--spacing--xs);
}
.footer__columns .footer__widgets-getintouch .wp-block-heading {
  margin: 0 0 var(--wp--preset--spacing--sm);
}
.footer__columns .footer__widgets-getintouch .wp-block-group,
.footer__columns .footer__widgets-getintouch p {
  margin: 0 0 var(--wp--preset--spacing--sm);
}
.footer__columns .footer__widgets-getintouch .wp-block-group .wp-block-heading {
  color: #000000;
  font-size: var(--wp--preset--font-size--md);
  margin: 0 0 var(--wp--preset--spacing--0);
}
.footer__columns .footer__widgets-getintouch .wp-block-group p {
  color: #000000;
}
.footer__columns .footer__widgets-getintouch .wp-block-group ul.wp-block-social-links {
  list-style: none;
  gap: var(--wp--preset--spacing--sm);
}

body.home .page-content--front {
  position: relative;
}
body.home .hero-section {
  margin-bottom: var(--wp--preset--spacing--md);
}
body.home .hero-section__cover {
  padding: var(--wp--preset--spacing--0);
}

body.page-service-plan .page-content--service-plan {
  position: relative;
}
body.page-service-plan .page-content--service-plan .service-plan__column .card {
  text-align: center;
}
body.page-service-plan .page-content--service-plan .service-plan__column .card__body {
  padding: var(--wp--preset--spacing--0);
  margin: var(--wp--preset--spacing--0);
}
body.page-service-plan .page-content--service-plan .service-plan__feature {
  padding-top: var(--wp--preset--spacing--sm);
  padding-bottom: var(--wp--preset--spacing--sm);
  border-bottom: var(--wp--custom--border--width--sm) solid var(--wp--preset--color--background-secondary);
}
body.page-service-plan .page-content--service-plan .service-plan__feature:last-of-type {
  border-bottom: var(--wp--custom--border--width--none);
}
body.page-service-plan .page-content--service-plan .why-choose-plan__section .experience-meraboiler__column {
  border-radius: var(--wp--custom--border--radius--md);
}

body.page-our-services .page-content--our-services {
  position: relative;
}

body.page-blog .page-content--blog {
  position: relative;
}

body.page-blog .page-content--blog .blog-section__column .blog-post__title, body.page-blog .page-content--blog .blog-section__column .blog-post__date,
body.page-blog .page-content--front .blog-section__column .blog-post__title,
body.page-blog .page-content--front .blog-section__column .blog-post__date,
body.home .page-content--blog .blog-section__column .blog-post__title,
body.home .page-content--blog .blog-section__column .blog-post__date,
body.home .page-content--front .blog-section__column .blog-post__title,
body.home .page-content--front .blog-section__column .blog-post__date {
  margin: var(--wp--preset--spacing--0);
}
body.page-blog .page-content--blog .blog-section__column .blog-post__categories a,
body.page-blog .page-content--front .blog-section__column .blog-post__categories a,
body.home .page-content--blog .blog-section__column .blog-post__categories a,
body.home .page-content--front .blog-section__column .blog-post__categories a {
  background-color: var(--wp--preset--color--background-secondary);
  margin-left: var(--wp--preset--spacing--sm);
  margin-right: var(--wp--preset--spacing--sm);
  padding-left: var(--wp--preset--spacing--sm);
  padding-right: var(--wp--preset--spacing--sm);
  border-radius: var(--wp--custom--border--radius--md);
}
body.page-blog .page-content--blog .blog-section__column .blog-post__categories a:first-of-type, body.page-blog .page-content--blog .blog-section__column .blog-post__categories a:last-of-type,
body.page-blog .page-content--front .blog-section__column .blog-post__categories a:first-of-type,
body.page-blog .page-content--front .blog-section__column .blog-post__categories a:last-of-type,
body.home .page-content--blog .blog-section__column .blog-post__categories a:first-of-type,
body.home .page-content--blog .blog-section__column .blog-post__categories a:last-of-type,
body.home .page-content--front .blog-section__column .blog-post__categories a:first-of-type,
body.home .page-content--front .blog-section__column .blog-post__categories a:last-of-type {
  margin-left: var(--wp--preset--spacing--0);
  margin-right: var(--wp--preset--spacing--0);
}

body.page-about .page-content--about {
  position: relative;
}

page-contact-us .page-content--contact-us {
  position: relative;
}

.sidebar-area__widgets {
  gap: var(--wp--preset--spacing--lg);
}
.sidebar-area__widgets .widget__container {
  gap: var(--wp--preset--spacing--sm);
  background-color: var(--wp--preset--color--base-dark);
  padding: var(--wp--preset--spacing--md);
  margin-top: var(--wp--preset--spacing--md);
  margin-bottom: var(--wp--preset--spacing--md);
  border-radius: var(--wp--custom--border--radius--md);
}
.sidebar-area__widgets .widget__container:last-child {
  margin-top: 0;
  margin-bottom: 0;
}
.sidebar-area__widgets .widget__title {
  margin: 0;
}
.sidebar-area__widgets .widget__content .wp-block-latest-posts__list li {
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
  background-color: #ffffff;
  margin-top: var(--wp--preset--spacing--md);
  margin-bottom: var(--wp--preset--spacing--md);
  padding: var(--wp--preset--spacing--sm);
  border-radius: var(--wp--custom--border--radius--md);
}
.sidebar-area__widgets .widget__text {
  color: var(--wp--preset--color--text-muted);
  margin: 0;
}

body.single .page-content--single {
  grid-template-columns: 66.66% 33.33%;
  gap: var(--wp--preset--spacing--lg);
  padding-top: var(--wp--preset--spacing--md);
  padding-bottom: var(--wp--preset--spacing--md);
}
@media (max-width: 767.98px) {
  body.single .page-content--single {
    grid-template-columns: 1fr;
  }
}
body.single .single-area__main {
  position: relative;
}
body.single .single-area__title {
  color: var(--wp--preset--color--primary);
}
body.single .single-area__meta {
  margin-top: var(--wp--preset--spacing--sm);
  margin-bottom: var(--wp--preset--spacing--sm);
}
body.single .single-area__thumbnail {
  margin-top: var(--wp--preset--spacing--lg);
  margin-bottom: var(--wp--preset--spacing--lg);
}
body.single .single-area__thumbnail img {
  width: 100%;
}
body.single .single-area__content {
  line-height: var(--wp--preset--line-height--normal);
}
body.single .single-area__no-content {
  color: var(--wp--preset--color--text-muted);
  padding: var(--wp--preset--spacing--md);
  text-align: center;
}
body.single .page-content--portfolio {
  background-color: var(--wp--preset--color--background-dark);
  color: #ffffff;
}
body.single .footer {
  background-color: var(--wp--preset--color--base-dark);
}

/*# sourceMappingURL=style.css.map*/