/*
Author: Mohammad Zare
Author URI: http://mohammadz.com/
*/
@charset "UTF-8";
@import "animation.css";
@import "icomoon.css";

:root {
  color-scheme: light;

  /*
   * Brand palette
   * #F2EFE7 cream · #9ACBD0 soft · #48A6A7 teal · #006A71 deep
   *
   * Roles (WCAG AA):
   * - cream/surface     → page & card backgrounds
   * - soft              → decorative wash only; pair with --color-text-primary
   * - teal              → borders, rings, icons (not body text; not white-on-fill)
   * - deep / primary    → solid fills, links, strong UI (white text OK)
   */

  --palette-cream: #F2EFE7;
  --palette-soft: #9ACBD0;
  --palette-teal: #48A6A7;
  --palette-deep: #006A71;

  /* Brand */
  --color-primary: var(--palette-deep);
  --color-primary-hover: #007A82;
  --color-accent: var(--palette-teal);
  --color-accent-hover: #3B9495;
  --color-accent-light: #D8ECEE;
  --color-accent-text: var(--palette-deep);

  /* Backgrounds */
  --color-bg-page: var(--palette-cream);
  --color-bg-surface: #FFFEFB;
  --color-bg-surface-alt: #EAE7DE;
  --color-bg-hero: var(--palette-deep);
  --color-bg-muted: #E4F1F2;
  --color-bg-soft: var(--palette-soft);

  /* Text — all AA (≥4.5:1) on page/surface */
  --color-text-primary: #0A3336;
  --color-text-secondary: #4A6366;
  --color-text-tertiary: #5C7172;
  --color-text-on-primary: #FFFFFF;
  --color-text-on-accent: var(--color-text-on-primary);
  --color-text-on-primary-muted: rgba(255, 255, 255, 0.78);
  --color-link: var(--palette-deep);
  --color-link-hover: #004F54;

  /* Borders */
  --color-border: #DDD8CE;
  --color-border-strong: #C5C0B4;
  --color-border-accent: var(--palette-teal);

  /* Status */
  --color-success-bg: #D8ECEE;
  --color-success-text: #006A71;
  --color-warning-bg: #F7EBD8;
  --color-warning-text: #8A5A0B;
  --color-danger-bg: #FBE4E4;
  --color-danger-text: #A32D2D;
  --color-info-bg: #D8ECEE;
  --color-info-text: #006A71;

  /* Effects */
  --color-overlay: rgba(242, 239, 231, 0.88);
  --color-shadow: rgba(0, 106, 113, 0.12);
  --color-shadow-strong: rgba(0, 106, 113, 0.22);
  --color-focus-ring: rgba(0, 106, 113, 0.22);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --theme-transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  --animate-duration: 1000ms;
  --animate-delay: 150ms;
}

@font-face {
  font-family: "Dana";
  src: url("../fonts/DanaVF.ttf") format("truetype-variations");
  font-weight: 1 999;
}

:focus {
  outline: 0 !important;
}

::selection {
  background: var(--color-accent-light);
  color: var(--color-text-primary);
}

::-moz-selection {
  background: var(--color-accent-light);
}

a {
  color: var(--color-text-primary);
  text-decoration: none !important;
}

a:hover {
  color: var(--color-link-hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Dana", Helvetica, Geneva, Verdana, sans-serif;
  font-weight: 800;
  line-height: 1.5;
}

html {
  background: var(--color-primary);
  transition: var(--theme-transition);
}

html,
body {
  min-height: 100%;
  min-height: 100vh;
  position: relative;
}

html {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Dana", Helvetica, Geneva, Verdana, sans-serif;
  -moz-font-feature-settings: "ss03", "ss04", "ss05";
  -webkit-font-feature-settings: "ss03", "ss04", "ss05";
  font-feature-settings: "ss03", "ss04", "ss05";
  font-weight: 450;
  font-size: 15px;
  line-height: 1.5;
  direction: rtl;
  background: var(--color-bg-page);
  color: var(--color-text-primary);
  transition: var(--theme-transition);
  overflow-x: visible;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.overlay-link {
  font-size: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 10;
  cursor: pointer;
}

.modal-backdrop,
.body-overlay {
  width: 100vw;
  height: 100vh;
  position: fixed !important;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: var(--color-overlay);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  z-index: 1000;
  cursor: pointer;
}

.body-overflow {
  overflow: hidden;
}

.btn,
label,
th,
.control-label {
  font-family: "Dana", sans-serif;
  font-weight: 700;
  font-size: 14px;
}

ol {
  list-style-type: persian;
}

.comment-info,
input.datepicker,
.copyright,
.entry-meta-time,
.blog-card-time,
.pagination,
.user-nav>li strong,
.entry-meta-time,
.event-table,
#otp-alert,
#otp-timer,
.text-fa,
[href^="tel"],
input[type="number"],
input[inputmode="numeric"] {
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

[href^="tel"] {
  letter-spacing: 1px;
}

.row.v-gutters {
  row-gap: 30px;
}

/* Bootstrap-style tables (table table-bordered table-striped table-hover table-responsive-md) */
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  color: var(--color-text-primary);
  vertical-align: middle;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.45;
  background-color: var(--color-bg-surface);
}

.table th,
.table td {
  padding: 0.65rem 0.9rem;
  border-bottom: 1px solid var(--color-border);
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid var(--color-border-strong);
  font-weight: 700;
  font-size: 14px;
  text-align: inherit;
  color: var(--color-text-primary);
  background: var(--color-bg-surface-alt);
}

.table:not(.table-bordered) tbody tr:last-child td,
.table:not(.table-bordered) tbody tr:last-child th {
  border-bottom: 0;
}

.table tbody+tbody {
  border-top: 2px solid var(--color-border);
}

.table-bordered {
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid var(--color-border);
}

.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--color-bg-surface-alt);
}

.table-striped tbody tr:nth-of-type(odd)>th {
  background-color: var(--color-bg-surface-alt);
}

.table-hover tbody tr {
  transition: background-color 0.16s ease, color 0.16s ease;
}

.table-hover tbody tr:hover {
  background-color: var(--color-accent-light);
}

.table-hover.table-striped tbody tr:nth-of-type(odd):hover {
  background-color: var(--color-accent-light);
}

.table caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--color-text-secondary);
  caption-side: bottom;
  font-size: 13px;
  font-weight: 600;
  text-align: inherit;
}

.table .table-light {
  background: var(--color-bg-surface-alt);
}

.table-responsive,
.table-responsive-md {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
}

.table-responsive>.table,
.table-responsive-md>.table {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .table-responsive-md {
    display: block;
    overflow-x: visible;
  }
}

.tab-pane {
  display: none;
}

.tab-pane.active {
  display: block;
}

.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}

.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}

.collapse.in {
  display: block;
}

tr.collapse.in {
  display: table-row;
}

tbody.collapse.in {
  display: table-row-group;
}

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition-property: height, visibility;
  transition-duration: 0.35s;
  transition-timing-function: ease;
}

.modal-dialog {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.modal-header {
  display: flex;
  align-items: center;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}

.modal.in {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-open {
  overflow: hidden;
}

.modal-dialog {
  width: auto;
  max-width: 760px;
  margin: 30px auto;
  position: relative;
  pointer-events: none;
}

.modal-sm .modal-dialog,
.modal-dialog.modal-sm {
  max-width: 400px;
}

.modal-lg .modal-dialog,
.modal-dialog.modal-lg {
  max-width: 920px;
}

.modal-dialog.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100vh - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.modal-content {
  position: relative;
  width: 100%;
  background-color: var(--color-bg-surface);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
  pointer-events: auto;
  overflow: hidden;
}

.modal-header,
.modal-body,
.modal-footer {
  padding: 18px 20px;
}

.modal-header {
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.modal-title {
  margin: 0;
  line-height: 1.5;
  color: var(--color-text-primary);
  font-size: 18px;
}

.modal-header .close {
  background: transparent;
  border: 0;
  color: var(--color-text-secondary);
  font-size: 28px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}

.modal-header .close:hover {
  color: var(--color-text-primary);
}

.modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 767.98px) {
  .modal-dialog {
    max-width: calc(100% - 24px);
    margin: 12px auto;
    min-height: calc(100vh - 24px);
  }
}

.pagination {
  padding: 50px 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.pagination>li>a.page-numbers,
.pagination>li>.page-numbers.current {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  color: var(--color-text-primary);
  font-size: 14px;
  font-weight: 500;
  min-width: 36px;
  height: 36px;
  border-radius: 36px;
  padding: 0 10px;
  line-height: 1px;
  white-space: nowrap;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.pagination>li>a.page-numbers:hover,
.pagination>li>.page-numbers.current {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
}

/*Custom*/
.container-fluid {
  max-width: 1600px;
}

.section {
  position: relative;
  z-index: 1;
}

.section-wrapper {
  padding: 0 0 85px;
}

.section:not(.section-covered)+.section .section-wrapper {
  padding-top: 0;
}

.section-cover {
  position: relative;
}

.section-bg img,
.section-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.section-full {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.section-overlay>.section-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.section-header+.section-body,
.section-body+.section-footer,
.section-header+.section-footer {
  margin-top: 60px;
}

.section-header,
.section-footer {
  text-align: center;
}

.section-title {
  font-size: 40px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  color: var(--color-text-primary);
  display: inline-flex;
  position: relative;
  margin: 0;
  z-index: 1;
}

.section-subtitle {
  font-size: 30px;
  font-weight: bold;
  line-height: 52px;
  color: var(--color-text-secondary);
  margin: 0;
}

.section-desc {
  font-size: 16px;
  font-weight: normal;
  line-height: 24px;
  color: var(--color-text-primary);
}

.section-subtitle+.section-nav,
.section-title+.section-nav,
.section-desc+.section-nav,
.section-title+.section-subtitle,
.section-subtitle+.section-desc,
.section-title+.section-desc {
  margin-top: 20px;
}

#page-header {
  padding-top: 10px;
}

.page-header-inner {
  text-align: center;
  padding: 50px 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.page-header-inner::after {
  opacity: 0.8;
  filter: blur(2px);
  background: url(../img/bg-01.webp) no-repeat right bottom;
  background-size: cover;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  content: "";
}

.page-header-title,
.page-title {
  font-size: 32px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.page-header-title::before,
.page-header-title::after,
.page-title::before {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  margin-left: 10px;
  background: var(--color-primary);
  content: "";
}

.page-header-title::after {
  margin-left: 0;
  margin-right: 10px;
}

.page-title+.page-desc {
  margin-top: 15px;
}

.page-desc>p:last-child {
  margin-bottom: 0;
}

.page-header-title+.page-header-breadcrumbs {
  margin-top: 14px;
}

.breadcrumb-nav {
  display: inline-flex;
  max-width: 100%;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.breadcrumb-item {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-width: 0;
}

.breadcrumb-item>a,
.breadcrumb-item>span {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  transition: color 0.2s ease;
}

.breadcrumb-item>a:hover,
.breadcrumb-item>a:focus-visible {
  color: var(--color-text-primary);
}

.breadcrumb-item:not(:last-child)::after {
  content: "\ecb6";
  font-family: "icomoon";
  font-size: 10px;
  margin: 0 6px;
  color: var(--color-text-tertiary);
  line-height: 1;
}

.breadcrumb-item.active {
  color: var(--color-text-primary);
  font-weight: 500;
}

.breadcrumb-item.active>span {
  cursor: default;
}

.breadcrumb-item--sep {
  margin: 0;
  color: var(--color-text-tertiary);
}

.breadcrumb-item--sep::after {
  content: none !important;
}

.page-header-breadcrumbs .breadcrumb {
  justify-content: center;
}

@media (max-width: 575.98px) {
  .breadcrumb {
    font-size: 12px;
  }

  .breadcrumb-item:not(:last-child)::after {
    margin: 0 2px;
  }
}

#page-body {
  padding: 50px 0;
}

#page-footer {
  margin-top: auto;
}

#page-footer+#footer {
  margin-top: 0;
}

.subsection-header+.subsection-body,
.subsection-body+.subsection-footer,
.subsection-header+.subsection-footer {
  margin-top: 32px;
}

.subsection-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-transform: uppercase;
  color: var(--color-text-primary);
  margin: 0;
}

.subsection-subtitle {
  font-size: 28px;
  font-weight: bold;
  line-height: 36px;
  margin: 0;
}

.subsection-title+.subsection-subtitle {
  margin-top: 16px;
}

.button {
  font-size: 15px;
  font-weight: 600;
  padding: 0 33px;
  height: 55px;
  border: 1px solid transparent;
  border-radius: 13px;
  transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  position: relative;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  column-gap: 10px;
  overflow: hidden;
  z-index: 1;
}

.button:before {
  content: "";
  position: absolute;
  top: 0;
  right: -200%;
  width: 200%;
  height: 100%;
  transform: skewx(-20deg);
  background-image: -webkit-gradient(linear,
      right top,
      left top,
      from(transparent),
      color-stop(rgba(255, 255, 255, 0.35)),
      to(transparent));
  background-image: linear-gradient(to left,
      transparent,
      rgba(255, 255, 255, 0.35),
      transparent);
  z-index: -1;
}

.button:hover:before {
  -webkit-animation: shine 1.4s ease;
  animation: shine 1.4s ease;
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

[class*="button-empty"] {
  padding: 0;
  height: auto;
  overflow: unset;
}

[class*="button-empty"]:hover {
  color: initial;
}

[class*="button-empty"]::before {
  display: none !important;
}

@-webkit-keyframes shine {
  100% {
    right: 200%;
  }
}

@keyframes shine {
  100% {
    right: 200%;
  }
}

.button-more::after {
  content: "\ecb6";
  font-family: "icomoon";
  font-size: 18px;
}

.button-more:hover::after {
  animation: hide_hover_icon 0.5s forwards;
  animation-delay: 0.1s;
}

@keyframes hide_hover_icon {
  0% {
    transform: translatex(0);
    opacity: 1;
  }

  50% {
    transform: translatex(-20px);
    opacity: 0;
  }

  51% {
    transform: translatex(20px);
    opacity: 0;
  }

  100% {
    transform: translatex(0);
    opacity: 1;
  }
}

.button-small {
  height: 36px;
  padding: 0 16px;
  border-radius: 40px;
  font-size: 14px;
}

.button-block {
  display: flex;
  width: 100%;
}

.button-block+.button-block {
  margin-top: 15px;
}

.button-fill-primary {
  background-color: var(--color-primary);
  color: var(--color-text-on-primary);
}

.button-fill-primary:hover {
  background-color: var(--color-primary-hover);
  color: var(--color-text-on-primary);
}

.button-outline-primary {
  background-color: transparent;
  border-color: var(--color-border-strong);
  color: var(--color-text-primary);
}

.button-outline-primary:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-on-primary);
}

.button-fill-secondary:hover {
  color: var(--color-text-primary);
}

.form-action {
  padding-top: 16px;
  text-align: end;
}

.form-group {
  margin: 0 0 16px;
}

.select2-container .select2-selection--single,
.input-text,
.form-control {
  width: 100%;
  resize: vertical;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.input-text:focus,
.form-control:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.input-text::placeholder,
.form-control::placeholder {
  font-size: 16px;
  font-weight: normal;
  line-height: 24px;
  color: var(--color-text-primary);
  opacity: 0.2;
}

textarea.input-text,
textarea.form-control {
  height: auto;
}

.form-label {
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: var(--color-text-primary);
  text-transform: capitalize;
  margin: 0 0 4px;
  display: inline-flex;
  align-items: start;
}

.form-label.required::after {
  content: "*";
  color: var(--color-danger-text);
  line-height: 0.5;
  margin-right: 2px;
}

/* Checkbox & Radio (theme forms) */
:is(.form-group, form) :is(input[type="checkbox"], input[type="radio"]) {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  vertical-align: middle;
  border: 1px solid var(--color-border-strong);
  background: var(--color-bg-surface);
  display: inline-grid;
  place-content: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

:is(.form-group, form) input[type="checkbox"] {
  border-radius: 6px;
}

:is(.form-group, form) input[type="radio"] {
  border-radius: 50%;
}

:is(.form-group, form) input[type="checkbox"]:checked {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M3.2 8.2l3 3.1L12.8 4.9'/%3E%3C/svg%3E");
  background-size: 12px 12px;
  background-position: center;
  background-repeat: no-repeat;
}

:is(.form-group, form) input[type="radio"]:checked {
  border-color: var(--color-border-accent);
  background-color: var(--color-bg-surface);
  box-shadow: inset 0 0 0 5px var(--color-accent);
}

:is(.form-group, form) :is(input[type="checkbox"], input[type="radio"]):focus {
  outline: 0;
  border-color: var(--color-border-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

/* Checkbox & Radio (Gravity Forms) */
.gform_wrapper.gravity-theme :is(.gfield_checkbox, .gfield_radio) .gchoice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.gform_wrapper.gravity-theme :is(.gfield_checkbox, .gfield_radio) .gchoice input {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 1px solid var(--color-border-strong);
  background: var(--color-bg-surface);
  display: inline-grid;
  place-content: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.gform_wrapper.gravity-theme .gfield_checkbox .gchoice input {
  border-radius: 6px;
}

.gform_wrapper.gravity-theme .gfield_radio .gchoice input {
  border-radius: 50%;
}

.gform_wrapper.gravity-theme .gfield_checkbox .gchoice input:checked {
  border-color: var(--color-text-primary);
  background-color: var(--color-text-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M3.2 8.2l3 3.1L12.8 4.9'/%3E%3C/svg%3E");
  background-size: 12px 12px;
  background-position: center;
  background-repeat: no-repeat;
}

.gform_wrapper.gravity-theme .gfield_radio .gchoice input:checked {
  border-color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  box-shadow: inset 0 0 0 5px var(--color-primary);
}

.gform_wrapper.gravity-theme :is(.gfield_checkbox, .gfield_radio) .gchoice input:focus {
  outline: 0;
  border-color: var(--color-border-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.gform_wrapper.gravity-theme :is(.gfield_checkbox, .gfield_radio) .gchoice label {
  margin: 0;
  font-size: 14px;
  color: var(--color-text-primary);
}

/* Gravity Forms */
.gform_wrapper.gravity-theme .gform_fields {
  row-gap: 16px;
}

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gform-field-label {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-primary);
  margin: 0 0 8px;
}

.gform_wrapper.gravity-theme :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
  width: 100%;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper.gravity-theme :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea):focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
  outline: 0;
}

.gform_wrapper.gravity-theme :is(input, textarea)::placeholder {
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-primary);
  opacity: 0.2;
}

.gform_wrapper.gravity-theme textarea {
  min-height: 140px;
  resize: vertical;
}

.gform_wrapper.gravity-theme .gfield_required {
  color: var(--color-danger-text);
}

.gform_wrapper.gravity-theme .gform_validation_errors,
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
  border-radius: 10px;
  border: 1px solid rgba(220, 53, 69, 0.25);
  background: rgba(220, 53, 69, 0.08);
  color: var(--color-danger-text);
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
  margin-top: 8px;
}

.gform_wrapper.gravity-theme :is(input[type="submit"], input[type="button"], button.gform_button, .gform_next_button, .gform_previous_button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50px;
  padding: 10px 18px;
  background-color: var(--color-primary);
  color: var(--color-text-on-primary);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.gform_wrapper.gravity-theme :is(input[type="submit"], input[type="button"], button.gform_button, .gform_next_button, .gform_previous_button):hover {
  background-color: var(--color-primary-hover);
  color: var(--color-text-on-primary);
  box-shadow: 0 8px 18px var(--color-shadow);
}

.gform_wrapper.gravity-theme :is(input[type="submit"], input[type="button"], button.gform_button, .gform_next_button, .gform_previous_button):focus {
  outline: 0;
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.gform_wrapper.gravity-theme :is(input[type="submit"], input[type="button"], button.gform_button, .gform_next_button, .gform_previous_button):active {
  background-color: var(--color-primary-hover);
}

.gform_wrapper.gravity-theme .button::before,
.gform_wrapper.gravity-theme .gform_button::before,
.gform_wrapper.gravity-theme .gform_next_button::before,
.gform_wrapper.gravity-theme .gform_previous_button::before {
  display: none !important;
  content: none !important;
}

/* ——— Comments & reviews ——— */
.comments-area,
#comments {
  --comment-card-radius: 14px;
  --comment-card-border: 1px solid var(--color-border);
  --comment-card-bg: var(--color-bg-surface);
  --comment-thread-gap: clamp(10px, 2.5vw, 20px);
  --comment-thread-line: var(--color-accent);
  --comment-thread-line-soft: var(--color-border-strong);
}

.comments-area .no-comments,
.comments-area .comments-closed {
  margin: 0;
  padding: 12px 16px;
  border-radius: var(--comment-card-radius);
  background: var(--color-bg-surface-alt);
  color: var(--color-text-secondary);
  font-size: 14px;
}

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

/* تو در تو: خط راهنما در لبهٔ شروع (در RTL همان سمت راست بلوک فرزند) */
.comment-list .children {
  list-style: none;
  margin: 0;
  margin-block-start: var(--comment-thread-gap);
  padding: 0;
  padding-inline-start: var(--comment-thread-gap);
  border-inline-start: 3px solid var(--comment-thread-line);
  position: relative;
}

.comment-list .children .children {
  border-inline-start-color: var(--color-border-accent);
  border-inline-start-width: 2px;
}

.comment-list .children .children .children {
  border-inline-start-color: var(--comment-thread-line-soft);
}

/* اتصال ظریف عمودی بین خواهرها در یک سطح فرزند */
.comment-list .children>li.comment {
  position: relative;
}

.comment-list .children>li.comment+li.comment {
  margin-block-start: calc(var(--comment-thread-gap) * 0.85);
}

.comment-list>li.comment,
.comment-list .children>li.comment {
  margin: 0 0 16px;
}

.comment-list>li.comment:last-child,
.comment-list .children>li.comment:last-child {
  margin-bottom: 0;
}

/* کارت روی خودِ li.comment.comment-card */
.comment-list li.comment.comment-card {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--comment-card-radius);
  padding: 18px 20px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.comment-list li.comment.comment-card:hover {
  border-color: var(--color-accent-light);
  box-shadow: 0 6px 24px rgba(0, 106, 113, 0.06);
}

.comment-list li.comment.bypostauthor.comment-card {
  border-color: var(--color-accent-light);
  background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-bg-surface) 48%);
}

.comment-list li.comment.bypostauthor.comment-card:hover {
  border-color: var(--color-border-accent);
}

/* عمق بیشتر = کمی فشرده‌تر و پس‌زمینهٔ ملایم‌تر برای تفکیک سلسله */
.comment-list li.depth-1.comment-card {
  padding: 18px 20px;
}

.comment-list li.depth-2.comment-card {
  padding: 16px 18px;
  background: linear-gradient(180deg, var(--color-accent-light) 0%, var(--color-bg-surface) 38%);
}

.comment-list li.depth-3.comment-card,
.comment-list li.depth-4.comment-card,
.comment-list li.depth-5.comment-card {
  padding: 14px 16px;
  background: linear-gradient(180deg, var(--color-bg-surface-alt) 0%, var(--color-bg-page) 40%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.comment-list li.depth-4.comment-card,
.comment-list li.depth-5.comment-card {
  border-radius: calc(var(--comment-card-radius) - 2px);
}

.comment-list li.comment.bypostauthor.comment-card.depth-2,
.comment-list li.comment.bypostauthor.comment-card.depth-3,
.comment-list li.comment.bypostauthor.comment-card.depth-4,
.comment-list li.comment.bypostauthor.comment-card.depth-5 {
  background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-accent-light) 42%, var(--color-bg-surface) 88%);
  border-color: var(--color-accent-light);
  box-shadow: none;
}

@media (max-width: 575.98px) {

  .comments-area,
  #comments {
    --comment-thread-gap: 10px;
  }

  .comment-list li.depth-1.comment-card {
    padding: 16px 14px;
  }

  .comment-list li.depth-2.comment-card,
  .comment-list li.depth-3.comment-card,
  .comment-list li.depth-4.comment-card,
  .comment-list li.depth-5.comment-card {
    padding: 14px 12px;
  }
}

.comment-awaiting-moderation {
  display: block;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  background: rgba(237, 185, 94, 0.2);
  color: var(--color-text-primary);
  font-size: 13px;
  font-weight: 600;
}

.comment-card-header {
  margin-bottom: 12px;
}

.comment-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.comment-card-meta>li {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

.comment-card-author-wrap a {
  font-weight: 700;
  color: var(--color-text-primary);
}

.comment-card-author-wrap a:hover {
  color: var(--color-text-primary);
}

.comment-card-time {
  color: var(--color-text-secondary);
  font-size: 13px;
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

.comment-card-inner {
  position: relative;
}

.comment-card-body {
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-primary);
}

.comment-card-footer {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--color-border);
}

.comment-reply-notice {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: var(--color-accent-light);
  border: 1px solid var(--color-accent-light);
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: var(--color-text-primary);
}

.comment-reply-notice-text {
  flex: 1;
  min-width: 0;
}

.comment-card-footer .comment-reply-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 18px;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid var(--color-accent);
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text-primary);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease,
    box-shadow 0.18s ease;
  cursor: pointer;
}

.comment-card-footer .comment-reply-link:hover {
  background: var(--color-accent-light);
  border-color: var(--color-border-accent);
  color: var(--color-text-primary);
}

.comment-card-footer .comment-reply-link:active {
  transform: translateY(1px);
}

.comment-card-footer .comment-reply-link:focus {
  outline: none;
}

.comment-card-footer .comment-reply-link:focus-visible {
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

button.comment-reply-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 38px;
  height: auto;
  padding: 0 16px;
  margin: 0;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid var(--color-border-strong);
  background: var(--color-bg-surface);
  color: var(--color-text-secondary);
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease,
    box-shadow 0.18s ease;
  cursor: pointer;
}

button.comment-reply-cancel:hover {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border-strong);
  color: var(--color-text-primary);
}

