/* Zillya Antivirus Worldwide — design system. Files load in name order; later files win at equal specificity.
   00-base: tokens, type, header, buttons, section rhythm, footer, floating widgets, a11y (owner: lead)
   05-responsive-base: the original responsive block, loads BEFORE the area files so they can override it (owner: lead)
   10-home / 20-shop / 30-pages / 40-woo: one owner each; put that area's media queries in the same file. */

/* 0. tokens ---------------------------------------------------------------- */
:root {
  --z-ink: #111a3a;
  --z-navy: #1f2b5b;
  --z-navy-deep: #16204a;
  --z-teal: #0e8c9b;
  --z-teal-deep: #0b6f7b;
  --z-teal-soft: #e4f4f6;
  --z-paper: #f3f6fa;
  --z-line: #d6dde8;
  --z-muted: #5b6478;
  --z-green: #1c8c4e;
  --z-red: #b8322a;
  --z-white: #ffffff;
  --z-font: "Ubuntu", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --z-radius: 6px;
  --z-radius-lg: 12px;
  --z-container: 1200px;
  --z-section: 88px;
  --z-section-sm: 56px;
}

/* 1. base typography --------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body.zillya-design,
body.zillya-design #main,
body.zillya-design .elementor,
body.zillya-design .woocommerce {
  font-family: var(--z-font) !important;
  color: var(--z-ink);
  font-size: 17px;
  line-height: 1.6;
  background: var(--z-white);
}
/* every text node onto Ubuntu — icon fonts excluded */
body.zillya-design *:not(i):not([class*="icomoon"]):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not([class*="eicon"]):not(.dashicons):not([class*="the7-icon"]):not(.gt_selector):not(.gt_selector *) {
  font-family: var(--z-font) !important;
}
body.zillya-design p,
body.zillya-design li,
body.zillya-design .elementor-widget-text-editor,
body.zillya-design .woocommerce-product-details__short-description {
  font-size: 17px;
  line-height: 1.6;
  color: var(--z-ink);
  font-weight: 400 !important;
}
body.zillya-design p { margin: 0 0 1em; }
body.zillya-design p:last-child { margin-bottom: 0; }
/* body copy that was pasted into text widgets as <h4>/<h2> */
body.zillya-design .elementor-widget-text-editor h4,
body.zillya-design .elementor-widget-text-editor h5,
body.zillya-design .elementor-widget-text-editor h6 {
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: var(--z-ink) !important;
  margin: 0 0 1em !important;
  letter-spacing: 0 !important;
}
body.zillya-design .elementor-widget-text-editor h2,
body.zillya-design .elementor-widget-text-editor h3 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: var(--z-ink) !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 12px !important;
}
body.zillya-design .elementor-widget-text-editor u,
body.zillya-design .elementor-widget-text-editor span[style*="underline"] {
  text-decoration: none !important;
}
/* the stale red inline colour on prices/emphasis */
body.zillya-design span[style*="color: #ff0000"],
body.zillya-design span[style*="color:#ff0000"],
body.zillya-design font[color="#ff0000"] {
  color: var(--z-ink) !important;
}

/* headings — one scale, one weight */
body.zillya-design h1, body.zillya-design h2, body.zillya-design h3,
body.zillya-design h4, body.zillya-design h5, body.zillya-design h6,
body.zillya-design .elementor-heading-title {
  color: var(--z-ink);
  font-weight: 700 !important;
  letter-spacing: -0.015em;
  line-height: 1.15 !important;
  margin: 0;
  text-transform: none !important;
}
body.zillya-design h1, body.zillya-design h1.elementor-heading-title { font-size: clamp(34px, 3.6vw, 52px) !important; }
body.zillya-design h2, body.zillya-design h2.elementor-heading-title { font-size: clamp(27px, 2.6vw, 38px) !important; }
body.zillya-design h3, body.zillya-design h3.elementor-heading-title { font-size: clamp(22px, 2vw, 28px) !important; }
body.zillya-design h4, body.zillya-design h4.elementor-heading-title { font-size: 20px !important; font-weight: 500 !important; }
body.zillya-design h5, body.zillya-design h5.elementor-heading-title { font-size: 17px !important; font-weight: 500 !important; }

