/* ============================================
   CMS Theme — Main / Global CSS
   Ported from Vue/Quasar SCSS sources
   ============================================ */

/* ============= Scroll anchor classes ============= */
.sect-registration,
.sect-advantages,
.sect-comments,
.sect-faq,
.sect-map,
.sect-reviews {
  scroll-margin-top: 80px;
}

/* ============= Reset & Base ============= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  min-height: 100vh;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, Tahoma, sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  background: var(--gradient-primary);
  color: var(--bgjx);
}

/* ============= Typography ============= */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 1rem;
}
h1 { font-size: clamp(1.75rem, 3.5vw, 3rem); }
h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); }

/* ============= Gradient Utilities ============= */
.vdcig    { background: var(--gradient-primary); }
.fjitr    { background: var(--gradient-success); }
.y28c5mumfpw32i     { background: var(--gradient-danger); }
.liez9v    { background: var(--gradient-warning); }
.qgzrmoiofr       { background: var(--gradient-info); }
.oaip4ty7       { background: var(--gradient-dark); }
.v2o1vt3c { background: var(--gradient-purple-blue); }
.bb2u5go280     { background: var(--gradient-sunset); }
.jpu34g4tlbya      { background: var(--gradient-ocean); }

.q87sl,
.pwfa0l30a2ugf {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
}

.z82vj25 {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* ============= Glass Utilities ============= */
.bli6x5ztv527x {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-md);
}

.dpsdtah42w656i {
  background: var(--glass-bg-dark);
  backdrop-filter: blur(var(--glass-blur-dark));
  -webkit-backdrop-filter: blur(var(--glass-blur-dark));
  border: 1px solid var(--glass-border-dark);
  box-shadow: var(--shadow-lg);
}

.oiaotcg {
  background: var(--glass-bg-card);
  backdrop-filter: blur(var(--glass-blur-dark));
  -webkit-backdrop-filter: blur(var(--glass-blur-dark));
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-xl);
}

.f1rsawr6hs9p {
  background: var(--glass-bg-pill);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--glass-border);
  color: var(--bgjx);
  transition: var(--transition-base);
}

.f1rsawr6hs9p:hover {
  background: var(--glass-bg-pill-hover);
  border-color: var(--color-purple-35);
  box-shadow: var(--shadow-md);
}

.uu0jmstt4w70 {
  background: var(--button-gradient);
  border: 1px solid var(--button-border);
  color: var(--color-white);
  transition: var(--transition-base);
}

.uu0jmstt4w70:hover {
  background: var(--button-gradient-hover);
  border-color: var(--button-border-hover);
  box-shadow: var(--button-shadow-hover);
}

/* ============= Badge ============= */
.j83nn5uzbhjmtm {
  display: flex;
  justify-content: center;
  margin-bottom: var(--badge-wrapper-spacing, 1rem);
}

.oe9cnei6cz {
  display: inline-flex;
  align-items: center;
  gap: var(--badge-gap, 0.5rem);
  padding: var(--badge-padding, 0.5rem 1rem);
  border-radius: 9999px;
  font-size: var(--badge-font-size, 0.75rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--badge-letter-spacing, 0.05em);
  background: var(--badge-bg);
  border: 1px solid var(--badge-border);
  color: var(--badge-color);
  box-shadow: var(--badge-shadow, none);
  transition: var(--badge-transition, all 0.3s ease);
  backdrop-filter: var(--badge-backdrop, none);
  -webkit-backdrop-filter: var(--badge-backdrop, none);
  justify-content: var(--badge-justify, center);
}

/* ============= Section / Container ============= */
.b4huybh89cx {
  padding: var(--spacing-4xl) var(--spacing-lg);
}

@media (min-width: 768px) {
  .b4huybh89cx {
    padding: var(--spacing-5xl) var(--spacing-2xl);
  }
}

.af12ukwc {
  padding: var(--spacing-2xl) var(--spacing-lg);
}

@media (min-width: 768px) {
  .af12ukwc {
    padding: var(--spacing-3xl) var(--spacing-2xl);
  }
}