button.comment-reply-cancel:focus {
  outline: none;
}

button.comment-reply-cancel:focus-visible {
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.comment-reply-notice .comment-reply-cancel {
  margin-inline-start: auto;
}

.comment-card-desc>p:first-child {
  margin-top: 0;
}

.comment-card-desc>p:last-child {
  margin-bottom: 0;
}

/* Star rating (inline + summary) — LTR glyph order for consistent fill */
.rating-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  direction: ltr;
  unicode-bidi: isolate;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.12em;
  vertical-align: middle;
}

.rating-empty,
.rating-filled {
  display: flex;
  flex-direction: row;
}

.rating-empty {
  color: rgba(104, 116, 122, 0.35);
}

.rating-empty span,
.rating-filled span {
  display: inline-block;
}

.rating-filled {
  position: absolute;
  inset: 0 auto auto 0;
  overflow: hidden;
  white-space: nowrap;
  color: var(--color-accent-text);
  text-shadow: 0 0 0 var(--color-accent-light);
  pointer-events: none;
}

/* Event sidebar: average + distribution */
.comment-info {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--comment-card-radius);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.comment-info-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px dashed var(--color-border);
}

.comment-info-average {
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  color: var(--color-text-primary);
  min-width: 3.2rem;
  text-align: center;
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

.comment-info-detail {
  flex: 1;
  min-width: 0;
}

.comment-info-detail .rating-wrapper {
  font-size: 18px;
  margin-bottom: 8px;
}

.comment-info-count {
  font-size: 13px;
  color: var(--color-text-secondary);
  font-weight: 600;
}

.comment-info-body {
  flex: 1;
}

.comment-info-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.comment-info-table td {
  padding: 8px 6px;
  vertical-align: middle;
  border: none;
}

.comment-info-table td:first-child {
  color: var(--color-text-secondary);
  white-space: nowrap;
  padding-right: 0;
}

.comment-info-table td:last-child {
  text-align: center;
  font-weight: 700;
  color: var(--color-text-primary);
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

.comment-info-bar {
  height: 8px;
  border-radius: 6px;
  background: var(--color-bg-surface-alt);
  overflow: hidden;
}

.comment-info-bar>div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--color-accent), var(--color-accent));
  min-width: 0;
  transition: width 0.35s ease;
}

.comment-info-footer {
  margin-top: 20px;
  padding-top: 4px;
}

/* Single event gallery (Swiper thumbs + main) */
.event-gallery {
  position: relative;
}

.event-gallery--single .event-gallery__figure--single {
  border-radius: 16px;
  overflow: hidden;
  background: var(--color-bg-page);
  border: 1px solid var(--color-border);
}

.event-gallery--single .event-gallery__figure--single img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}

.event-gallery--multi {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 14px;
}

.event-gallery--multi .event-gallery__main {
  flex: 1;
  min-width: 0;
  position: relative;
}

.event-gallery--multi .event-gallery__thumbs {
  flex: 0 0 76px;
  width: 76px;
  max-height: min(520px, 62vh);
  min-height: 100px;
}

.event-gallery-large {
  width: 100%;
  min-height: 200px;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(165deg, var(--color-bg-page) 0%, var(--color-bg-surface-alt) 100%);
  border: 1px solid var(--color-border);
  touch-action: pan-y;
}

/* Fallback if Swiper CSS loads late: one full-width slide per view, horizontal track */
.event-gallery-large>.swiper-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  box-sizing: content-box;
}

.event-gallery-large>.swiper-wrapper>.swiper-slide {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
}

.event-gallery__figure {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  aspect-ratio: 4 / 3;
}

.event-gallery__figure img {
  width: 100%;
  height: 100%;
  max-height: min(72vh, 640px);
  object-fit: contain;
  display: block;
}

@media (hover: hover) and (pointer: fine) {
  .event-gallery__figure--zoomable {
    overflow: hidden;
    cursor: crosshair;
  }

  .event-gallery__figure--zoomable img {
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.25s ease;
    will-change: transform;
  }

  .event-gallery__figure--zoomable.is-zooming img {
    transform: scale(var(--event-gallery-zoom, 2.2));
    transform-origin: var(--zoom-x, 50%) var(--zoom-y, 50%);
    transition: transform 0.18s ease-out;
  }
}

.event-gallery__nav.swiper-button-prev,
.event-gallery__nav.swiper-button-next {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-top: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  color: var(--color-text-primary);
  background: rgba(255, 255, 255, 0.94);
  border-radius: 50%;
  box-shadow: 0 4px 18px var(--color-shadow);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  font-family: swiper-icons, sans-serif;
  font-size: 0;
  line-height: 1;
  --swiper-navigation-size: 20px;
}

.event-gallery__nav.swiper-button-prev::after,
.event-gallery__nav.swiper-button-next::after {
  font-family: swiper-icons !important;
  font-size: var(--swiper-navigation-size);
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none !important;
  color: inherit;
}

.event-gallery__nav.swiper-button-prev:hover,
.event-gallery__nav.swiper-button-next:hover {
  background: var(--color-bg-surface);
  box-shadow: 0 6px 22px var(--color-shadow);
  color: var(--color-text-primary);
}

.event-gallery__nav.swiper-button-prev:focus,
.event-gallery__nav.swiper-button-next:focus {
  outline: none;
}

.event-gallery__nav.swiper-button-prev:focus-visible,
.event-gallery__nav.swiper-button-next:focus-visible {
  box-shadow: 0 0 0 3px var(--color-accent-light), 0 4px 18px var(--color-shadow);
}

.event-gallery__nav.swiper-button-disabled {
  opacity: 0.28;
  pointer-events: none;
}

.event-gallery-large .swiper-button-prev {
  inset-inline-start: 10px;
  inset-inline-end: auto;
}

.event-gallery-large .swiper-button-next {
  inset-inline-end: 10px;
  inset-inline-start: auto;
}

.event-gallery-thumb {
  height: 100%;
  max-height: min(520px, 62vh);
}

.event-gallery-thumb .swiper-slide {
  width: 100%;
  height: auto;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s ease, transform 0.15s ease;
}

.event-gallery-thumb .swiper-slide:hover {
  opacity: 0.85;
}

.event-gallery-thumb .swiper-slide-thumb-active {
  opacity: 1;
}

.event-gallery__thumb {
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: var(--color-bg-surface);
}

.event-gallery-thumb .swiper-slide-thumb-active .event-gallery__thumb {
  border-color: var(--color-border-accent);
  box-shadow: 0 2px 12px var(--color-accent-light);
}

.event-gallery__thumb img {
  width: 100%;
  height: 76px;
  object-fit: cover;
  display: block;
}

@media (max-width: 767.98px) {
  .event-gallery--multi {
    flex-direction: column;
    gap: 12px;
  }

  .event-gallery--multi .event-gallery__thumbs {
    flex: none;
    width: 100%;
    max-height: none;
    min-height: 0;
    order: 2;
  }

  .event-gallery--multi .event-gallery__main {
    order: 1;
  }

  .event-gallery-thumb {
    max-height: none;
    height: auto;
  }

  .event-gallery-thumb .swiper-slide {
    width: 72px;
  }

  .event-gallery__thumb img {
    height: 64px;
  }

  .event-gallery__figure {
    min-height: 200px;
    aspect-ratio: 16 / 11;
  }

  .event-gallery__nav.swiper-button-prev,
  .event-gallery__nav.swiper-button-next {
    width: 38px;
    height: 38px;
    --swiper-navigation-size: 17px;
  }
}

/* Single event: spec card + table */
.event-spec {
  background: var(--comment-card-bg, var(--color-bg-page));
  border: var(--comment-card-border, 1px solid var(--color-border));
  border-radius: var(--comment-card-radius, 14px);
  padding: 20px 20px 8px;
  margin-bottom: 20px;
}

.event-spec__title {
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px dashed var(--color-border);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-primary);
}

.event-spec__reviews {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.event-spec__reviews:hover {
  color: var(--color-text-primary);
}

.event-spec__reviews-average {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  color: var(--color-text-primary);
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

.event-spec__reviews-stars.rating-wrapper {
  font-size: 17px;
  letter-spacing: 0.1em;
}

.event-sponsors-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
  align-items: stretch;
}

.event-sponsors-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 110px;
  padding: 18px;
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.event-sponsors-item img {
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.85;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

.event-sponsors-item:hover img {
  filter: none;
  opacity: 1;
}

.event-spec__reviews-count {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.event-table__row--reviews {
  align-items: center;
}

.event-spec__actions {
  margin-top: 16px;
  padding-bottom: 8px;
}

.event-spec__catalog-download {
  width: 100%;
  min-height: 48px;
  height: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.45;
  white-space: normal;
  text-align: center;
}

.event-table {
  list-style: none;
  margin: 0;
  padding: 0;
}

.event-table__row {
  display: grid;
  grid-template-columns: minmax(110px, 32%) 1fr;
  gap: 10px 18px;
  padding: 14px 0;
  border-bottom: 1px dashed var(--color-border);
  align-items: start;
}

.event-table__row:last-child {
  border-bottom: 0;
  padding-bottom: 4px;
}

.event-table__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-secondary);
  line-height: 1.45;
  margin: 0;
}

.event-table__value {
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-text-primary);
  min-width: 0;
}