body.zillya-design a { color: var(--z-teal); text-decoration: none; transition: color .15s; }
body.zillya-design a:hover { color: var(--z-teal-deep); }
body.zillya-design strong, body.zillya-design b { font-weight: 700; }
body.zillya-design ul, body.zillya-design ol { padding-left: 1.2em; }

/* generic container width */
body.zillya-design .wf-wrap { width: 100% !important; max-width: var(--z-container) !important; padding-left: 20px; padding-right: 20px; margin: 0 auto; }
body.zillya-design .wf-container-main, body.zillya-design #content { width: 100% !important; max-width: none !important; }
body.zillya-design .elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--z-container); }
body.zillya-design .e-con-boxed > .e-con-inner { max-width: var(--z-container) !important; }

/* 2. header ---------------------------------------------------------------- */
/* The7 "boxed" page: 1340px box on a dark pattern. Go full-bleed; our containers do the centring. */
body.zillya-design #page, body.zillya-design #page.boxed { max-width: none !important; width: 100% !important; margin: 0 !important; background: var(--z-white) !important; box-shadow: none !important; }
body.zillya-design { background: var(--z-white) !important; }
body.zillya-design #main { width: 100% !important; max-width: none !important; }
body.zillya-design.single-product #sidebar, body.zillya-design .woocommerce #sidebar { display: none !important; }
body.zillya-design.single-product #main.sidebar-right .content, body.zillya-design.single-product #main.sidebar-left .content { width: 100% !important; float: none !important; }
body.zillya-design.single-product .wf-container-main { width: 100%; }
body.zillya-design .header-bar, body.zillya-design .masthead, body.zillya-design #phantom, body.zillya-design .dt-mobile-header, body.zillya-design .mobile-header-bar { display: none !important; }
body.zillya-design aside.sidebar, body.zillya-design #sidebar { display: none !important; }
body.zillya-design #main.sidebar-right .content, body.zillya-design #main.sidebar-left .content { width: 100% !important; float: none !important; }
body.zillya-design .elementor-location-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 14px 20px;
  background: var(--z-white);
}
body.zillya-design .elementor-location-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--z-line);
}
body.zillya-design #main { border-top: 1px solid var(--z-line); }
body.zillya-design .elementor-location-header > .elementor-section {
  padding: 0 !important;
  margin: 0 !important;
  width: auto;
}
/* nav + logo section first and wide; cart section second and narrow */
body.zillya-design .elementor-location-header > .elementor-element-736be00 { order: 1; flex: 1 1 auto; }
body.zillya-design .elementor-location-header > .elementor-element-cf654f4 { order: 2; flex: 0 0 auto; }
body.zillya-design .elementor-location-header .elementor-container {
  max-width: none !important;
  align-items: center;
}
body.zillya-design .elementor-location-header .elementor-widget-wrap { padding: 0 !important; align-content: center; }
body.zillya-design .elementor-element-736be00 > .elementor-container > .elementor-column:first-child { width: auto !important; flex: 0 0 auto; }
body.zillya-design .elementor-element-736be00 > .elementor-container > .elementor-column:last-child { width: auto !important; flex: 1 1 auto; }
body.zillya-design .elementor-element-736be00 > .elementor-container { gap: 24px; }
body.zillya-design .dt-nav-menu-horizontal > li > a { white-space: nowrap; }
body.zillya-design .elementor-widget-the7_horizontal-menu { width: 100% !important; max-width: none !important; }
body.zillya-design .dt-nav-menu-horizontal { flex-wrap: nowrap !important; padding: 0 !important; }
body.zillya-design .elementor-location-header .elementor-widget-image img { width: 210px; height: auto; display: block; }
body.zillya-design .elementor-location-header .elementor-widget-image .elementor-widget-container { text-align: left; }
body.zillya-design .elementor-location-header .elementor-widget { margin-bottom: 0 !important; }
/* menu */
body.zillya-design .dt-nav-menu-horizontal { gap: 4px; }
body.zillya-design .dt-nav-menu-horizontal > li > a {
  padding: 10px 14px !important;
  border-radius: var(--z-radius);
  color: var(--z-ink) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.3;
}
body.zillya-design .dt-nav-menu-horizontal > li > a .menu-text { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
body.zillya-design .dt-nav-menu-horizontal > li > a:hover,
body.zillya-design .dt-nav-menu-horizontal > li.current-menu-item > a,
body.zillya-design .dt-nav-menu-horizontal > li.current_page_item > a { background: var(--z-paper); color: var(--z-navy) !important; }
body.zillya-design .dt-nav-menu-horizontal .submenu-indicator { display: none !important; }
/* cart pill */
body.zillya-design .dt-menu-cart__toggle_button {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid var(--z-line);
  border-radius: 999px;
  color: var(--z-ink) !important;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
  min-height: 42px;
}
body.zillya-design .dt-menu-cart__toggle_button:hover { border-color: var(--z-navy); }
body.zillya-design .dt-menu-cart__toggle_button .elementor-icon { color: var(--z-navy); font-size: 18px; line-height: 1; }
body.zillya-design .dt-menu-cart__toggle_button .dt-cart-content { display: inline-flex; gap: 6px; align-items: baseline; }
body.zillya-design .dt-menu-cart__toggle_button .dt-cart-indicator { color: var(--z-muted); }
body.zillya-design .dt-menu-cart__toggle .the7-mini-cart, body.zillya-design .dt-empty-cart .dt-menu-cart__container { top: 52px; }
/* mobile toggle */
body.zillya-design .horizontal-menu-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid var(--z-line);
  border-radius: var(--z-radius);
  color: var(--z-ink);
  font-weight: 500;
  font-size: 15px;
  min-height: 42px;
  cursor: pointer;
}
body.zillya-design .horizontal-menu-toggle .toggle-text { font-size: 15px; }
body.zillya-design .horizontal-menu-toggle svg { fill: var(--z-ink); }

