/* ==== FLEET — generic rules, no element IDs ====
   Generated 2026-09-06 from the TR ui-polish.css. Load fleet.css on every site;
   the site file holds Elementor element IDs that exist on ONE install and must be
   re-discovered (scripts/cards_list.php pattern) before any reuse. */

/* QNET UI polish — category filter, Load More, hero rhythm.
   Dark text on the accent (brand rule + passes WCAG AA), responsive, dark-mode aware. */

:root{
  --qn-accent:#ED6125;
  --qn-accent-tint:rgba(237,97,37,.12);
  --qn-on-accent:#ffffff;      /* white label on the active pill (your call) */
  --qn-ink:#1a1a1a;
  --qn-muted:#5b5651;
  --qn-line:rgba(0,0,0,.16);
}
body[data-theme="dark"]{
  --qn-accent-tint:rgba(237,97,37,.20);
  --qn-ink:#efeae4;
  --qn-muted:#b3aca4;
  --qn-line:rgba(255,255,255,.20);
}

/* ---------- Category filter → pills ---------- */
/* breathing room between the search block above and the filter row */
.elementor-widget-taxonomy-filter{margin-top:clamp(18px,3vw,32px)}
.elementor-widget-taxonomy-filter .e-filter{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  align-items:center;
  margin:0 auto;
}
.elementor-widget-taxonomy-filter .e-filter-item{
  appearance:none;
  /* flex centring + line-height:1 => text is optically centred whatever the
     font metrics do (fixes the high-sitting label) */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  /* theme-proof colours: inherit the theme's own text colour (correct in light
     AND dark) and mute it with opacity, instead of hard-coding a grey that only
     passes contrast in one theme. Border is a neutral translucent that reads on
     both grounds. */
  color:inherit;   /* theme's own text colour => AA in light and dark by construction */
  opacity:1;
  border:none;                      /* no outline — filled chip */
  background:rgba(128,128,128,.12); /* light grey; translucent so it also reads on dark */
  font-size:.92rem;
  font-weight:500;
  line-height:1;
  /* optical centring: the em-box is centred but the ink (cap-top -> descender)
     sits ~2px low in Encode Sans Condensed, so shift it up by trading 2px of
     top padding for bottom padding. Pill height is unchanged. */
  padding:.48em 1.05em .76em;
  border-radius:999px;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .16s ease;
}
/* hover: just bring the label to full strength + a neutral wash.
   No border change, no orange (orange belongs to the active pill alone). */
.elementor-widget-taxonomy-filter .e-filter-item:hover{
  background:rgba(128,128,128,.22);
}
.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"]{
  background:var(--qn-accent);   /* brand orange, unchanged */
  color:var(--qn-on-accent);     /* white — note: 3.31:1, below AA for this text size */
  font-weight:600;
}
.elementor-widget-taxonomy-filter .e-filter-item:focus-visible{
  outline:2px solid var(--qn-accent);
  outline-offset:2px;
}

/* No theme-specific colour overrides are needed: the label inherits the theme's
   own text colour, so it is correct in light and dark by construction. The only
   fixed pair is dark-on-orange for the active pill, which passes AA on both. */

/* Mobile: one swipeable row instead of a ragged wrap */
@media (max-width:640px){
  .elementor-widget-taxonomy-filter .e-filter{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    padding:2px 4px 6px;
    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;
  }
  .elementor-widget-taxonomy-filter .e-filter::-webkit-scrollbar{display:none}
  .elementor-widget-taxonomy-filter .e-filter-item{
    flex:0 0 auto;
    font-size:.86rem;
    padding:.34em .9em .62em;
  }
}

/* Load More is covered by the standard button block further down — no rule here.
   (The old accent-based rule was removed so there is one source of truth.) */

/* ---------- Hero rhythm ---------- */
.elementor-widget-foxiz-heading .heading-title{
  letter-spacing:-.015em;
  text-wrap:balance;
}
.elementor-widget-foxiz-heading .heading-title span{line-height:1.08}
@media (max-width:640px){
  .elementor-widget-foxiz-heading .heading-title{font-size:clamp(1.7rem,7vw,2.3rem)}
}

/* ---------- Card grid: keep the 10px gutter honest on small screens ---------- */
@media (max-width:480px){
  .elementor-widget-loop-grid .elementor-grid{gap:10px}
}

@media (prefers-reduced-motion:reduce){
  .elementor-widget-taxonomy-filter .e-filter-item,
  .elementor-widget-loop-grid .elementor-button{transition:none}
}


/* [buttons reverted to theme original on MENA 2026-09-08 — standard-button block removed per request] */

/* ---------- Loop grid must fill its container ----------
   A Foxiz grid was a block element; the Elementor loop-grid is a flex child. In a
   container set to `align-items:center` (very common on these pages) it shrinks to
   its content width — and since the grid track is itself flexible, that collapses
   to ~30px and the section renders as an empty gap with the heading and CTA still
   visible. Seen on /basaranlar/ (grid 795a1bd6). */
.elementor-widget-loop-grid{ width:100%; align-self:stretch; }

/* ---------- Large screens: let the content breathe ----------
   Measured: the Elementor container is capped at 1240px and Foxiz's at 1280px at
   every viewport, so on a 2560px display the site uses under half the screen.
   Widened in steps rather than fluidly, so the card grid lands on predictable
   widths and the `sizes` attribute stays truthful (see qnet-grid-lazy.php).
   Running text is held back separately below — 1560px of prose is unreadable. */
@media (min-width:1600px){
  .e-con-inner, .rb-container, .rb-col{
    max-width:1400px !important;
    margin-inline:auto !important;   /* a max-width without this pins the block left */
  }
}
@media (min-width:1920px){
  .e-con-inner, .rb-container, .rb-col{
    max-width:1560px !important;
    margin-inline:auto !important;
  }
}
/* Prose stays at a readable measure even when its container grows. Grids, media
   and cards keep the full width. */
@media (min-width:1600px){
  .single .entry-content > p,
  .single .entry-content > ul,
  .single .entry-content > ol,
  .single .entry-content > blockquote,
  .elementor-widget-theme-post-content > .elementor-widget-container > p{
    max-width:78ch;
    margin-inline:auto;
  }
}

/* ---------- Discontinued products ----------
   Reproduces the original table rendering — outer frame, header band, a vertical
   rule between the two columns, "·" bullets — but as real HTML instead of a 2 MB
   JS table widget whose rows never reached the markup. Stacks on phones. */