.event-table__value--richtext>p:first-child {
  margin-top: 0;
}

.event-table__value--richtext>p:last-child {
  margin-bottom: 0;
}

.event-table__price {
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-text-primary);
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

.event-table__price:last-child {
  margin-bottom: 0;
}

.event-table__price--muted {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.event-table__price-sub {
  font-weight: 700;
  font-size: 16px;
  -moz-font-feature-settings: "ss02";
  -webkit-font-feature-settings: "ss02";
  font-feature-settings: "ss02";
}

.event-table__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.event-table__row--price .event-table__value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cta-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  border: 1px solid transparent;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.cta-price i {
  font-size: 18px;
  line-height: 1;
}

.cta-price-phone {
  background: var(--color-accent-light);
  border-color: var(--color-accent-light);
  color: var(--color-text-primary);
}

.cta-price-phone:hover {
  background: var(--color-primary);
  border-color: var(--color-text-primary);
  color: var(--color-text-on-primary);
}

.cta-price-whatsapp {
  background: rgba(37, 211, 102, 0.12);
  border-color: rgba(37, 211, 102, 0.35);
  color: #128c7e;
}

.cta-price-whatsapp:hover {
  background: #25d366;
  border-color: #25d366;
  color: var(--color-text-on-primary);
}

.cta-price:focus {
  outline: none;
}

.cta-price:focus-visible {
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.event-table__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.event-table__chips li {
  margin: 0;
}

.event-table__chips a {
  display: inline-block;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  background: var(--color-bg-surface-alt);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.event-table__chips a:hover {
  background: var(--color-accent-light);
  border-color: var(--color-accent-light);
  color: var(--color-text-primary);
}

.event-table__chips--tags a {
  background: var(--color-accent-light);
  border-color: var(--color-accent-light);
}

.event-table__chips--tags a:hover {
  background: var(--color-accent-light);
  border-color: var(--color-link-hover);
  color: var(--color-text-primary);
}

.item-event-excerpt {
  margin-top: 8px;
  padding: 18px 20px;
  border-radius: 14px;
  background: var(--color-bg-surface-alt);
  border: 1px solid var(--color-border);
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-text-primary);
}

.item-event-excerpt p {
  margin: 0 0 12px;
}

.item-event-excerpt p:last-child {
  margin-bottom: 0;
}

@media (max-width: 575.98px) {
  .event-spec {
    padding: 16px 16px 4px;
  }

  .event-table__row {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 12px 0;
  }

  .event-table__label {
    font-size: 13px;
  }

  .event-table__price {
    font-size: 19px;
  }

  .event-table__ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .cta-price {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .event-comments-row {
    align-items: flex-start;
  }

  .event-comments-summary {
    position: sticky;
    top: calc(5.75rem + env(safe-area-inset-top, 0px));
    z-index: 2;
    align-self: flex-start;
  }

  .event-comments-summary .comment-info {
    max-height: calc(100vh - 6.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Modal / form: rating radios */
.form-rating {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}

.form-rating-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.form-rating-item input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--color-text-primary);
  cursor: pointer;
}

.form-rating-item label {
  margin: 0;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  line-height: 1.4;
}

.form-rating-item:focus-within label {
  color: var(--color-text-primary);
}

/* Comment modal */
#comment-modal .comment-modal-content {
  border-radius: 16px;
}

#comment-modal .comment-modal-header {
  align-items: flex-start;
  gap: 12px;
  padding: 20px 22px;
}

#comment-modal .comment-modal-heading {
  flex: 1;
  min-width: 0;
  padding-inline-end: 8px;
}

#comment-modal .comment-modal-heading .modal-title {
  font-size: 19px;
  font-weight: 800;
  line-height: 1.35;
}

#comment-modal .comment-modal-lead {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  color: var(--color-text-secondary);
}

#comment-modal .comment-modal-body {
  padding: 8px 22px 22px;
}

#comment-modal .comment-modal-fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

#comment-modal .comment-modal-fields>[class*="col-"]>.form-group:last-child {
  margin-bottom: 0;
}

#comment-modal .comment-modal-rating-group {
  margin-bottom: 0;
}

#comment-modal .form-label-block {
  display: block;
  width: 100%;
  margin-bottom: 6px;
}

#comment-modal .comment-modal-hint {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--color-text-secondary);
  font-weight: 500;
}

#comment-modal .comment-modal-hint-rating {
  margin-bottom: 12px;
}

#comment-modal .comment-modal-control.comment-modal-textarea {
  min-height: 148px;
  line-height: 1.55;
}

.form-label-block {
  display: block;
  width: 100%;
  margin-bottom: 6px;
}

/* Comment star rating (form + modal) */
.comment-rating-hint,
.comment-modal-hint-rating {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--color-text-secondary);
  font-weight: 500;
}

.comment-star-rating {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2px;
  padding: 14px 12px;
  background: linear-gradient(180deg, var(--color-bg-surface-alt), var(--color-bg-page));
  border: 1px solid var(--color-border);
  border-radius: 14px;
  direction: ltr;
}

.comment-star {
  margin: 0;
  padding: 6px 10px;
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  cursor: pointer;
  line-height: 1;
  transition: background-color 0.15s ease, transform 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}

.comment-star-symbol {
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  color: rgba(104, 116, 122, 0.3);
  transition: color 0.15s ease, transform 0.12s ease, text-shadow 0.15s ease;
}

.comment-star:hover {
  background: rgba(255, 255, 255, 0.65);
}

.comment-star:hover .comment-star-symbol {
  transform: scale(1.08);
}

.comment-star:focus {
  outline: none;
}

.comment-star:focus-visible {
  background: var(--color-overlay);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.comment-star.is-lit .comment-star-symbol {
  color: var(--color-accent-text);
  text-shadow: 0 0 0 var(--color-accent-light);
}

.comment-star-caption {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-primary);
  min-height: 1.4em;
}

#comment-modal .comment-star-rating {
  justify-content: center;
  padding: 18px 14px;
}

#comment-modal .comment-star-symbol {
  font-size: 2.35rem;
}

#comment-modal .comment-star-caption {
  text-align: center;
  font-size: 15px;
}

#comment-modal .comment-modal-footer {
  padding: 16px 22px 20px;
}

#comment-modal .comment-reply-notice {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: var(--color-accent-light);
  border: 1px solid var(--color-border-strong);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-text-primary);
  gap: 10px 14px;
}

#comment-modal .comment-message {
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: var(--color-bg-surface-alt);
  font-weight: 600;
}

#comment-modal .modal-footer {
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

#comment-modal .modal-footer .button {
  min-width: 7.5rem;
}

.comment-message {
  margin-top: 12px;
  font-size: 14px;
}

.comment-message p {
  margin: 0;
}

.comment-message p+p {
  margin-top: 8px;
}

.comment-form .form-action {
  margin-top: 8px;
}

.comments-title {
  word-break: break-word;
}

.comments-navigation,
.comment-navigation {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px dashed var(--color-border);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  font-weight: 600;
}

.comments-navigation a,
.comment-navigation a {
  color: var(--color-text-primary);
}

.comments-navigation a:hover,
.comment-navigation a:hover {
  color: var(--color-text-secondary);
}

@media (max-width: 767.98px) {
  .comment-info-header {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }

  .comment-info-detail {
    width: 100%;
    text-align: center;
  }

  .comment-info-detail .rating-wrapper {
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
  }
}

.account-auth {
  --auth-accent: var(--color-accent);
  --auth-surface: var(--color-bg-surface-alt);
}

.account-wrapper {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(320px, 540px) 1fr;
  background: var(--color-bg-page);
}

.account-mainbar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
}

.account-nav {
  margin-bottom: 14px;
}

.account-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  font-size: 13px;
}

.account-back::before {
  content: "→";
  font-size: 14px;
}

.account-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-bg-surface);
  box-shadow: 0 18px 44px var(--color-shadow);
  padding: 20px;
}

.account-card-header {
  text-align: center;
  margin-bottom: 16px;
}

.account-card-img {
  max-width: 120px;
  height: auto;
}

.account-card-title {
  margin: 14px 0 6px;
  font-size: 25px;
  line-height: 1.3;
  color: var(--color-text-primary);
}

.account-card-subtitle {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-tertiary);
}

.account-card-body {
  margin-top: 14px;
}

.account-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

.account-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 106, 113, 0.18) 0%, rgba(0, 106, 113, 0.45) 100%);
}

.account-hero-bg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.account-hero--interactive {
  background:
    radial-gradient(1200px 520px at 15% 5%, rgba(154, 203, 208, 0.45) 0%, rgba(154, 203, 208, 0) 60%),
    radial-gradient(900px 500px at 86% 12%, rgba(72, 166, 167, 0.4) 0%, rgba(72, 166, 167, 0) 63%),
    radial-gradient(700px 380px at 70% 85%, rgba(0, 106, 113, 0.35) 0%, rgba(0, 106, 113, 0) 65%),
    linear-gradient(135deg, #006A71 0%, #004F54 40%, #003A3E 100%);
}

.account-hero--interactive::after {
  background:
    radial-gradient(circle at 25% 22%, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0) 48%),
    linear-gradient(180deg, rgba(0, 106, 113, 0.2) 0%, rgba(0, 106, 113, 0.64) 100%);
}

.account-hero-content {
  position: absolute;
  right: 8%;
  bottom: 11%;
  z-index: 3;
  color: var(--color-text-on-primary);
}

.account-hero-content h2 {
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.2;
  color: var(--color-text-on-primary);
}

.account-hero-content p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.9;
}


.account-auth-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--color-bg-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  padding: 4px;
  margin: 0 auto 16px;
}

.account-auth-switch .button {
  min-width: 120px;
}

.account-auth-switch .button.is-active {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
  border-color: var(--color-border-accent);
  box-shadow: 0 8px 18px var(--color-shadow);
}

.account-auth .js-auth-panel {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 16px;
}

/* Downloads Page */
.page-downloads .downloads-intro {
  margin-bottom: 8px;
}

.downloads-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.download-card {
  border: 1px solid var(--color-border);
  border-radius: 18px;
  background: var(--color-bg-surface);
  box-shadow: 0 14px 34px var(--color-shadow);
  padding: 18px;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.download-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 38px var(--color-shadow);
  border-color: var(--color-border-strong);
}

.download-card[open] {
  border-color: var(--color-accent-light);
  box-shadow: 0 18px 34px var(--color-shadow);
}

.download-card-head {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}

.download-card-head::-webkit-details-marker {
  display: none;
}

.download-card-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-muted);
  color: var(--color-text-primary);
  font-size: 18px;
}

.download-card-title {
  margin: 0;
  font-size: 17px;
  line-height: 1.45;
  color: var(--color-text-primary);
}

.download-card-format {
  font-size: 11px;
  color: var(--color-primary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  padding: 4px 9px;
  white-space: nowrap;
  background: var(--color-bg-muted);
}

.download-card-toggle {
  width: 22px;
  height: 22px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-border);
  position: relative;
}

.download-card-toggle::before,
.download-card-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-primary);
}

.download-card-toggle::before {
  width: 10px;
  height: 2px;
}

.download-card-toggle::after {
  width: 2px;
  height: 10px;
  transition: opacity 0.2s ease;
}

.download-card[open] .download-card-toggle::after {
  opacity: 0;
}

.download-card-body {
  color: var(--color-text-secondary);
  font-size: 14px;
  line-height: 1.85;
  flex: 1;
  margin-bottom: 6px;
  padding-inline-start: 48px;
}

.download-card-body p:last-child {
  margin-bottom: 0;
}

.download-card-action {
  margin-top: 14px;
  padding-inline-start: 48px;
}

.download-card-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* FAQ Page */
.page-faq .faq-intro {
  margin-bottom: 6px;
}

.faq-search {
  margin: 0 0 12px;
}

.faq-search-input {
  height: 48px;
  border-radius: var(--radius-md);
  background: var(--color-bg-surface);
}

.faq-list {
  display: grid;
  gap: 12px;
}

.faq-item.is-hidden {
  display: none;
}

.faq-no-results {
  margin: 0;
  padding: 18px 16px;
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  color: var(--color-text-secondary);
  background: var(--color-bg-muted);
}

.faq-item {
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: var(--color-bg-surface);
  box-shadow: 0 10px 24px var(--color-bg-surface-alt);
  overflow: hidden;
}

.faq-item[open] {
  border-color: var(--color-accent-light);
  box-shadow: 0 12px 26px var(--color-shadow);
}

.faq-question {
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-title {
  margin: 0;
  font-size: 16px;
  color: var(--color-text-primary);
}

.faq-icon {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-border);
  position: relative;
  flex-shrink: 0;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: var(--color-primary);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.faq-icon::before {
  width: 10px;
  height: 2px;
}

.faq-icon::after {
  width: 2px;
  height: 10px;
  transition: opacity 0.2s ease;
}

.faq-item[open] .faq-icon::after {
  opacity: 0;
}

.faq-answer {
  padding: 0 18px 16px;
  color: var(--color-text-secondary);
  font-size: 14px;
  line-height: 1.95;
}

.account-auth .account-auth-help {
  margin: 0 0 14px;
  color: var(--color-text-secondary);
  font-size: 13px;
}

.account-auth-status {
  display: none;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  border: 1px solid transparent;
}

.account-auth-status.is-error {
  background: var(--color-danger-bg);
  border-color: #ffcaca;
  color: var(--color-danger-text);
}

.account-auth-status.is-success {
  background: var(--color-success-bg);
  border-color: var(--color-border-accent);
  color: var(--color-success-text);
}

.account-auth-status.is-info {
  background: var(--color-bg-muted);
  border-color: var(--color-border-accent);
  color: var(--color-info-text);
}

.account-auth .form-action {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.account-auth .form-help {
  display: block;
  margin-top: 8px;
  color: var(--color-text-tertiary);
  font-size: 12px;
}

.password-strength {
  margin-top: 8px;
  height: 6px;
  border-radius: var(--radius-pill);
  background: var(--color-border);
  position: relative;
  overflow: hidden;
}

.password-strength::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(var(--score, 0) * 25%);
  background: var(--color-danger-text);
  transition: width 0.2s ease, background-color 0.2s ease;
}

.password-strength span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  color: var(--color-text-secondary);
}

.password-strength[data-score="1"] {
  --score: 1;
}

.password-strength[data-score="2"] {
  --score: 2;
}

.password-strength[data-score="3"] {
  --score: 3;
}

.password-strength[data-score="4"] {
  --score: 4;
}

.password-strength[data-score="2"]::before {
  background: #ef8f2f;
}

.password-strength[data-score="3"]::before {
  background: #d5b234;
}

.password-strength[data-score="4"]::before {
  background: var(--color-success-text);
}

.account-auth .button-link {
  border: 0;
  background: transparent;
  color: var(--color-accent-text);
  font-size: 12px;
  padding: 0;
  margin-top: 8px;
  height: auto;
  min-height: 0;
}

.account-auth .button-link:hover {
  color: var(--color-text-secondary);
}

.otp-alert {
  text-align: center;
  margin: 0 0 12px;
  background: var(--color-bg-surface-alt);
  border: 1px dashed var(--color-border);
  border-radius: 10px;
  padding: 10px;
  font-size: 13px;
}

.otp-alert>strong {
  letter-spacing: 2px;
}

.otp-field {
  direction: ltr;
  flex-wrap: nowrap;
}

.otp-field input {
  text-align: center;
  padding: 0;
  height: 46px;
  font-size: 20px;
  font-weight: 700;
  border-radius: 10px;
}

.otp-timer {
  margin-top: 10px;
  text-align: center;
  font-size: 13px;
  color: var(--color-text-secondary);
}

#account-modal .modal-content {
  border-radius: 18px;
}

#account-modal .modal-title {
  font-size: 19px;
  font-weight: 700;
}

#account-modal .modal-body {
  padding-top: 14px;
}

@media (max-width: 767.98px) {
  .download-card {
    min-height: 0;
    padding: 14px 12px;
  }

  .download-card-head {
    grid-template-columns: auto 1fr auto;
  }

  .download-card-format {
    grid-column: 2 / 3;
    justify-self: start;
    margin-top: 4px;
  }

  .download-card-body,
  .download-card-action {
    padding-inline-start: 0;
  }

  .faq-question {
    padding: 14px 12px;
  }

  .faq-answer {
    padding: 0 12px 14px;
  }

  .account-wrapper {
    grid-template-columns: 1fr;
    background: var(--color-bg-surface-alt);
  }

  .account-mainbar {
    padding: 14px 12px 24px;
    min-height: auto;
  }

  .account-card {
    border-radius: 14px;
    padding: 14px 12px;
  }

  .account-card-title {
    font-size: 22px;
  }

  .account-hero {
    min-height: 220px;
    order: -1;
  }

  .account-hero-content {
    right: 14px;
    left: 14px;
    bottom: 14px;
    max-width: none;
  }

  .account-hero-content h2 {
    font-size: 24px;
  }

  .account-auth-switch {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: var(--radius-md);
  }

  .account-auth-switch .button {
    min-width: 0;
  }

  .account-auth .js-auth-panel {
    padding: 14px 12px;
  }
}