/* 3. buttons --------------------------------------------------------------- */
body.zillya-design .elementor-button,
body.zillya-design .woocommerce a.button,
body.zillya-design .woocommerce button.button,
body.zillya-design .woocommerce input.button,
body.zillya-design .woocommerce #respond input#submit,
body.zillya-design .woocommerce button.single_add_to_cart_button,
body.zillya-design .woocommerce a.checkout-button,
body.zillya-design .wpforms-form button[type="submit"].wpforms-submit,
body.zillya-design .wpforms-form .wpforms-submit,
body.zillya-design .eae-ct-wrapper .eae-ct-button a,
body.zillya-design .eae-ct-wrapper a.eae-ct-btn,
body.zillya-design .eae-ct-wrapper .eae-ct-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 11px 22px !important;
  border: 1.5px solid var(--z-navy) !important;
  border-radius: var(--z-radius) !important;
  background: var(--z-navy) !important;
  color: var(--z-white) !important;
  font-family: var(--z-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: normal;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s, transform .15s;
  transform: none !important;
}
body.zillya-design .elementor-button:hover,
body.zillya-design .woocommerce a.button:hover,
body.zillya-design .woocommerce button.button:hover,
body.zillya-design .woocommerce input.button:hover,
body.zillya-design .woocommerce button.single_add_to_cart_button:hover,
body.zillya-design .woocommerce a.checkout-button:hover,
body.zillya-design .woocommerce #place_order:hover,
body.zillya-design .wpforms-form .wpforms-submit:hover,
body.zillya-design .eae-ct-wrapper .eae-ct-btn:hover {
  background: var(--z-navy-deep) !important;
  border-color: var(--z-navy-deep) !important;
  color: var(--z-white) !important;
}
body.zillya-design .elementor-button .elementor-button-text { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
body.zillya-design .elementor-button .elementor-button-icon,
body.zillya-design .elementor-button .elementor-align-icon-right,
body.zillya-design .elementor-button .elementor-align-icon-left { display: none !important; }
body.zillya-design .elementor-button-content-wrapper { gap: 0 !important; }
body.zillya-design .elementor-animation-sink:hover { transform: none !important; }
/* second button in a card = secondary (outline) */
body.zillya-design .elementor-widget-button ~ .elementor-widget-button .elementor-button {
  background: transparent !important;
  color: var(--z-navy) !important;
}
body.zillya-design .elementor-widget-button ~ .elementor-widget-button .elementor-button:hover {
  background: var(--z-paper) !important;
}
/* buttons on dark banners */
body.zillya-design .elementor-element-9f267c3 .elementor-button,
body.zillya-design .elementor-element-b00bc9e .elementor-button,
body.zillya-design .elementor-element-b00bc9e .single_add_to_cart_button,
body.zillya-design .elementor-element-0ee37ac .e-con-boxed .elementor-button,
body.zillya-design .elementor-element-37f5871 .elementor-button,
body.zillya-design .elementor-element-53c378d .elementor-button,
body.zillya-design .elementor-element-e5e4904 .elementor-button,
body.zillya-design .elementor-element-8ff70e1 .elementor-button,
body.zillya-design.single-product .elementor-top-section:first-child .elementor-button {
  background: var(--z-white) !important;
  border-color: var(--z-white) !important;
  color: var(--z-navy) !important;
}
body.zillya-design .elementor-element-9f267c3 .elementor-button:hover,
body.zillya-design .elementor-element-b00bc9e .elementor-button:hover,
body.zillya-design .elementor-element-b00bc9e .single_add_to_cart_button:hover,
body.zillya-design .elementor-element-0ee37ac .e-con-boxed .elementor-button:hover,
body.zillya-design .elementor-element-37f5871 .elementor-button:hover {
  background: var(--z-teal-soft) !important;
  border-color: var(--z-teal-soft) !important;
}
body.zillya-design .elementor-element-8ff70e1 .elementor-widget-button ~ .elementor-widget-button .elementor-button,
body.zillya-design .elementor-element-9f267c3 .elementor-widget-button ~ .elementor-widget-button .elementor-button {
  background: transparent !important;
  color: var(--z-white) !important;
  border-color: rgba(255,255,255,.7) !important;
}
body.zillya-design .elementor-widget-button .elementor-button-wrapper { display: flex; }
body.zillya-design .elementor-align-center .elementor-button-wrapper { justify-content: center; }
body.zillya-design .elementor-widget-button { margin-bottom: 0 !important; }

/* 4. section rhythm + headings --------------------------------------------- */
body.zillya-design [data-elementor-type="wp-page"] > .elementor-section > .elementor-container,
body.zillya-design [data-elementor-type="wp-page"] > .e-con,
body.zillya-design [data-elementor-type="wp-post"] > .e-con,
body.zillya-design [data-elementor-type="product"] > .e-con,
body.zillya-design [data-elementor-type="product"] > .elementor-section > .elementor-container {
  padding-top: 40px;
  padding-bottom: 40px;
}
/* a container that is only "heading + divider" is a section title: no bottom padding, no rule */
body.zillya-design .e-con:has(> .e-con-inner > .elementor-widget-heading:first-child + .elementor-widget-divider:last-child),
body.zillya-design .e-con:has(> .e-con-inner > .elementor-widget-heading:only-child) {
  padding-top: var(--z-section) !important;
  padding-bottom: 8px !important;
}
body.zillya-design .e-con:has(> .e-con-inner > .elementor-widget-heading:first-child + .elementor-widget-divider:last-child) + .e-con,
body.zillya-design .e-con:has(> .e-con-inner > .elementor-widget-heading:only-child) + .e-con {
  padding-top: 24px !important;
}
body.zillya-design .elementor-widget-divider { display: none !important; }
body.zillya-design .elementor-widget-heading .elementor-heading-title { text-align: inherit; }
body.zillya-design .elementor-widget:not(:last-child) { margin-bottom: 16px; }
body.zillya-design .elementor-widget-heading:not(:last-child) { margin-bottom: 12px; }

/* one page-level hero rule: a 3px teal mark under the hero headline */
body.zillya-design .elementor-element-f04357f h2.elementor-heading-title::after,
body.zillya-design .elementor-element-b00bc9e h3.elementor-heading-title::after,
body.zillya-design .elementor-element-9f267c3 h2.elementor-heading-title::after,
body.zillya-design .elementor-element-53c378d h3.elementor-heading-title::after,
body.zillya-design .elementor-element-e5e4904 h3.elementor-heading-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 18px;
  background: var(--z-teal);
  border-radius: 2px;
}
body.zillya-design .elementor-element-b00bc9e h3.elementor-heading-title::after,
body.zillya-design .elementor-element-9f267c3 h2.elementor-heading-title::after,
body.zillya-design .elementor-element-53c378d h3.elementor-heading-title::after,
body.zillya-design .elementor-element-e5e4904 h3.elementor-heading-title::after { background: #6ad3dd; }

body.zillya-design .elementor-element-8ff70e1 { min-height: 0 !important; padding-top: 56px !important; padding-bottom: 56px !important; }
body.zillya-design .elementor-element-8ff70e1 *:not(.elementor-button):not(.elementor-button *) { color: var(--z-white); }
body.zillya-design .elementor-element-8ff70e1 h2.elementor-heading-title { font-size: clamp(30px, 3.2vw, 44px) !important; max-width: 18ch; }
body.zillya-design .elementor-element-8ff70e1 .elementor-widget-text-editor { max-width: 52ch; }
body.zillya-design .elementor-element-8ff70e1 .elementor-widget-text-editor, body.zillya-design .elementor-element-8ff70e1 .elementor-widget-text-editor * { color: rgba(255,255,255,.9) !important; font-weight: 400 !important; font-size: 17px !important; }
body.zillya-design .elementor-element-8ff70e1 .elementor-widget-image img { border-radius: var(--z-radius-lg); }
/* the "dark banner" hero containers used on product / partner / about / support / business */
body.zillya-design .elementor-element-b00bc9e,
body.zillya-design .elementor-element-9f267c3,
body.zillya-design .elementor-element-53c378d,
body.zillya-design .elementor-element-e5e4904 {
  border-radius: 0;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
body.zillya-design .elementor-element-b00bc9e *:not(.elementor-button):not(.elementor-button *):not(.single_add_to_cart_button),
body.zillya-design .elementor-element-9f267c3 *:not(.elementor-button):not(.elementor-button *),
body.zillya-design .elementor-element-53c378d *:not(.elementor-button):not(.elementor-button *),
body.zillya-design .elementor-element-e5e4904 *:not(.elementor-button):not(.elementor-button *):not(.wpforms-form *) {
  color: var(--z-white);
}
body.zillya-design .elementor-element-b00bc9e h3.elementor-heading-title,
body.zillya-design .elementor-element-9f267c3 h2.elementor-heading-title,
body.zillya-design .elementor-element-53c378d h3.elementor-heading-title,
body.zillya-design .elementor-element-e5e4904 h3.elementor-heading-title {
  font-size: clamp(30px, 3.2vw, 44px) !important;
  max-width: 18ch;
}
body.zillya-design .elementor-element-9f267c3 .elementor-widget-text-editor h2,
body.zillya-design .elementor-element-9f267c3 .elementor-widget-text-editor h3,
body.zillya-design .elementor-element-9f267c3 .elementor-widget-text-editor h4,
body.zillya-design .elementor-element-e5e4904 .elementor-widget-text-editor h4,
body.zillya-design .elementor-element-53c378d .elementor-widget-text-editor h4 {
  font-size: 18px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,.88) !important;
  max-width: 62ch;
}
body.zillya-design .elementor-element-9f267c3 .elementor-widget-text-editor,
body.zillya-design .elementor-element-e5e4904 .elementor-widget-text-editor,
body.zillya-design .elementor-element-53c378d .elementor-widget-text-editor,
body.zillya-design .elementor-element-b00bc9e .elementor-widget-text-editor { max-width: 62ch; }
body.zillya-design .elementor-element-9f267c3 .elementor-widget-text-editor p,
body.zillya-design .elementor-element-e5e4904 .elementor-widget-text-editor p,
body.zillya-design .elementor-element-53c378d .elementor-widget-text-editor p,
body.zillya-design .elementor-element-b00bc9e .elementor-widget-text-editor p { color: rgba(255,255,255,.88); }

/* 12. footer ------------------------------------------------------------------ */
body.zillya-design #footer { border-top: 0; margin-top: var(--z-section); background: var(--z-paper) !important; background-image: none !important; width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.zillya-design #footer > .wf-wrap { max-width: none; padding: 0; width: 100%; }
body.zillya-design #footer .wf-container-footer, body.zillya-design #footer .wf-container { padding: 0; margin: 0; width: 100%; max-width: none; }
body.zillya-design .elementor-location-footer .elementor-element-37f5871 {
  background: var(--z-navy) !important;
  padding: 0 !important;
}
body.zillya-design .elementor-location-footer .elementor-element-37f5871 > .elementor-container {
  max-width: var(--z-container);
  padding: 36px 20px;
  align-items: center;
  gap: 24px;
}
body.zillya-design .elementor-location-footer .elementor-element-37f5871 .elementor-widget-wrap { padding: 0 !important; align-content: center; }
body.zillya-design .elementor-location-footer .elementor-element-37f5871 h3.elementor-heading-title { color: var(--z-white); font-size: 24px !important; font-weight: 500 !important; }
body.zillya-design .elementor-location-footer .elementor-element-37f5871 .elementor-column:last-child .elementor-button-wrapper { justify-content: flex-end; }
body.zillya-design .elementor-location-footer .elementor-element-f5e4f40 { background: var(--z-paper) !important; border-top: 1px solid var(--z-line); padding: 0 !important; }
body.zillya-design .elementor-location-footer .elementor-element-f5e4f40 > .elementor-container { max-width: var(--z-container); padding: 48px 20px 40px; gap: 32px; }
body.zillya-design .elementor-location-footer .elementor-element-f5e4f40 .elementor-widget-wrap { padding: 0 !important; }
body.zillya-design .elementor-location-footer .elementor-element-f5e4f40 h4.elementor-heading-title { font-size: 15px !important; font-weight: 700 !important; color: var(--z-ink); margin-bottom: 12px; letter-spacing: 0; }
body.zillya-design .elementor-location-footer .elementor-icon-list-items { display: flex; flex-direction: column; gap: 8px; }
body.zillya-design .elementor-location-footer .elementor-icon-list-item { font-size: 15px; }
body.zillya-design .elementor-location-footer .elementor-icon-list-item a, body.zillya-design .elementor-location-footer .elementor-icon-list-text { color: var(--z-muted) !important; font-size: 15px !important; }
body.zillya-design .elementor-location-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--z-navy) !important; }
body.zillya-design .elementor-location-footer .elementor-icon-list-icon { color: var(--z-teal); }
body.zillya-design .elementor-location-footer .elementor-icon-list-icon svg { fill: var(--z-teal); }
body.zillya-design .elementor-location-footer .elementor-widget-image img { width: 190px; height: auto; }
body.zillya-design .elementor-location-footer .elementor-widget-text-editor, body.zillya-design .elementor-location-footer .elementor-widget-text-editor p { font-size: 13px; color: var(--z-muted) !important; margin-top: 12px; }
body.zillya-design .elementor-location-footer .elementor-widget-text-editor h4 { font-size: 13px !important; color: var(--z-muted) !important; }
body.zillya-design .elementor-location-footer .elementor-widget:not(:last-child) { margin-bottom: 10px; }

