/* 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. */

/* 6. shop grid (WooCommerce archive rendered by The7) --------------------- */
body.zillya-design .woocommerce-products-header { max-width: 68ch; margin: 0 0 32px !important; }
body.zillya-design .woocommerce-products-header h1,
body.zillya-design .woocommerce-products-header h2 { margin-bottom: 14px; }
body.zillya-design .woocommerce-products-header .page-description p { color: var(--z-muted); font-size: 16px; }
body.zillya-design .woocommerce-products-header .page-description p:last-child { display: none; }
/* the visible last paragraph must not leak its bottom margin into the 32px gap */
body.zillya-design .woocommerce-products-header .page-description > p:nth-last-child(2) { margin-bottom: 0 !important; }
/* three products: sorting, result count and the row that holds them are all noise */
body.zillya-design .switcher-wrap,
body.zillya-design .woocommerce-result-count,
body.zillya-design form.woocommerce-ordering { display: none !important; }
body.zillya-design .dt-products.wf-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 !important; width: 100% !important; height: auto !important; }
body.zillya-design .dt-products.wf-container::before, body.zillya-design .dt-products.wf-container::after { display: none !important; content: none !important; }
body.zillya-design .dt-products .wf-cell { visibility: visible !important; }
body.zillya-design .dt-products .wf-cell { position: static !important; width: auto !important; transform: none !important; padding: 0 !important; margin: 0 !important; height: auto !important; opacity: 1 !important; }
body.zillya-design .dt-products article.product { margin: 0 !important; height: 100%; }
body.zillya-design figure.woocom-project {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--z-line);
  border-radius: var(--z-radius-lg);
  overflow: hidden;
  background: var(--z-white);
}
body.zillya-design figure.woocom-project .woo-buttons-on-img { background: var(--z-paper); padding-bottom: 0 !important; height: auto !important; min-height: 0 !important; }
body.zillya-design figure.woocom-project .woo-buttons-on-img > a { position: static !important; height: auto !important; padding-bottom: 24px !important; background-image: none !important; }
body.zillya-design figure.woocom-project .woo-buttons-on-img img { opacity: 1 !important; position: static !important; }
body.zillya-design figure.woocom-project .woo-buttons-on-img > a { display: block; padding: 24px; }
/* fixed image box so the three different-shaped shots share one baseline */
body.zillya-design figure.woocom-project .woo-buttons-on-img img { width: 100%; height: 240px !important; object-fit: contain; object-position: center; margin: 0 auto; display: block; }
body.zillya-design figure.woocom-project .woo-buttons-on-img img.back-image { display: none !important; }
body.zillya-design figure.woocom-project .woo-buttons { display: none !important; }
body.zillya-design figure.woocom-project .onsale { display: none; }
body.zillya-design figure.woocom-project .woocom-list-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 20px 22px 22px;
  text-align: left;
  gap: 4px;
}
body.zillya-design figure.woocom-project .entry-title { font-size: 20px !important; font-weight: 700 !important; line-height: 1.2; margin: 0; }
body.zillya-design figure.woocom-project .entry-title a { color: var(--z-ink) !important; font-size: inherit !important; font-weight: inherit !important; }
body.zillya-design figure.woocom-project .entry-title a:hover { color: var(--z-teal) !important; }
body.zillya-design figure.woocom-project .price { color: var(--z-ink) !important; font-size: 24px !important; font-weight: 700 !important; margin: 4px 0 0; display: block; }
body.zillya-design figure.woocom-project .price .amount { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
body.zillya-design figure.woocom-project .price::after { content: " / year, 1 device"; font-size: 14px; font-weight: 400; color: var(--z-muted); }
body.zillya-design figure.woocom-project .woocommerce-product-details__short-description { display: none !important; }
body.zillya-design figure.woocom-project .woocom-list-content::after {
  content: "View and buy";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 18px;
  padding: 11px 22px;
  border-radius: var(--z-radius);
  border: 1.5px solid var(--z-navy);
  background: var(--z-navy);
  color: var(--z-white);
  font-weight: 500;
  font-size: 16px;
  pointer-events: none;
}
body.zillya-design figure.woocom-project { position: relative; }
body.zillya-design figure.woocom-project .entry-title a::after { content: ""; position: absolute; inset: 0; }
/* whole card is one link — give it a visible hover */
body.zillya-design figure.woocom-project { transition: border-color .15s; }
body.zillya-design figure.woocom-project:hover,
body.zillya-design figure.woocom-project:focus-within { border-color: var(--z-navy); }
body.zillya-design figure.woocom-project:hover .woocom-list-content::after,
body.zillya-design figure.woocom-project:focus-within .woocom-list-content::after { background: var(--z-navy-deep); border-color: var(--z-navy-deep); }
/* "View and buy" is the card's call to action: full width */
body.zillya-design figure.woocom-project .woocom-list-content::after { align-self: stretch; width: 100%; box-sizing: border-box; }
body.zillya-design figure.woocom-project .stock.out-of-stock { color: var(--z-red); font-size: 14px; }

/* 7. single product ---------------------------------------------------------- */
body.zillya-design.single-product .wf-container-main { padding-top: 0; }
/* The7 lays #main.sidebar-right out as a CSS grid, so hiding the sidebar still left
   the content column at ~715px on Internet Security / Total Security (Antivirus is
   sidebar-none and was unaffected). Collapse the grid so all three match. */
body.zillya-design.single-product .wf-container-main { display: block !important; grid-template-columns: none !important; }
body.zillya-design.single-product #main.sidebar-right .content,
body.zillya-design.single-product #main.sidebar-left .content { width: 100% !important; max-width: none !important; float: none !important; }
/* hero (dark) */
body.zillya-design .elementor-element-b00bc9e { border-radius: var(--z-radius-lg); margin-top: 24px; padding: 48px !important; }
body.zillya-design .elementor-element-b00bc9e > .e-con-full { padding: 0 !important; }
body.zillya-design .elementor-element-b00bc9e .elementor-widget-text-editor:first-of-type { font-weight: 500 !important; }
body.zillya-design .elementor-element-b00bc9e .elementor-widget-text-editor p { font-size: 17px; }
body.zillya-design .elementor-element-b00bc9e .e-con-boxed.e-parent { padding: 0 !important; }
body.zillya-design .elementor-element-b00bc9e .e-con-boxed.e-parent > .e-con-inner { max-width: none !important; }
body.zillya-design .elementor-element-b00bc9e .elementor-widget-image img { border-radius: var(--z-radius-lg); }
/* dark hero, shape-based: the first full-width container of the product template.
   Same treatment on all three products regardless of element id. */
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child {
  border-radius: var(--z-radius-lg);
  margin-top: 24px !important;
  padding: 48px !important;
}
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .elementor-widget-image img { border-radius: var(--z-radius-lg); }
/* "N in stock" must stay legible on navy */
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .the7-add-to-cart .stock.in-stock { color: #8ff0b4 !important; }
/* the stepper is a white box, so its glyphs stay ink even inside the dark hero */
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .quantity .minus,
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .quantity .plus,
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .quantity input.qty { color: var(--z-ink) !important; }
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .quantity svg,
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .quantity svg path { fill: var(--z-ink) !important; color: var(--z-ink) !important; }
/* hero button: white with navy text */
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .single_add_to_cart_button,
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .elementor-button {
  background: var(--z-white) !important;
  border-color: var(--z-white) !important;
  color: var(--z-navy) !important;
}
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .single_add_to_cart_button:hover,
body.zillya-design.single-product .elementor-location-single > .e-con.e-con-full:first-child .elementor-button:hover {
  background: var(--z-teal-soft) !important;
  border-color: var(--z-teal-soft) !important;
}
body.zillya-design .the7-add-to-cart .stock { font-size: 14px !important; font-weight: 500; margin: 0 0 10px; }
body.zillya-design .the7-add-to-cart .stock.in-stock { color: var(--z-green) !important; }
body.zillya-design .elementor-element-b00bc9e .the7-add-to-cart .stock.in-stock { color: #8ff0b4 !important; }
body.zillya-design .elementor-element-b00bc9e .quantity .minus, body.zillya-design .elementor-element-b00bc9e .quantity .plus, body.zillya-design .elementor-element-b00bc9e .quantity input.qty { color: var(--z-ink) !important; }
body.zillya-design .elementor-element-b00bc9e .quantity svg, body.zillya-design .the7-add-to-cart .quantity svg { fill: var(--z-ink) !important; color: var(--z-ink) !important; }
body.zillya-design .the7-add-to-cart .stock.out-of-stock { color: var(--z-red) !important; }
/* stepper + button = one control group, left aligned, 46px tall, 10px apart, no wrap */
body.zillya-design .the7-add-to-cart form.cart {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  /* margin, not gap: a zero-width hidden first child was pushing the whole group
     10px right of the stock line above it */
  gap: 0 !important;
}
body.zillya-design .the7-add-to-cart form.cart .single_add_to_cart_button { margin-left: 10px !important; }
body.zillya-design .the7-add-to-cart .quantity.buttons_added {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  border: 1px solid var(--z-line);
  border-radius: var(--z-radius);
  background: var(--z-white);
  height: 46px;
  min-height: 46px;
  margin: 0 !important;
  overflow: hidden;
}
/* The7 renders the steppers as bordered pills inside the box — flatten them */
body.zillya-design .the7-add-to-cart .quantity .minus,
body.zillya-design .the7-add-to-cart .quantity .plus,
body.zillya-design .the7-add-to-cart .quantity button.is-form {
  display: inline-flex !important; align-items: center; justify-content: center;
  width: 38px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  background: transparent !important; box-shadow: none !important;
  color: var(--z-ink) !important; cursor: pointer;
}
body.zillya-design .the7-add-to-cart .quantity .minus:hover,
body.zillya-design .the7-add-to-cart .quantity .plus:hover { background: var(--z-paper) !important; }
body.zillya-design .the7-add-to-cart .quantity svg { width: 16px; height: 16px; }
body.zillya-design .the7-add-to-cart .quantity input.qty {
  width: 40px; height: 44px; min-height: 0; padding: 0;
  border: 0; text-align: center; font-size: 16px; color: var(--z-ink); background: transparent;
  -moz-appearance: textfield;
}
body.zillya-design .the7-add-to-cart .single_add_to_cart_button {
  flex: 0 0 auto;
  white-space: nowrap;
  min-width: 180px;
  height: 46px;
  min-height: 46px;
}
/* the screen-reader / .filter-popup duplicate must never render a second label */
body.zillya-design .the7-add-to-cart form.cart > button.single_add_to_cart_button:not(.elementor-button) { display: none !important; }
body.zillya-design .elementor-element-b00bc9e .elementor-widget-the7-woocommerce-product-add-to-cart-v2 { width: 100% !important; max-width: none !important; }
body.zillya-design .elementor-element-b00bc9e .e-con-boxed.e-parent { width: 100% !important; }
body.zillya-design .the7-add-to-cart .single_add_to_cart_button::before,
body.zillya-design .the7-add-to-cart .single_add_to_cart_button i { display: none !important; }
body.zillya-design .the7-add-to-cart .single_add_to_cart_button .filter-popup { font-size: inherit; }
/* title + gallery + summary — rhythm: hero →88→ title →24→ gallery →48→ panel.
   Elementor's own CSS puts a 55px margin-top on the title container; it has to go
   or the gap reads as 143px. */
/* Only the Antivirus page uses ids b00bc9e / beabad8 / 2aac842; Internet Security and
   Total Security are built from the same four-container shape with different ids.
   Everything below matches on shape so all three templates get the same rhythm:
   hero →88→ title →24→ gallery →48→ "About this product". */
body.zillya-design.single-product .elementor-location-single > .e-con.e-parent:has(> .e-con-inner > .elementor-widget-woocommerce-product-title) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 88px !important;
  padding-bottom: 0 !important;
}
body.zillya-design.single-product .elementor-location-single > .e-con.e-parent:has(> .e-con-inner > .elementor-widget-woocommerce-product-title) > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
body.zillya-design.single-product .elementor-widget-woocommerce-product-title { margin-bottom: 0 !important; }
body.zillya-design.single-product .elementor-location-single > .e-con.e-parent:has(.woocommerce-product-gallery) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 0 !important;
}
body.zillya-design.single-product .elementor-location-single > .e-con.e-parent:has(.woocommerce-product-gallery) > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; gap: 48px; align-items: flex-start; }
body.zillya-design.single-product .elementor-location-single > .e-con.e-parent:has(> .e-con-inner > .elementor-widget-woocommerce-product-content) { padding-top: 0 !important; }
body.zillya-design.single-product .elementor-location-single > .e-con.e-parent:has(> .e-con-inner > .elementor-widget-woocommerce-product-content) > .e-con-inner { padding-top: 0 !important; }
body.zillya-design.single-product .elementor-widget-woocommerce-product-content { margin-bottom: 0 !important; }
body.zillya-design .elementor-element-2aac842 > .e-con-inner { gap: 48px; align-items: flex-start; }
body.zillya-design .elementor-element-2aac842 > .e-con-inner > .e-con-full { padding: 0 !important; }
body.zillya-design .woocommerce-product-gallery { border: 1px solid var(--z-line); border-radius: var(--z-radius-lg); padding: 16px; }
body.zillya-design .woocommerce-product-gallery .flex-control-thumbs { margin-top: 12px; }
body.zillya-design .woocommerce-product-gallery .flex-control-thumbs li { padding: 0 8px 0 0; }
body.zillya-design .woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid var(--z-line); border-radius: var(--z-radius); opacity: .7; }
body.zillya-design .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--z-teal); opacity: 1; }
body.zillya-design .woocommerce-product-gallery__trigger { display: none !important; }
body.zillya-design .woocommerce-product-details__short-description p { font-size: 16px; color: var(--z-ink); }
body.zillya-design .woocommerce-product-details__short-description strong { display: inline-block; margin-top: 8px; color: var(--z-ink); font-weight: 500; }
body.zillya-design .elementor-widget-woocommerce-product-short-description { padding-bottom: 20px; border-bottom: 1px solid var(--z-line); margin-bottom: 20px !important; }
/* "About product" region */
body.zillya-design.single-product [data-elementor-type="page"] { background: var(--z-paper); border-radius: var(--z-radius-lg); padding: 48px !important; margin-top: 48px !important; }
body.zillya-design.single-product [data-elementor-type="page"] > .e-con:first-child { padding-bottom: 20px !important; }
body.zillya-design.single-product [data-elementor-type="page"] > .e-con-full,
body.zillya-design.single-product [data-elementor-type="page"] .e-con-full { padding: 0 !important; }
body.zillya-design.single-product [data-elementor-type="page"] .e-con-full.e-child { background: transparent; }