.entry-header {
  border-bottom: 1px dashed var(--color-border);
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.entry-cover {
  overflow: hidden;
  margin-bottom: 16px;
  border-radius: 30px;
  position: relative;
  background: var(--color-bg-surface-alt);
}

.entry-cover>img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 16/9;
  border-radius: 30px;
  display: block;
}

.entry-subheader {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.entry-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.entry-info-time,
.entry-info-cat {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  min-height: 32px;
  padding: 4px 12px;
  font-size: 13px;
  line-height: 1.4;
}

.entry-info-time {
  background: var(--color-bg-surface-alt);
  color: var(--color-text-primary);
}

.entry-info-cat {
  background: var(--color-accent-light);
  color: var(--color-text-primary);
  font-weight: 600;
}

.entry-title {
  font-size: 28px;
  line-height: 1.45;
  margin: 0;
}

.entry-excerpt {
  margin: 0;
  color: var(--color-text-secondary);
  line-height: 1.9;
}

.entry-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 15px;
  padding: 0;
  list-style: none;
}

.entry-share {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent-light));
}

.entry-share>strong {
  margin: 0;
  color: var(--color-text-primary);
  font-size: 13px;
}

.entry-share ul,
.entry-share-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.entry-share-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}

.entry-share-list a:hover {
  border-color: var(--color-accent-light);
  color: var(--color-text-primary);
  transform: translateY(-1px);
}

@media (max-width: 767.98px) {
  .entry-title {
    font-size: 23px;
  }

  .entry-share {
    padding: 10px;
  }

  .entry-share-list a {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
  }
}

/* Dashboard titlebar and sidebar navigation */
.dashboard-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(135deg, var(--color-accent-light), var(--color-bg-surface-alt));
  border: 1px solid var(--color-accent-light);
  border-radius: 14px;
  color: var(--color-text-primary);
  padding: 14px 18px;
  margin-bottom: 20px;
}

.dashboard-card-header .dashboard-card-title {
  margin: 0;
  font-size: 22px;
  line-height: 1.4;
  color: var(--color-text-primary);
}

.dashboard-card-header .dashboard-card-subtitle {
  font-size: 15px;
  color: var(--color-text-primary);
  text-align: end;
}

.dashboard-card-header .dashboard-card-subtitle strong {
  color: var(--color-text-primary);
  font-weight: 700;
}

.dashboard-nav>ul {
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--color-bg-surface);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 14px;
  overflow: hidden;
}

.dashboard-nav>ul>li+li {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.dashboard-nav>ul>li>a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 16px;
  color: var(--color-text-primary);
  font-size: 15px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.dashboard-nav>ul>li>a>[class^="icon-"] {
  font-size: 18px;
  line-height: 1;
}

.dashboard-nav>ul>li>a:hover {
  background-color: var(--color-accent-light);
  color: var(--color-text-primary);
  text-decoration: none;
}

.dashboard-nav>ul>li.active>a {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));
  color: var(--color-text-on-primary);
  font-weight: 700;
}

.dashboard-nav>ul>li.dashboard-nav-logout>a {
  color: var(--color-danger-text);
}

.dashboard-nav>ul>li.dashboard-nav-logout>a:hover {
  background: rgba(180, 35, 24, 0.08);
  color: var(--color-danger-text);
}

@media (max-width: 767.98px) {
  .dashboard-titlebar {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-titlebar .dashboard-welcome {
    text-align: start;
  }
}

.dashboard-widgets {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dashboard-widget-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-widget {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 16px;
  position: relative;
}

.dashboard-widget-title {
  margin: 0 0 6px;
  font-size: 18px;
  color: var(--color-text-primary);
}

.dashboard-widget-subtitle {
  margin: 0 0 10px;
  color: var(--color-text-secondary);
  font-size: 13px;
}

.dashboard-widget-highlight {
  background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent-light));
}

.dashboard-widget-highlight-ticket {
  background: linear-gradient(135deg, rgba(0, 106, 113, 0.13), rgba(154, 203, 208, 0.07));
}

.dashboard-widget-highlight-invoice {
  background: linear-gradient(135deg, rgba(39, 140, 95, 0.13), rgba(99, 188, 148, 0.07));
}

.dashboard-widget-icon {
  width: 42px;
  height: 42px;
  border-radius: var(--radius-md);
  background: var(--color-bg-surface-alt);
  color: var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 10px;
}

.dashboard-widget-number {
  font-size: 36px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--color-text-primary);
  margin-bottom: 4px;
}

.dashboard-pill {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 600;
}

.dashboard-pill.is-success {
  background: rgba(20, 131, 70, 0.12);
  color: var(--color-success-text);
}

.dashboard-pill.is-warning {
  background: rgba(180, 95, 0, 0.12);
  color: #9b5300;
}

.dashboard-widget-link {
  display: inline-block;
  margin-right: 8px;
  color: var(--color-text-primary);
  font-weight: 600;
}

.dashboard-widget-profile-wide {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent-light));
  overflow: hidden;
  isolation: isolate;
}

.dashboard-widget-profile-wide::before,
.dashboard-widget-profile-wide::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  z-index: 0;
}

.dashboard-widget-profile-wide::before {
  width: 260px;
  height: 260px;
  right: -90px;
  top: -120px;
  background: radial-gradient(circle at center, rgba(72, 166, 167, 0.22) 0%, rgba(72, 166, 167, 0) 68%);
  animation: profileWidgetFloatA 10s ease-in-out infinite;
}

.dashboard-widget-profile-wide::after {
  width: 220px;
  height: 220px;
  left: -70px;
  bottom: -125px;
  background: radial-gradient(circle at center, rgba(99, 188, 148, 0.2) 0%, rgba(99, 188, 148, 0) 70%);
  animation: profileWidgetFloatB 12s ease-in-out infinite;
}

.dashboard-widget-profile-wide>* {
  position: relative;
  z-index: 1;
}

@keyframes profileWidgetFloatA {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(-12px, 14px, 0) scale(1.06);
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes profileWidgetFloatB {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(14px, -10px, 0) scale(1.05);
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
}

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

  .dashboard-widget-profile-wide::before,
  .dashboard-widget-profile-wide::after {
    animation: none;
  }
}

.dashboard-widget-profile-status {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.dashboard-widget-profile-status small {
  color: var(--color-text-secondary);
}

.dashboard-widget-profile-action {
  margin-top: 6px;
}

.dashboard-widget-grid-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-widget-stat {
  text-align: center;
  padding: 14px 10px;
}

.dashboard-widget-stat-label {
  display: block;
  color: var(--color-text-secondary);
  font-size: 13px;
  margin-bottom: 8px;
}

.dashboard-widget-stat strong {
  font-size: 24px;
  color: var(--color-primary);
}

.dashboard-widget-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.dashboard-widget-chip {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #7a4200;
  background: rgba(255, 186, 68, 0.25);
}

.dashboard-widget-ticket-stats .dashboard-widget-actions {
  margin-top: 12px;
}

.dashboard-widget-invoice-stats .dashboard-widget-stat-row {
  padding: 7px 0;
}

.dashboard-widget-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.dashboard-widget-kpi-item {
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dashboard-widget-kpi-item span {
  font-size: 12px;
  color: var(--color-text-secondary);
}

.dashboard-widget-kpi-item strong {
  color: var(--color-primary);
  font-size: 16px;
}

.dashboard-widget-stat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: var(--color-text-secondary);
  padding: 8px 0;
  border-bottom: 1px dashed var(--color-border-strong);
}

.dashboard-widget-stat-row:last-of-type {
  border-bottom: 0;
}

.dashboard-widget-stat-row strong {
  font-size: 18px;
  color: var(--color-primary);
}

@media (max-width: 991.98px) {
  .dashboard-widget-grid-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-widget-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {

  .dashboard-widget-grid,
  .dashboard-widget-grid-stats {
    grid-template-columns: 1fr;
  }
}

.dashboard-profile-form,
.dashboard-password-form {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 16px;
}

.dashboard-profile-section-title {
  font-size: 18px;
  color: var(--color-text-primary);
  margin: 0 0 14px;
}

.dashboard-profile-form .form-control[readonly] {
  background: var(--color-bg-surface-alt);
  color: var(--color-text-secondary);
}

.dashboard-profile-separator {
  border-top: 1px dashed var(--color-border);
  margin: 20px 0;
}

.dashboard-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.dashboard-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.dashboard-table th,
.dashboard-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--color-border);
  text-align: right;
  vertical-align: middle;
}

.dashboard-table th {
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: 700;
}

.dashboard-table td {
  color: var(--color-text-primary);
  font-size: 14px;
}

.dashboard-badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
}

.dashboard-badge.is-invoice {
  background: rgba(35, 105, 180, 0.14);
  color: var(--color-info-text);
}

.dashboard-badge.is-preinvoice {
  background: rgba(122, 57, 201, 0.14);
  color: var(--color-primary);
}

.dashboard-badge.is-pending {
  background: rgba(176, 112, 0, 0.15);
  color: #945e00;
}

.dashboard-badge.is-completed {
  background: rgba(20, 131, 70, 0.14);
  color: var(--color-success-text);
}

.dashboard-badge.is-cancelled {
  background: rgba(180, 35, 24, 0.14);
  color: var(--color-danger-text);
}

.dashboard-empty-state {
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  padding: 24px;
  text-align: center;
  color: var(--color-text-secondary);
}

.ticket-modal-intro {
  margin-bottom: 14px;
  color: var(--color-text-secondary);
  font-size: 14px;
}

.ticket-files-preview {
  margin-top: 8px;
}

.ticket-voice-recorder {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}

#ticket-voice-preview {
  margin-top: 8px;
  width: 100%;
  max-width: 340px;
}

.ticket-files-list {
  margin: 0;
  padding: 0 16px 0 0;
  color: var(--color-text-secondary);
  font-size: 13px;
}

.ticket-files-list li+li {
  margin-top: 4px;
}

.ticket-card-attachments {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ticket-chat {
  border: 1px solid var(--color-border);
  border-radius: 16px;
  background: var(--color-bg-surface);
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 106, 113, 0.08);
}

.ticket-chat-header {
  margin: 0 !important;
  padding: 14px 16px;
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent-light));
}

.ticket-meta-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.ticket-meta-bar .text-muted {
  font-size: 13px;
  color: var(--color-text-secondary);
  background: var(--color-bg-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  padding: 4px 10px;
}

.ticket-meta-bar .badge {
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 10px;
  border: 1px solid transparent;
}

.ticket-meta-bar .badge-warning {
  background: rgba(180, 95, 0, 0.12);
  color: #8a4b00;
  border-color: rgba(180, 95, 0, 0.2);
}

.ticket-meta-bar .badge-success {
  background: rgba(20, 131, 70, 0.12);
  color: var(--color-success-text);
  border-color: rgba(20, 131, 70, 0.2);
}

.ticket-meta-bar .badge-danger {
  background: rgba(180, 35, 24, 0.12);
  color: var(--color-danger-text);
  border-color: rgba(180, 35, 24, 0.2);
}

.ticket-meta-bar .badge-info {
  background: var(--color-border-strong);
  color: var(--color-info-text);
  border-color: var(--color-accent-light);
}

.ticket-chat-body {
  max-height: min(70vh, 680px);
  overflow-y: auto;
  padding: 16px;
  background: radial-gradient(circle at 10% 10%, var(--color-bg-surface-alt), var(--color-bg-page) 42%, var(--color-bg-surface-alt));
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-strong) transparent;
}

.ticket-chat-body::-webkit-scrollbar {
  width: 10px;
}

.ticket-chat-body::-webkit-scrollbar-thumb {
  border-radius: var(--radius-pill);
  background: var(--color-border-strong);
  border: 2px solid transparent;
  background-clip: content-box;
}

.ticket-chat-body::-webkit-scrollbar-track {
  background: transparent;
}

.ticket-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ticket-card {
  max-width: min(86%, 760px);
  border-radius: 14px;
  padding: 10px 12px;
  border: 1px solid var(--color-border);
  box-shadow: 0 3px 10px rgba(0, 106, 113, 0.06);
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ticket-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 106, 113, 0.1);
}

.ticket-card-user {
  margin-right: auto;
  background: var(--color-bg-surface);
}

.ticket-card-user::before {
  content: "";
  position: absolute;
  right: -7px;
  top: 16px;
  width: 14px;
  height: 14px;
  background: var(--color-bg-surface);
  border-top: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  transform: rotate(45deg);
}

.ticket-card-admin {
  margin-left: auto;
  background: var(--color-bg-muted);
  border-color: var(--color-accent-light);
}

.ticket-card-admin::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 16px;
  width: 14px;
  height: 14px;
  background: var(--color-bg-muted);
  border-bottom: 1px solid var(--color-accent-light);
  border-left: 1px solid var(--color-accent-light);
  transform: rotate(45deg);
}

.ticket-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.ticket-card-author {
  font-weight: 700;
  color: var(--color-primary);
  font-size: 13px;
  letter-spacing: 0.2px;
}

.ticket-card-time {
  font-size: 12px;
  color: var(--color-text-secondary);
}

.ticket-card-body {
  line-height: 1.9;
  color: var(--color-text-primary);
  word-break: break-word;
  font-size: 14px;
}

.ticket-chat-footer {
  border-top: 1px solid var(--color-border);
  padding: 12px;
  background: linear-gradient(180deg, var(--color-bg-surface), var(--color-bg-surface));
}

#ticket-reply-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}

.ticket-reply-file {
  grid-column: 1 / span 1;
}

.ticket-reply-btn {
  grid-column: 2 / span 1;
  min-width: 120px;
  height: 42px;
  border-radius: 10px;
  border: 0;
  background: var(--color-primary);
  color: var(--color-text-on-primary);
  font-weight: 700;
  box-shadow: 0 8px 14px var(--color-shadow);
  transition: all 0.2s ease;
}

.ticket-reply-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 18px rgba(0, 0, 0, 0.12);
}

#ticket-reply-files-preview {
  grid-column: 1 / span 2;
}

.ticket-card-attachments a {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
  padding: 2px;
}

.ticket-card-attachments img {
  display: block;
}

.ticket-card-attachments audio,
.ticket-card-attachments video {
  border-radius: 10px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
}

.ticket-load-more-wrap {
  padding: 6px 0 10px;
}

#ticket-load-more-replies {
  border-radius: var(--radius-pill);
  background: var(--color-bg-surface);
}

.dashboard-ticket-list .subsection-header {
  align-items: center;
}

.dashboard-ticket-table {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  min-width: 680px;
}

.dashboard-ticket-table thead th {
  background: var(--color-bg-surface-alt);
  color: var(--color-text-secondary);
  font-size: 12px;
  letter-spacing: 0.2px;
}

.dashboard-ticket-table tbody tr:hover {
  background: var(--color-accent-light);
}

.dashboard-ticket-table td {
  padding-top: 14px;
  padding-bottom: 14px;
}

.ticket-table-title {
  font-weight: 700;
  color: var(--color-text-primary);
  margin-bottom: 4px;
}

.ticket-table-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  color: var(--color-text-secondary);
  font-size: 12px;
}

.ticket-table-meta>span {
  background: var(--color-bg-surface-alt);
  border-radius: var(--radius-pill);
  padding: 2px 8px;
}

.dashboard-invoice-table .ticket-table-meta .dashboard-badge {
  padding: 2px 9px;
  font-size: 11px;
}

.dashboard-ticket-table .table-action {
  white-space: nowrap;
}

.ticket-upload-progress {
  width: 100%;
  height: 6px;
  border-radius: var(--radius-pill);
  background: var(--color-bg-surface-alt);
  margin-top: 8px;
  overflow: hidden;
}

.ticket-upload-progress>div {
  height: 100%;
  width: 0;
  background: var(--color-primary);
  transition: width 0.2s ease;
}

@media (max-width: 767.98px) {
  .dashboard-table {
    min-width: 640px;
  }

  .dashboard-ticket-table {
    min-width: 560px;
  }

  .ticket-card {
    max-width: 100%;
  }

  .ticket-card::before {
    display: none;
  }

  #ticket-reply-form {
    grid-template-columns: 1fr;
  }

  .ticket-reply-btn,
  .ticket-reply-file,
  #ticket-reply-files-preview {
    grid-column: 1 / span 1;
  }

  .button-ticket-sticky-mobile {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 1001;
    border-radius: var(--radius-pill);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.2);
  }
}

/* Theme */
#header {
  position: relative;
  z-index: 1000;
  background: var(--color-bg-surface);
}

.header-mainbar,
.header-actions,
.header-navrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 8px clamp(10px, 1.7vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1 1 auto;
  min-width: 0;
}

.header-contact>li {
  display: flex;
  align-items: center;
  max-width: 330px;
  min-width: 0;
  column-gap: 10px;
}

.header-contact>li>i {
  min-width: 34px;
  height: 34px;
  background-color: var(--color-text-primary);
  color: var(--color-text-on-primary);
  font-size: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}

