/* MAZCODEX CMS additions: language switcher, cookie consent, comments, application/gate forms.
   Uses only the site's own design tokens (variables defined in assets/main.css). */

/* ---------- language switcher (fixed bottom-left, mirrors the theme toggle's placement on the right) ---------- */
.maz-lang { position: fixed; left: 16px; bottom: 20px; z-index: 9997; font-family: 'Inter Tight', system-ui, sans-serif; }
.maz-lang summary { list-style: none; display: flex; align-items: center; gap: 8px; cursor: pointer; padding: 10px 14px;
  border-radius: 9999px; background: var(--color-secondary); color: var(--color-accent); font-size: 14px; font-weight: 500;
  box-shadow: 0 4px 15px rgba(0,0,0,.25); user-select: none; }
.maz-lang summary::-webkit-details-marker { display: none; }
.dark .maz-lang summary { background: var(--color-accent); color: var(--color-secondary); }
.maz-lang__menu { position: absolute; bottom: calc(100% + 10px); left: 0; margin: 0; padding: 8px; list-style: none; min-width: 190px;
  max-height: 60vh; overflow-y: auto; border-radius: 16px; background: #fff; color: var(--color-secondary);
  border: 1px solid var(--color-stroke-4); box-shadow: 0 12px 40px rgba(0,0,0,.18); }
.dark .maz-lang__menu { background: var(--color-background-6); color: var(--color-accent); border-color: var(--color-stroke-7); }
.maz-lang__menu a { display: flex; justify-content: space-between; gap: 16px; padding: 9px 12px; border-radius: 10px; text-decoration: none; color: inherit; font-size: 14px; }
.maz-lang__menu a:hover, .maz-lang__menu a[aria-current="true"] { background: var(--color-background-4); }
.dark .maz-lang__menu a:hover, .dark .maz-lang__menu a[aria-current="true"] { background: var(--color-background-9); }
.maz-lang__menu small { opacity: .55; font-size: 11px; letter-spacing: .04em; }
@media (max-width: 480px) { .maz-lang { bottom: 14px; left: 10px; } }

/* ---------- cookie consent ---------- */
.maz-consent { position: fixed; z-index: 10000; left: 50%; bottom: 20px; transform: translateX(-50%); width: min(720px, calc(100vw - 24px));
  background: #fff; color: var(--color-secondary); border: 1px solid var(--color-stroke-4); border-radius: 20px; padding: 22px 24px;
  box-shadow: 0 18px 60px rgba(0,0,0,.22); font-family: 'Inter Tight', system-ui, sans-serif; }
.dark .maz-consent { background: var(--color-background-6); color: var(--color-accent); border-color: var(--color-stroke-7); }
.maz-consent[hidden], .maz-consent-reopen[hidden] { display: none; }
.maz-consent h2 { font-size: 18px; font-weight: 600; margin: 0 0 6px; }
.maz-consent p { font-size: 14px; line-height: 1.55; margin: 0 0 14px; opacity: .8; }
.maz-consent a { color: var(--color-primary-500); text-decoration: underline; }
.maz-consent__prefs { display: grid; gap: 10px; margin: 0 0 14px; font-size: 14px; }
.maz-consent__prefs label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.maz-consent__prefs[hidden] { display: none; }
.maz-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.maz-btn { padding: 10px 18px; border-radius: 9999px; border: 1px solid var(--color-stroke-3); background: transparent; color: inherit;
  font-size: 14px; font-weight: 500; cursor: pointer; transition: all .2s; }
.maz-btn:hover { border-color: var(--color-secondary); }
.dark .maz-btn { border-color: var(--color-stroke-7); } .dark .maz-btn:hover { border-color: var(--color-accent); }
.maz-btn--primary { background: var(--color-primary-500); border-color: var(--color-primary-500); color: #fff; }
.maz-btn--primary:hover { filter: brightness(1.1); border-color: var(--color-primary-500); }
.maz-btn--ghost { border-color: transparent; text-decoration: underline; }
.maz-consent-reopen { position: fixed; left: 16px; bottom: 72px; z-index: 9996; width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--color-secondary); color: var(--color-accent); display: flex; align-items: center; justify-content: center; opacity: .75; }
.dark .maz-consent-reopen { background: var(--color-accent); color: var(--color-secondary); }