/* "Advantages" / "Characteristics" / "System requirements" are bare text in text-editor widgets → sub-headings */
body.zillya-design.page-id-8448 .elementor-widget-text-editor > .elementor-widget-container:not(:has(p, ul, ol, div, h2, h3, h4)),
body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor > .elementor-widget-container:not(:has(p, ul, ol, div, h2, h3, h4)) { font-size: 22px !important; font-weight: 700 !important; color: var(--z-ink) !important; text-decoration: none !important; letter-spacing: -0.01em; margin: 0 !important; }
/* 32px above / 8px below each sub-heading — set on the widget, because Elementor's
   own 16px widget margin would otherwise re-open the gap underneath.
   NB: :has() may not be nested inside :has(), so the test is written as a chain of
   :not(:has(...)) on the widget rather than :has(> container:not(:has(...)))).
   Matches on shape, not on element id, so templates 8948 / 8949 / 8950 all behave. */
body.zillya-design.page-id-8448 .elementor-widget-text-editor:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(h1, h2, h3, h4, h5, h6)):not(:has(.elementor-widget-container div)),
body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(h1, h2, h3, h4, h5, h6)):not(:has(.elementor-widget-container div)) {
  margin-top: 32px !important;
  margin-bottom: 8px !important;
}
body.zillya-design.page-id-8448 .elementor-widget-text-editor > .elementor-widget-container:not(:has(p, ul, ol, div, h2, h3, h4)) *, body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor > .elementor-widget-container:not(:has(p, ul, ol, div, h2, h3, h4)) * { text-decoration: none !important; }
body.zillya-design.page-id-8448 .elementor-widget-text-editor, body.zillya-design.page-id-8448 .elementor-widget-text-editor .elementor-widget-container { text-decoration: none !important; }
body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor { text-decoration: none !important; }
body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor h2,
body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor > .elementor-widget-container > p:only-child strong { font-size: 22px !important; }
/* accordions */
body.zillya-design .elementor-accordion { border: 0; }
body.zillya-design .elementor-accordion .elementor-accordion-item { border: 0 !important; border-top: 1px solid var(--z-line) !important; background: transparent; }
body.zillya-design .elementor-accordion .elementor-accordion-item:last-child { border-bottom: 1px solid var(--z-line) !important; }
body.zillya-design .elementor-accordion .elementor-tab-title {
  padding: 16px 0 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: var(--z-ink) !important;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0 !important;
}
body.zillya-design .elementor-accordion .elementor-tab-title .elementor-accordion-icon { color: var(--z-teal) !important; width: 20px; font-size: 16px; order: 2; margin-left: auto; }
body.zillya-design .elementor-accordion .elementor-tab-title a,
body.zillya-design .elementor-accordion .elementor-tab-title .elementor-accordion-title { color: var(--z-ink) !important; font-size: 17px !important; font-weight: 500 !important; flex: 1; }
body.zillya-design .elementor-accordion .elementor-accordion-item .elementor-tab-content { padding: 0 0 20px; border: 0 !important; font-size: 16px !important; color: var(--z-muted) !important; }
body.zillya-design .elementor-accordion .elementor-tab-content > * { max-width: 68ch; }
body.zillya-design .elementor-accordion .elementor-tab-content p:last-child { margin-bottom: 0; }
body.zillya-design .elementor-accordion .elementor-tab-content p { font-size: 16px; color: var(--z-muted); }
/* system requirements */
body.zillya-design .elementor-element-8d19fcc ul li { color: var(--z-ink); font-size: 16px; }
body.zillya-design .elementor-element-8d19fcc .elementor-widget-text-editor h4 { font-size: 16px !important; color: var(--z-muted) !important; }