.header-contact>li>div {
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.7;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-contact>li>div>a {
  color: inherit;
}

.lang-nav {
  margin: 0;
  padding: 4px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--color-bg-surface-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  line-height: 1;
}

.lang-nav>li {
  display: inline-flex;
  align-items: center;
}

.lang-nav>li:not(:last-child)::after {
  content: none;
}

.lang-nav>li>a {
  min-width: 42px;
  height: 34px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  color: var(--color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 800;
  transition: all 0.2s ease;
}

.lang-nav>li:hover>a,
.lang-nav>li.active>a {
  background: var(--color-primary);
  border-color: var(--color-text-primary);
  color: var(--color-text-on-primary);
  box-shadow: 0 8px 18px rgba(0, 106, 113, 0.14);
}

.header-bottom {
  position: sticky;
  top: 0;
  z-index: 1001;
  background: color-mix(in srgb, var(--color-bg-surface) 96%, transparent);
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 12px 30px rgba(0, 106, 113, 0.06);
  backdrop-filter: blur(10px);
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}

.header-mainbar {
  gap: clamp(12px, 2vw, 28px);
  padding: 12px 0 10px;
  transition: padding 0.2s ease;
}

.header-actions {
  flex: 0 0 auto;
  gap: 12px;
}

.header-navrow {
  justify-content: center;
  padding: 0 0 8px;
  border-top: 1px solid var(--color-bg-surface-alt);
}

.logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.logo>img {
  width: auto;
  height: clamp(40px, 3.5vw, 48px);
  display: block;
  transition: height 0.2s ease;
}

.mobile-nav-head,
.mobile-nav-contact,
.mobile-nav-lang {
  display: none;
}

.mobile-nav-logo>img {
  width: auto;
  height: 42px;
  display: block;
}

.nav-close {
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: var(--color-bg-page);
  color: var(--color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  cursor: pointer;
}

.nav-toggle {
  min-width: 46px;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-bg-page);
  color: var(--color-text-primary);
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.nav-toggle>i {
  font-size: 22px;
}

.nav-toggle:hover,
.nav-toggle:focus-visible,
#header.is-nav-open .nav-toggle {
  background: var(--color-primary);
  border-color: var(--color-text-primary);
  color: var(--color-text-on-primary);
  outline: 0;
}

.user-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  column-gap: clamp(8px, 1vw, 16px);
}

.search-toggle>a,
.call-toggle>a,
.account-toggle-link,
.search-toggle-link {
  min-width: 55px;
  height: 55px;
  border-radius: 50%;
  font-size: 28px;
  border: 1px solid transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.account-toggle-link,
.search-toggle-link {
  display: inline-flex;
  background: var(--color-bg-surface);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

.search-toggle>a {
  background: var(--color-bg-surface);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

.account-toggle-link:hover,
.search-toggle>a:hover,
.search-toggle-link:hover,
.account-toggle-link:focus-visible,
.search-toggle-link:focus-visible,
#header.is-search-open .search-toggle-link {
  background: var(--color-primary);
  border-color: var(--color-text-primary);
  color: var(--color-text-on-primary);
  outline: 0;
}

.call-toggle>a {
  background: var(--color-danger-text);
  color: var(--color-text-on-primary);
}

@media (min-width: 992px) {
  #header.is-compact .header-bottom {
    background: color-mix(in srgb, var(--color-bg-surface) 98%, transparent);
    box-shadow: 0 10px 24px rgba(0, 106, 113, 0.08);
  }

  #header.is-compact .header-mainbar {
    padding: 6px 0;
  }

  #header.is-compact .header-contact {
    display: none;
  }

  #header.is-compact .logo>img {
    height: 38px;
  }

  #header.is-compact .header-navrow {
    min-height: 44px;
    padding-bottom: 4px;
  }

  #header.is-compact .search-toggle>a,
  #header.is-compact .call-toggle>a,
  #header.is-compact .account-toggle-link,
  #header.is-compact .search-toggle-link {
    min-width: 46px;
    height: 46px;
    font-size: 22px;
  }

  #header.is-compact #navigation>ul>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.header-search-panel {
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  background: linear-gradient(135deg, var(--color-bg-surface-alt), var(--color-bg-page));
  padding: 12px 0;
}

.header-search-form {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
}

.header-search-input {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  background: var(--color-bg-surface);
}

.header-search-input:focus {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
  outline: 0;
}

.header-search-close {
  width: 44px;
  height: 44px;
  border: 1px solid var(--color-border-strong);
  background: var(--color-bg-surface);
  border-radius: var(--radius-md);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--color-text-primary);
  font-size: 22px;
  cursor: pointer;
}

.header-search-close:hover {
  border-color: var(--color-accent-light);
  color: var(--color-text-primary);
}

.screen-reader-text {
  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;
}

.slideshow {
  background: var(--color-primary);
  border-radius: 30px;
  overflow: hidden;
}

.slide-card-img {
  border-radius: 30px;
  width: 100%;
  height: 100%;
  min-height: 500px;
  max-height: 70vh;
  object-fit: cover;
  object-position: center;
}

.slideshow .slick-arrow {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.slideshow-inner {
  position: relative;
  overflow: hidden;
}

.intro-grid>div>.intro-card:not(:only-child) {
  height: calc(50% - 15px);
}

.intro-card {
  border-radius: var(--radius-lg);
  padding: 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--color-text-secondary);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.intro-card+.intro-card {
  margin-top: 30px;
}

.intro-card-about {
  background: linear-gradient(180deg, #D4E8EA 0%, var(--palette-soft) 100%);
}

.intro-card-about::after {
  opacity: 0.8;
  filter: blur(2px);
  background: url(../img/bg-01.webp) no-repeat right bottom;
  background-size: cover;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  content: "";
}

.intro-card-event {
  background: var(--color-bg-surface-alt);
}

.intro-card-support {
  background: var(--color-accent-light);
  border: 1px solid color-mix(in srgb, var(--color-accent) 14%, var(--color-border));
}

.intro-card-support .intro-card-icon {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
}

.intro-card-footer {
  text-align: end;
}

.intro-card-event,
.intro-card-support {
  flex-direction: row;
  align-items: center;
  column-gap: 20px;
}

.intro-card-icon {
  padding: 10px;
  min-width: 62px;
  max-width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: auto;
}

.intro-card-icon>img {
  width: 100%;
  filter: brightness(0) invert(1);
}

.intro-card-stat {
  background: var(--color-primary);
}

.intro-card-title {
  color: var(--color-text-primary);
  font-size: 26px;
  font-weight: 700;
  text-wrap: balance;
  margin: 0;
}

.intro-card-subtitle {
  color: var(--color-text-secondary);
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 10px;
}

.intro-card-body,
.intro-card-footer {
  margin-top: 15px;
}

.stat-grid>div:not(:last-child)::after {
  width: 100%;
  height: 1px;
  background: var(--color-bg-surface-alt);
  opacity: 0.15;
  margin: 20px 0;
  display: block;
  content: "";
}

.stat-card-header {
  display: flex;
  align-items: center;
  column-gap: 20px;
  line-height: 1;
}

.stat-card-icon>img {
  min-width: 32px;
  aspect-ratio: 1/1;
  filter: brightness(0) invert(1);
}

.stat-card-subtitle {
  font-size: 60px;
  color: var(--color-accent-text);
  display: flex;
  flex-direction: row-reverse;
  align-items: end;
  column-gap: 10px;
}

.stat-card-subtitle::before {
  content: "+";
}

.stat-card-title {
  color: var(--color-text-on-primary);
  font-size: 17px;
  margin: 0;
  font-weight: 500;
  text-wrap: balance;
}

.event-category-slider {
  position: relative;
}

.event-category-slider .event-category-slide {
  padding-inline: 12px;
  height: auto;
}

.event-category-slider .event-card {
  height: 100%;
}

.event-category-slider .slick-list {
  margin-inline: -12px;
}

.event-category-slider .slick-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--color-bg-surface);
  color: var(--color-text-primary);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--color-text-primary) 12%, transparent);
  transform: translateY(-50%);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.event-category-slider .slick-arrow::before {
  font-family: "slick";
  font-size: 18px;
  line-height: 1;
  opacity: 1;
  color: currentColor;
}

.event-category-slider .slick-prev {
  inset-inline-start: 0;
}

.event-category-slider .slick-prev::before {
  content: "←";
}

.event-category-slider .slick-next {
  inset-inline-end: 0;
}

.event-category-slider .slick-next::before {
  content: "→";
}

.event-category-slider .slick-arrow:hover {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
}

.event-category-slider .slick-arrow.slick-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.section-workshop .section-inner {
  padding: 60px;
  border-radius: 35px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.section-workshop .section-inner::before {
  background: url(../img/bg-02.webp) left bottom;
  background-size: cover;
  transform: scaleX(-1);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  content: "";
}

.section-workshop .stat-card {
  text-align: start;
}

.section-workshop .stat-card::after {
  width: 100%;
  height: 1px;
  background: var(--color-bg-surface-alt);
  opacity: 0.15;
  margin: 20px 0;
  display: block;
  content: "";
}

.section-workshop .section-cover {
  display: flex;
  column-gap: 30px;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.section-workshop .section-cover>li {
  width: 50%;
  height: 100%;
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.section-workshop .section-cover>li>img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: grayscale(1);
}

.section-workshop .section-cover>li::after {
  background: var(--color-bg-soft);
  mix-blend-mode: color;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
}

.section-workshop .section-title {
  color: var(--color-accent-text);
  font-size: 34px;
  font-weight: 800;
  margin: 0;
}

.section-workshop .section-subtitle {
  color: var(--color-text-on-primary);
  font-size: 24px;
  font-weight: 650;
  margin: 10px 0 0;
}

.section-workshop .section-desc {
  color: var(--color-text-tertiary);
  margin: 10px 0 0;
}

.section-workshop .section-nav {
  margin: 30px 0 0;
}

.section-workshop .section-nav .button {
  background-color: var(--color-text-secondary);
}

.section-workshop .section-nav .button:hover {
  background-color: var(--color-bg-surface-alt);
  color: var(--color-text-primary);
}

/* Event archive — filters (category / brand) */
.event-archive-filters {
  margin: 0 0 28px;
}

.event-archive-wrapper .taxonomy-description {
  margin-bottom: 24px;
}

.event-archive-filters__panel {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 24px;
  padding: 20px 22px 22px;
  box-shadow: 0 8px 28px rgba(0, 106, 113, 0.06);
}

.event-archive-filters__heading {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text-primary);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-border);
}

.event-archive-filters__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

@media (min-width: 768px) {
  .event-archive-filters__form {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
  }
}

.event-archive-filters__fields {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1 1 auto;
  min-width: 0;
}

@media (min-width: 576px) {
  .event-archive-filters__fields {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px 20px;
  }
}

.event-archive-filters__field-wrap {
  flex: 1 1 200px;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.event-archive-filters__label {
  font-size: 14px;
  font-weight: 650;
  color: var(--color-text-secondary);
  margin: 0;
  cursor: pointer;
}

.event-archive-filters__select {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  padding-inline-start: 40px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-text-primary);
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235C6478' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}

.event-archive-filters__select:hover {
  background-color: var(--color-bg-surface-alt);
}

.event-archive-filters__select:focus {
  outline: none;
  border-color: var(--color-border-accent);
  box-shadow: 0 0 0 3px var(--color-focus-ring);
  background-color: var(--color-bg-surface);
}

.event-archive-filters__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .event-archive-filters__actions {
    padding-bottom: 2px;
  }
}

.event-archive-filters__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 14px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.event-archive-filters__btn--primary {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
  border-color: var(--color-border-accent);
}

.event-archive-filters__btn--primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: var(--color-text-on-primary);
}

.event-archive-filters__btn--primary:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.event-archive-filters__btn--ghost {
  background: transparent;
  color: var(--color-text-primary);
  border-color: var(--color-border);
}

.event-archive-filters__btn--ghost:hover {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border-strong);
  color: var(--color-text-primary);
}

.event-archive-filters__btn--ghost:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.event-card {
  background: var(--color-bg-surface);
  padding: 10px;
  border-radius: 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.event-card-img {
  width: 100%;
  border-radius: var(--radius-lg);
  background: var(--color-bg-surface);
}

.event-card-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}

.event-card-meta {
  list-style: none;
  margin: .75rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem
}

.event-card-meta-item {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .875rem;
  opacity: .85
}

.event-card-meta-item i {
  font-size: 1rem
}

.event-card-footer {
  margin-top: auto;
}

.event-card-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
}

.event-card-action>a {
  height: 46px;
  border-radius: 46px;
  padding: 5px;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  line-height: 1;
}

.event-card-action>a>i {
  color: var(--color-text-on-primary);
  font-size: 24px;
  margin-right: 5px;
  margin-left: 10px;
}

.event-card-action>a>span {
  font-size: 13px;
  background: var(--color-bg-surface);
  height: 100%;
  border-radius: 50px;
  padding: 10px;
  display: flex;
  align-items: center;
}

.event-card-action>a:hover>span {
  background: var(--color-text-secondary);
  color: var(--color-text-on-primary);
}

.event-card-action>a.event-card-action-whatsapp {
  background: #25d366;
}

.event-card-action>a.event-card-action-whatsapp:hover>span {
  background: #128c7e;
}

.blog-card {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-bottom-width: 6px;
  border-radius: 30px;
  padding: 15px;
  height: 100%;
  transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
  display: flex;
  flex-direction: column;
  position: relative;
}

.blog-card-header {
  position: relative;
}

.blog-card-img {
  width: 100%;
  border-radius: 15px;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
}

.blog-card-time {
  width: 80px;
  background-color: var(--color-primary);
  color: var(--color-text-primary);
  position: absolute;
  left: 10px;
  top: 10px;
  display: flex;
  flex-direction: column;
  text-align: center;
  line-height: 1;
  border-radius: 5px;
  padding: 15px 5px;
  row-gap: 15px;
}

.blog-card-time>strong {
  font-size: 30px;
  font-weight: 500;
}

.blog-card-time>span {
  font-size: 12px;
}

.blog-card-body {
  padding-top: 15px;
}

.blog-card-title {
  font-size: 18px;
  height: 54px;
  font-weight: 600;
  margin: 0;
}

.blog-card-desc {
  color: var(--color-text-secondary);
  border-top: 1px solid var(--color-border);
  margin-top: 15px;
  padding-top: 15px;
}

#footer {
  margin-top: auto;
}

.cta-sticky {
  position: fixed;
  left: 14px;
  bottom: 14px;
  z-index: 999;
}

.cta-sticky-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cta-sticky-list::-webkit-scrollbar {
  display: none;
}

.cta-sticky-item {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 8px 22px rgba(0, 106, 113, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-on-primary);
  font-size: 26px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.cta-sticky-item i::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: brightness(0) invert(1);
}

.cta-sticky-item i.icon-instagram::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-telegram::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-whatsapp::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-linkedin::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.3 448H7.4V148.9h92.9zM53.8 108.1C24.1 108.1 0 83.5 0 53.8a53.8 53.8 0 0 1 107.6 0c0 29.7-24.1 54.3-53.8 54.3zM447.9 448h-92.7V302.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V448h-92.8V148.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V448z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-threads::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.783 3.631 2.698 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32l-1.757-1.18c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-aparat::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.02 22.02'%3E%3Cpath d='M11 1.75A9.27 9.27 0 1 0 20.28 11 9.28 9.28 0 0 0 11 1.75M8.68 4.62A2.34 2.34 0 1 1 6.36 7a2.33 2.33 0 0 1 2.32-2.38M6.91 15.67a2.34 2.34 0 1 1 2.37-2.3 2.32 2.32 0 0 1-2.37 2.3M9.84 11A1.17 1.17 0 1 1 11 12.19 1.16 1.16 0 0 1 9.84 11m3.46 6.39a2.34 2.34 0 1 1 2.36-2.32 2.33 2.33 0 0 1-2.36 2.32M15.08 11a2.34 2.34 0 1 1 2.32-2.33A2.32 2.32 0 0 1 15.08 11'/%3E%3Cpath d='M9.62.65 9.48.59C8.71.42 7.94.23 7.16.07A3.72 3.72 0 0 0 2.9 2.51c-.3.9-.46 1.84-.69 2.77A10.85 10.85 0 0 1 9.62.65m9.75 2.19c-.28-.08-.56-.14-.85-.21l-1.78-.4a10.78 10.78 0 0 1 4.63 7.4 1.56 1.56 0 0 0 .07-.17c.17-.76.35-1.52.51-2.28a3.78 3.78 0 0 0-2.58-4.34M.61 12.44c-.17.78-.35 1.56-.52 2.34a3.73 3.73 0 0 0 2.6 4.41c.65.19 1.32.31 2 .46l.63.14a10.92 10.92 0 0 1-4.71-7.35m11.83 8.97 2.34.53a3.78 3.78 0 0 0 4.46-2.75c.15-.61.27-1.22.41-1.84.05-.19.09-.38.13-.57a11 11 0 0 1-7.34 4.63'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-twitter::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-youtube::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-facebook::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-bale::before {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.425 23.987a12.218 12.218 0 0 1-2.95-.514 6.578 6.578 0 0 0-.336-.116C4.936 22.303 2.22 19.763.913 16.599a11.92 11.92 0 0 1-.9-4.063C.005 12.377.001 10.246 0 6.74 0 .71-.005 1.137.07.903.23.394.673.05 1.224.005c.421-.034.7.088 1.603.699.562.38 1.119.78 1.796 1.289.315.237.353.261.376.247l.35-.23c.58-.381 1.11-.677 1.7-.945A11.913 11.913 0 0 1 9.766.21a11.19 11.19 0 0 1 2.041-.2c1.14-.016 2.077.091 3.152.36 3.55.888 6.538 3.411 8.028 6.78.492 1.113.845 2.43.945 3.522.033.366.039.43.053.611.008.105.015.406.015.669 0 .783-.065 1.57-.169 2.064a5.474 5.474 0 0 0-.046.26c-.056.378-.214.987-.399 1.535-.205.613-.367.999-.684 1.633a11.95 11.95 0 0 1-2.623 3.436c-.44.396-.829.705-1.26 1.003-.647.445-1.307.812-2.039 1.134-.6.265-1.44.539-2.101.686a11.165 11.165 0 0 1-1.178.202 12.28 12.28 0 0 1-2.076.082zm-.61-5.92c.294-.06.678-.209.864-.337.144-.099.428-.376 2.064-2.013a161.8 161.8 0 0 1 1.764-1.753c.017 0 1.687-1.67 1.687-1.689 0-.02 1.64-1.648 1.661-1.648.01 0 .063-.047.118-.106.467-.495.682-.957.716-1.547.026-.433-.06-.909-.217-1.196a2.552 2.552 0 0 0-.983-1.024c-.281-.163-.512-.233-.888-.27-.306-.031-.688 0-.948.075-.243.07-.603.274-.853.481-.042.035-1.279 1.265-2.748 2.733l-2.671 2.67-1.093-1.09c-.6-.6-1.12-1.114-1.155-1.142a2.419 2.419 0 0 0-1.338-.51c-.404-.013-.91.09-1.224.25a2.89 2.89 0 0 0-.659.526c-.108.12-.287.357-.29.385-.003.03-.009.044-.065.16a2.312 2.312 0 0 0-.224.91c-.011.229-.01.265.019.491.045.353.24.781.51 1.115.05.063.97.992 2.044 2.064 1.507 1.505 1.98 1.97 2.074 2.039.327.24.683.388 1.101.456.182.03.5.016.734-.03z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.054 15.054 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.01-.24 11.36 11.36 0 0 0 3.57.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11.36 11.36 0 0 0 .57 3.57 1 1 0 0 1-.24 1.01z'/%3E%3C/svg%3E");
}