/* ---------- comments (modern) ---------- */
.maz-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.maz-comments { padding-block: 64px 96px; }
.maz-c { max-width: 860px; margin-inline: auto; }
.maz-c__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.maz-c__title { font-size: 26px; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.maz-c__count { font-size: 14px; font-weight: 600; padding: 3px 11px; border-radius: 9999px; background: var(--color-primary-50); color: var(--color-primary-600); }
.dark .maz-c__count { background: var(--color-background-9); color: var(--color-accent); }
.maz-c__sort select { appearance: none; border: 1px solid var(--color-stroke-3); background: transparent; color: inherit; font: inherit; font-size: 14px; padding: 8px 34px 8px 14px; border-radius: 9999px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
[dir="rtl"] .maz-c__sort select { padding: 8px 14px 8px 34px; background-position: left 12px center; }
.dark .maz-c__sort select { border-color: var(--color-stroke-7); }
.maz-c__list { display: grid; gap: 14px; }
.maz-c__empty { text-align: center; padding: 44px 20px; border: 1px dashed var(--color-stroke-3); border-radius: 20px; opacity: .8; }
.dark .maz-c__empty { border-color: var(--color-stroke-7); }
.maz-c__empty svg { margin-inline: auto; margin-bottom: 10px; opacity: .55; }
.maz-c__more { display: block; margin: 20px auto 0; padding: 10px 22px; border-radius: 9999px; border: 1px solid var(--color-stroke-3); background: transparent; color: inherit; font-size: 14px; cursor: pointer; }
.maz-c__more:hover { border-color: var(--color-secondary); } .dark .maz-c__more { border-color: var(--color-stroke-7); } .dark .maz-c__more:hover { border-color: var(--color-accent); }

.maz-cm { display: flex; gap: 14px; padding: 18px 20px; border: 1px solid var(--color-stroke-4); border-radius: 20px; background: #fff; transition: box-shadow .2s, border-color .2s; }
.maz-cm:hover { box-shadow: 0 8px 28px rgba(20, 20, 40, .06); }
.dark .maz-cm { background: var(--color-background-6); border-color: var(--color-stroke-7); }
.maz-cm .maz-cm { margin-top: 12px; background: var(--color-background-2); }
.dark .maz-cm .maz-cm { background: var(--color-background-5); }
.maz-cm__avatar { flex: none; width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 18px; color: #fff;
  background: linear-gradient(135deg, hsl(var(--h, 250) 70% 58%), hsl(calc(var(--h, 250) + 40) 75% 48%)); }
.maz-cm__main { flex: 1; min-width: 0; }
.maz-cm__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 14px; }
.maz-cm__name { font-size: 15px; font-weight: 600; }
.maz-cm__time { opacity: .55; font-size: 13px; }
.maz-badge { font-size: 11px; font-weight: 600; padding: 2px 9px; border-radius: 9999px; background: var(--color-ns-green); color: var(--color-secondary); text-transform: uppercase; letter-spacing: .03em; }
.maz-badge--pending { background: #fff4d6; color: #8a5a00; }
.maz-cm__body { margin-top: 6px; line-height: 1.65; overflow-wrap: anywhere; }
.maz-cm__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.maz-act { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 9999px; border: 0; background: transparent; color: inherit; opacity: .65; font-size: 13px; font-weight: 500; cursor: pointer; transition: all .15s; }
.maz-act:hover { opacity: 1; background: var(--color-background-4); } .dark .maz-act:hover { background: var(--color-background-9); }
.maz-like[aria-pressed="true"] { opacity: 1; color: #e11d48; } .maz-like[aria-pressed="true"] svg { fill: currentColor; }
.maz-like.is-pop svg { animation: maz-pop .35s ease; }
@keyframes maz-pop { 40% { transform: scale(1.35); } }
.maz-cm__replies { margin-top: 6px; }
.maz-cm__replies[hidden] { display: none; }
.maz-cm.is-new { animation: maz-in .45s ease; }
@keyframes maz-in { from { opacity: 0; transform: translateY(8px); } }

.maz-toast { padding: 14px 18px; border-radius: 16px; margin-bottom: 20px; font-size: 15px; display: flex; gap: 10px; align-items: center; background: var(--color-primary-50); color: var(--color-primary-600); }
.dark .maz-toast { background: var(--color-background-9); color: var(--color-accent); }
.maz-toast.is-error { background: #fdecec; color: #b42318; } .dark .maz-toast.is-error { background: #3a1616; color: #ff9d94; }
.maz-toast[hidden] { display: none; }

.maz-compose { margin-top: 36px; padding: 28px; border-radius: 24px; background: #fff; border: 1px solid var(--color-stroke-4); box-shadow: 0 10px 40px rgba(20, 20, 40, .05); }
.dark .maz-compose { background: var(--color-background-6); border-color: var(--color-stroke-7); }
.maz-compose__head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.maz-compose__head h4 { font-size: 20px; font-weight: 600; margin: 0; }
.maz-compose__head p { margin: 2px 0 0; font-size: 13px; opacity: .75; }
.maz-compose__head p button { margin-inline-start: 8px; text-decoration: underline; background: none; border: 0; color: inherit; cursor: pointer; }
.maz-compose__avatar { background: var(--color-background-4); color: var(--color-secondary); }
.dark .maz-compose__avatar { background: var(--color-background-9); color: var(--color-accent); }
.maz-compose__row { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .maz-compose__row { grid-template-columns: 1fr; } .maz-cm { padding: 14px; } .maz-compose { padding: 20px; } }
.maz-field { display: block; margin-bottom: 16px; }
.maz-field > span { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; opacity: .8; }
.maz-field input, .maz-field textarea { width: 100%; padding: 12px 16px; border-radius: 14px; border: 1px solid var(--color-stroke-3); background: var(--color-background-1); color: inherit; font: inherit; transition: border-color .15s, box-shadow .15s; resize: none; }
.dark .maz-field input, .dark .maz-field textarea { background: var(--color-background-5); border-color: var(--color-stroke-7); }
.maz-field input:focus, .maz-field textarea:focus { outline: none; border-color: var(--color-primary-500); box-shadow: 0 0 0 4px rgba(23, 1, 189, .12); }
.maz-field .is-invalid { border-color: #dc2626; }
.maz-compose__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: space-between; }
.maz-check { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; opacity: .8; cursor: pointer; }
.maz-counter { font-size: 12px; opacity: .55; margin-inline-start: auto; font-variant-numeric: tabular-nums; }
.maz-submit { display: inline-flex; align-items: center; gap: 10px; padding: 12px 26px; border-radius: 9999px; border: 0; cursor: pointer; font-weight: 600; font-size: 15px; background: var(--color-primary-500); color: #fff; transition: transform .15s, filter .15s; }
.maz-submit:hover { filter: brightness(1.1); transform: translateY(-1px); }
.maz-submit:disabled { opacity: .7; cursor: progress; transform: none; }
.maz-spinner { display: none; width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; animation: maz-spin .7s linear infinite; }
.maz-submit:disabled .maz-spinner { display: inline-block; }
@keyframes maz-spin { to { transform: rotate(360deg); } }
.maz-field-error { color: #b42318; font-size: 13px; margin-top: 6px; }
.dark .maz-field-error { color: #ff8f85; }

/* ---------- new-module helpers (blog, team, apply, gate) ---------- */
.maz-lead-form { max-width: 620px; margin-inline: auto; }
.maz-meta-row { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; font-size: 14px; opacity: .7; }
.maz-tag { display: inline-block; padding: 4px 12px; border-radius: 9999px; border: 1px solid var(--color-stroke-3); font-size: 13px; }
.dark .maz-tag { border-color: var(--color-stroke-7); }
.maz-search { display: flex; gap: 10px; max-width: 520px; margin: 0 auto 32px; }
.maz-search input { flex: 1; }
.maz-video { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; }
.maz-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.maz-pagination { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 48px; }
.maz-pagination a, .maz-pagination span { padding: 8px 14px; border-radius: 10px; border: 1px solid var(--color-stroke-3); font-size: 14px; }
.maz-pagination .is-active { background: var(--color-secondary); color: var(--color-accent); border-color: var(--color-secondary); }
.dark .maz-pagination a, .dark .maz-pagination span { border-color: var(--color-stroke-7); }
.dark .maz-pagination .is-active { background: var(--color-accent); color: var(--color-secondary); }

/* ---------- rich-text bodies (articles, product descriptions, policy pages) ---------- */
.maz-prose { font-size: 17px; line-height: 1.75; color: inherit; }
.maz-prose > * + * { margin-top: 1.1em; }
.maz-prose h2, .maz-prose h3, .maz-prose h4 { font-weight: 600; line-height: 1.25; margin-top: 1.8em; color: var(--color-secondary); }
.dark .maz-prose h2, .dark .maz-prose h3, .dark .maz-prose h4 { color: var(--color-accent); }
.maz-prose h2 { font-size: 1.7em; } .maz-prose h3 { font-size: 1.35em; } .maz-prose h4 { font-size: 1.15em; }
.maz-prose ul, .maz-prose ol { padding-inline-start: 1.4em; } .maz-prose ul { list-style: disc; } .maz-prose ol { list-style: decimal; }
.maz-prose li + li { margin-top: .4em; }
.maz-prose a { color: var(--color-primary-500); text-decoration: underline; }
.maz-prose img, .maz-prose video, .maz-prose iframe { max-width: 100%; border-radius: 14px; height: auto; }
.maz-prose blockquote { border-inline-start: 4px solid var(--color-primary-500); padding: .2em 0 .2em 1.2em; font-style: italic; opacity: .85; }
.maz-prose table { width: 100%; border-collapse: collapse; }
.maz-prose th, .maz-prose td { border: 1px solid var(--color-stroke-3); padding: 8px 12px; text-align: start; }
.maz-prose code { background: var(--color-background-4); padding: 2px 6px; border-radius: 6px; font-size: .92em; }
.dark .maz-prose code { background: var(--color-background-9); }
.maz-prose pre { background: var(--color-secondary); color: var(--color-accent); padding: 16px 20px; border-radius: 14px; overflow-x: auto; }

/* ---------- team cards ---------- */
.maz-team-card { text-align: center; }
.maz-team-card figure { aspect-ratio: 1; overflow: hidden; border-radius: 20px; background: var(--color-background-4); }
.dark .maz-team-card figure { background: var(--color-background-9); }
.maz-team-card img { width: 100%; height: 100%; object-fit: cover; }
.maz-team-socials { display: flex; justify-content: center; gap: 12px; margin-top: 12px; }
.maz-team-socials a { opacity: .65; transition: opacity .2s; } .maz-team-socials a:hover { opacity: 1; }

/* ---------- brand icons for social links (Simple Icons masked with the current colour) ---------- */
.maz-brand-icon { display: inline-block; width: 20px; height: 20px; background-color: var(--color-secondary);
  -webkit-mask: var(--maz-icon) center / contain no-repeat; mask: var(--maz-icon) center / contain no-repeat; }
.dark .maz-brand-icon { background-color: var(--color-accent); }

/* ---------- packages ---------- */
.maz-pkg-grid { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); align-items: start; }
.maz-pkg--featured { position: relative; box-shadow: 0 0 0 2px var(--color-primary-500), 0 18px 50px rgba(23, 1, 189, .16); }
.maz-pkg__badge { display: block; width: max-content; margin: -6px auto 10px; padding: 3px 12px; border-radius: 9999px; background: var(--color-primary-500); color: #fff; font-size: 12px; font-weight: 600; }
.maz-pkg__price { text-align: center; margin: 4px 0 18px; }
.maz-pkg__price small { display: block; font-size: 12px; opacity: .6; }
.maz-pkg__price p { margin: 0; }
.maz-pkg__price strong { font-size: 28px; font-weight: 600; color: var(--color-secondary); }
.dark .maz-pkg__price strong { color: var(--color-accent); }
.maz-pkg__price span { font-size: 14px; opacity: .6; }
.maz-pkg__price s { display: block; font-size: 13px; opacity: .5; }
.maz-pkg__inline-price { margin-top: 6px; } .maz-pkg__inline-price strong { font-size: 22px; }

/* ---------- page-builder blocks (logical properties only, so they mirror in RTL by themselves) ---------- */
.maz-blk-lead { font-size: 1.15rem; max-width: 720px; }
.maz-blk-hero__body { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; max-width: 900px; margin-inline: auto; }
.maz-blk-hero.is-start .maz-blk-hero__body { align-items: flex-start; text-align: start; margin-inline: 0; }
.maz-blk-buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 8px; }
.maz-blk-hero.is-start .maz-blk-buttons { justify-content: flex-start; }
.maz-blk-hero__image { margin: 48px auto 0; max-width: 1290px; overflow: hidden; border-radius: 32px; }
.maz-blk-hero__image img, .maz-blk-figure img { width: 100%; height: auto; display: block; }
.maz-blk-text { max-width: 760px; margin-inline: auto; }
.maz-blk-text.is-wide { max-width: 1100px; }
.maz-blk-figure { margin: 0; overflow: hidden; border-radius: 20px; }
.maz-blk-figure figcaption, .maz-blk-caption { padding-top: 10px; font-size: .9rem; opacity: .7; text-align: center; }
.maz-blk-fullbleed { width: 100%; }
.maz-blk-fullbleed .maz-blk-figure { border-radius: 0; }
.maz-blk-split { display: grid; gap: 40px; align-items: center; }
.maz-blk-split__media { margin: 0; overflow: hidden; border-radius: 24px; }
.maz-blk-split__media img { width: 100%; height: auto; display: block; }
.maz-blk-split__body { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
@media (min-width: 900px) {
  .maz-blk-split { grid-template-columns: 1fr 1fr; gap: 64px; }
  .maz-blk-split.is-reversed .maz-blk-split__media { order: 2; }
}
.maz-blk-heading { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; max-width: 720px; margin: 0 auto 40px; }
.maz-blk-grid { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .maz-blk-grid.cols-2, .maz-blk-grid.cols-3, .maz-blk-grid.cols-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .maz-blk-grid.cols-3 { grid-template-columns: repeat(3, 1fr); } .maz-blk-grid.cols-4 { grid-template-columns: repeat(4, 1fr); } }
.maz-blk-card { border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 10px; margin: 0; }
.maz-blk-card__icon { font-size: 30px; line-height: 1; }
.maz-blk-card footer { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 8px; }
.maz-blk-card footer img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.maz-blk-card small { opacity: .65; }
.maz-blk-stars { color: #f5a623; letter-spacing: 2px; }
.maz-blk-stats { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.maz-blk-stat { border-radius: 20px; padding: 28px 20px; text-align: center; display: flex; flex-direction: column; gap: 6px; }
.maz-blk-cta { border-radius: 28px; padding: 56px 28px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.maz-blk-cta > p { max-width: 620px; }
.maz-blk-faq { max-width: 860px; margin-inline: auto; display: flex; flex-direction: column; gap: 12px; }
.maz-blk-faq__item { border-radius: 16px; padding: 20px 24px; }
.maz-blk-faq__item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.maz-blk-faq__item summary::-webkit-details-marker { display: none; }
.maz-blk-faq__item summary::after { content: '+'; font-size: 1.5rem; line-height: 1; flex: none; transition: transform .2s; }
.maz-blk-faq__item[open] summary::after { content: '–'; }
.maz-blk-faq__item .maz-prose { padding-top: 14px; }
.maz-blk-video { position: relative; aspect-ratio: 16 / 9; max-width: 960px; margin-inline: auto; border-radius: 20px; overflow: hidden; }
.maz-blk-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.maz-blk-spacer.is-sm { height: 24px; } .maz-blk-spacer.is-md { height: 56px; } .maz-blk-spacer.is-lg { height: 112px; }

/* ---------- header (extra room for the Login + Quick Call button pair) ----------
   assets/main.css is the original static build's *frozen, pre-compiled* Tailwind output - it only contains the
   utility classes the static pages actually used, so a new arbitrary-value class like `max-w-[1360px]` compiles
   to nothing and is silently ignored. Widening the header pill therefore has to be plain CSS here instead,
   layered on top of the original `.header-one` utility classes (xl:max-w-[1240px] / lp:!max-w-[1290px]).
   It must join Tailwind's own `@layer utilities` (declared in main.css): cascade layers flip the usual
   precedence for `!important` rules, so an `!important` override *outside* any layer actually loses to one
   *inside* a layer - it only wins here because it lands in the same layer, later in source order. */
@layer utilities {
  @media (min-width: 80rem) { .header-one { max-width: 1340px !important; } }
  @media (min-width: 1440px) { .header-one { max-width: 1390px !important; } }
}