/* 13. floating widgets (currency, language, cookie banner) ---------------- */
body.zillya-design .woo-multi-currency.wmc-sidebar { display: none !important; }
body.zillya-design .gt_switcher_wrapper, body.zillya-design #gt_float_wrapper {
  top: auto !important; bottom: 14px !important;
  left: 12px !important; right: auto !important;
  width: auto !important; max-width: 140px !important;
  z-index: 9000 !important; opacity: .95;
}
body.zillya-design .gt_switcher_wrapper select.gt_selector {
  width: 130px !important; height: 36px !important;
  padding: 4px 24px 4px 10px !important; font-size: 13px !important;
  border: 1px solid var(--z-line) !important; border-radius: 999px !important;
  background-color: var(--z-white) !important; color: var(--z-ink) !important;
}
body.zillya-design #cmplz-cookiebanner-container .cmplz-cookiebanner { border-radius: var(--z-radius-lg); border: 1px solid var(--z-line); box-shadow: 0 8px 30px rgba(17,26,58,.12); }
body.zillya-design #cmplz-cookiebanner-container .cmplz-btn.cmplz-accept { background: var(--z-navy) !important; border-color: var(--z-navy) !important; color: #fff !important; border-radius: var(--z-radius) !important; }
body.zillya-design #cmplz-cookiebanner-container .cmplz-btn { border-radius: var(--z-radius) !important; font-family: var(--z-font) !important; }