.brv7nv8393,
.e9c6dg7 {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px)  { .brv7nv8393 { max-width: 640px; } }
@media (min-width: 768px)  { .brv7nv8393 { max-width: 768px; } }
@media (min-width: 1024px) { .brv7nv8393 { max-width: 1024px; } }
@media (min-width: 1280px) { .brv7nv8393 { max-width: 1280px; } }

@media (min-width: 768px) {
  .e9c6dg7 {
    padding-left: var(--spacing-xl, 1.5rem);
    padding-right: var(--spacing-xl, 1.5rem);
  }
}

/* ============= Buttons ============= */
.xd69u {
  background: var(--gradient-primary);
  color: white;
  border: none;
  padding: 12px 32px;
  border-radius: var(--radius-full);
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
  position: relative;
  overflow: hidden;
}

.xd69u:hover {
  transform: translateY(-2px);
}

.xd69u:active {
  transform: translateY(0);
}

/* ============= Card ============= */
.ved4c0vwl1cq {
  background: var(--h8jx);
  border-radius: 12px;
  padding: 1.5rem;
  border: 1px solid var(--u8n782);
}

/* ============= Animations ============= */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes slideInRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50%       { transform: scale(1.05); }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

@keyframes gradient-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes loading {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.oyk8d5i92,
.nrqkg4oao2dhz     { animation: fadeIn 0.6s ease forwards; }
.ddo6d9iw  { animation: slideInLeft 0.6s ease forwards; }
.bxqjvv { animation: slideInRight 0.6s ease forwards; }
.earo5evo5     { animation: slideUp 0.6s ease forwards; }
.ku3bqd5sv071        { animation: pulse 2s ease infinite; }
.sprntg0zjwmcp        { animation: float 3s ease infinite; }
.iphtsp {
  background-size: 200% 200%;
  animation: gradient-shift 3s ease infinite;
}

/* ============= Hover Utilities ============= */
.kfb77p2gd { transition: transform var(--transition-base); }
.kfb77p2gd:hover { transform: scale(1.05); }

.ob7b4d88j { transition: transform var(--transition-base), box-shadow var(--transition-base); }
.ob7b4d88j:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }

.qkjm0t9f { transition: box-shadow var(--transition-base); }
.qkjm0t9f:hover { box-shadow: var(--shadow-glow); }

/* ============= Scrollbar ============= */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--scrollbar-track); border-radius: var(--radius-full); }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--radius-full); }
::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }

/* ============= Skeleton ============= */
.b9gw82590 {
  background: linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-highlight) 50%, var(--skeleton-base) 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