.cta-sticky-item i.icon-shield-tick::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 12 2 4 6v6c0 5 3.4 9.7 8 10.9C16.6 21.7 20 17 20 12zm-9.2 9.2L7.6 12l1.4-1.4 1.8 1.8 4.2-4.2 1.4 1.4z'/%3E%3C/svg%3E");
}

.cta-sticky-item:hover {
  transform: scale(1.06);
  color: var(--color-text-on-primary);
  box-shadow: 0 10px 28px rgba(0, 106, 113, 0.32);
}

.cta-sticky-item--sms {
  background: #24c29a;
}

.cta-sticky-item--telegram {
  background: #2aabee;
}

.cta-sticky-item--instagram {
  background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 48%, #fcb045 100%);
}

.cta-sticky-item--whatsapp {
  background: #25d366;
}

.cta-sticky-item--whatsapp-uae {
  background: #1ebc58;
}

.cta-sticky-item--whatsapp-ca {
  background: #18a957;
}

.cta-sticky-item--call {
  background: #0f5c73;
}

.cta-sticky-item--facebook {
  background: #1877f2;
}

.cta-sticky-item--x {
  background: #111;
}

.cta-sticky-item--threads {
  background: #1f1f1f;
}

.cta-sticky-item--linkedin {
  background: #0a66c2;
}

.cta-sticky-item--youtube {
  background: #ff0000;
}

.cta-sticky-item--aparat {
  background: #ed145b;
}

.cta-sticky-item--bale {
  background: #1ca28c;
}

@media (max-width: 767.98px) {
  .cta-sticky {
    left: 8px;
  }

  .cta-sticky-list {
    gap: 10px;
  }

  .cta-sticky-item {
    width: 56px;
    height: 56px;
    font-size: 20px;
  }
}

.footer-top .footer-inner {
  background: var(--color-primary);
  color: var(--color-text-on-primary-muted);
  padding: clamp(45px, 4.3vw, 60px) clamp(15px, 7.8vw, 120px);
  border-radius: 35px;
}

.footer-intro {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
}

.footer-logo>img {
  filter: brightness(0) invert(1);
  height: 100px;
}

.footer-about {
  color: var(--color-text-on-primary-muted);
  font-size: 15px;
  line-height: 2;
}

.footer-about p:last-child {
  margin-bottom: 0;
}

.footer-about a {
  color: var(--color-text-on-primary);
  font-weight: 700;
}

.footer-title {
  color: var(--color-text-on-primary);
}

.footer-contact-list,
.footer-social-nav,
.footer-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--color-text-on-primary-muted);
}

.footer-contact-list li i {
  width: 24px;
  min-width: 24px;
  margin-top: 2px;
  color: var(--color-text-on-primary);
}

.footer-contact-list li a {
  color: inherit;
}

.footer-contact-list li a:hover {
  color: var(--color-text-on-primary);
}