/* Defensive: production's Antivirus page loads without Elementor's widget-accordion.min.css (conditional
   CSS loading missed it), so the inline SVG +/- icons render at full size. Size them regardless. */
body.zillya-design .elementor-accordion-icon svg, body.zillya-design .elementor-toggle-icon svg { width: 16px !important; height: 16px !important; }
body.zillya-design .elementor-accordion .elementor-tab-content { display: none; } /* Elementor's JS shows the active panel inline and slides the others — no CSS display:block, or the slide is skipped */

/* 15. accessibility + motion -------------------------------------------------- */
body.zillya-design :focus-visible { outline: 3px solid var(--z-teal) !important; outline-offset: 2px; }
body.zillya-design .elementor-button:focus-visible, body.zillya-design .woocommerce .button:focus-visible { outline-offset: 3px; }
body.zillya-design .screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
body.zillya-design ::selection { background: var(--z-teal-soft); color: var(--z-ink); }
@media (prefers-reduced-motion: reduce) {
  body.zillya-design *, body.zillya-design *::before, body.zillya-design *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  body.zillya-design .elementor-invisible { visibility: visible !important; opacity: 1 !important; }
}

/* Classic (non-Elementor) pages — refund policy, buying guide, activation — get a real H1 prepended to
   their content by 35-zillya-seo.php; The7's title bar stays hidden. */