/* ============= Spinner ============= */
.ow2hzfx {
  width: 40px;
  height: 40px;
  border: 4px solid var(--spinner-bg);
  border-top-color: var(--spinner-color);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* ============= Backdrop blur ============= */
.f5s6b6fnla     { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.gcv2pijq59d99  { backdrop-filter: blur(8px);  -webkit-backdrop-filter: blur(8px); }
.nq2ob7q  { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.k76pnetd  { backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }

/* ============= Utility Classes ============= */
.s18jo { -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.nwcp913k2a { overflow: hidden; }
.e16pnxcoq { position: relative; }
.z-0 { z-index: 0; } .z-10 { z-index: 10; } .z-20 { z-index: 20; }
.z-30 { z-index: 30; } .z-50 { z-index: 50; }

.hdb5y0q { display: flex; }
.yulh3wuempf { align-items: center; }
.q8dqgmo58yfwfp { align-items: flex-start; }
.r218z { justify-content: space-between; }
.gm8iy82tctc { flex-direction: column; }
.x7kpdgye9y { flex-shrink: 0; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.w-8 { width: 2rem; } .h-8 { height: 2rem; }
.w-12 { width: 3rem; } .h-12 { height: 3rem; }
.h-16 { height: 4rem; }

.f6thnbyrmjjnod { text-align: center; }
.cobcitestdzf { text-transform: uppercase; }
.hidden { display: none; }
.ffeqa4c1y { display: block; }
.tr9qjt5623phmu { display: inline-block; }
.uipvw05wvn { position: relative; }
.chach2mhg3 { position: absolute; }
.m58a0i4v { position: fixed; }

.itnnffs { top: 0; right: 0; bottom: 0; left: 0; }
.nmfqa803i8lfl { top: 0; } .ogry3afo3t5rsc { left: 0; } .ai57yv6ba { right: 0; }
.opacity-5 { opacity: 0.05; } .opacity-30 { opacity: 0.3; }
.dga7cvgnwql { border-width: 1px; } .l7c7rmlv187p { border-bottom-width: 1px; }

.ig5mvs { color: var(--color-white); }
.hil7t4u  { font-size: 0.875rem; line-height: 1.25rem; }
.b8gr3qjz { font-size: 1rem; line-height: 1.5rem; }
.kr54m3eliiq  { font-size: 1.125rem; line-height: 1.75rem; }
.pj2d83d58w9l  { font-size: 1.25rem; line-height: 1.75rem; }
.f1pzl47ezhut { font-size: 1.5rem; line-height: 2rem; }
.u4dp0gy9aw3t { font-size: 2.25rem; line-height: 2.5rem; }
.z66sherc { font-size: 3rem; line-height: 1; }
.pvrv6r { font-size: 3.75rem; line-height: 1; }
.tazmaav08l2 { font-size: 4.5rem; line-height: 1; }

.snvfesrc7 { font-weight: 500; }
.qd9ur4ijb28ueh { font-weight: 600; }
.c2jn1hhyhh { font-weight: 700; }
.yumzlht8 { font-weight: 900; }

.fzt1a { letter-spacing: 0.05em; }
.zs4ks5pr09y { line-height: 1.25; }
.c6bjvsa3pels { line-height: 1.625; }

.mx-auto { margin-left: auto; margin-right: auto; }
.mb-2 { margin-bottom: 0.5rem; } .mb-6 { margin-bottom: 1.5rem; }
.mt-6 { margin-top: 1.5rem; } .mt-8 { margin-top: 2rem; }
.p-4 { padding: 1rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.gap-4 { gap: 1rem; } .gap-12 { gap: 3rem; }
.j4rfi { max-width: 42rem; }
.yknbjv371rao74 { border-radius: 9999px; }

.ubjpvb8hljcst6 {
  transition-property: transform, opacity, box-shadow, background, border-color, color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.ozppny84oi9p6 {
  transition-property: background-color, border-color, color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.hdo9758 { transition-duration: 300ms; }

.uzissv56rxp9 { display: grid; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
.space-x-2 > * + * { margin-left: 0.5rem; }
.space-x-8 > * + * { margin-left: 2rem; }

.qan56 { object-fit: cover; }
.gx8md5if { object-fit: contain; }
.pd8omqd4rcl { min-height: 100vh; }

.zv5k7dcmtqc6a { background: linear-gradient(135deg, var(--ylwc) 0%, var(--idk9) 100%); }
.y78ixueq { background-color: var(--ylwc); }
.yzl6o8xhvt { background-color: var(--idk9); }
.lmhgma { color: var(--o8k); }
.oi2jjhdi772qj { color: var(--g0dn6n); }

.yr8iq9o\:text-primary-500:hover { color: var(--o8k); }
.yr8iq9o\:bg-primary-600:hover { background-color: var(--color-blue-dark); }
.yr8iq9o\:bg-white\/5:hover { background-color: var(--color-white-10); }

.ei7zebhggxi9do   { animation-delay: 0ms; }
.hgkqtyspuik { animation-delay: 200ms; }
.ovhrnq9ymd { animation-delay: 400ms; }

/* ============= Responsive ============= */
@media (max-width: 767px) { .mhrsa46uc { display: none !important; } }
@media (min-width: 768px) {
  .bszgd8zz9 { display: none !important; }
  .md\:flex { display: flex; }
  .md\:hidden { display: none; }
  .md\:block { display: block; }
  .md\:text-5xl { font-size: 3rem; line-height: 1; }
  .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:text-left { text-align: left; }
  .lg\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
  .lg\:mx-0 { margin-left: 0; margin-right: 0; }
  .lg\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .lg\:text-7xl { font-size: 4.5rem; line-height: 1; }
}
@media print { .hfjj4aobs89x0 { display: none !important; } }

/* ============= Locale Selector ============= */
.yj26orxeew { display: inline-flex; }
.jf6gc2r3mguch { width: 100%; }
.uss2q { position: relative; }

/* ─── locale-selector (template-parts/layout/locale-selector.php) ─── */
.r17eh0a3 {
  position: relative;
  display: inline-flex;
}

.hogm8qv1r {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  min-height: 32px;
  border-radius: 10px;
  border: 1px solid var(--locale-btn-border, rgba(255, 255, 255, 0.2));
  background: var(--locale-btn-bg, rgba(255, 255, 255, 0.05));
  color: var(--locale-btn-color, var(--bgjx, #1f2937));
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 600;
  font-family: inherit;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.hogm8qv1r:hover {
  background: var(--locale-btn-hover-bg, rgba(255, 255, 255, 0.1));
}

.yknwtbkcdlsb {
  white-space: nowrap;
}

.eyhpkmcfuxn15l {
  font-size: 0.6rem;
  line-height: 1;
  opacity: 0.7;
}

.ncznl {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 180px;
  max-height: 360px;
  overflow-y: auto;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: var(--h8jx, rgba(255, 255, 255, 0.98));
  border: 1px solid var(--u8n782, rgba(0, 0, 0, 0.1));
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 1000;
}

.ncznl[hidden] {
  display: none !important;
}

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

.glqmxnl1yyup {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  font-size: 0.875rem;
  color: var(--bgjx, #1f2937);
  text-decoration: none;
  transition: background 0.15s ease;
  white-space: nowrap;
}

.glqmxnl1yyup:hover {
  background: rgba(91, 143, 249, 0.08);
  color: var(--o8k, #5B8FF9);
}

.sxnp6o9dq6 .glqmxnl1yyup {
  background: rgba(91, 143, 249, 0.12);
  color: var(--o8k, #5B8FF9);
  font-weight: 600;
}

/* iti__flag size override for locale selector (compact) */
.r17eh0a3 .iti__flag,
.hogm8qv1r .iti__flag {
  flex-shrink: 0;
  margin-right: 0;
}


.belr5y {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  min-height: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid var(--locale-btn-border);
  background: var(--locale-btn-bg);
  color: var(--locale-btn-color);
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  font-size: 0.7rem;
  font-weight: 600;
  flex-shrink: 0;
}

@media (min-width: 360px) {
  .belr5y { gap: 6px; padding: 5px 10px; min-height: 32px; height: 32px; font-size: 0.75rem; }
}

@media (min-width: 400px) {
  .belr5y { gap: 8px; padding: 6px 14px; min-height: 34px; height: 34px; border-radius: 12px; font-size: 0.82rem; }
}

.belr5y:hover,
.f6zgpgz7mkjh2 {
  border-color: var(--locale-btn-border-hover);
  box-shadow: 0 4px 10px var(--locale-btn-shadow);
}

.s3sqidi1mxy { white-space: nowrap; }
.gjjka1k0xh0s { width: 16px; height: 12px; flex-shrink: 0; }
@media (min-width: 360px) { .gjjka1k0xh0s { width: 18px; height: 13px; } }
@media (min-width: 400px) { .gjjka1k0xh0s { width: 20px; height: 14px; } }
.jdr3vmo { transition: transform 0.2s ease; }
.jdr3vmo.rotate { transform: rotate(180deg); }

.my45qucfcza13 {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: calc(100vw - 32px);
  max-width: 280px;
  background: var(--locale-dropdown-bg);
  border: 1px solid var(--locale-dropdown-border);
  border-radius: 12px;
  box-shadow: 0 4px 9px var(--locale-dropdown-shadow);
  overflow: hidden;
  z-index: 20;
  color: var(--locale-option-color);
}

@media (min-width: 400px) {
  .my45qucfcza13 { width: 260px; max-width: none; border-radius: 16px; }
}

@media (min-width: 768px) {
  .my45qucfcza13 { left: 0; transform: none; }
}

.k9m557wq {
  padding: 10px 12px;
  border-bottom: 1px solid var(--locale-search-border);
  background: var(--locale-search-bg);
}

@media (min-width: 480px) { .k9m557wq { padding: 12px 16px; } }

.k9m557wq input {
  width: 100%;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--locale-search-input-bg);
  color: var(--locale-btn-color);
  font-size: 0.85rem;
}

@media (min-width: 480px) { .k9m557wq input { padding: 8px 12px; } }

.k9m557wq input::placeholder { color: var(--locale-search-placeholder); }
.k9m557wq input:focus {
  outline: none;
  border-color: var(--locale-search-focus-border);
  box-shadow: 0 0 0 2px var(--locale-search-focus-shadow);
}

.of5cjral {
  max-height: 240px;
  overflow-y: auto;
  padding: 8px 0;
}

@media (min-width: 480px) { .of5cjral { max-height: 280px; } }

.of5cjral::-webkit-scrollbar { width: 6px; }
.of5cjral::-webkit-scrollbar-track { background: var(--locale-scroll-track); border-radius: 10px; }
.of5cjral::-webkit-scrollbar-thumb { background: var(--locale-scroll-thumb); border-radius: 10px; }

.yj1stahr5vj2 {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: transparent;
  color: var(--locale-option-color);
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s ease, color 0.2s ease;
  font-size: 0.85rem;
}

@media (min-width: 480px) { .yj1stahr5vj2 { gap: 12px; padding: 10px 18px; } }

.yj1stahr5vj2:hover { background: var(--locale-option-hover-bg); color: var(--locale-btn-color); }
.yj1stahr5vj2.active { background: var(--locale-option-active-bg); color: var(--locale-btn-color); }

.jf6gc2r3mguch .uss2q { width: 100%; }
.jf6gc2r3mguch .belr5y { width: 100%; justify-content: center; }

.gqkue1qcv4blyd { margin: 16px 0; width: 100%; }
.gqkue1qcv4blyd .uss2q { width: 100%; }

/* ============= Index Page ============= */
.ory0kkv {
  background: transparent;
  overflow: hidden;
}

/* Quasar-replacement utility spacing classes */
.bsglolib1 { margin-right: 4px; }
.imd85jam3cb00 { margin-right: 8px; }
.o5rthdesr { margin-right: 16px; }
.vnbm2akbbel { margin-left: 4px; }
.vopofm { margin-left: 8px; }
.ohtpsv81at { margin-left: 16px; }
.xa0toqa { margin-top: 8px; }
.ic7iiuq { margin-top: 16px; }
.qqe0gyy { margin-bottom: 8px; }
.bpht874wwn9eke { margin-bottom: 16px; }
.y6np78uzwqo { padding: 8px; }
.aue1gvoo0zw { padding: 16px; }

/* ============================================
   Material Icons (local font)
   ============================================ */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url("//test-cms.fr/wp-content/themes/cms-theme/assets/fonts/material-icons.woff2") format('woff2');
  font-display: block;
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

/* ============= 404 Not Found page ============= */
.g3c5zellm { padding: 6rem 0; min-height: 60vh; display: flex; align-items: center; }
.xxtdgd2in6ug3 { text-align: center; max-width: 500px; margin: 0 auto; }
.gjcgqpa { font-size: 6rem; font-weight: 900; line-height: 1; margin: 0 0 1rem; opacity: 0.2; }
.qz9gmn2 { font-size: 2rem; margin: 0 0 1rem; }
.fhfvko { font-size: 1.125rem; opacity: 0.7; margin: 0 0 2rem; }
.qrctoznjcpf4 { display: inline-flex; padding: 0.875rem 2rem; }

/* ============= RTL support ============= */
/* Mirrors layout for Arabic, Hebrew, Persian, Urdu */
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .wlaj9jh0,
html[dir="rtl"] .h2rppma8evz,
html[dir="rtl"] .vzr0a { direction: rtl; }
html[dir="rtl"] .zg8xf { text-align: right; }
html[dir="rtl"] .form-input { text-align: right; direction: rtl; }
html[dir="rtl"] .pffcxunmukj,
html[dir="rtl"] .k6ltfo1f2gos5r { direction: rtl; text-align: right; }

/* ============================================================
   Chat Widget (порт ChatWidgetClassic.vue) — all families
   ============================================================ */
.chat-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9990;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.chat-widget__trigger {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--button-gradient, linear-gradient(135deg, var(--o8k, #5B8FF9), var(--g0dn6n, #5B8FF9)));
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
  transition: transform .2s, box-shadow .2s;
}
.chat-widget__trigger:hover { transform: scale(1.05); box-shadow: 0 8px 24px rgba(0,0,0,.24); }

.chat-widget__trigger-icon { font-size: 24px; line-height: 1; }

.chat-widget__badge {
  position: absolute;
  top: -4px; right: -4px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chat-widget__online {
  position: absolute;
  bottom: 2px; right: 2px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #fff;
}

.chat-widget__preview {
  position: absolute;
  bottom: 70px; right: 0;
  width: 260px;
  background: #1a1a2e;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: 14px;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(0,0,0,.3);
}
.chat-widget__preview-text { margin: 0; font-size: 13px; color: rgba(255,255,255,.8); line-height: 1.5; }

.chat-widget__window {
  position: absolute;
  bottom: 70px; right: 0;
  width: 380px;
  background: #111827;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
}

.chat-widget__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: rgba(0,0,0,.3);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.chat-widget__agent { display: flex; align-items: center; gap: 10px; }
.chat-widget__avatar { position: relative; width: 40px; height: 40px; }
.chat-widget__avatar-img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.chat-widget__avatar-online {
  position: absolute; bottom: 0; right: 0;
  width: 10px; height: 10px;
  border-radius: 50%; background: #22c55e; border: 2px solid #111827;
}
.chat-widget__agent-info { display: flex; flex-direction: column; }
.chat-widget__agent-name { font-size: 14px; font-weight: 700; color: var(--g0dn6n, #5B8FF9); }
.chat-widget__agent-title { font-size: 11px; color: rgba(255,255,255,.4); }
.chat-widget__close {
  background: none; border: none;
  color: rgba(255,255,255,.4); font-size: 18px; cursor: pointer; padding: 4px 8px;
  transition: color .2s;
}
.chat-widget__close:hover { color: #fff; }

.chat-widget__messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 240px;
  min-height: 100px;
}
.chat-widget__message { display: flex; flex-direction: column; }
.chat-widget__message--user { align-items: flex-end; }
.chat-widget__message-bubble {
  background: rgba(255,255,255,.06);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13px;
  color: rgba(255,255,255,.85);
  line-height: 1.6;
}
.chat-widget__message-bubble--user {
  background: var(--button-gradient, linear-gradient(135deg, var(--o8k, #5B8FF9), var(--g0dn6n, #5B8FF9)));
  color: #fff;
}
.chat-widget__message-time { font-size: 10px; color: rgba(255,255,255,.3); margin-top: 4px; }

.chat-widget__typing {
  display: flex; gap: 4px;
  padding: 12px 14px;
  background: rgba(255,255,255,.06);
  border-radius: 12px;
  width: fit-content;
}
.chat-widget__typing-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.3);
  animation: cms-chat-bounce 1.2s infinite ease-in-out;
}
.chat-widget__typing-dot:nth-child(2) { animation-delay: .2s; }
.chat-widget__typing-dot:nth-child(3) { animation-delay: .4s; }

.chat-widget__user-input-wrap { border-top: 1px solid rgba(255,255,255,.06); padding: 12px 16px; }
.chat-widget__user-input-form { display: flex; gap: 8px; }
.chat-widget__user-input {
  flex: 1; min-width: 0;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  font-size: 13px;
  outline: none;
  transition: border-color .2s;
}
.chat-widget__user-input::placeholder { color: rgba(255,255,255,.35); }
.chat-widget__user-input:focus { border-color: var(--g0dn6n, #5B8FF9); }
.chat-widget__user-send {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--button-gradient, linear-gradient(135deg, var(--o8k, #5B8FF9), var(--g0dn6n, #5B8FF9)));
  color: #fff;
  border: none; font-size: 16px; font-weight: 700; cursor: pointer;
  flex-shrink: 0; transition: opacity .2s;
}
.chat-widget__user-send:disabled { opacity: .3; cursor: not-allowed; }

.chat-widget__form-wrap { border-top: 1px solid rgba(255,255,255,.06); padding: 14px 16px; }
.chat-widget__form { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.chat-widget__form-row { display: flex; gap: 8px; width: 100%; }
.chat-widget__input {
  flex: 1; min-width: 0;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  font-size: 13px;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .2s;
}
.chat-widget__input::placeholder { color: rgba(255,255,255,.35); }
.chat-widget__input:focus { border-color: var(--g0dn6n, #5B8FF9); }
.chat-widget__input--error { border-color: #ef4444; }
.chat-widget__submit {
  background: var(--button-gradient, linear-gradient(135deg, var(--o8k, #5B8FF9), var(--g0dn6n, #5B8FF9)));
  color: #fff; border: none;
  border-radius: 10px; padding: 12px;
  font-size: 14px; font-weight: 700; cursor: pointer; transition: opacity .2s;
}
.chat-widget__submit:hover:not(:disabled) { opacity: .9; }
.chat-widget__submit:disabled { opacity: .5; cursor: not-allowed; }
.chat-widget__secure { font-size: 11px; color: rgba(255,255,255,.35); text-align: center; margin: 0; padding-bottom: 4px; }
.chat-widget__error { font-size: 11px; color: #ef4444; text-align: center; margin: 0; }

.chat-widget__confirmation { padding: 32px 16px; text-align: center; }
.chat-widget__confirmation-icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; color: #fff; margin: 0 auto 12px;
}
.chat-widget__confirmation-text { font-size: 14px; color: rgba(255,255,255,.8); margin: 0; }

@keyframes cms-chat-bounce {
  0%, 60%, 100% { transform: translateY(0); opacity: .3; }
  30% { transform: translateY(-6px); opacity: 1; }
}

@media (max-width: 480px) {
  .chat-widget__window { width: calc(100vw - 32px); right: -4px; bottom: 66px; max-height: 70vh; }
  .chat-widget__preview { width: calc(100vw - 80px); }
}

/* ============================================
   COUNTER DISPLAY — verifiedUsers + activeCryptoParticipants
   Lives in main.css (always loaded) so it works for every family
   (classic/modern/fresh/editorial). Editorial provides overrides
   in sections-editorial.css.
   ============================================ */
.jeted7r0ekf {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  padding: 0.85rem;
  background: var(--counter-display-bg, #f7f8fa);
  border-radius: 16px;
  border: 1px solid var(--counter-display-border, rgba(0,0,0,0.06));
  box-shadow: 0 4px 9px var(--counter-display-shadow, rgba(0,0,0,0.04));
  margin-bottom: 1rem;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
.jeted7r0ekf .emmnevp67xi {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  overflow: hidden;
}
.jeted7r0ekf .x4ca7pflh1 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--counter-value-color, var(--text-primary, #111));
}
.jeted7r0ekf .a3yukr {
  font-size: 0.8125rem;
  margin-top: 0.25rem;
  line-height: 1.3;
  color: var(--counter-label-color, var(--text-secondary, #6b7280));
  overflow-wrap: break-word;
  hyphens: auto;
}
@media (min-width: 768px) {
  .jeted7r0ekf { padding: 1rem; border-radius: 20px; }
  .jeted7r0ekf .x4ca7pflh1 { font-size: 2rem; }
  .jeted7r0ekf .a3yukr { font-size: 0.875rem; }
}