.footer-social-nav {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer-social-nav>li>a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: var(--color-text-on-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.footer-social-nav>li>a:hover {
  border-color: rgba(255, 255, 255, 0.55);
  color: var(--color-text-on-primary);
}

.footer-contact-list i::before {
  background-image: none !important;
  filter: none !important;
  font-family: "icomoon" !important;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links a {
  color: var(--color-text-on-primary-muted);
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: var(--color-text-on-primary);
}

.footer-empty {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
}

.footer-bottom {
  padding: 20px 0;
  text-align: center;
}

/*Plugin*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;

  height: 100%;
  min-height: 1px;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}

/*--*/
.toaster {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  list-style: none;
  outline: none;
  z-index: 999999999;
  position: fixed;
  padding: 5px;
}

.toaster.bottom-right {
  bottom: 20px;
  right: 20px;
}

.toaster.bottom-left {
  bottom: 20px;
  left: 20px;
}

.toaster.top-right {
  top: 20px;
  right: 20px;
}

.toaster.top-left {
  top: 20px;
  left: 20px;
}

.toaster.bottom-center {
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.toaster.top-center {
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.toaster.top-center ol.rack {
  flex-direction: column-reverse;
}

.toaster.top-left ol.rack {
  flex-direction: column-reverse;
}

.toaster.top-right ol.rack {
  flex-direction: column-reverse;
}

.toaster.bottom-center ol.rack {
  flex-direction: column;
}

.toaster.bottom-left ol.rack {
  flex-direction: column;
}

.toaster.bottom-right ol.rack {
  flex-direction: column;
}

ol.rack {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

ol.rack li {
  margin-bottom: 16px;
}

ol.rack.upperstack li {
  margin-bottom: -35px;
  transition: all 0.3s ease-in-out;
}

ol.rack.upperstack li:hover {
  margin-bottom: 16px;
  scale: 1.03;
  transition: all 0.3s ease-in-out;
}

ol.rack.lowerstack li {
  margin-top: -35px;
}

ol.rack.lowerstack {
  margin-bottom: 0px;
}

.butteruptoast {
  border-radius: var(--radius-sm);
  box-shadow: 0 4px 12px var(--color-shadow);
  font-size: 13px;
  display: flex;
  padding: 16px;
  border: 1px solid var(--color-border);
  background-color: var(--color-bg-surface);
  gap: 6px;
  color: var(--color-text-primary);
  width: 325px;
}

.butteruptoast.dismissable {
  cursor: pointer;
}

.butteruptoast .icon {
  display: flex;
  align-items: start;
  flex-direction: column;
}

.butteruptoast .icon svg {
  width: 20px;
  height: 20px;
  fill: var(--color-text-primary);
}

.notif .desc {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.notif .desc .title {
  font-weight: 600;
  line-height: 1.5;
}

.notif .desc .message {
  font-weight: 400;
  line-height: 1.4;
}

.butteruptoast.success {
  background-color: var(--color-success-bg);
  color: var(--color-success-text);
  border: solid 1px hsl(145, 92%, 91%);
}

.butteruptoast.success .icon svg {
  fill: var(--color-success-text);
}

.butteruptoast.error .icon svg {
  fill: hsl(0, 100%, 27%);
}

.butteruptoast.warning .icon svg {
  fill: hsl(50, 100%, 27%);
}

.butteruptoast.info .icon svg {
  fill: var(--color-info-text);
}

.butteruptoast.error {
  background-color: var(--color-danger-bg);
  color: hsl(0, 100%, 27%);
  border: solid 1px hsl(0, 92%, 91%);
}

.butteruptoast.warning {
  background-color: var(--color-warning-bg);
  color: hsl(50, 100%, 27%);
  border: solid 1px hsl(50, 92%, 91%);
}

.butteruptoast.info {
  background-color: var(--color-bg-muted);
  color: hsl(210, 100%, 27%);
  border: solid 1px hsl(210, 92%, 91%);
}

.toast-buttons {
  display: flex;
  gap: 8px;
  width: 100%;
  align-items: center;
  flex-direction: row;
  margin-top: 16px;
}

.toast-buttons .toast-button.primary {
  background-color: var(--color-text-primary);
  color: white;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  border: none;
  width: 100%;
}

.toast-buttons .toast-button.secondary {
  background-color: var(--color-bg-muted);
  color: hsl(210, 100%, 27%);
  border: solid 1px hsl(210, 92%, 91%);
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
}

.butteruptoast.success .toast-button.primary {
  background-color: hsl(145, 63%, 42%);
  color: white;
}

.butteruptoast.success .toast-button.secondary {
  background-color: hsl(145, 45%, 90%);
  color: hsl(145, 63%, 32%);
  border: solid 1px hsl(145, 63%, 72%);
}

.butteruptoast.error .toast-button.primary {
  background-color: hsl(354, 70%, 54%);
  color: white;
}

.butteruptoast.error .toast-button.secondary {
  background-color: hsl(354, 30%, 90%);
  color: hsl(354, 70%, 44%);
  border: solid 1px hsl(354, 70%, 74%);
}

.butteruptoast.warning .toast-button.primary {
  background-color: hsl(45, 100%, 51%);
  color: hsl(45, 100%, 15%);
}

.butteruptoast.warning .toast-button.secondary {
  background-color: hsl(45, 100%, 96%);
  color: hsl(45, 100%, 31%);
  border: solid 1px hsl(45, 100%, 76%);
}

.butteruptoast.info .toast-button.primary {
  background-color: hsl(207, 90%, 54%);
  color: white;
}

.butteruptoast.info .toast-button.secondary {
  background-color: hsl(207, 90%, 94%);
  color: hsl(207, 90%, 34%);
  border: solid 1px hsl(207, 90%, 74%);
}

.toastUp {
  animation: slideUp 0.5s ease-in-out;
  animation-fill-mode: forwards;
}

.toastDown {
  animation: slideDown 0.5s ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes slideDown {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeOutToast {
  animation: fadeOut 0.3s ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.butteruptoast.glass {
  background-color: rgba(255, 254, 251, 0.55) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: none;
  box-shadow: 0 4px 12px var(--color-shadow);
  color: var(--color-text-primary);
}

.butteruptoast.glass.success {
  background-color: rgba(216, 236, 238, 0.55) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: none;
  box-shadow: 0 4px 12px var(--color-shadow);
  color: var(--color-success-text);
}

.butteruptoast.glass.error {
  background-color: rgba(254, 240, 240, 0.42) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: none;
  box-shadow: 0 4px 12px var(--color-shadow);
  color: hsl(0, 100%, 27%);
}

.butteruptoast.glass.warning {
  background-color: rgba(255, 253, 240, 0.42) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: none;
  box-shadow: 0 4px 12px var(--color-shadow);
  color: hsl(50, 100%, 27%);
}

.butteruptoast.glass.info {
  background-color: rgba(154, 203, 208, 0.35) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: none;
  box-shadow: 0 4px 12px var(--color-shadow);
  color: var(--color-info-text);
}

.butteruptoast.brutalist {
  border-radius: 0px;
  box-shadow: 0 4px 12px var(--color-shadow);
  border: solid 2px var(--color-text-primary);
  font-size: 13px;
  align-items: center;
  display: flex;
  padding: 16px;
  background-color: var(--color-bg-surface);
  gap: 6px;
  color: var(--color-text-primary);
  width: 325px;
}

.butteruptoast.brutalist.success {
  background-color: var(--color-success-bg);
  color: var(--color-success-text);
  border: solid 2px hsl(140, 100%, 27%);
}

.butteruptoast.brutalist.error {
  background-color: var(--color-danger-bg);
  color: hsl(0, 100%, 27%);
  border: solid 2px hsl(0, 100%, 27%);
}

.butteruptoast.brutalist.warning {
  background-color: var(--color-warning-bg);
  color: hsl(50, 100%, 27%);
  border: solid 2px hsl(50, 100%, 27%);
}

.butteruptoast.brutalist.info {
  background-color: var(--color-bg-muted);
  color: hsl(210, 100%, 27%);
  border: solid 2px hsl(210, 100%, 27%);
}

/*--*/
@media (max-width: 767.98px) {}

@media (min-width: 768px) {}

/* Entry + post content (WordPress typography, blocks, shortcodes) */
.entry-body {
  padding-top: 0.25rem;
}

.entry-content {
  --entry-content-max-readable: 100%;
  font-size: 16px;
  line-height: 1.75;
  color: var(--color-text-primary);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.entry-content::after {
  content: "";
  display: table;
  clear: both;
}

.entry-content>*:first-child {
  margin-top: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 1.35em 0 0.55em;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-text-primary);
  letter-spacing: -0.01em;
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child {
  margin-top: 0;
}

.entry-content h1 {
  font-size: clamp(1.45rem, 1.2rem + 1vw, 1.75rem);
}

.entry-content h2 {
  font-size: clamp(1.3rem, 1.1rem + 0.85vw, 1.5rem);
}

.entry-content h3 {
  font-size: clamp(1.15rem, 1.05rem + 0.55vw, 1.3rem);
}

.entry-content h4 {
  font-size: 1.12rem;
}

.entry-content h5 {
  font-size: 1.05rem;
}

.entry-content h6 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text-secondary);
}

.entry-content p {
  margin: 0 0 1.1em;
}

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

.entry-content a {
  color: var(--color-text-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.entry-content a:hover {
  color: var(--color-link-hover);
}

.entry-content a:focus {
  outline: none;
}

.entry-content a:focus-visible {
  border-radius: 2px;
  box-shadow: 0 0 0 3px var(--color-focus-ring);
}

.entry-content strong,
.entry-content b {
  font-weight: 700;
}

.entry-content em,
.entry-content i,
.entry-content cite {
  font-style: italic;
}

.entry-content small {
  font-size: 0.875em;
}

.entry-content sub,
.entry-content sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.entry-content sup {
  top: -0.35em;
}

.entry-content sub {
  bottom: -0.2em;
}

.entry-content mark {
  padding: 0.1em 0.25em;
  border-radius: 4px;
  background: var(--color-accent-light);
}

.entry-content abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
}

.entry-content ul,
.entry-content ol {
  margin: 0 0 1.15em;
  padding-inline-start: 1.35em;
}

.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ul,
.entry-content ol ol {
  margin-bottom: 0.35em;
  margin-top: 0.35em;
}

.entry-content li {
  margin: 0.35em 0;
}

.entry-content li>ul,
.entry-content li>ol {
  margin-top: 0.35em;
}

.entry-content ol {
  list-style-type: persian;
}

.entry-content dl {
  margin: 0 0 1.15em;
}

.entry-content dt {
  font-weight: 700;
  margin-top: 0.85em;
}

.entry-content dt:first-child {
  margin-top: 0;
}

.entry-content dd {
  margin: 0.25em 0 0;
  padding-inline-start: 1rem;
}

.entry-content hr {
  margin: 2rem 0;
  border: 0;
  border-top: 1px dashed var(--color-border);
  clear: both;
}

.entry-content blockquote {
  margin: 1.5em 0;
  padding: 1rem 1.25rem;
  border-inline-start: 4px solid var(--color-accent);
  background: var(--color-bg-surface-alt);
  border-radius: 0 12px 12px 0;
  font-size: 1.02em;
  color: var(--color-text-primary);
}

.entry-content blockquote p {
  margin: 0 0 0.65em;
}

.entry-content blockquote p:last-child {
  margin-bottom: 0;
}

.entry-content blockquote cite {
  display: block;
  margin-top: 0.75em;
  font-size: 0.9em;
  font-style: normal;
  color: var(--color-text-secondary);
}

.entry-content code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.9em;
  padding: 0.12em 0.4em;
  border-radius: 6px;
  background: var(--color-bg-surface-alt);
  border: 1px solid var(--color-border);
  word-break: break-word;
}

.entry-content pre {
  margin: 1.25em 0;
  padding: 1rem 1.15rem;
  overflow-x: auto;
  font-size: 0.88em;
  line-height: 1.55;
  border-radius: var(--radius-md);
  background: #0A3336;
  color: #F2EFE7;
  border: 1px solid color-mix(in srgb, var(--palette-soft) 28%, transparent);
  -webkit-overflow-scrolling: touch;
}

.entry-content pre code {
  padding: 0;
  border: 0;
  background: transparent;
  font-size: inherit;
  color: inherit;
}

.entry-content kbd {
  font-family: inherit;
  font-size: 0.85em;
  padding: 0.1em 0.45em;
  border-radius: 6px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
  box-shadow: 0 1px 0 var(--color-shadow);
}

.entry-content table {
  width: 100%;
  max-width: 100%;
  margin: 1.25em 0;
  border-collapse: collapse;
  font-size: 0.95em;
  height: auto !important;
  width: fit-content !important;
}

.entry-content table th,
.entry-content table td {
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--color-border);
  text-align: inherit;
  vertical-align: top;
}

.entry-content table th {
  font-weight: 700;
  background: var(--color-bg-surface-alt);
}

.entry-content table caption {
  caption-side: bottom;
  padding-top: 0.5rem;
  font-size: 0.88em;
  color: var(--color-text-secondary);
}

.entry-content figure {
  margin: 1.35em 0;
  max-width: 100%;
}

.entry-content figcaption,
.entry-content .wp-element-caption {
  margin-top: 0.5rem;
  font-size: 0.88em;
  line-height: 1.45;
  color: var(--color-text-secondary);
  text-align: center;
}

.entry-content img,
.entry-content svg {
  max-width: 100%;
  height: auto !important;
}

.entry-content img {
  display: inline-block;
  vertical-align: middle;
  border-radius: var(--radius-md);
}

.entry-content p img,
.entry-content .wp-block-image img {
  border-radius: var(--radius-md);
}

.entry-content video {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

.entry-content iframe {
  max-width: 100%;
  border: none;
  border-radius: var(--radius-md);
}

.entry-content .wp-block-embed iframe {
  border-radius: var(--radius-md);
}

.entry-content audio {
  width: 100%;
  margin: 1em 0;
}

.alignleft,
img.alignleft,
.entry-content .alignleft {
  float: inline-start;
  margin-inline-end: 1.25em;
  margin-inline-start: 0;
  margin-bottom: 0.75em;
  display: inline;
}

.alignright,
img.alignright,
.entry-content .alignright {
  float: inline-end;
  margin-inline-start: 1.25em;
  margin-inline-end: 0;
  margin-bottom: 0.75em;
  display: inline;
}

.aligncenter,
img.aligncenter,
.entry-content .aligncenter {
  display: block;
  float: none;
  margin-inline: auto;
  margin-bottom: 1em;
  clear: both;
  text-align: center;
}

.alignnone,
img.alignnone,
.entry-content .alignnone {
  display: inline-block;
  max-width: 100%;
}

.entry-content .has-text-align-left {
  text-align: start;
}

.entry-content .has-text-align-right {
  text-align: end;
}

.entry-content .has-text-align-center {
  text-align: center;
}

.entry-content .wp-block-image {
  margin: 1.35em 0;
}

.entry-content .wp-block-image .aligncenter {
  display: table;
  margin-inline: auto;
}

.entry-content .wp-block-image figcaption {
  display: table-caption;
  caption-side: bottom;
}

.entry-content .wp-caption {
  max-width: 100%;
  margin-bottom: 1.25em;
}

.entry-content .wp-caption img {
  display: block;
  margin: 0 auto;
}

.entry-content .wp-caption-text,
.entry-content .wp-caption .wp-caption-text {
  margin: 0.5rem 0 0;
  font-size: 0.88em;
  line-height: 1.45;
  color: var(--color-text-secondary);
  text-align: center;
}

.entry-content .gallery {
  margin: 1.25em 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.entry-content .gallery .gallery-item {
  margin: 0;
  text-align: center;
  float: none !important;
}

.entry-content .gallery .gallery-icon img {
  border-radius: 10px;
}

.entry-content .gallery .gallery-caption {
  font-size: 0.82em;
  margin-top: 6px;
  color: var(--color-text-secondary);
}

.entry-content .blocks-gallery-grid,
.entry-content .wp-block-gallery {
  margin: 1.35em 0;
  gap: 10px;
}

.entry-content .wp-block-gallery .blocks-gallery-item figcaption {
  font-size: 0.82em;
}

.entry-content .wp-block-quote {
  border: 0;
  padding: 0;
  margin: 1.5em 0;
}

.entry-content .wp-block-quote cite {
  font-size: 0.9em;
  color: var(--color-text-secondary);
}

.entry-content .wp-block-pullquote {
  padding: 1.25rem 1.5rem;
  border-width: 2px 0;
  border-style: solid;
  border-color: var(--color-border);
  text-align: center;
}

.entry-content .wp-block-separator,
.entry-content hr.wp-block-separator {
  border: 0;
  border-top: 1px solid var(--color-border-strong);
  max-width: 8rem;
  margin: 2rem auto;
}

.entry-content .wp-block-separator.is-style-wide {
  max-width: 100%;
}

.entry-content .wp-block-separator.is-style-dots::before {
  color: var(--color-text-secondary);
}

.entry-content .wp-block-table {
  margin: 1.35em 0;
  overflow-x: auto;
}

.entry-content .wp-block-table table {
  margin: 0;
}

.entry-content .wp-block-embed {
  margin: 1.35em 0;
}

.entry-content .wp-block-embed__wrapper {
  position: relative;
}

.entry-content .wp-block-media-text {
  margin: 1.5em 0;
  gap: 1.25rem;
}

.entry-content .wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}

.entry-content .wp-block-columns {
  margin: 1.35em 0;
  gap: 1.25rem;
}

.entry-content .wp-block-column>*:first-child {
  margin-top: 0;
}

.entry-content .wp-block-column>*:last-child {
  margin-bottom: 0;
}

.entry-content .alignwide {
  max-width: min(100%, 1200px);
  margin-inline: auto;
}

.entry-content .alignfull {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

.entry-content .wp-block-button__link {
  display: inline-block;
  padding: 0.55em 1.25em;
  border-radius: var(--radius-pill);
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.15s ease;
}

.entry-content .wp-block-button__link:hover {
  opacity: 0.92;
  text-decoration: none;
}

.entry-content .wp-block-file {
  margin: 1.15em 0;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-md);
  background: var(--color-bg-surface-alt);
  border: 1px solid var(--color-border);
}

.post-image-caption {
  margin-bottom: 1.5em;
  text-align: center;
  padding-top: 5px;
}

.post-image-caption img {
  border: 0 none;
  padding: 0;
  margin: 0;
}

.post-image-caption p.post-image-caption-text {
  line-height: 1.5;
  font-size: 0.85rem;
  margin: 0;
  color: var(--color-text-secondary);
}

.wp-smiley {
  margin: 0 !important;
  max-height: 1em;
}

blockquote.left {
  margin-inline-end: 20px;
  margin-inline-start: 0;
  text-align: start;
  width: 33%;
  float: inline-start;
}

blockquote.right {
  margin-inline-start: 20px;
  margin-inline-end: 0;
  text-align: end;
  width: 33%;
  float: inline-end;
}

@media (max-width: 575.98px) {

  .alignleft,
  img.alignleft,
  .alignright,
  img.alignright,
  .entry-content .alignleft,
  .entry-content .alignright {
    float: none;
    display: block;
    margin-inline: auto;
    margin-bottom: 1em;
    max-width: 100%;
  }

  blockquote.left,
  blockquote.right {
    float: none;
    width: 100%;
    margin-inline: 0;
  }
}

/*Responsive*/

@media (max-width: 991.98px) {

  body.is-nav-open {
    overflow: hidden;
    width: 100dvw;
    height: 100dvh;
  }

  #header.is-nav-open .header-bottom::before {
    width: 100dvw;
    height: 100dvh;
    position: fixed;
    inset: 0;
    z-index: 1001;
    background: rgba(0, 106, 113, 0.42);
    backdrop-filter: blur(3px);
    content: "";
  }

  .header-mainbar {
    gap: 10px;
    padding: 10px 0;
  }

  .header-contact,
  .lang-nav {
    display: none;
  }

  .header-actions {
    margin-right: auto;
    gap: 10px;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .header-navrow {
    height: 100dvh;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1003;
    width: min(88vw, 380px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 16px;
    border-top: 0;
    border-left: 1px solid var(--color-border);
    background: var(--color-bg-surface);
    box-shadow: -24px 0 48px rgba(0, 106, 113, 0.18);
    overflow-y: auto;
    transform: translateX(105%);
    visibility: hidden;
    transition: transform 0.25s ease, visibility 0.25s ease;
  }

  .booking-toggle>a {
    min-width: 46px;
    height: 46px;
    padding: 0;
    border-radius: 50%;
  }

  .booking-toggle>a::before,
  .booking-toggle>a::after,
  .booking-toggle>a>span {
    display: none;
  }

  #header.is-nav-open .header-navrow {
    visibility: visible;
    transform: translateX(0);
  }

  .mobile-nav-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding-bottom: 14px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
  }

  .mobile-nav-contact {
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--color-border);
  }

  .mobile-nav-contact>a {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    background: var(--color-accent-light);
    color: var(--color-text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
  }

  .mobile-nav-lang {
    display: flex;
    align-items: center;
    gap: 6px;
    width: max-content;
    margin: 0 0 4px;
    padding: 4px;
    list-style: none;
    background: var(--color-bg-surface-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
  }

  .mobile-nav-lang>li>a {
    min-width: 42px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
  }

  .mobile-nav-lang>li.active>a,
  .mobile-nav-lang>li>a:hover {
    background: var(--color-primary);
    border-color: var(--color-text-primary);
    color: var(--color-text-on-primary);
    box-shadow: 0 8px 18px rgba(0, 106, 113, 0.14);
  }

  .mobile-nav-contact>a.mobile-nav-cta {
    background: var(--color-primary);
    color: var(--color-text-on-primary);
    justify-content: center;
    font-size: 15px;
  }

  #navigation {
    width: 100%;
    margin: 0;
    line-height: 1;
  }

  #navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #navigation>ul {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  #navigation li {
    position: relative;
  }

  #navigation li+li {
    border-top: 1px solid var(--color-border);
  }

  #navigation li>a {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 12px 14px 12px 50px;
    border-radius: var(--radius-md);
    color: var(--color-text-primary);
    font-weight: 700;
  }

  #navigation li:hover>a,
  #navigation li.current-menu-item>a,
  #navigation li.current-menu-ancestor>a {
    background: var(--color-accent-light);
    color: var(--color-accent-text);
  }

  #navigation .sub-menu {
    display: none;
    margin: 0 14px 8px 0;
    padding: 4px 10px 4px 0;
    border-right: 2px solid var(--color-accent-light);
  }

  #navigation li.is-submenu-open>.sub-menu {
    display: block;
  }

  #navigation .sub-menu li {
    border-top: 0;
  }

  #navigation .sub-menu a {
    min-height: 40px;
    padding-top: 9px;
    padding-bottom: 9px;
    font-size: 14px;
    font-weight: 600;
  }

  .submenu-toggle {
    position: absolute;
    top: 7px;
    left: 8px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: var(--color-accent-light);
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  .submenu-toggle>i {
    font-size: 16px;
    transition: transform 0.2s ease;
  }

  li.is-submenu-open>.submenu-toggle {
    background: var(--color-primary);
    color: var(--color-text-on-primary);
  }

  li.is-submenu-open>.submenu-toggle>i {
    transform: rotate(180deg);
  }
}

@media (min-width: 992px) {

  .header-navrow {
    min-height: 52px;
  }

  #navigation {
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    line-height: 1;
  }

  #navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #navigation>ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px clamp(6px, 0.8vw, 12px);
  }

  #navigation li {
    position: relative;
  }

  #navigation li>a {
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
  }

  #navigation>ul>li>a {
    padding: 12px 10px;
    border-radius: var(--radius-pill);
    white-space: nowrap;
    font-size: clamp(13px, 0.25vw + 12px, 15px);
    font-weight: 600;
  }

  #navigation>ul>li:hover>a,
  #navigation>ul>li.current-menu-item>a,
  #navigation>ul>li.current-menu-ancestor>a {
    color: var(--color-accent-text);
  }

  #navigation .menu-item-has-children>a::after {
    content: "\ecae";
    font-family: "icomoon";
    font-size: 11px;
    line-height: 1;
    transition: transform 0.2s ease;
  }

  #navigation .menu-item-has-children:hover>a::after,
  #navigation .menu-item-has-children:focus-within>a::after {
    transform: rotate(180deg);
  }

  #navigation>ul ul {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 20;
    min-width: 230px;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    background: var(--color-bg-surface);
    box-shadow: 0 20px 40px rgba(0, 106, 113, 0.1);
    transform: translateY(8px);
    transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  }

  #navigation>ul li:hover>ul,
  #navigation>ul li:focus-within>ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  #navigation>ul ul::before {
    position: absolute;
    top: -9px;
    right: 0;
    width: 100%;
    height: 9px;
    content: "";
  }

  #navigation>ul ul ul {
    top: -8px;
    right: calc(100% + 8px);
  }

  #navigation>ul ul ul::before {
    top: 0;
    right: -9px;
    width: 9px;
    height: 100%;
  }

  #navigation>ul ul li>a {
    min-height: 42px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--color-text-primary);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
  }

  #navigation>ul ul li:hover>a,
  #navigation>ul ul li.current-menu-item>a,
  #navigation>ul ul li.current-menu-ancestor>a {
    background: var(--color-accent-light);
    color: var(--color-accent-text);
  }

  #navigation>ul>li.is-mega-menu {
    position: static;
  }

  #navigation>ul>li.is-mega-menu>ul {
    right: 50%;
    width: min(780px, calc(100vw - 120px));
    min-width: 620px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 6px;
    transform: translate(50%, 8px);
  }

  #navigation>ul>li.is-mega-menu:hover>ul,
  #navigation>ul>li.is-mega-menu:focus-within>ul {
    transform: translate(50%, 0);
  }

  #navigation>ul>li.is-mega-menu>ul>li>a {
    background: var(--color-accent-light);
    font-weight: 800;
  }

  #navigation>ul>li.is-mega-menu>ul ul {
    position: static;
    opacity: 1;
    visibility: visible;
    min-width: 0;
    padding: 4px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  #navigation>ul>li.is-mega-menu>ul ul::before {
    content: none;
  }

  #navigation>ul>li.is-mega-menu>ul ul a {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 13px;
    font-weight: 600;
  }

  .submenu-toggle {
    display: none;
  }

  .booking-toggle>a>i {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .page-header-inner {
    padding: 60px 16px;
    border-radius: 16px;
  }

  .page-header-title,
  .page-title {
    font-size: 26px;
  }

  .header-contact {
    display: none;
  }

  .lang-nav {
    margin-right: auto;
  }

  .user-nav {
    column-gap: 10px;
  }

  .search-toggle>a,
  .account-toggle-link,
  .search-toggle-link,
  .call-toggle>a,
  .booking-toggle>a {
    min-width: 46px;
    height: 46px;
    font-size: 22px;
  }

  .booking-toggle>a {
    padding: 0;
    border-radius: 50%;
  }

  .booking-toggle>a::before,
  .booking-toggle>a::after {
    display: none;
  }

  .booking-toggle>a>span {
    display: none;
  }

  .nav-toggle {
    min-width: 46px;
    width: 46px;
    padding: 0;
  }

  .nav-toggle>span {
    display: none;
  }

  .header-search-form {
    grid-template-columns: 1fr auto;
  }

  .header-search-form .button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .section-workshop .section-inner {
    padding: 30px 15px 15px;
  }

  .intro-card {
    padding: 15px;
  }

  .event-category-slider .slick-arrow {
    width: 38px;
    height: 38px;
  }

  .event-category-slider .slick-arrow::before {
    font-size: 16px;
  }

  .footer-intro {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .footer-logo>img {
    height: 76px;
  }

  .footer-about {
    max-width: none;
    font-size: 14px;
  }
}

@media (max-width: 575.98px) {
  .header-mainbar {
    gap: 8px;
  }

  .logo>img {
    max-width: 96px;
    height: 36px;
    object-fit: contain;
  }

  .header-actions {
    gap: 8px;
  }

  .user-nav {
    column-gap: 6px;
  }

  .search-toggle>a,
  .account-toggle-link,
  .search-toggle-link,
  .call-toggle>a,
  .booking-toggle>a,
  .nav-toggle {
    min-width: 40px;
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .header-navrow {
    width: min(92vw, 360px);
    padding: 14px;
  }
}

@media (min-width: 768px) {
  .container-fluid {
    padding-left: 60px;
    padding-right: 60px;
  }

  [class*="-desc"] {
    text-align: justify;
  }
}

#page-body.contact-page {
  padding-top: 1.5rem;
  padding-bottom: 2rem;
  background: linear-gradient(180deg, var(--color-bg-page) 0%, var(--color-bg-surface) 100%);
}

#page-body.contact-page #form_contact {
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  padding: 1.25rem;
  box-shadow: 0 10px 30px rgba(0, 106, 113, 0.06);
}

#page-body.contact-page #form_contact label {
  font-size: 0.92rem;
  font-weight: 600;
  margin-bottom: 0.45rem;
  color: var(--color-text-primary);
}

#page-body.contact-page .contact-map {
  width: 100%;
  min-height: 320px;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0, 106, 113, 0.08);
}

#page-body.contact-page .contact-box {
  background-color: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  padding: 1.1rem 1rem;
  box-shadow: 0 10px 30px rgba(0, 106, 113, 0.06);
  height: 100%;
}

#page-body.contact-page .contact-office-item {
  padding: 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background-color: var(--color-bg-surface-alt);
}

#page-body.contact-page .contact-office-item+.contact-office-item {
  margin-top: 0.8rem;
}