.elementor-element-qntblwrap{
  display:flex !important;
  flex-direction:row !important;
  gap:0 !important;
  align-items:stretch;
  border:1px solid var(--qn-tbl-line,#E3E3E3);
  border-radius:2px;
  overflow:hidden;
  margin-inline:auto;
  max-width:1250px;
}
.elementor-element-qntblwrap > .elementor-element-qntbl1,
.elementor-element-qntblwrap > .elementor-element-qntbl2{
  /* Elementor sets width:100% on container children with higher specificity than a
     bare class, so these need the child combinator AND !important to share the row. */
  flex:1 1 50% !important;
  width:50% !important;
  max-width:50% !important;
  min-width:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
/* the vertical rule between the two columns */
.elementor-element-qntbl2{ border-left:1px solid var(--qn-tbl-line,#E3E3E3) !important; }

/* header band */
.elementor-element-qntblwrap .elementor-widget-heading{
  padding:1.15rem 1rem;
  border-bottom:1px solid var(--qn-tbl-line,#E3E3E3);
  text-align:center;
}
.elementor-element-qntblwrap .elementor-widget-heading .elementor-heading-title{
  font-size:1.02rem; font-weight:700; letter-spacing:.005em;
}
/* body */
.elementor-element-qntblwrap .elementor-widget-text-editor{ padding:1.15rem 1.4rem; }
/* the theme forces list-style-type on nested lists — override at both levels */
ul.qn-discontinued,
.elementor-widget-text-editor ul.qn-discontinued{
  list-style:none !important; list-style-type:none !important;
  margin:0 !important; padding:0 !important;
}
ul.qn-discontinued li,
.elementor-widget-text-editor ul.qn-discontinued li{
  list-style:none !important; list-style-type:none !important;
  position:relative; padding-left:1rem; margin-bottom:.45rem; line-height:1.5;
}
.qn-discontinued li::before{
  content:"·"; position:absolute; left:.15rem; top:-.05em;
  font-weight:700; opacity:.75;
}
body[data-theme="dark"] .elementor-element-qntblwrap{ --qn-tbl-line:rgba(255,255,255,.16); }

/* phones: one column, the vertical rule becomes a horizontal one */
@media (max-width:767px){
  .elementor-element-qntblwrap{ flex-direction:column !important; }
  .elementor-element-qntblwrap > .elementor-element-qntbl1,
  .elementor-element-qntblwrap > .elementor-element-qntbl2{
    flex:1 1 auto !important; width:100% !important; max-width:100% !important;
  }
  .elementor-element-qntbl2{
    border-left:0 !important;
    border-top:1px solid var(--qn-tbl-line,#E3E3E3) !important;
  }
  .elementor-element-qntblwrap .elementor-widget-text-editor{ padding:1rem 1.1rem; }
}

/* ---------- Footer bottom strip ----------
   The copyright line sat on its own darker ground, reading as a seam under the
   navy footer. Same navy, separated by a hairline instead of a colour change. */
body .footer-wrap ~ *,
.footer-wrap .rb-copyright,
.footer-wrap + div,
[class*="copyright"]{
  background-color:#0E1726 !important;
}
[class*="copyright"]{
  border-top:1px solid rgba(255,255,255,.09) !important;
}

/* Footer padding is owned by Elementor (container 16f0813). The dark band under
   the copyright line was a background overlay beneath the grid, fixed in the
   editor — no padding override here. */

/* ---------- Footer: the X (Twitter) glyph ----------
   Measured: every social icon resolves a glyph except .fa-x-twitter, whose
   ::before content is `none`. `fa-x-twitter` was introduced in Font Awesome 6.4.2
   and this theme ships 6.1.1, so the character simply does not exist in the font.
   Supplying the mark as a mask keeps it on currentColor and survives a theme
   update — no need to bump the theme's Font Awesome. */
.fa-x-twitter::before{ content:"" !important; display:none !important; }
.fa-x-twitter{
  display:inline-flex !important;
  align-items:center; justify-content:center;
}
.fa-x-twitter::after{
  content:"";
  display:block;
  width:1em; height:1em;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

/* ---------- Footer: the X (Twitter) glyph ----------
   Measured: every social icon resolves a glyph except .fa-x-twitter, whose
   ::before content is `none`. `fa-x-twitter` was introduced in Font Awesome 6.4.2
   and this theme ships 6.1.1, so the character simply does not exist in the font.
   Supplying the mark as a mask keeps it on currentColor and survives a theme
   update — no need to bump the theme's Font Awesome. */
.fa-x-twitter::before{ content:"" !important; display:none !important; }
.fa-x-twitter{
  display:inline-flex !important;
  align-items:center; justify-content:center;
}
.fa-x-twitter::after{
  content:"";
  display:block;
  width:1em; height:1em;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}


/* ---------- Font Awesome → SVG masks, everywhere except the header ----------
   Measured on the homepage: three webfont files, 278 KB, for eleven glyphs. The
   footer socials and the content glyphs below are painted from their own outlines
   (extracted from the theme's FA 6.1.1 brands file and Elementor's FA solid file,
   so the shapes are the ones the site already shows), as 8 KB of inline masks.
   The <i class="fab fa-…"> markup stays untouched, so Elementor keeps working;
   `font-family:inherit` on these classes is what stops the brands font from being
   fetched at all. The header keeps its three FA icons until it is redesigned —
   that is the only remaining reason fa-solid / fa-regular still load. */
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-x-twitter, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-facebook, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-youtube, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-instagram, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-tiktok, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-check, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-chevron-right{
  font-family:inherit !important;
  line-height:1;
}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-facebook::before, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-youtube::before, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-instagram::before, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-tiktok::before, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-check::before, :is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-chevron-right::before{
  content:"" !important;
  display:inline-block;
  height:1em;
  vertical-align:-.125em;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-facebook::before{width:1.0em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M504 217.60000000000002Q503 148.60000000000002 470 92.60000000000002Q437 36.60000000000002 381 3.6000000000000227Q325 -29.399999999999977 256 -30.399999999999977Q187 -29.399999999999977 131 3.6000000000000227Q75 36.60000000000002 42 92.60000000000002Q9 148.60000000000002 8 217.60000000000002Q10 312.6 68 379.6Q126 446.6 217 462.6V289.6H154V217.60000000000002H217V162.60000000000002Q218 116.60000000000002 243 91.60000000000002Q268 66.60000000000002 311 66.60000000000002Q332 66.60000000000002 349 68.60000000000002Q365 70.60000000000002 366 71.60000000000002Q366 71.60000000000002 366 71.60000000000002V132.60000000000002H335Q312 132.60000000000002 303 144.60000000000002Q294 155.60000000000002 295 170.60000000000002V217.60000000000002H364L353 289.6H295V462.6Q386 446.6 444 379.6Q502 312.6 504 217.60000000000002Z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M504 217.60000000000002Q503 148.60000000000002 470 92.60000000000002Q437 36.60000000000002 381 3.6000000000000227Q325 -29.399999999999977 256 -30.399999999999977Q187 -29.399999999999977 131 3.6000000000000227Q75 36.60000000000002 42 92.60000000000002Q9 148.60000000000002 8 217.60000000000002Q10 312.6 68 379.6Q126 446.6 217 462.6V289.6H154V217.60000000000002H217V162.60000000000002Q218 116.60000000000002 243 91.60000000000002Q268 66.60000000000002 311 66.60000000000002Q332 66.60000000000002 349 68.60000000000002Q365 70.60000000000002 366 71.60000000000002Q366 71.60000000000002 366 71.60000000000002V132.60000000000002H335Q312 132.60000000000002 303 144.60000000000002Q294 155.60000000000002 295 170.60000000000002V217.60000000000002H364L353 289.6H295V462.6Q386 446.6 444 379.6Q502 312.6 504 217.60000000000002Z%22/%3E%3C/svg%3E")}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-youtube::before{width:1.125em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M550 85.60000000000002Q538 48.60000000000002 501 36.60000000000002Q477 31.600000000000023 427 28.600000000000023Q377 26.600000000000023 334 25.600000000000023Q291 25.600000000000023 288 25.600000000000023Q285 25.600000000000023 242 25.600000000000023Q199 26.600000000000023 149 28.600000000000023Q99 31.600000000000023 75 36.60000000000002Q38 48.60000000000002 26 85.60000000000002Q21 108.60000000000002 18 138.60000000000002Q16 169.60000000000002 15 193.60000000000002Q15 216.60000000000002 15 217.60000000000002Q15 219.60000000000002 15 242.60000000000002Q16 266.6 18 296.6Q21 327.6 26 350.6Q38 387.6 75 398.6Q99 403.6 149 406.6Q199 408.6 242 409.6Q285 409.6 288 409.6Q288 409.6 288 409.6Q291 409.6 334 409.6Q377 408.6 427 406.6Q477 403.6 501 398.6Q538 387.6 550 350.6Q555 327.6 558 296.6Q560 266.6 561 242.60000000000002Q561 219.60000000000002 561 217.60000000000002Q561 216.60000000000002 561 193.60000000000002Q560 169.60000000000002 558 138.60000000000002Q555 108.60000000000002 550 85.60000000000002ZM232 299.6V136.60000000000002L375 217.60000000000002L232 299.6Z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 576 512%22%3E%3Cpath d=%22M550 85.60000000000002Q538 48.60000000000002 501 36.60000000000002Q477 31.600000000000023 427 28.600000000000023Q377 26.600000000000023 334 25.600000000000023Q291 25.600000000000023 288 25.600000000000023Q285 25.600000000000023 242 25.600000000000023Q199 26.600000000000023 149 28.600000000000023Q99 31.600000000000023 75 36.60000000000002Q38 48.60000000000002 26 85.60000000000002Q21 108.60000000000002 18 138.60000000000002Q16 169.60000000000002 15 193.60000000000002Q15 216.60000000000002 15 217.60000000000002Q15 219.60000000000002 15 242.60000000000002Q16 266.6 18 296.6Q21 327.6 26 350.6Q38 387.6 75 398.6Q99 403.6 149 406.6Q199 408.6 242 409.6Q285 409.6 288 409.6Q288 409.6 288 409.6Q291 409.6 334 409.6Q377 408.6 427 406.6Q477 403.6 501 398.6Q538 387.6 550 350.6Q555 327.6 558 296.6Q560 266.6 561 242.60000000000002Q561 219.60000000000002 561 217.60000000000002Q561 216.60000000000002 561 193.60000000000002Q560 169.60000000000002 558 138.60000000000002Q555 108.60000000000002 550 85.60000000000002ZM232 299.6V136.60000000000002L375 217.60000000000002L232 299.6Z%22/%3E%3C/svg%3E")}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-instagram::before{width:0.875em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M224 102.60000000000002Q175 103.60000000000002 143 136.60000000000002Q110 168.60000000000002 109 217.60000000000002Q110 266.6 143 298.6Q175 331.6 224 332.6Q273 331.6 305 298.6Q338 266.6 339 217.60000000000002Q338 168.60000000000002 305 136.60000000000002Q273 103.60000000000002 224 102.60000000000002ZM224 292.6Q192 291.6 171 270.6Q150 249.60000000000002 149 217.60000000000002Q150 185.60000000000002 171 164.60000000000002Q192 143.60000000000002 224 142.60000000000002Q256 143.60000000000002 277 164.60000000000002Q298 185.60000000000002 299 217.60000000000002Q298 249.60000000000002 277 270.6Q256 291.6 224 292.6ZM371 97.60000000000002Q368 122.60000000000002 344 124.60000000000002Q319 122.60000000000002 317 97.60000000000002Q317 86.60000000000002 325 78.60000000000002Q332 71.60000000000002 344 71.60000000000002Q355 71.60000000000002 363 78.60000000000002Q370 86.60000000000002 371 97.60000000000002ZM447 125.60000000000002Q447 70.60000000000002 410 31.600000000000023Q371 -5.399999999999977 317 -5.399999999999977Q297 -6.399999999999977 260 -6.399999999999977Q224 -6.399999999999977 188 -6.399999999999977Q151 -6.399999999999977 132 -5.399999999999977Q78 -5.399999999999977 38 31.600000000000023Q1 70.60000000000002 2 124.60000000000002Q0 144.60000000000002 0 181.60000000000002Q0 217.60000000000002 0 253.60000000000002Q0 289.6 2 309.6Q1 364.6 38 403.6Q77 440.6 132 439.6Q151 440.6 188 441.6Q224 441.6 260 441.6Q297 440.6 317 439.6Q371 440.6 410 403.6Q447 364.6 447 309.6Q448 289.6 448 253.60000000000002Q448 217.60000000000002 448 181.60000000000002Q448 144.60000000000002 447 124.60000000000002ZM399 349.6Q386 379.6 356 392.6Q336 399.6 302 400.6Q268 401.6 240 401.6Q231 401.6 224 401.6Q217 401.6 208 401.6Q180 401.6 146 400.6Q113 399.6 92 392.6Q62 379.6 49 349.6Q42 328.6 41 295.6Q40 261.6 40 233.60000000000002Q40 224.60000000000002 40 217.60000000000002Q40 210.60000000000002 40 201.60000000000002Q40 173.60000000000002 41 139.60000000000002Q42 105.60000000000002 49 85.60000000000002Q62 55.60000000000002 92 42.60000000000002Q113 35.60000000000002 146 34.60000000000002Q180 32.60000000000002 208 33.60000000000002Q217 33.60000000000002 224 33.60000000000002Q231 33.60000000000002 240 33.60000000000002Q268 33.60000000000002 302 34.60000000000002Q336 35.60000000000002 356 42.60000000000002Q386 55.60000000000002 399 85.60000000000002Q406 105.60000000000002 407 139.60000000000002Q409 173.60000000000002 408 201.60000000000002Q408 210.60000000000002 408 217.60000000000002Q408 224.60000000000002 408 233.60000000000002Q409 261.6 407 295.6Q406 329.6 399 349.6Z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M224 102.60000000000002Q175 103.60000000000002 143 136.60000000000002Q110 168.60000000000002 109 217.60000000000002Q110 266.6 143 298.6Q175 331.6 224 332.6Q273 331.6 305 298.6Q338 266.6 339 217.60000000000002Q338 168.60000000000002 305 136.60000000000002Q273 103.60000000000002 224 102.60000000000002ZM224 292.6Q192 291.6 171 270.6Q150 249.60000000000002 149 217.60000000000002Q150 185.60000000000002 171 164.60000000000002Q192 143.60000000000002 224 142.60000000000002Q256 143.60000000000002 277 164.60000000000002Q298 185.60000000000002 299 217.60000000000002Q298 249.60000000000002 277 270.6Q256 291.6 224 292.6ZM371 97.60000000000002Q368 122.60000000000002 344 124.60000000000002Q319 122.60000000000002 317 97.60000000000002Q317 86.60000000000002 325 78.60000000000002Q332 71.60000000000002 344 71.60000000000002Q355 71.60000000000002 363 78.60000000000002Q370 86.60000000000002 371 97.60000000000002ZM447 125.60000000000002Q447 70.60000000000002 410 31.600000000000023Q371 -5.399999999999977 317 -5.399999999999977Q297 -6.399999999999977 260 -6.399999999999977Q224 -6.399999999999977 188 -6.399999999999977Q151 -6.399999999999977 132 -5.399999999999977Q78 -5.399999999999977 38 31.600000000000023Q1 70.60000000000002 2 124.60000000000002Q0 144.60000000000002 0 181.60000000000002Q0 217.60000000000002 0 253.60000000000002Q0 289.6 2 309.6Q1 364.6 38 403.6Q77 440.6 132 439.6Q151 440.6 188 441.6Q224 441.6 260 441.6Q297 440.6 317 439.6Q371 440.6 410 403.6Q447 364.6 447 309.6Q448 289.6 448 253.60000000000002Q448 217.60000000000002 448 181.60000000000002Q448 144.60000000000002 447 124.60000000000002ZM399 349.6Q386 379.6 356 392.6Q336 399.6 302 400.6Q268 401.6 240 401.6Q231 401.6 224 401.6Q217 401.6 208 401.6Q180 401.6 146 400.6Q113 399.6 92 392.6Q62 379.6 49 349.6Q42 328.6 41 295.6Q40 261.6 40 233.60000000000002Q40 224.60000000000002 40 217.60000000000002Q40 210.60000000000002 40 201.60000000000002Q40 173.60000000000002 41 139.60000000000002Q42 105.60000000000002 49 85.60000000000002Q62 55.60000000000002 92 42.60000000000002Q113 35.60000000000002 146 34.60000000000002Q180 32.60000000000002 208 33.60000000000002Q217 33.60000000000002 224 33.60000000000002Q231 33.60000000000002 240 33.60000000000002Q268 33.60000000000002 302 34.60000000000002Q336 35.60000000000002 356 42.60000000000002Q386 55.60000000000002 399 85.60000000000002Q406 105.60000000000002 407 139.60000000000002Q409 173.60000000000002 408 201.60000000000002Q408 210.60000000000002 408 217.60000000000002Q408 224.60000000000002 408 233.60000000000002Q409 261.6 407 295.6Q406 329.6 399 349.6Z%22/%3E%3C/svg%3E")}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-tiktok::before{width:0.875em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M448 171.60000000000002Q380 171.60000000000002 325 132.60000000000002V310.6Q324 374.6 286 416.6Q248 459.6 193 470.6Q137 481.6 81 451.6Q27 418.6 9 364.6Q-9 310.6 9 256.6Q27 203.60000000000002 81 170.60000000000002Q130 142.60000000000002 185 149.60000000000002V239.60000000000002Q142 228.60000000000002 112 255.60000000000002Q82 283.6 90 327.6Q102 369.6 140 382.6Q179 394.6 213 365.6Q237 343.6 237 310.6V-38.39999999999998H325Q325 -27.399999999999977 327 -16.399999999999977Q338 34.60000000000002 381 63.60000000000002Q412 83.60000000000002 448 84.60000000000002Z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 512%22%3E%3Cpath d=%22M448 171.60000000000002Q380 171.60000000000002 325 132.60000000000002V310.6Q324 374.6 286 416.6Q248 459.6 193 470.6Q137 481.6 81 451.6Q27 418.6 9 364.6Q-9 310.6 9 256.6Q27 203.60000000000002 81 170.60000000000002Q130 142.60000000000002 185 149.60000000000002V239.60000000000002Q142 228.60000000000002 112 255.60000000000002Q82 283.6 90 327.6Q102 369.6 140 382.6Q179 394.6 213 365.6Q237 343.6 237 310.6V-38.39999999999998H325Q325 -27.399999999999977 327 -16.399999999999977Q338 34.60000000000002 381 63.60000000000002Q412 83.60000000000002 448 84.60000000000002Z%22/%3E%3C/svg%3E")}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-check::before{width:1.0em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M174 400.6 7 234.60000000000002Q0 227.60000000000002 0.0 216.60000000000002Q0 205.60000000000002 7 198.60000000000002L44 162.60000000000002Q51 154.60000000000002 61.5 154.60000000000002Q72 154.60000000000002 80 162.60000000000002L192 274.6L432 34.60000000000002Q440 26.600000000000023 450.5 26.600000000000023Q461 26.600000000000023 468 34.60000000000002L505 70.60000000000002Q512 77.60000000000002 512.0 88.60000000000002Q512 99.60000000000002 505 106.60000000000002L210 400.6Q203 408.6 192.0 408.6Q181 408.6 174 400.6Z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22%3E%3Cpath d=%22M174 400.6 7 234.60000000000002Q0 227.60000000000002 0.0 216.60000000000002Q0 205.60000000000002 7 198.60000000000002L44 162.60000000000002Q51 154.60000000000002 61.5 154.60000000000002Q72 154.60000000000002 80 162.60000000000002L192 274.6L432 34.60000000000002Q440 26.600000000000023 450.5 26.600000000000023Q461 26.600000000000023 468 34.60000000000002L505 70.60000000000002Q512 77.60000000000002 512.0 88.60000000000002Q512 99.60000000000002 505 106.60000000000002L210 400.6Q203 408.6 192.0 408.6Q181 408.6 174 400.6Z%22/%3E%3C/svg%3E")}
:is(main,footer,.footer-wrap,.elementor-popup-modal) .fa-chevron-right::before{width:0.625em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 512%22%3E%3Cpath d=%22M285 234.60000000000002 91 428.6Q84 435.6 74.0 435.6Q64 435.6 57 428.6L35 406.6Q28 399.6 27.5 389.6Q27 379.6 34 372.6L189 217.60000000000002L34 62.60000000000002Q27 55.60000000000002 27.5 45.60000000000002Q28 35.60000000000002 35 28.600000000000023L57 6.600000000000023Q64 -0.39999999999997726 74.0 -0.39999999999997726Q84 -0.39999999999997726 91 6.600000000000023L285 200.60000000000002Q293 207.60000000000002 293.0 217.60000000000002Q293 227.60000000000002 285 234.60000000000002Z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 320 512%22%3E%3Cpath d=%22M285 234.60000000000002 91 428.6Q84 435.6 74.0 435.6Q64 435.6 57 428.6L35 406.6Q28 399.6 27.5 389.6Q27 379.6 34 372.6L189 217.60000000000002L34 62.60000000000002Q27 55.60000000000002 27.5 45.60000000000002Q28 35.60000000000002 35 28.600000000000023L57 6.600000000000023Q64 -0.39999999999997726 74.0 -0.39999999999997726Q84 -0.39999999999997726 91 6.600000000000023L285 200.60000000000002Q293 207.60000000000002 293.0 217.60000000000002Q293 227.60000000000002 285 234.60000000000002Z%22/%3E%3C/svg%3E")}

/* ---------- Single post: prev/next thumbnails are rectangles (fleet card language), not circles ---------- */
.entry-pagination .nav-inner img{width:96px;height:64px;aspect-ratio:3/2;object-fit:cover;border-radius:8px!important}
@media (max-width:767px){.entry-pagination .nav-inner img{width:72px;height:48px}}

/* ---------- Promoted headings keep their original size ----------
   qnet-heading-semantics turns Foxiz's h4/h5 list titles into h2 for the outline and adds the
   original level as a class. Foxiz sizes these by TAG (measured on prod: h5 14px/21px, h4 16px/23px),
   so the class carries the size back. */
h2.entry-title.h4,h2.heading-title.h4{font-size:16px!important;line-height:1.45!important}
h2.entry-title.h5,h2.heading-title.h5{font-size:14px!important;line-height:1.5!important}
h2.entry-title.h6,h2.heading-title.h6{font-size:13px!important;line-height:1.5!important}
h2.entry-title.h3,h2.heading-title.h3{font-size:18px!important;line-height:1.4!important}

/* ---------- Header icons → SVG masks (2026-09-07) ----------
   Cart / user / edit were the last webfont glyphs on the site, and they cost fa-solid-900 (151 KB) + fa-regular-400
   (23 KB) on every page for three 20px icons. Same outlines, taken from the fonts already shipped, painted in
   currentColor, so the hover/dark-mode colours Foxiz sets still apply. Markup untouched. Unscoped on purpose: these three glyphs only occur as header/menu/button icons, and the
   "Mağaza" button in the page body carried the cart too — one leftover webfont glyph anywhere re-downloads the 151 KB file. */
.fa-cart-arrow-down, .fa-user, .fa-edit{font-family:inherit !important;line-height:1}
.fa-cart-arrow-down::before, .fa-user::before, .fa-edit::before{content:"" !important;display:inline-block;height:1em;vertical-align:-.125em;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.fa-cart-arrow-down::before{width:1.125em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M505%20281.6H212L218%20313.6H487Q498%20313.6%20505.0%20322.6Q512%20331.6%20510%20342.6L504%20367.6Q536%20382.6%20536%20417.6Q536%20440.6%20519.5%20457.1Q503%20473.6%20479%20473.6Q457%20473.6%20441.0%20457.6Q425%20441.6%20424%20419.6Q423%20394.6%20441%20377.6H231Q248%20393.6%20248%20417.6Q248%20441.6%20230.5%20458.1Q213%20474.6%20189%20473.6Q168%20472.6%20152.5%20457.1Q137%20441.6%20136%20420.6Q134%20386.6%20164%20368.6L94%2025.6H24Q14%2025.6%207.0%2018.6Q0%2011.6%200%201.6V-14.4Q0%20-24.4%207.0%20-31.4Q14%20-38.4%2024%20-38.4H127Q135%20-38.4%20141.5%20-32.9Q148%20-27.4%20150%20-19.4L159%2025.6H552Q564%2025.6%20571.0%2034.6Q578%2043.6%20575%2054.6L528%20262.6Q524%20281.6%20505%20281.6ZM403%20153.6H360V93.6Q360%2081.6%20348%2081.6H324Q312%2081.6%20312%2093.6V153.6H269Q261%20153.6%20258.0%20161.1Q255%20168.6%20260%20173.6L328%20241.6Q336%20249.6%20344%20241.6L412%20173.6Q417%20168.6%20414.0%20161.1Q411%20153.6%20403%20153.6Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M505%20281.6H212L218%20313.6H487Q498%20313.6%20505.0%20322.6Q512%20331.6%20510%20342.6L504%20367.6Q536%20382.6%20536%20417.6Q536%20440.6%20519.5%20457.1Q503%20473.6%20479%20473.6Q457%20473.6%20441.0%20457.6Q425%20441.6%20424%20419.6Q423%20394.6%20441%20377.6H231Q248%20393.6%20248%20417.6Q248%20441.6%20230.5%20458.1Q213%20474.6%20189%20473.6Q168%20472.6%20152.5%20457.1Q137%20441.6%20136%20420.6Q134%20386.6%20164%20368.6L94%2025.6H24Q14%2025.6%207.0%2018.6Q0%2011.6%200%201.6V-14.4Q0%20-24.4%207.0%20-31.4Q14%20-38.4%2024%20-38.4H127Q135%20-38.4%20141.5%20-32.9Q148%20-27.4%20150%20-19.4L159%2025.6H552Q564%2025.6%20571.0%2034.6Q578%2043.6%20575%2054.6L528%20262.6Q524%20281.6%20505%20281.6ZM403%20153.6H360V93.6Q360%2081.6%20348%2081.6H324Q312%2081.6%20312%2093.6V153.6H269Q261%20153.6%20258.0%20161.1Q255%20168.6%20260%20173.6L328%20241.6Q336%20249.6%20344%20241.6L412%20173.6Q417%20168.6%20414.0%20161.1Q411%20153.6%20403%20153.6Z%22%2F%3E%3C%2Fsvg%3E")}
.fa-user::before{width:0.875em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M224%20256A128%20128%200%201%200%20224%200a128%20128%200%201%200%200%20256zm-45.7%2048C79.8%20304%200%20383.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512H418.3c16.4%200%2029.7-13.3%2029.7-29.7C448%20383.8%20368.2%20304%20269.7%20304H178.3z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M224%20256A128%20128%200%201%200%20224%200a128%20128%200%201%200%200%20256zm-45.7%2048C79.8%20304%200%20383.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512H418.3c16.4%200%2029.7-13.3%2029.7-29.7C448%20383.8%20368.2%20304%20269.7%20304H178.3z%22%2F%3E%3C%2Fsvg%3E")}
.fa-edit::before{width:1.125em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M402%20306.6%20434%20274.6Q438%20270.6%20443.0%20272.6Q448%20274.6%20448%20280.6V425.6Q448%20445.6%20434.0%20459.6Q420%20473.6%20400%20473.6H48Q28%20473.6%2014.0%20459.6Q0%20445.6%200%20425.6V73.6Q0%2053.6%2014.0%2039.6Q28%2025.6%2048%2025.6H322Q327%2025.6%20329.0%2030.6Q331%2035.6%20327%2039.6L295%2071.6Q293%2073.6%20290%2073.6H48V425.6H400V311.6Q400%20308.6%20402%20306.6ZM559%20104.6%20296%20367.6%20206%20377.6Q186%20379.6%20172.0%20365.6Q158%20351.6%20160%20331.6L170%20241.6L433%20-21.4Q450%20-38.4%20474.0%20-38.4Q498%20-38.4%20516%20-21.4L559%2021.6Q576%2038.6%20576.0%2063.1Q576%2087.6%20559%20104.6ZM460%20135.6%20402%2077.6%20216%20263.6%20209%20328.6%20274%20321.6ZM525%2055.6%20482%2012.6Q474%205.6%20467%2012.6L436%2043.6L494%20101.6L525%2070.6Q532%2063.6%20525%2055.6Z%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M402%20306.6%20434%20274.6Q438%20270.6%20443.0%20272.6Q448%20274.6%20448%20280.6V425.6Q448%20445.6%20434.0%20459.6Q420%20473.6%20400%20473.6H48Q28%20473.6%2014.0%20459.6Q0%20445.6%200%20425.6V73.6Q0%2053.6%2014.0%2039.6Q28%2025.6%2048%2025.6H322Q327%2025.6%20329.0%2030.6Q331%2035.6%20327%2039.6L295%2071.6Q293%2073.6%20290%2073.6H48V425.6H400V311.6Q400%20308.6%20402%20306.6ZM559%20104.6%20296%20367.6%20206%20377.6Q186%20379.6%20172.0%20365.6Q158%20351.6%20160%20331.6L170%20241.6L433%20-21.4Q450%20-38.4%20474.0%20-38.4Q498%20-38.4%20516%20-21.4L559%2021.6Q576%2038.6%20576.0%2063.1Q576%2087.6%20559%20104.6ZM460%20135.6%20402%2077.6%20216%20263.6%20209%20328.6%20274%20321.6ZM525%2055.6%20482%2012.6Q474%205.6%20467%2012.6L436%2043.6L494%20101.6L525%2070.6Q532%2063.6%20525%2055.6Z%22%2F%3E%3C%2Fsvg%3E")}

/* ---------- Standard button (BLUEPRINT re-apply, MENA 2026-09-08) ----------
   Bouton standard partout SAUF: pages en .qn-nostdbtn (loader: Product Care, Glossaire,
   Social Toolkit AR+FR), boutons .qn-ghost/.qn-linkcta, ET tous les popups (WhatsApp inclus)
   — les popups sont volontairement HORS scope (choix Damien). main/footer seulement. */
:root{ --qn-btn-bg:#F8702E; --qn-btn-ink:#141414; --qn-btn-hover-bg:#0E1726; --qn-btn-hover-ink:#ffffff; }
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button{
  background-color:var(--qn-btn-bg)!important; color:var(--qn-btn-ink)!important;
  border:2px solid var(--qn-btn-bg)!important; border-radius:999px!important;
  padding:.85em 2.1em!important; font-weight:700!important; letter-spacing:.01em; box-shadow:none;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button *,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button *{ color:var(--qn-btn-ink)!important; }
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button:hover,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:focus-visible,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button:focus-visible{
  background-color:var(--qn-btn-hover-bg)!important; border-color:var(--qn-btn-hover-bg)!important; color:var(--qn-btn-hover-ink)!important; transform:translateY(-2px);
}
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover *,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button:hover *,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:focus-visible *,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button:focus-visible *{ color:var(--qn-btn-hover-ink)!important; }
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:focus-visible,
body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button:focus-visible{ outline:3px solid var(--qn-btn-bg); outline-offset:3px; }
.footer-wrap .elementor-widget-button .elementor-button:hover{ background-color:#ffffff!important; border-color:#ffffff!important; color:var(--qn-btn-ink)!important; }
.footer-wrap .elementor-widget-button .elementor-button:hover *{ color:var(--qn-btn-ink)!important; }
@media (prefers-reduced-motion:reduce){
  body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button,
  body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-loop-grid .elementor-button{transition:none}
  body:not(.qn-nostdbtn) :is(main,footer) .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover{transform:none}
}

/* ---------- Card buttons (Damien 2026-09-10) ----------
   Inside a card (`.qn-card`: nested container / loop card with its own paint) the standard button
   is NOT the plain fill: orange outline + orange text; fill on hover. Same opt-outs as above.
   Contrast note: #F8702E text on a white card = 3.3:1 (below AA 4.5 for this size) — Damien's call. */
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button,
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button{
  background-color:transparent!important; color:var(--qn-btn-bg)!important; border-color:var(--qn-btn-bg)!important;
}
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button *,
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button *{ color:var(--qn-btn-bg)!important; }
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover,
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:focus-visible,
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button:hover{
  background-color:var(--qn-btn-bg)!important; color:var(--qn-btn-ink)!important; border-color:var(--qn-btn-bg)!important;
}
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover *,
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button:hover *{ color:var(--qn-btn-ink)!important; }

/* Card buttons carry no icon (Damien 2026-09-10); size = standard */
body:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button .elementor-button-icon{ display:none!important; }

/* ---------- Spec tables inside text widgets (SKU pages) — Damien 2026-09-10 ----------
   One look for every plain <table> in a text editor: full width, label column muted, zebra rows,
   rounded frame (radius on the frame, so it is correct in LTR and RTL alike). */
.elementor-widget-text-editor table{ width:100%!important; max-width:100%; border-collapse:separate!important; border-spacing:0; border:1px solid var(--qn-tbl-line,#E3E3E3); border-radius:10px; overflow:hidden; margin:0 0 1rem; }
.elementor-widget-text-editor table td, .elementor-widget-text-editor table th{ padding:.8rem 1rem!important; border:0!important; border-bottom:1px solid var(--qn-tbl-line,#E3E3E3)!important; vertical-align:top; background:transparent!important; }
.elementor-widget-text-editor table tr:last-child td{ border-bottom:0!important; }
.elementor-widget-text-editor table td:first-child{ width:32%; font-weight:700; background:rgba(0,0,0,.035)!important; }
.elementor-widget-text-editor table tr:nth-child(2n) td:not(:first-child){ background:rgba(0,0,0,.015)!important; }
html[dir="ltr"] .elementor-widget-text-editor table td{ text-align:left; }
html[dir="rtl"] .elementor-widget-text-editor table td{ text-align:right; }
body[data-theme="dark"] .elementor-widget-text-editor table{ border-color:rgba(255,255,255,.16); }
body[data-theme="dark"] .elementor-widget-text-editor table td{ border-bottom-color:rgba(255,255,255,.16)!important; }
body[data-theme="dark"] .elementor-widget-text-editor table td:first-child{ background:rgba(255,255,255,.06)!important; }

/* ---------- Discontinued-products list table (replaces the Theme Masters tme-table widget, 2026-09-10) ----------
   Two equal columns of lists, centred bold headers, 20px frame like the widget it replaces.
   Overrides the spec-table defaults above (no muted first column, no zebra). */
.qn-disc-table-wrap{ border:1px solid var(--qn-tbl-line,#E3E3E3); border-radius:20px; overflow:hidden; }
.elementor-widget-text-editor table.qn-disc-table{ border:0; border-radius:0; margin:0; table-layout:fixed; }
.elementor-widget-text-editor table.qn-disc-table, .elementor-widget-text-editor table.qn-disc-table thead, .elementor-widget-text-editor table.qn-disc-table tbody, .elementor-widget-text-editor table.qn-disc-table tr{ background:transparent!important; }
.elementor-widget-text-editor table.qn-disc-table th{ text-align:center; font-weight:700; font-size:18px; padding:1.4rem 1rem!important; background:transparent!important; color:var(--body-fcolor,#252525)!important; }
.elementor-widget-text-editor table.qn-disc-table td{ font-size:18px; line-height:1.7; padding:1.4rem 1.6rem!important; width:50%; font-weight:400; background:transparent!important; }
.elementor-widget-text-editor table.qn-disc-table td:first-child, .elementor-widget-text-editor table.qn-disc-table tr:nth-child(2n) td:not(:first-child){ background:transparent!important; }
.elementor-widget-text-editor table.qn-disc-table th + th, .elementor-widget-text-editor table.qn-disc-table td + td{ border-inline-start:1px solid var(--qn-tbl-line,#E3E3E3)!important; }
.elementor-widget-text-editor table.qn-disc-table ul{ margin:0; padding-inline-start:1.2em; list-style:disc; }
.elementor-widget-text-editor table.qn-disc-table li{ margin:0 0 .35em; }
body[data-theme="dark"] .qn-disc-table-wrap{ border-color:rgba(255,255,255,.16); }
body[data-theme="dark"] .elementor-widget-text-editor table.qn-disc-table th + th, body[data-theme="dark"] .elementor-widget-text-editor table.qn-disc-table td + td{ border-inline-start-color:rgba(255,255,255,.16)!important; }

/* ---------- Spec tables: cell corner radius is a LTR artefact (Damien 2026-09-15) ----------
   Some SKU tables carry a baked per-cell radius (e.g. 15px 0 0 0 on the first cell, 0 15px 0 0 on the
   second) authored for LTR. In RTL the first cell sits on the RIGHT, so the rounded corner lands on the
   wrong side and shows a notch inside the frame. The frame itself already has radius + overflow:hidden,
   so no cell ever needs its own radius — in either direction. */
.elementor-widget-text-editor table td,
.elementor-widget-text-editor table th,
.elementor-widget-text-editor table tbody,
.elementor-widget-text-editor table thead,
.elementor-widget-text-editor table tr{ border-radius:0!important; }

/* ---------- Standalone timeline (replaces the Theme Masters tme-timeline, 2026-09-15) ----------
   Same vertical rail + year markers, no plugin widget. Logical properties so it mirrors in RTL. */
.qn-timeline{ --qn-tl-line: var(--qn-tbl-line,#E3E3E3); --qn-tl-accent:#F8702E; }
.qn-tl-list{ list-style:none; margin:0; padding:0; position:relative; }
.qn-tl-list::before{ content:""; position:absolute; inset-block:8px; inset-inline-start:27px; width:2px; background:var(--qn-tl-line); }
.qn-tl-item{ position:relative; display:flex; gap:20px; padding-block:0 28px; }
.qn-tl-marker{ flex:0 0 56px; height:56px; border-radius:999px; background:#fff; border:2px solid var(--qn-tl-line);
  display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.qn-tl-icon{ width:28px; height:28px; object-fit:contain; }
.qn-tl-body{ padding-block-start:6px; }
.qn-tl-year{ margin:0 0 6px; font-size:26px; line-height:1.25; color:var(--qn-tl-accent); font-weight:800; }
.qn-tl-text p{ margin:0 0 8px; }
body[data-theme="dark"] .qn-timeline{ --qn-tl-line:rgba(255,255,255,.18); }
body[data-theme="dark"] .qn-tl-marker{ background:transparent; }
@media (max-width:767px){ .qn-tl-marker{ flex-basis:44px; height:44px; } .qn-tl-list::before{ inset-inline-start:21px; } .qn-tl-year{ font-size:22px; } }

/* ---------- Pages that keep the plain filled button inside cards (Damien 2026-09-15) ----------
   Counterpart of the .qn-card outline variant: on a page carrying .qn-cardbtn-off the standard
   filled button wins again. Body class comes from mu qnet-card-btn-off.php. */
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button,
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button{
  background-color:var(--qn-btn-bg)!important; color:var(--qn-btn-ink)!important; border-color:var(--qn-btn-bg)!important;
}
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button *,
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button *{ color:var(--qn-btn-ink)!important; }
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover,
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-loop-grid .elementor-button:hover{
  background-color:var(--qn-btn-hover-bg)!important; border-color:var(--qn-btn-hover-bg)!important; color:var(--qn-btn-hover-ink)!important;
}
body.qn-cardbtn-off:not(.qn-nostdbtn) :is(main,footer) .qn-card .elementor-widget-button:not(.qn-linkcta):not(.qn-ghost) .elementor-button:hover *{ color:var(--qn-btn-hover-ink)!important; }

/* ---------- Filter pills: text sat above centre (Damien 2026-09-16) ----------
   The taxonomy-filter item carries padding-top .48em against padding-bottom .76em, so with
   line-height == font-size the label rides about 3px high. Same in AR and FR, so this is not
   direction-specific: split the vertical padding evenly and keep the pill height unchanged. */
.e-filter .e-filter-item{ padding-top:.62em!important; padding-bottom:.62em!important; }

/* ---------- Loop-card read-time badge: leading-edge inset (Damien 2026-09-16) ----------
   The badge's row is inset 10px from the top but 0 from the sides, so the pill touches the
   card edge. Give it the matching inset on the leading edge; a logical property so the Arabic
   (RTL) cards mirror it without a second rule. */
.qn-card .elementor-element-76a3dacc{ margin-inline-start:10px; }

/* WhatsApp channel popup: a small, quiet toast pinned to the bottom corner (AR + FR). */
.elementor-popup-modal.qn-wa-toast{align-items:flex-end!important}
.qn-wa-toast .dialog-message{padding:0!important}
.qn-wa-toast .dialog-widget-content{box-shadow:0 6px 24px rgba(20,20,20,.16)!important;max-width:330px}
.qn-wa-toast .elementor-widget-heading .elementor-heading-title{font-size:15px!important;line-height:1.35!important;margin:0!important}
.qn-wa-toast .elementor-widget-image img{max-width:34px!important;height:auto}
.qn-wa-toast .elementor-widget-button .elementor-button{font-size:13px!important;padding:7px 14px!important}
.qn-wa-toast .e-con,.qn-wa-toast .e-con-inner{padding:12px!important;gap:8px!important}
.qn-wa-toast .dialog-close-button{font-size:13px!important;opacity:.55}
.qn-wa-toast .dialog-close-button:hover{opacity:1}
@media(max-width:767px){
  .qn-wa-toast .dialog-widget-content{max-width:calc(100vw - 20px)}
  .qn-wa-toast .elementor-widget-heading .elementor-heading-title{font-size:14px!important}
}
/* Pin the toast to a physical corner: Elementor's 'end' follows the RTL root and would
   drop it on the left for French pages too. Physical offsets, chosen per language. */
.elementor-popup-modal.qn-wa-toast .dialog-widget-content{position:fixed!important;top:auto!important;bottom:16px!important}
html[lang^="fr"] .qn-wa-toast .dialog-widget-content{right:16px!important;left:auto!important}
html:not([lang^="fr"]) .qn-wa-toast .dialog-widget-content{left:16px!important;right:auto!important}
.qn-wa-toast .e-con,.qn-wa-toast .e-con-inner{padding:10px 12px!important;gap:6px!important}
.qn-wa-toast .elementor-widget-image img{max-width:28px!important}
.qn-wa-toast .elementor-widget{margin-bottom:0!important}
@media(max-width:767px){
  html[lang^="fr"] .qn-wa-toast .dialog-widget-content{right:10px!important}
  html:not([lang^="fr"]) .qn-wa-toast .dialog-widget-content{left:10px!important}
  .elementor-popup-modal.qn-wa-toast .dialog-widget-content{bottom:10px!important}
}

/* 2026-09-17: the WhatsApp toast must never block the page — Elementor's popup wrapper spans the whole viewport;
   let clicks pass through it and keep only the toast box interactive */
.elementor-popup-modal.qn-wa-toast,.elementor-popup-modal.qn-wa-toast .dialog-message{pointer-events:none!important}
.elementor-popup-modal.qn-wa-toast .dialog-widget-content,.elementor-popup-modal.qn-wa-toast .dialog-widget-content *{pointer-events:auto!important}