body.zillya-design .page-title { display: none !important; }
body.zillya-design.page:not(.elementor-page):not(.woocommerce-page) #main .wf-container-main { padding-top: 56px; }
body.zillya-design.page:not(.elementor-page):not(.woocommerce-page) #content { max-width: 76ch; }
body.zillya-design .zillya-page-h1 { font-size: clamp(30px, 3.2vw, 44px) !important; letter-spacing: -0.02em; margin: 0 0 28px !important; max-width: 24ch; }
body.zillya-design .zillya-page-h1::after { content: ""; display: block; width: 56px; height: 3px; margin-top: 18px; background: var(--z-teal); border-radius: 2px; }
body.zillya-design.page:not(.elementor-page):not(.woocommerce-page) #content h2 { margin: 36px 0 10px; font-size: 26px !important; }
body.zillya-design.page:not(.elementor-page):not(.woocommerce-page) #content h3 { margin: 24px 0 8px; }

/* review 2026-09-10 --------------------------------------------------------- */
/* #place_order keeps the button styling but NOT a forced display — the PayPal gateway hides it when its smart button renders */
body.zillya-design .woocommerce #place_order { min-height: 46px; padding: 11px 22px; border: 1.5px solid var(--z-navy); border-radius: var(--z-radius); background: var(--z-navy); color: var(--z-white); font-size: 16px; font-weight: 500; }
/* 404: no dead half-screen */
body.zillya-design.error404 #main .wf-container-main { min-height: 0 !important; padding: 72px 0 96px; }
body.zillya-design.error404 #content { text-align: left; max-width: 640px; }
body.zillya-design.error404 h1 { font-size: clamp(30px, 3.2vw, 44px) !important; text-align: left !important; }
body.zillya-design.error404 p { color: var(--z-muted); text-align: left !important; }
body.zillya-design.error404 .searchform, body.zillya-design.error404 form[role="search"] { max-width: 520px; margin: 24px 0 0; }
body.zillya-design.error404 .searchform input[type="text"], body.zillya-design.error404 form[role="search"] input[type="search"], body.zillya-design.error404 form[role="search"] input[type="text"] { min-height: 46px; border: 1px solid var(--z-line); border-radius: var(--z-radius); padding: 10px 14px; font-size: 16px; width: 100%; }
/* search results: The7's masonry (absolute isotope cells) → a plain two-column list */
body.zillya-design.search .wf-container.iso-container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; height: auto !important; margin: 0 !important; width: 100% !important; }
body.zillya-design.search .wf-container.iso-container::before, body.zillya-design.search .wf-container.iso-container::after { display: none !important; content: none !important; }
body.zillya-design.search .wf-cell { position: static !important; transform: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; opacity: 1 !important; visibility: visible !important; height: auto !important; }
body.zillya-design.search article.post { border: 1px solid var(--z-line); border-radius: var(--z-radius-lg); padding: 22px 24px; background: var(--z-white); height: 100%; box-sizing: border-box; }
body.zillya-design.search article.post .entry-meta, body.zillya-design.search article.post .post-thumbnail, body.zillya-design.search article.post .entry-thumbnail { display: none !important; }
body.zillya-design.search article.post .entry-title { font-size: 20px !important; font-weight: 700 !important; margin: 0 0 8px !important; line-height: 1.25 !important; }
body.zillya-design.search article.post .entry-title a { color: var(--z-ink) !important; }
body.zillya-design.search article.post .entry-title a:hover { color: var(--z-teal) !important; }
body.zillya-design.search article.post p, body.zillya-design.search article.post .entry-excerpt { font-size: 15px; color: var(--z-muted); margin: 0; }
body.zillya-design.search article.post.product figure.woocom-project { border: 0; }
body.zillya-design.search #content::before { content: "Search results"; display: block; font-size: clamp(27px, 2.6vw, 38px); font-weight: 700; letter-spacing: -0.015em; margin: 48px 0 24px; }
body.zillya-design.search .paginator { display: flex; gap: 6px; justify-content: flex-start; margin: 32px 0 0; }
body.zillya-design.search .paginator a, body.zillya-design.search .paginator span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border: 1px solid var(--z-line); border-radius: var(--z-radius); color: var(--z-ink); font-size: 15px; }
body.zillya-design.search .paginator .act, body.zillya-design.search .paginator .current { background: var(--z-navy); border-color: var(--z-navy); color: var(--z-white); }
@media (max-width: 782px) { body.zillya-design.search .wf-container.iso-container { grid-template-columns: 1fr; gap: 16px; } }
/* sticky header must be opaque — Elementor's header-section CSS was overriding the background */
body.zillya-design .elementor-location-header { background: var(--z-white) !important; }
body.zillya-design .elementor-location-header > section { background: transparent !important; }
/* Elementor's "Sticky: top" effect on the nav section fixes that section alone (transparent, z 99) and leaves the
   cart section behind. Neutralise it; the whole header sticks via position:sticky instead, which needs the
   page wrapper to stop clipping. */
body.zillya-design .elementor-location-header > section.elementor-sticky,
body.zillya-design .elementor-location-header > section.elementor-sticky--active,
body.zillya-design .elementor-location-header > section.elementor-sticky--effects { position: static !important; top: auto !important; width: auto !important; transform: none !important; }
body.zillya-design .elementor-location-header .elementor-sticky__spacer { display: none !important; }
body.zillya-design #page.boxed, body.zillya-design #page { overflow: visible !important; }
body.zillya-design { overflow-x: hidden; }
/* Language switcher: anchored to the page bottom instead of floating over content while you scroll */
body.zillya-design { position: relative; }
body.zillya-design .gt_switcher_wrapper, body.zillya-design #gt_float_wrapper { position: absolute !important; bottom: 18px !important; left: 16px !important; top: auto !important; z-index: 20 !important; opacity: 1; }
body.zillya-design #footer .elementor-element-f5e4f40 > .elementor-container { padding-bottom: 72px; }
@media (max-width: 782px) { body.zillya-design .scroll-top { display: none !important; } }