#page-body.contact-page .contact-office-title {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.7rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed var(--color-border-strong);
  color: var(--color-text-primary);
}

#page-body.contact-page .contact-box hr {
  margin: 0.95rem 0;
  border-color: var(--color-border);
}

#page-body.contact-page .contact-info {
  list-style: none;
  padding: 0;
  margin: 0;
}

#page-body.contact-page .contact-info li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-bottom: 0.5rem;
  padding: 0.45rem 0.5rem;
  border-radius: 10px;
  background-color: var(--color-bg-page);
  color: var(--color-text-primary);
  transition: background-color 0.2s ease;
}

#page-body.contact-page .contact-info li:hover {
  background-color: var(--color-bg-surface-alt);
}

#page-body.contact-page .contact-info li i {
  color: var(--color-primary);
  margin-top: 0.2rem;
  font-size: 0.95rem;
}

#page-body.contact-page .contact-info a {
  color: var(--color-text-primary);
  text-decoration: none;
}

#page-body.contact-page .contact-info a:hover {
  color: var(--color-primary);
}

#page-body.contact-page .social-nav {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0.6rem 0 0;
  padding: 0;
}

#page-body.contact-page .social-nav li a {
  width: 42px;
  height: 42px;
  font-size: 20px;
  border-color: rgba(255, 255, 255, 0.7);
}

#page-body.contact-page .social-nav li a:hover {
  color: var(--color-text-on-primary);
  transform: translateY(-1px);
}

#page-body.contact-page .social-nav li a:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 106, 113, 0.2);
}

@media (max-width: 991.98px) {
  #page-body.contact-page .contact-box {
    margin-top: 1rem;
  }
}

.elementor-section :is(.elementor-widget-text-editor, h1, h2, h3, h4, h5, h6, p, span, a, li, dt, dd, blockquote, cite, strong, em, small, label, input, textarea, select, button) {
  font-family: inherit !important;
}

.elementor-widget-container .elementor-icon-box-title {
  margin: 0;
  padding: 10px 0;
}

/* Warranty: dashboard + WooCommerce (table uses .dashboard-ticket-table like invoice/ticket) */
.dashboard-warranty-intro {
  margin: 8px 0 0;
  max-width: 560px;
  line-height: 1.55;
}

.dashboard-warranty-register {
  margin-bottom: 0.5rem;
}

.dashboard-warranty-hints {
  margin: 0 0 16px 1.1em;
  padding: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-text-secondary);
}

.dashboard-warranty-hints li+li {
  margin-top: 6px;
}

.dashboard-warranty-list-inner {
  margin-top: 8px;
}

.dashboard-warranty-kpi {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  line-height: 1.2;
}

.dashboard-warranty-kpi strong {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--color-text-primary);
}

.dashboard-warranty-kpi small {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.wcw-form .form-row {
  margin-bottom: 1rem;
}

.wcw-form .form-row label {
  display: block;
  margin-bottom: 0.35rem;
}

.wcw-form .form-row .required {
  color: var(--color-danger-text);
}

.wcw-form .button.wcw-submit,
.dashboard-profile-form.wcw-form .button.wcw-submit {
  margin-top: 0.5rem;
}

.wcw-cell-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.wcw-cell-date {
  font-weight: 600;
  color: var(--color-text-primary);
}

.wcw-dash {
  color: var(--color-text-tertiary);
}

.dashboard-warranty-table .ticket-table-meta {
  max-width: 420px;
}

.wcw-account .dashboard-table-wrap {
  margin-top: 12px;
}

/* Theme mode switch */
.theme-toggle {
  position: relative;
}

.theme-toggle-btn {
  min-width: 55px;
  height: 55px;
  border-radius: 50%;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-primary);
  font-size: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.theme-toggle-btn:hover,
.theme-toggle-btn:focus-visible,
.theme-toggle.is-open .theme-toggle-btn {
  background: var(--color-primary);
  border-color: var(--color-text-primary);
  color: var(--color-text-on-primary);
  outline: 0;
}

.theme-toggle-btn .theme-icon-dark {
  display: none;
}

html[data-theme="dark"] .theme-toggle-btn .theme-icon-light {
  display: none;
}

html[data-theme="dark"] .theme-toggle-btn .theme-icon-dark {
  display: inline-flex;
}

.theme-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 190px;
  margin: 0;
  padding: 8px;
  list-style: none;
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0, 106, 113, 0.08);
  z-index: 1002;
}

.theme-menu[hidden] {
  display: none;
}

.theme-menu-item {
  width: 100%;
  border: 0;
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text-primary);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-align: right;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.theme-menu-item:hover,
.theme-menu-item:focus-visible {
  background: var(--color-bg-surface-alt);
  outline: 0;
}

.theme-menu-item.is-active {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
}

.theme-menu-item i {
  font-size: 18px;
  opacity: 0.9;
}

.mobile-theme-toggle {
  display: none;
  margin-top: 14px;
}

.mobile-theme-toggle .theme-menu {
  position: static;
  margin-top: 8px;
  box-shadow: none;
  width: 100%;
}

.mobile-theme-toggle .theme-toggle-btn {
  width: 100%;
  min-width: 0;
  height: 46px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--color-border);
  background: var(--color-bg-page);
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
}

.mobile-theme-toggle .theme-toggle-btn::after {
  content: attr(data-theme-label);
}

@media (max-width: 991.98px) {
  .header-actions>.theme-toggle {
    display: none;
  }

  .mobile-theme-toggle {
    display: block;
  }
}

/* Dark mode */
html[data-theme="dark"] {
  color-scheme: dark;
  background-color: var(--color-bg-page);

  /* Brand — mid/soft tones become fills; on-* text is deep cream-ink */
  --color-primary: #48A6A7;
  --color-primary-hover: #5BB8B9;
  --color-accent: #9ACBD0;
  --color-accent-hover: #B0D8DC;
  --color-accent-light: #0F3F43;
  --color-accent-text: #9ACBD0;

  /* Backgrounds */
  --color-bg-page: #062A2D;
  --color-bg-surface: #0A3336;
  --color-bg-surface-alt: #0F3F43;
  --color-bg-hero: #0A3336;
  --color-bg-muted: #0F3F43;
  --color-bg-soft: #164A4E;

  /* Text */
  --color-text-primary: #F2EFE7;
  --color-text-secondary: #9ACBD0;
  --color-text-tertiary: #8AA3A6;
  --color-text-on-primary: #062A2D;
  --color-text-on-accent: var(--color-text-on-primary);
  --color-text-on-primary-muted: rgba(242, 239, 231, 0.72);
  --color-link: #9ACBD0;
  --color-link-hover: #B0D8DC;

  /* Borders */
  --color-border: #164A4E;
  --color-border-strong: #1F5C61;
  --color-border-accent: #48A6A7;

  /* Status */
  --color-success-bg: #0F3F43;
  --color-success-text: #9ACBD0;
  --color-warning-bg: #3A2A0E;
  --color-warning-text: #F0B45A;
  --color-danger-bg: #3A1A1A;
  --color-danger-text: #F09595;
  --color-info-bg: #0F3F43;
  --color-info-text: #9ACBD0;

  /* Effects */
  --color-overlay: rgba(6, 42, 45, 0.88);
  --color-shadow: rgba(0, 0, 0, 0.35);
  --color-shadow-strong: rgba(0, 0, 0, 0.5);
  --color-focus-ring: rgba(154, 203, 208, 0.35);
}

html[data-theme="dark"] ::selection {
  background: var(--color-accent-light);
  color: var(--color-text-primary);
}

html[data-theme="dark"] ::-moz-selection {
  background: var(--color-accent-light);
}

html[data-theme="dark"] a {
  color: var(--color-text-primary);
}

html[data-theme="dark"] a:hover {
  color: var(--color-link-hover);
}

html[data-theme="dark"] .modal-backdrop,
html[data-theme="dark"] .body-overlay {
  background: var(--color-overlay);
}

html[data-theme="dark"] .table,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .gform_wrapper.gravity-theme :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .table th,
html[data-theme="dark"] .table td,
html[data-theme="dark"] .table-bordered,
html[data-theme="dark"] .table-bordered th,
html[data-theme="dark"] .table-bordered td {
  border-color: var(--color-border);
}

html[data-theme="dark"] .table thead th {
  background: var(--color-bg-surface-alt);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd),
html[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd)>th {
  background-color: var(--color-bg-surface-alt);
}

html[data-theme="dark"] .table-hover tbody tr:hover {
  background-color: var(--color-accent-light);
}

html[data-theme="dark"] .button-fill-primary,
html[data-theme="dark"] .lang-nav>li:hover>a,
html[data-theme="dark"] .lang-nav>li.active>a,
html[data-theme="dark"] .nav-toggle:hover,
html[data-theme="dark"] .nav-toggle:focus-visible,
html[data-theme="dark"] #header.is-nav-open .nav-toggle,
html[data-theme="dark"] .theme-toggle-btn:hover,
html[data-theme="dark"] .theme-toggle-btn:focus-visible,
html[data-theme="dark"] .theme-toggle.is-open .theme-toggle-btn,
html[data-theme="dark"] .theme-menu-item.is-active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-on-primary);
}

html[data-theme="dark"] .button-outline-primary:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-on-primary);
}

html[data-theme="dark"] #header,
html[data-theme="dark"] .header-bottom {
  background: color-mix(in srgb, var(--color-bg-surface) 96%, transparent);
  border-color: var(--color-border);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

html[data-theme="dark"] .header-navrow {
  border-top-color: var(--color-border);
}

html[data-theme="dark"] .lang-nav {
  background: var(--color-bg-page);
  border-color: var(--color-border);
}

html[data-theme="dark"] .lang-nav>li>a {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .header-contact>li>div {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .nav-toggle,
html[data-theme="dark"] .nav-close {
  background: var(--color-bg-page);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .account-toggle-link,
html[data-theme="dark"] .search-toggle-link,
html[data-theme="dark"] .call-toggle>a,
html[data-theme="dark"] .theme-toggle-btn {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .account-toggle-link:hover,
html[data-theme="dark"] .search-toggle-link:hover,
html[data-theme="dark"] .call-toggle>a:hover,
html[data-theme="dark"] #header.is-search-open .search-toggle-link {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
}

html[data-theme="dark"] .header-search-panel {
  background: var(--color-bg-page);
  border-top: 1px solid var(--color-border);
}

html[data-theme="dark"] .header-search-input {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .event-archive-filters__panel,
html[data-theme="dark"] .event-card,
html[data-theme="dark"] .blog-card,
html[data-theme="dark"] .dashboard-widget,
html[data-theme="dark"] .dashboard-card,
html[data-theme="dark"] .ticket-card,
html[data-theme="dark"] .comment-card,
html[data-theme="dark"] .event-gallery--single .event-gallery__figure--single,
html[data-theme="dark"] .event-spec,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .auth-panel,
html[data-theme="dark"] .modal-content {
  background: var(--color-bg-page);
  border-color: var(--color-border);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

html[data-theme="dark"] .event-card-img {
  background: var(--color-bg-surface-alt);
}

html[data-theme="dark"] .event-archive-filters__select:hover {
  background-color: var(--color-bg-surface-alt);
}

html[data-theme="dark"] .event-archive-filters__select:focus {
  background-color: var(--color-bg-surface);
}

html[data-theme="dark"] .blog-card-desc,
html[data-theme="dark"] .subsection-subtitle,
html[data-theme="dark"] .dashboard-card-header .dashboard-card-subtitle,
html[data-theme="dark"] .footer-empty {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .comment-card,
html[data-theme="dark"] .comment-card.is-featured {
  background: linear-gradient(135deg, var(--color-bg-page) 0%, var(--color-bg-surface-alt) 48%);
}

html[data-theme="dark"] .comment-card-header {
  background: linear-gradient(180deg, var(--color-bg-surface-alt) 0%, var(--color-bg-page) 40%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .comment-card.is-featured .comment-card-header {
  background: linear-gradient(135deg, var(--color-bg-page) 0%, var(--color-accent-light) 42%, var(--color-bg-surface-alt) 88%);
}

html[data-theme="dark"] .comment-reply-form-wrap {
  background: var(--color-bg-surface);
  border-color: var(--color-border);
}

html[data-theme="dark"] .entry-content blockquote {
  background: var(--color-bg-surface-alt);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .entry-content code {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .entry-content kbd {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border);
  color: var(--color-text-primary);
  box-shadow: 0 1px 0 var(--color-shadow);
}

html[data-theme="dark"] .entry-content table th {
  background: var(--color-bg-surface-alt);
}

html[data-theme="dark"] .entry-content table th,
html[data-theme="dark"] .entry-content table td {
  border-color: var(--color-border);
}

html[data-theme="dark"] .entry-content hr {
  border-top-color: var(--color-border);
}

html[data-theme="dark"] .dashboard-nav>ul>li>a {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .dashboard-nav>ul>li>a:hover,
html[data-theme="dark"] .dashboard-nav>ul>li.active>a {
  background: var(--color-bg-surface-alt);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .dashboard-widget-icon {
  background: var(--color-bg-surface-alt);
  color: var(--color-accent-text);
}

html[data-theme="dark"] .dashboard-warranty-kpi,
html[data-theme="dark"] .wcw-cell-date {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .dashboard-warranty-kpi small,
html[data-theme="dark"] .wcw-dash {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .pagination>li>a,
html[data-theme="dark"] .pagination>li>span {
  background: var(--color-bg-page);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .pagination>li.active>a,
html[data-theme="dark"] .pagination>li.active>span {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-on-primary);
}

html[data-theme="dark"] .select2-container--default .select2-selection--single,
html[data-theme="dark"] .select2-container--default .select2-selection--multiple,
html[data-theme="dark"] .select2-dropdown {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border);
  color: var(--color-text-primary);
}

html[data-theme="dark"] .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--color-primary);
  color: var(--color-text-on-primary);
}

html[data-theme="dark"] .gform_wrapper.gravity-theme :is(.gfield_checkbox, .gfield_radio) .gchoice input {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border);
}

html[data-theme="dark"] .gform_wrapper.gravity-theme .gfield_radio .gchoice input:checked {
  background-color: var(--color-bg-page);
}

html[data-theme="dark"] #navigation>ul>li>a {
  color: var(--color-text-primary);
}

html[data-theme="dark"] #navigation>ul>li:hover>a,
html[data-theme="dark"] #navigation>ul>li.current-menu-item>a,
html[data-theme="dark"] #navigation>ul>li.current-menu-ancestor>a {
  color: var(--color-accent-text);
}

html[data-theme="dark"] .mobile-nav-contact a,
html[data-theme="dark"] .mobile-nav-lang>li>a {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .mobile-nav-lang {
  background: var(--color-bg-page);
  border-color: var(--color-border);
}

html[data-theme="dark"] .logo>img,
html[data-theme="dark"] .mobile-nav-logo>img,
html[data-theme="dark"] .footer-logo>img {
  filter: brightness(0) invert(1);
}

html[data-theme="dark"] .footer-top .footer-inner {
  background: linear-gradient(145deg, var(--color-bg-page) 0%, var(--color-bg-hero) 100%);
}

html[data-theme="dark"] .account-wrapper {
  background: var(--color-bg-surface);
}

html[data-theme="dark"] .account-card {
  background: var(--color-bg-page);
  border-color: var(--color-border);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.08);
}

html[data-theme="dark"] .account-back,
html[data-theme="dark"] .account-card-subtitle {
  color: var(--color-text-secondary);
}

html[data-theme="dark"] .account-card-title {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .account-card-img {
  filter: brightness(0) invert(1);
}

/* Dark mode — surfaces & forms */
html[data-theme="dark"] :is(.form-group, form) :is(input[type="checkbox"], input[type="radio"]) {
  background: var(--color-bg-surface-alt);
  border-color: var(--color-border-strong);
}

html[data-theme="dark"] :is(.form-group, form) input[type="radio"]:checked {
  background-color: var(--color-bg-surface);
}

html[data-theme="dark"] .theme-menu {
  background: var(--color-bg-surface);
  border-color: var(--color-border);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .theme-menu-item {
  color: var(--color-text-primary);
}

html[data-theme="dark"] .theme-menu-item:hover,
html[data-theme="dark"] .theme-menu-item:focus-visible {
  background: var(--color-bg-surface-alt);
}

html[data-theme="dark"] .intro-card-event {
  background: var(--color-bg-surface-alt);
}

html[data-theme="dark"] .event-archive-filters__panel {
  background: var(--color-bg-surface);
}

html[data-theme="dark"] .event-card,
html[data-theme="dark"] .modal-content {
  background: var(--color-bg-surface);
}

html[data-theme="dark"] #navigation>ul ul {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .lang-nav>li:hover>a,
html[data-theme="dark"] .lang-nav>li.active>a {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}

html[data-theme="dark"] #header.is-compact .header-bottom {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .footer-top,
html[data-theme="dark"] .footer-top .footer-inner {
  color: var(--color-text-on-primary-muted);
}

html[data-theme="dark"] .footer-title,
html[data-theme="dark"] .footer-about a,
html[data-theme="dark"] .footer-contact-list li i {
  color: var(--color-text-on-primary);
}

html[data-theme="dark"] .footer-top a {
  color: var(--color-text-on-primary-muted);
}

html[data-theme="dark"] .footer-top a:hover {
  color: var(--color-text-on-primary);
}