/* 8. products page + comparison ------------------------------------------- */
body.zillya-design .elementor-element-85e3cda { padding-top: var(--z-section) !important; padding-bottom: 16px !important; }
body.zillya-design .elementor-element-85e3cda .elementor-widget-tabs,
body.zillya-design .elementor-element-85e3cda .e-n-tabs-heading { display: none; }
body.zillya-design .elementor-element-5d99e4c > .e-con-inner { gap: 20px; align-items: stretch; }
body.zillya-design .elementor-element-5d99e4c > .e-con-inner > .e-child {
  border: 1px solid var(--z-line) !important;
  border-radius: var(--z-radius-lg);
  padding: 26px !important;
  align-items: flex-start !important;
  text-align: left;
  background: var(--z-white);
}
body.zillya-design .elementor-element-5d99e4c > .e-con-inner > .e-child:nth-child(2) { border-color: var(--z-teal) !important; box-shadow: inset 0 0 0 1px var(--z-teal); position: relative; }
body.zillya-design .elementor-element-85e3cda .elementor-widget-icon-list { display: none !important; }
body.zillya-design .elementor-element-5d99e4c > .e-con-inner > .e-child:nth-child(2) > .elementor-widget-image::after {
  content: "Most popular";
  position: absolute;
  top: -13px;
  left: 24px;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--z-teal);
  color: var(--z-white);
  font-size: 13px;
  font-weight: 500;
}
body.zillya-design .elementor-element-5d99e4c .elementor-widget { width: 100%; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-image .elementor-widget-container { text-align: left; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-image img { max-height: 150px; width: auto; }
body.zillya-design .elementor-element-5d99e4c h4.elementor-heading-title { font-size: 22px !important; font-weight: 700 !important; text-align: left; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor { text-align: left; color: var(--z-muted); }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor p { color: var(--z-muted); font-size: 16px; }
/* price line: "only $25" underlined 25px Montserrat */
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor, body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor * { text-decoration: none !important; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor p,
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor p * { color: var(--z-ink) !important; font-size: 28px !important; font-weight: 700 !important; text-decoration: none !important; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor p::after { content: " / year"; font-size: 15px; font-weight: 400; color: var(--z-muted); }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top: auto !important; padding-top: 12px; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-button { margin-top: 12px !important; }
body.zillya-design .elementor-element-5d99e4c .elementor-widget-button + .elementor-widget-button { margin-top: 8px !important; }
body.zillya-design .elementor-element-5d99e4c .elementor-button { width: 100%; }
body.zillya-design .elementor-element-5d99e4c .elementor-align-center .elementor-button-wrapper { justify-content: stretch; }
/* comparison ledger */
body.zillya-design .elementor-element-3067b47 { padding-top: 16px !important; }
body.zillya-design .eae-ct-wrapper { max-width: none !important; width: 100% !important; }
body.zillya-design .eae-ct-wrapper table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--z-line); border-radius: var(--z-radius-lg); overflow: hidden; }
body.zillya-design .eae-ct-wrapper table td, body.zillya-design .eae-ct-wrapper table th { border: 0 !important; border-top: 1px solid var(--z-line) !important; padding: 14px 16px !important; vertical-align: middle; background: var(--z-white); }
body.zillya-design .eae-ct-wrapper table tr:first-child td, body.zillya-design .eae-ct-wrapper table tr:first-child th { border-top: 0 !important; }
body.zillya-design .eae-ct-wrapper table td:nth-child(3), body.zillya-design .eae-ct-wrapper table th:nth-child(3) { background: var(--z-teal-soft); }
body.zillya-design .eae-ct-wrapper table td:first-child { text-align: left; }
/* the feature cell is "<b>Title</b><br>bare description text" — there is no
   .eae-ct-ftitle / .eae-ct-fdesc class to hook, so style the cell and its <b>. */
body.zillya-design .eae-ct-wrapper table td.eae-ct-feature { color: var(--z-muted) !important; font-size: 14px !important; line-height: 1.45 !important; }
body.zillya-design .eae-ct-wrapper table td.eae-ct-feature b { color: var(--z-ink) !important; font-weight: 500 !important; font-size: 16px !important; line-height: 1.35; }
body.zillya-design .eae-ct-wrapper .eae-ct-feature-title, body.zillya-design .eae-ct-wrapper .eae-ct-ftitle { font-weight: 500; color: var(--z-ink); font-size: 16px; }
body.zillya-design .eae-ct-wrapper .eae-ct-feature-desc, body.zillya-design .eae-ct-wrapper .eae-ct-fdesc { color: var(--z-muted); font-size: 14px; line-height: 1.45; }
body.zillya-design .eae-ct-wrapper .eae-ct-heading, body.zillya-design .eae-ct-wrapper th .eae-ct-title { font-size: 18px !important; font-weight: 700 !important; color: var(--z-ink) !important; }
body.zillya-design .eae-ct-wrapper .eae-ct-price, body.zillya-design .eae-ct-wrapper .eae-ct-price * { color: var(--z-ink) !important; }
body.zillya-design .eae-ct-wrapper .eae-ct-price .eae-ct-price-value, body.zillya-design .eae-ct-wrapper .eae-ct-price-value { font-size: 28px !important; font-weight: 700 !important; }
body.zillya-design .eae-ct-wrapper .eae-ct-price-duration, body.zillya-design .eae-ct-wrapper .eae-ct-duration { color: var(--z-muted) !important; font-size: 14px !important; }
body.zillya-design .eae-ct-wrapper .eae-ct-icon .fa-check, body.zillya-design .eae-ct-wrapper i.fa-check { color: var(--z-green) !important; }
body.zillya-design .eae-ct-wrapper .eae-ct-icon .fa-times, body.zillya-design .eae-ct-wrapper i.fa-times { color: var(--z-line) !important; }
/* bottom-row "Buy Now": full width of its cell, 40px tall, primary style.
   Label text is markup-owned; only its box is ours. */
body.zillya-design .eae-ct-wrapper table td .eae-ct-button,
body.zillya-design .eae-ct-wrapper table td a.eae-ct-btn,
body.zillya-design .eae-ct-wrapper table td .eae-ct-btn {
  display: flex !important;
  width: 100%;
  box-sizing: border-box;
  height: 40px;
  min-height: 40px !important;
  padding: 0 12px !important;
  margin: 0;
}
body.zillya-design .eae-ct-wrapper table td:has(> .eae-ct-btn),
body.zillya-design .eae-ct-wrapper table td:has(> .eae-ct-button) { padding: 12px 16px !important; }
body.zillya-design .eae-ct-wrapper ul { display: none !important; }

/* responsive ------------------------------------------------------------- */
@media (max-width: 1024px) {
  body.zillya-design .dt-products.wf-container { grid-template-columns: repeat(2, 1fr); }
  body.zillya-design .elementor-element-2aac842 > .e-con-inner { flex-wrap: wrap; }
  body.zillya-design .elementor-element-2aac842 > .e-con-inner > .e-con-full { width: 100% !important; max-width: 100% !important; }
  body.zillya-design .elementor-element-b00bc9e { flex-wrap: wrap; padding: 32px !important; }
  body.zillya-design .elementor-element-b00bc9e > .e-con-full { width: 100% !important; max-width: 100% !important; }
  body.zillya-design .elementor-element-b00bc9e > .e-con-full:last-child { order: -1; }
  body.zillya-design .elementor-element-b00bc9e .elementor-widget-image img { max-height: 300px; width: auto; }
  body.zillya-design.single-product [data-elementor-type="page"], body.zillya-design .elementor-element-62cfa70 { padding: 28px !important; }
}
/* tablet: keep the three tier cards side by side — at 768px each column is ~236px
   inside the container, at 820 ~246px, both above the 240px floor with 16px gaps. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.zillya-design .elementor-element-5d99e4c > .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px;
  }
  body.zillya-design .elementor-element-5d99e4c > .e-con-inner > .e-child {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 0 !important;
    min-width: 0;
    padding: 20px !important;
  }
  body.zillya-design .elementor-element-5d99e4c .elementor-widget-image img { max-height: 96px; }
  body.zillya-design .elementor-element-5d99e4c h4.elementor-heading-title { font-size: 19px !important; }
  body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor p,
  body.zillya-design .elementor-element-5d99e4c .elementor-widget-text-editor + .elementor-widget-text-editor p * { font-size: 24px !important; }
  body.zillya-design .elementor-element-5d99e4c .elementor-button { padding: 11px 10px !important; font-size: 15px !important; }
}
@media (max-width: 782px) {
  body.zillya-design .dt-products.wf-container { grid-template-columns: 1fr; gap: 16px; }
  body.zillya-design .woocommerce-products-header .page-description p { display: none !important; }
  body.zillya-design figure.woocom-project .woo-buttons-on-img img { height: 200px !important; }
  body.zillya-design .elementor-element-b00bc9e { padding: 24px 20px !important; margin-top: 12px; }
  body.zillya-design .elementor-element-b00bc9e h3.elementor-heading-title { font-size: 26px !important; }
  body.zillya-design .elementor-element-b00bc9e .elementor-widget-image img { max-height: 220px; }
  body.zillya-design .elementor-element-b00bc9e .e-con-boxed.e-parent > .e-con-inner { flex-direction: column !important; }
  body.zillya-design .elementor-element-b00bc9e .the7-add-to-cart { width: 100%; }
  /* phone: keep the group on one row and let the button take the rest of the width */
  body.zillya-design .the7-add-to-cart form.cart { flex-wrap: nowrap; }
  body.zillya-design .the7-add-to-cart .single_add_to_cart_button { flex: 1 1 auto; width: auto; min-width: 0; }
  body.zillya-design .woocommerce-product-gallery { padding: 10px; }
  body.zillya-design.single-product [data-elementor-type="page"], body.zillya-design .elementor-element-62cfa70 { padding: 20px 16px !important; }
  body.zillya-design .eae-ct-wrapper table td, body.zillya-design .eae-ct-wrapper table th { padding: 10px 8px !important; font-size: 14px; }
  body.zillya-design .eae-ct-wrapper .eae-ct-feature-desc, body.zillya-design .eae-ct-wrapper .eae-ct-fdesc { display: none; }
  /* the description is an unwrapped text node, so it can only be suppressed by
     collapsing the cell's own type and restoring it on the <b> title */
  body.zillya-design .eae-ct-wrapper table td.eae-ct-feature { font-size: 0 !important; line-height: 0 !important; }
  body.zillya-design .eae-ct-wrapper table td.eae-ct-feature br { display: none !important; }
  body.zillya-design .eae-ct-wrapper table td.eae-ct-feature b { font-size: 14px !important; line-height: 1.35 !important; }
  body.zillya-design .eae-ct-wrapper .eae-ct-price-value { font-size: 20px !important; }
  body.zillya-design .eae-ct-wrapper .eae-ct-heading, body.zillya-design .eae-ct-wrapper th .eae-ct-title { font-size: 14px !important; }
  body.zillya-design .elementor-element-3067b47 > .e-con-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body.zillya-design .elementor-element-3067b47 .eae-ct-wrapper { min-width: 520px; }
}
/* SEO pass: FAQ block spacing inside the "About this product" panel */
body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor h2 { margin-top: 36px !important; }
body.zillya-design.single-product [data-elementor-type="page"] .e-con:first-child .elementor-widget-text-editor h2, body.zillya-design.single-product [data-elementor-type="page"] .elementor-widget-text-editor:first-child h2 { margin-top: 0 !important; }
body.zillya-design.single-product [data-elementor-type="page"] .elementor-element-seofhav h2 { margin-top: 40px !important; }

/* review 2026-09-10: on phones the comparison widget switches to "one column at a time" with a tab list (<ul>) that
   an earlier rule hid globally. Show the tabs as a segmented control and drop the scroll-container fallback. */
@media (max-width: 782px) {
  body.zillya-design .elementor-element-3067b47 > .e-con-inner { overflow: visible; }
  body.zillya-design .elementor-element-3067b47 .eae-ct-wrapper { min-width: 0 !important; }
  body.zillya-design .eae-ct-wrapper > ul { display: flex !important; gap: 6px; margin: 0 0 12px !important; padding: 4px !important; list-style: none; border: 1px solid var(--z-line); border-radius: var(--z-radius-lg); background: var(--z-paper); }
  body.zillya-design .eae-ct-wrapper > ul > li.eae-ct-heading { flex: 1 1 0; display: flex !important; align-items: center; justify-content: center; padding: 10px 6px !important; border-radius: 8px; font-size: 13px !important; font-weight: 500 !important; color: var(--z-muted) !important; text-align: center; cursor: pointer; background: transparent; }
  body.zillya-design .eae-ct-wrapper > ul > li.eae-ct-heading.active { background: var(--z-white); color: var(--z-ink) !important; box-shadow: 0 1px 2px rgba(17,26,58,.12); }
  body.zillya-design .eae-ct-wrapper > ul > li .eae-ct-heading-inner { font-size: 13px !important; font-weight: 500 !important; }
  body.zillya-design .eae-ct-wrapper table td.eae-ct-heading { display: none !important; }
  body.zillya-design .eae-ct-wrapper table td, body.zillya-design .eae-ct-wrapper table th { padding: 12px 10px !important; }
  body.zillya-design .eae-ct-wrapper table td:first-child { width: 60%; }
  body.zillya-design .eae-ct-wrapper table td:nth-child(3), body.zillya-design .eae-ct-wrapper table th:nth-child(3) { background: var(--z-white); }
  body.zillya-design .eae-ct-wrapper table td.active { background: var(--z-teal-soft) !important; }
}
/* shop archive: the H1 is now printed above the intro; the intro's own heading becomes a sub-heading */
body.zillya-design.woocommerce-shop .woocommerce-products-header .page-description h2 { font-size: 22px !important; font-weight: 500 !important; margin: 4px 0 12px; }
