:root {
  --dw-purple: #673de6;
  --dw-purple-2: #784df2;
  --dw-purple-3: #9b7cff;
  --dw-ink: #111018;
  --dw-muted: #696774;
  --dw-line: #e7e6ec;
  --dw-header: #0f0829;
  --dw-header-2: #24104e;
  --dw-panel: #121214;
  --dw-panel-2: #1a1a1d;
  --dw-white: #fff;
  --dw-radius: 22px;
  --dw-container: min(100% - 40px, 1680px);
  --dw-content: min(100% - 40px, 1180px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--dw-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.dw-drawer-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
svg { width: 1.3em; height: 1.3em; display: block; }
.screen-reader-text { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto!important; width: auto; height: auto; top: 8px; left: 8px; z-index: 99999; padding: 10px 14px; background: #fff; color: #111; border-radius: 8px; }
.dw-container { width: var(--dw-content); margin-inline: auto; }

/* Header */
.dw-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  color: #fff;
  background: radial-gradient(120% 180% at 90% -50%, #4a20a2 0%, transparent 55%), linear-gradient(105deg, var(--dw-header), var(--dw-header-2));
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.dw-header-shell {
  width: var(--dw-container);
  min-height: 82px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}
.dw-brand { display: flex; align-items: center; min-width: 190px; }
.dw-brand .custom-logo-link,
.dw-brand-logo-link { display: inline-flex; align-items: center; }
.dw-header-logo { width:auto; height:auto; max-height:44px; object-fit:contain; }
.dw-header-logo-desktop { display:block; max-width:var(--dw-logo-desktop-width,220px); }
.dw-header-logo-mobile { display:none; max-width:var(--dw-logo-mobile-width,145px); }
.dw-brand-text { display: inline-flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 780; letter-spacing: .03em; color: #fff; }
.dw-brand-mark { display: inline-grid; place-items: center; width: 38px; height: 38px; font-size: 42px; line-height: 1; transform: translateY(-1px); }

.dw-desktop-nav { display: flex; align-items: center; gap: 32px; min-width: 0; }
.dw-desktop-nav > a,
.dw-nav-trigger { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 30px 0; border: 0; background: none; color: rgba(255,255,255,.9); font-weight: 600; font-size: 15px; cursor: pointer; white-space: nowrap; }
.dw-desktop-nav > a:hover,
.dw-desktop-nav > a:focus-visible,
.dw-nav-trigger:hover,
.dw-nav-trigger:focus-visible { color: #fff; }
.dw-desktop-nav > a::after,
.dw-nav-trigger::after { content: ""; position: absolute; left: 0; right: 0; bottom: 21px; height: 2px; background: #fff; transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.dw-desktop-nav > a:hover::after,
.dw-nav-trigger[aria-expanded="true"]::after { transform: scaleX(1); }
.dw-nav-trigger svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.1; transition: transform .2s ease; }
.dw-nav-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }

.dw-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 23px; }
.dw-agent-btn { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; background: linear-gradient(var(--dw-header),var(--dw-header)) padding-box, linear-gradient(90deg,#c92bde,#3ba7ff) border-box; color: #fff; font-weight: 750; }
.dw-agent-btn:hover { background: linear-gradient(#1d1044,#1d1044) padding-box, linear-gradient(90deg,#db46ee,#61b9ff) border-box; }
.dw-agent-btn svg { width: 23px; height: 23px; fill: #fff; }
.dw-agent-btn__icon { display:inline-flex; align-items:center; justify-content:center; width:23px; height:23px; flex:0 0 23px; }
.dw-agent-btn__icon img { display:block; width:23px; height:23px; object-fit:contain; }
.dw-language { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.dw-id-flag { position: relative; width: 19px; height: 19px; border-radius: 50%; overflow: hidden; background: linear-gradient(#e31837 0 50%,#fff 50%); box-shadow: 0 0 0 1px rgba(255,255,255,.4); }
.dw-login-link { display: inline-grid; place-items: center; width: 38px; height: 38px; }
.dw-login-link svg { width: 25px; height: 25px; fill: none; stroke: #fff; stroke-width: 1.8; }
.dw-mobile-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #fff; align-items: center; justify-content: center; cursor: pointer; }
.dw-mobile-toggle svg { width: 31px; height: 31px; fill: none; stroke: #fff; stroke-width: 2; }
.dw-close-icon { display: none; }
.dw-mobile-toggle[aria-expanded="true"] .dw-open-icon { display: none; }
.dw-mobile-toggle[aria-expanded="true"] .dw-close-icon { display: block; }

/* Desktop header alignment v1.0.30
 * Desktop only: use the same centered 1180px content axis as hero/content.
 * The value is adjustable in Customizer > Header Demooweb. */
@media (min-width: 1024px) {
  .dw-site-header > .dw-header-shell {
    width: min(calc(100% - 48px), var(--dw-header-desktop-container,1180px)) !important;
    max-width: var(--dw-header-desktop-container,1180px) !important;
    margin-inline: auto !important;
  }

  .dw-site-header .dw-mega-panel {
    width: min(calc(100% - 48px), var(--dw-header-desktop-container,1180px)) !important;
    max-width: var(--dw-header-desktop-container,1180px) !important;
    margin-inline: auto !important;
  }
}

/* Mega menu */
.dw-mega-wrap { display:none; position: absolute; top: 100%; left: 0; right: 0; padding: 12px 20px 20px; background: linear-gradient(180deg,rgba(8,4,22,.98),rgba(10,6,26,.98)); }
.dw-mega-wrap.is-open { display:block; }
.dw-mega-wrap[hidden] { display:none!important; }
.dw-mega-panel { width: min(100%, 1740px); margin: 0 auto; padding: 28px; display: grid; grid-template-columns: 290px minmax(0,1fr) 350px; gap: 28px; background: var(--dw-panel); border: 1px solid #3a3940; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.34); }
.dw-mega-kicker { margin: 0 0 18px; color: #d5d4d9; font-size: 13px; font-weight: 800; letter-spacing: .02em; }
.dw-mega-sidebar { padding-right: 26px; border-right: 1px solid #343338; }
.dw-mega-product { display: flex; align-items: center; gap: 14px; min-height: 48px; padding: 0 12px; border-radius: 12px; color: #fff; font-weight: 600; }
.dw-mega-product + .dw-mega-product { margin-top: 4px; }
.dw-mega-product:hover, .dw-mega-product.is-active { background: #352c57; }
.dw-menu-icon { width: 25px; min-width: 25px; display: inline-grid; place-items: center; color: currentColor; }
.dw-menu-icon svg { width: 24px; height: 24px; fill: currentColor; }
.dw-menu-icon .dw-icon-stroke, .dw-mobile-row-left .dw-icon-stroke { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dw-menu-icon .dw-icon-cut { fill: var(--dw-panel); stroke: none; }
.dw-mega-content { padding: 0 0 0 2px; }
.dw-mega-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 36px; }
.dw-mega-grid a { display: block; color: #fff; }
.dw-mega-grid strong { display: flex; align-items: center; gap: 9px; margin-bottom: 5px; font-size: 16px; }
.dw-mega-grid small { display: block; color: #bbb9c1; font-size: 14px; line-height: 1.5; }
.dw-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border-radius: 7px; background: #3d2d70; color: #bba5ff; font-size: 12px; font-weight: 800; }
.dw-mega-divider { height: 1px; margin: 28px 0 24px; background: #353438; }
.dw-mega-grid-bottom { grid-template-columns: 1.3fr 1fr; }
.dw-ai-card { min-height: 430px; padding: 28px 24px 24px; display: flex; flex-direction: column; background: var(--dw-panel-2); border-radius: 17px; color: #fff; }
.dw-ai-card-top { display: flex; align-items: center; justify-content: space-between; font-size: 13px; font-weight: 800; }
.dw-ai-visual { position: relative; width: 190px; height: 175px; margin: 22px auto 14px; display: grid; place-items: center; border: 1px solid #483391; border-radius: 38px; transform: rotate(-7deg); box-shadow: 0 0 0 20px rgba(103,61,230,.06),0 0 0 40px rgba(103,61,230,.03); }
.dw-ai-visual::before { content:""; position:absolute; inset:35px; border:1px solid #7453de; border-radius:27px; background:radial-gradient(circle at 50% 50%,#4b2ca8,#181321 70%); box-shadow:0 12px 30px rgba(0,0,0,.35); }
.dw-ai-visual span { position: relative; z-index: 1; font-size: 38px; }
.dw-ai-visual span + span { position:absolute; right:40px; bottom:48px; font-size:25px; }
.dw-ai-card h3 { margin: 10px 0 4px; font-size: 22px; line-height: 1.28; }
.dw-ai-card p { margin: 0 0 18px; color:#c8c6ce; font-size:14px; line-height:1.5; }
.dw-ai-card > a { margin-top:auto; display:grid; place-items:center; min-height:48px; border-radius:12px; background:#fff; color:#111; font-weight:800; }
.dw-ai-card > a:hover { background:#f0eef7; }

/* Mobile drawer */
.dw-mobile-drawer { position: fixed; z-index: 999; inset: 76px 0 0; background:#fff; color:#17151e; display:none; flex-direction:column; }
.dw-mobile-drawer.is-open { display:flex; }
.dw-mobile-drawer[hidden] { display:none!important; }
.dw-drawer-scroll { width:100%; max-width:760px; margin:0 auto; padding: 26px 32px 20px; overflow-y:auto; overscroll-behavior:contain; }
.dw-mobile-price { display:block; padding:12px 0 22px; font-size:24px; font-weight:500; }
.dw-drawer-divider { height:1px; margin:10px 0 28px; background:#dedde3; }
.dw-mobile-section-title { margin:0 0 18px; color:#4c4954; font-size:14px; font-weight:800; }
.dw-mobile-products a, .dw-mobile-simple { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:21px; font-weight:500; }
.dw-mobile-products a > svg, .dw-mobile-simple > svg { width:22px; height:22px; fill:none; stroke:#111; stroke-width:2.2; }
.dw-mobile-row-left { display:flex; align-items:center; gap:22px; min-width:0; }
.dw-mobile-row-left .dw-menu-icon { color:#17151e; }
.dw-mobile-row-left .dw-menu-icon svg { width:26px; height:26px; }
.dw-mobile-footer { margin-top:auto; min-height:92px; padding:0 max(32px,calc((100% - 696px)/2)); display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e3e1e7; background:#fff; box-shadow:0 -8px 25px rgba(30,20,60,.04); }
.dw-language-mobile { color:#17151e; font-size:18px; }
.dw-language-mobile .dw-id-flag { box-shadow:0 0 0 1px rgba(0,0,0,.12); width:27px; height:27px; }
.dw-mobile-footer a { display:inline-flex; align-items:center; gap:12px; font-size:20px; font-weight:650; }
.dw-mobile-footer a svg { width:28px; height:28px; fill:none; stroke:#17151e; stroke-width:1.8; }

/* Main content */
.dw-main { min-height: 40vh; }
.dw-page-content, .dw-content-layout, .dw-single-wrap { padding-block: 72px; }
.dw-entry-header h1, .dw-archive-header h1 { margin:0 0 24px; font-size:clamp(34px,4vw,58px); line-height:1.08; letter-spacing:-.03em; }
.dw-entry-content { font-size:17px; }
.dw-entry-content > * { max-width: 760px; }
.dw-entry-content > .alignwide { max-width: 1100px; }
.dw-entry-content > .alignfull { max-width:none; width:100vw; margin-left:calc(50% - 50vw); }
.dw-entry-meta { margin:0 0 12px; color:var(--dw-muted); font-size:14px; }
.dw-featured { margin:28px 0 40px; }
.dw-featured img { width:100%; border-radius:20px; }
.dw-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.dw-post-card { overflow:hidden; border:1px solid var(--dw-line); border-radius:18px; background:#fff; }
.dw-post-thumb { display:block; aspect-ratio:16/9; background:#f1f0f5; }
.dw-post-thumb img { width:100%; height:100%; object-fit:cover; }
.dw-post-card-body { padding:22px; }
.dw-post-card h2 { margin:0 0 10px; font-size:23px; line-height:1.25; }
.dw-post-card p:last-child { margin-bottom:0; color:var(--dw-muted); }
.dw-archive-header { margin-bottom:38px; }
.dw-empty-state, .dw-error-page { padding-block:100px; text-align:center; }
.dw-error-page { max-width:800px; }
.dw-error-page h1 { font-size:clamp(42px,6vw,74px); line-height:1.05; margin:0 0 15px; }
.dw-eyebrow { color:var(--dw-purple); font-weight:800; letter-spacing:.12em; }
.dw-primary-cta { display:inline-flex; align-items:center; justify-content:center; min-height:52px; margin-top:18px; padding:0 24px; border-radius:12px; background:var(--dw-purple); color:#fff; font-weight:800; }
.dw-fallback-hero { padding:120px 0; color:#fff; background:radial-gradient(circle at 80% 20%,#744cec 0,transparent 35%),linear-gradient(135deg,#0d0725,#251052 70%,#3b1686); }
.dw-fallback-hero h1 { max-width:900px; margin:0 0 22px; font-size:clamp(48px,7vw,92px); line-height:.98; letter-spacing:-.05em; }
.dw-fallback-hero p:not(.dw-eyebrow) { max-width:670px; color:#d8d2e9; font-size:20px; }
.dw-fallback-hero .dw-primary-cta { background:#fff; color:#16121e; }
.dw-comments { margin-top:60px; padding-top:40px; border-top:1px solid var(--dw-line); }

/* Elementor compatibility */
.demooweb-elementor-page .dw-main,
.dw-elementor-full-width { overflow: clip; }
.demooweb-elementor-page .elementor { width:100%; }
.elementor-page .dw-page-content { padding:0; }

/* Footer */
.dw-site-footer { padding:60px 0; background:#0f0b1c; color:#fff; }
.dw-footer-inner { width:var(--dw-content); margin-inline:auto; display:grid; grid-template-columns:1fr auto; gap:25px 50px; align-items:start; }
.dw-footer-brand strong { font-size:22px; letter-spacing:.04em; }
.dw-footer-logo-link { display:inline-flex; align-items:center; }
.dw-footer-logo { display:block; width:auto; max-width:var(--dw-footer-logo-width,200px); max-height:58px; object-fit:contain; }
.dw-footer-brand p { max-width:520px; margin:8px 0 0; color:#bdb8c9; }
.dw-footer-nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:20px; margin:0; padding:0; }
.dw-copyright { grid-column:1/-1; margin:28px 0 0; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); color:#a7a1b5; font-size:14px; }

/* Focus */
a:focus-visible, button:focus-visible { outline:3px solid #a98cff; outline-offset:4px; border-radius:6px; }

@media (min-width: 1024px) {
  .dw-mobile-drawer, .dw-mobile-drawer.is-open { display:none!important; }
}

@media (min-width: 783px) {
  body.admin-bar .dw-site-header { top:32px; }
}

@media (max-width: 782px) {
  body.admin-bar .dw-site-header { top:46px; }
  body.admin-bar .dw-mobile-drawer { top:122px; }
}

@media (max-width: 1260px) {
  .dw-header-shell { gap:22px; }
  .dw-desktop-nav { gap:20px; }
  .dw-language { display:none; }
  .dw-mega-panel { grid-template-columns:260px minmax(0,1fr) 300px; }
}

@media (max-width: 1023px) {
  :root { --dw-container:min(100% - 40px, 760px); --dw-content:min(100% - 40px, 760px); }
  .dw-header-shell { min-height:76px; grid-template-columns:1fr auto; gap:16px; }
  .dw-brand { min-width:0; }
  .dw-header-logo { height:auto; object-fit:contain; }
  .dw-header-logo-desktop { display:none; }
  .dw-header-logo-mobile {
    display:block;
    width:var(--dw-logo-mobile-width,145px);
    max-width:none;
    max-height:none;
    height:auto;
    object-fit:contain;
  }
  .dw-brand-logo-link { width:auto; max-width:100%; overflow:visible; }
  .dw-brand-text { font-size:0; gap:0; }
  .dw-brand-mark { font-size:42px; width:42px; }
  .dw-desktop-nav, .dw-login-link, .dw-header-actions > .dw-language { display:none; }
  .dw-header-actions { gap:13px; }
  .dw-agent-btn { min-height:48px; padding:0 18px; font-size:16px; }
  .dw-mobile-toggle { display:inline-flex; }
  .dw-mega-wrap, .dw-mega-wrap.is-open { display:none!important; }
  .dw-mobile-drawer.is-open { display:flex; }
  .dw-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dw-footer-inner { grid-template-columns:1fr; }
  .dw-copyright { grid-column:auto; }
}

@media (max-width: 620px) {
  :root { --dw-container:calc(100% - 32px); --dw-content:calc(100% - 32px); }
  .dw-header-shell { width:calc(100% - 32px); }
  .dw-agent-btn { min-height:44px; padding:0 14px; gap:8px; }
  .dw-agent-btn svg { width:21px; height:21px; }
  .dw-agent-btn__icon { width:21px; height:21px; flex-basis:21px; }
  .dw-agent-btn__icon img { width:21px; height:21px; }
  .dw-mobile-toggle { width:38px; height:44px; }
  .dw-mobile-toggle svg { width:29px; height:29px; }
  .dw-mobile-drawer { inset:76px 0 0; }
  .dw-drawer-scroll { padding:25px 24px 20px; }
  .dw-mobile-price { font-size:21px; }
  .dw-mobile-products a, .dw-mobile-simple { min-height:66px; font-size:19px; }
  .dw-mobile-row-left { gap:18px; }
  .dw-mobile-footer { min-height:86px; padding-inline:24px; }
  .dw-mobile-footer a { font-size:18px; }
  .dw-page-content,.dw-content-layout,.dw-single-wrap { padding-block:48px; }
  .dw-post-grid { grid-template-columns:1fr; }
  .dw-fallback-hero { padding:80px 0; }
  .dw-fallback-hero p:not(.dw-eyebrow) { font-size:18px; }
  .dw-site-footer { padding:45px 0; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

@media (max-width: 620px) {
  .dw-header-logo-mobile { width:min(var(--dw-logo-mobile-width,145px), 42vw); }
}
