@font-face { font-family: "DM Sans"; src: url("../fonts/dm-sans-latin-400-normal.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("../fonts/dm-sans-latin-500-normal.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("../fonts/dm-sans-latin-600-normal.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url("../fonts/dm-sans-latin-700-normal.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-500-normal.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-600-normal.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-700-normal.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-800-normal.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }

:root,
html[data-qct-theme="dark"] {
  --qct-primary: #121178;
  --qct-primary-strong: #09095c;
  --qct-accent: #635bff;
  --qct-cyan: #57d9ff;
  --qct-cyan-soft: rgba(87, 217, 255, .18);
  --qct-bg: #050614;
  --qct-bg-alt: #090a1c;
  --qct-card: #0e1026;
  --qct-card-strong: #12152e;
  --qct-text: #f7f8ff;
  --qct-muted: #a9adc4;
  --qct-line: rgba(255, 255, 255, .10);
  --qct-line-strong: rgba(255, 255, 255, .18);
  --qct-header: rgba(5, 6, 20, .78);
  --qct-shadow: 0 24px 80px rgba(0, 0, 0, .34);
  --qct-radius: 24px;
  --qct-shell: 1240px;
}

html[data-qct-theme="light"] {
  --qct-primary: #121178;
  --qct-primary-strong: #09095c;
  --qct-accent: #4c46ee;
  --qct-cyan: #0287b3;
  --qct-cyan-soft: rgba(2, 135, 179, .10);
  --qct-bg: #f7f8fc;
  --qct-bg-alt: #eef1f8;
  --qct-card: #ffffff;
  --qct-card-strong: #f9faff;
  --qct-text: #111329;
  --qct-muted: #5d6278;
  --qct-line: rgba(9, 9, 92, .11);
  --qct-line-strong: rgba(9, 9, 92, .20);
  --qct-header: rgba(247, 248, 252, .86);
  --qct-shadow: 0 24px 70px rgba(9, 9, 92, .12);
}

html { scroll-behavior: smooth; }
html.qct-site-root {
  width: 100%;
  min-height: 100%;
  height: auto;
  overflow-x: clip;
  overflow-y: visible;
  overscroll-behavior-x: none;
  overscroll-behavior-y: auto;
}
body.qct-redesign-site {
  position: relative;
  display: block;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  overflow-x: clip;
  overflow-y: visible;
  background: var(--qct-bg);
  color: var(--qct-text);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  transition: background-color .3s ease, color .3s ease;
	max-width: 100vw;
	padding-bottom: 0 !important;
	overscroll-behavior-x: none;
	overscroll-behavior-y: auto;
}
body.qct-redesign-site::before,
body.qct-redesign-site::after { content: none !important; display: none !important; }
html.qct-menu-open,
body.qct-redesign-site.qct-menu-open { overflow-y: visible !important; }

.qct-page-shell {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  overflow-x: clip;
  flex-direction: column;
  background: var(--qct-bg);
}

.qct-redesign-site *, .qct-redesign-site *::before, .qct-redesign-site *::after { box-sizing: border-box; }
.qct-redesign-site img { max-width: 100%; height: auto; }
.qct-redesign-site a { color: inherit; text-decoration: none; }
.qct-redesign-site h1,
.qct-redesign-site h2,
.qct-redesign-site h3,
.qct-redesign-site h4 {
  margin: 0;
  color: var(--qct-text);
  font-family: "Manrope", "DM Sans", sans-serif;
  line-height: 1.08;
  letter-spacing: -.04em;
}
.qct-redesign-site p { margin: 0; }
.qct-redesign-site button,
.qct-redesign-site input,
.qct-redesign-site select,
.qct-redesign-site textarea { font: inherit; }
.qct-redesign-site .elementor-section,
.qct-redesign-site .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.qct-redesign-site .qct-elementor-column > .elementor-widget-wrap,
.qct-redesign-site .elementor-widget { margin: 0; padding: 0; }
.qct-redesign-site .elementor-section .elementor-container { max-width: none; }
.qct-redesign-site .elementor-widget:not(:last-child) { margin-bottom: 0; }

.qct-shell { width: min(var(--qct-shell), calc(100% - 48px)); margin-inline: auto; }
.qct-main { display: block; width: 100%; min-height: 0; margin: 0; flex: 1 0 auto; }
.qct-main > :last-child { margin-bottom: 0 !important; }
.qct-section { position: relative; padding: 116px 0; }
.qct-section:nth-child(even) { background: var(--qct-bg-alt); }
.qct-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--qct-cyan);
  font: 700 12px/1 "Manrope", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.qct-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.qct-section h2 { max-width: 820px; font-size: clamp(36px, 5vw, 64px); }
.qct-section-head { max-width: 790px; margin-bottom: 54px; }
.qct-section-head p { max-width: 690px; margin-top: 22px; color: var(--qct-muted); font-size: 19px; }

.qct-skip-link {
  position: fixed;
  z-index: 99999;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  transform: translateY(-150%);
  border-radius: 8px;
  background: var(--qct-text);
  color: var(--qct-bg);
}
.qct-skip-link:focus { transform: translateY(0); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.qct-cursor-glow {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 420px;
  height: 420px;
  opacity: .22;
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(87, 217, 255, .44) 0, rgba(99, 91, 255, .20) 32%, transparent 70%);
  filter: blur(14px);
  will-change: transform;
}
html[data-qct-theme="light"] .qct-cursor-glow { opacity: .12; }

.qct-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  width: 100%;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  border-bottom: 1px solid transparent;
  background: var(--qct-header);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: transform .34s cubic-bezier(.22, 1, .36, 1), border-color .25s ease, box-shadow .25s ease, background-color .3s ease;
}
.qct-header.is-scrolled { border-color: var(--qct-line); box-shadow: 0 12px 42px rgba(0, 0, 0, .10); }
.qct-header.is-scroll-hidden { transform: translate3d(0, -101%, 0); pointer-events: none; }
.admin-bar .qct-header { top: 32px; }
.qct-header__inner {
  display: flex;
  width: min(1440px, calc(100% - 44px));
  min-height: 84px;
  margin: auto;
  align-items: center;
  gap: 24px;
}
.qct-brand { display: flex; flex: 0 0 auto; align-items: center; }
.qct-brand img { display: block; width: 216px; max-height: 54px; object-fit: contain; }
html[data-qct-theme="dark"] .qct-brand img,
html[data-qct-theme="dark"] .qct-footer__brand img { filter: brightness(0) invert(1); }
.qct-footer__brand img { filter: brightness(0) invert(1) !important; }
.qct-nav--primary { min-width: 0; margin-left: auto; }
.qct-menu { display: flex; margin: 0; padding: 0; align-items: center; gap: 5px; list-style: none; }
.qct-menu--primary > .qct-menu-item--more { display: none; }
.qct-menu--more > .qct-menu-item--primary { display: none; }
.qct-menu > li { position: relative; }
.qct-menu > li > a {
  display: block;
  padding: 12px 10px;
  color: var(--qct-muted);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: color .2s ease;
}
.qct-menu > li > a:hover,
.qct-menu > li.current-menu-item > a,
.qct-menu > li.current-menu-ancestor > a { color: var(--qct-text); }
.qct-menu > .menu-item-has-children > a::after { content: "⌄"; display: inline-block; margin-left: 6px; font-size: 12px; transform: translateY(-1px); }
.qct-menu .sub-menu {
  position: fixed;
  z-index: 1100;
  top: 76px;
  left: 50%;
  display: grid;
  visibility: hidden;
  width: min(1080px, calc(100vw - 48px));
  margin: 0;
  padding: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px 12px;
  opacity: 0;
  transform: translate(-50%, 14px);
  border: 1px solid var(--qct-line-strong);
  border-radius: 20px;
  background: var(--qct-card);
  box-shadow: var(--qct-shadow);
  list-style: none;
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.admin-bar .qct-menu .sub-menu { top: 108px; }
.qct-menu > li:hover > .sub-menu,
.qct-menu > li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translate(-50%, 8px); }
.qct-menu .sub-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--qct-muted);
  font-size: 14px;
  line-height: 1.35;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.qct-menu .sub-menu a:hover { color: var(--qct-text); background: var(--qct-cyan-soft); transform: translateX(3px); }
.qct-submenu-toggle { display: none; }
.qct-header__actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.qct-country-picker {
  position: relative;
  display: inline-flex;
  min-width: 70px;
  height: 42px;
  padding: 0 13px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  overflow: hidden;
  border: 1px solid var(--qct-line);
  border-radius: 999px;
  background: var(--qct-card);
  color: var(--qct-text);
  cursor: pointer;
}
.qct-country-picker__code { font: 800 11px/1 "Manrope", sans-serif; letter-spacing: .06em; }
.qct-country-picker__chevron { color: var(--qct-muted); font-size: 13px; transform: translateY(-1px); }
.qct-country-picker select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.qct-country-picker:focus-within { border-color: var(--qct-cyan); box-shadow: 0 0 0 4px var(--qct-cyan-soft); }
.qct-theme-toggle,
.qct-nav-toggle {
  display: inline-grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--qct-line);
  border-radius: 50%;
  background: var(--qct-card);
  color: var(--qct-text);
  cursor: pointer;
}
.qct-theme-toggle__moon { display: none; }
html[data-qct-theme="light"] .qct-theme-toggle__sun { display: none; }
html[data-qct-theme="light"] .qct-theme-toggle__moon { display: inline; }
.qct-nav-toggle { display: inline-grid; border-radius: 12px; }
.qct-nav-toggle > span { display: block; width: 20px; height: 2px; margin: 2px auto; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.qct-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.qct-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.qct-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.qct-nav--more {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 1px);
  right: 22px;
  display: none;
  width: min(390px, calc(100vw - 32px));
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 100px);
  max-height: calc(100dvh - 100px - env(safe-area-inset-bottom));
  padding: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--qct-line-strong);
  border-radius: 18px;
  background: var(--qct-card);
  box-shadow: var(--qct-shadow);
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-y;
	contain: layout paint;
}
.qct-nav--more.is-open { display: block; }
.qct-nav--more .qct-menu { display: block; }
.qct-nav--more .qct-menu > li { position: relative; border-bottom: 1px solid var(--qct-line); }
.qct-nav--more .qct-menu > li:last-child { border-bottom: 0; }
.qct-nav--more .qct-menu > li > a { padding: 14px 44px 14px 10px; font-size: 15px; }
.qct-nav--more .qct-menu > .menu-item-has-children > a::after { display: none; }
.qct-nav--more .qct-submenu-toggle { position: absolute; top: 8px; right: 4px; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 0; border-radius: 10px; background: var(--qct-bg-alt); color: var(--qct-text); font-size: 20px; cursor: pointer; }
.qct-nav.qct-nav--more .qct-menu .sub-menu { position: static !important; inset: auto !important; display: none; visibility: visible; width: 100% !important; min-width: 0 !important; max-width: 100% !important; margin: 0 0 12px; padding: 7px; grid-template-columns: minmax(0, 1fr); opacity: 1; transform: none !important; border: 0; border-radius: 12px; background: var(--qct-bg-alt); box-shadow: none; }
.qct-nav--more .qct-menu li.is-submenu-open > .sub-menu { display: grid; }
.qct-nav--more .qct-menu .sub-menu li,
.qct-nav--more .qct-menu .sub-menu a { min-width: 0; max-width: 100%; }
.qct-nav--more .qct-menu .sub-menu a { font-size: 13px; overflow-wrap: anywhere; white-space: normal; }
.qct-nav-legal { margin-top: 12px; padding: 16px 10px 5px; border-top: 1px solid var(--qct-line); }
.qct-nav-legal > strong { display: block; margin-bottom: 11px; color: var(--qct-muted); font: 800 10px/1 "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.qct-nav-legal__links { display: grid; grid-template-columns: 1fr; gap: 5px; }
.qct-nav-legal__links a { display: block; padding: 10px 11px; border-radius: 10px; color: var(--qct-text); font-size: 14px; font-weight: 650; }
.qct-nav-legal__links a:hover,
.qct-nav-legal__links a:focus-visible { background: var(--qct-cyan-soft); color: var(--qct-cyan); }

.qct-button {
  position: relative;
  display: inline-flex;
  min-height: 52px;
  padding: 13px 22px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: linear-gradient(135deg, #18158c 0%, #5d55f5 100%);
  box-shadow: 0 14px 34px rgba(52, 46, 213, .25);
  color: #fff !important;
  font: 700 14px/1 "Manrope", sans-serif;
  transition: transform .2s ease, box-shadow .2s ease;
}
.qct-button::before { content: ""; position: absolute; inset: 0; transform: translateX(-110%); background: linear-gradient(100deg, transparent, rgba(255,255,255,.22), transparent); transition: transform .5s ease; }
.qct-button:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(52, 46, 213, .34); }
.qct-button:hover::before { transform: translateX(110%); }
.qct-button--small { min-height: 42px; padding: 10px 16px; font-size: 12px; }
.qct-button--ghost { border-color: var(--qct-line-strong); background: transparent; box-shadow: none; color: var(--qct-text) !important; }
.qct-button--ghost:hover { background: var(--qct-card); box-shadow: none; }
.qct-button--wide { width: 100%; }
.qct-button-row { display: flex; margin-top: 36px; flex-wrap: wrap; gap: 12px; }

.qct-hero {
  min-height: calc(100vh - 84px);
  padding: 100px 0 54px;
  overflow: hidden;
  background:
    linear-gradient(180deg, transparent 0%, var(--qct-bg) 92%),
    radial-gradient(circle at 12% 12%, rgba(38, 34, 176, .28), transparent 38%),
    var(--qct-bg) !important;
}
.qct-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; pointer-events: none; background-image: linear-gradient(var(--qct-line) 1px, transparent 1px), linear-gradient(90deg, var(--qct-line) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to bottom, #000, transparent 78%); }
.qct-hero__grid { position: relative; z-index: 2; display: grid; min-height: 570px; align-items: center; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap: 56px; }
.qct-hero__copy h1 { max-width: 870px; font-size: clamp(50px, 6.25vw, 88px); }
.qct-hero__copy h1::after { content: ""; display: inline-block; width: .18em; height: .18em; margin-left: .12em; border-radius: 50%; background: var(--qct-cyan); box-shadow: 0 0 26px var(--qct-cyan); }
.qct-hero__copy > p { max-width: 700px; margin-top: 28px; color: var(--qct-muted); font-size: clamp(18px, 1.6vw, 22px); }
.qct-region-note { display: inline-flex; margin-top: 20px; align-items: center; gap: 9px; color: var(--qct-cyan); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.qct-region-note::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 14px currentColor; }
.qct-hero__visual { position: relative; display: grid; width: min(500px, 100%); aspect-ratio: 1; margin-inline: auto; place-items: center; }
.qct-hero__visual::before { content: ""; position: absolute; inset: 16%; border-radius: 50%; background: radial-gradient(circle, rgba(99, 91, 255, .24), rgba(87,217,255,.08) 48%, transparent 70%); filter: blur(9px); }
.qct-hero__visual img { position: relative; z-index: 3; width: 46%; filter: drop-shadow(0 24px 48px rgba(0,0,0,.36)); }
/* Only the monochrome homepage Q mark needs inversion in dark mode. Applying
   this to photographic service artwork turns the entire image white. */
html[data-qct-theme="dark"] .qct-hero__visual--home img { filter: brightness(0) invert(1) drop-shadow(0 24px 48px rgba(0,0,0,.36)); }
.qct-orbit { position: absolute; border: 1px solid var(--qct-line-strong); border-radius: 50%; }
.qct-orbit--outer { inset: 3%; animation: qctSpin 22s linear infinite; }
.qct-orbit--inner { inset: 18%; border-style: dashed; animation: qctSpinReverse 16s linear infinite; }
.qct-orbit--outer i { position: absolute; display: block; width: 11px; height: 11px; border-radius: 50%; background: var(--qct-cyan); box-shadow: 0 0 22px var(--qct-cyan); }
.qct-orbit--outer i:nth-child(1) { top: 8%; left: 26%; }
.qct-orbit--outer i:nth-child(2) { top: 58%; right: -5px; background: var(--qct-accent); }
.qct-orbit--outer i:nth-child(3) { bottom: 8%; left: 20%; }
.qct-float-chip { position: absolute; z-index: 4; display: flex; padding: 12px 15px; flex-direction: column; border: 1px solid var(--qct-line-strong); border-radius: 14px; background: var(--qct-card); background: color-mix(in srgb, var(--qct-card) 84%, transparent); box-shadow: var(--qct-shadow); color: var(--qct-muted); font-size: 11px; line-height: 1.2; backdrop-filter: blur(12px); animation: qctFloat 5s ease-in-out infinite; }
.qct-float-chip b { margin-top: 4px; color: var(--qct-text); font: 700 14px/1.2 "Manrope", sans-serif; }
.qct-float-chip--one { top: 13%; left: -1%; }
.qct-float-chip--two { right: 0; bottom: 14%; animation-delay: -2.2s; }
.qct-hero__orb { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: var(--qct-accent); opacity: .12; filter: blur(100px); }
.qct-hero__orb--one { top: 10%; right: 4%; }
.qct-hero__orb--two { bottom: 0; left: -10%; background: var(--qct-cyan); }
.qct-trust-strip { position: relative; z-index: 3; display: grid; padding-top: 40px; grid-template-columns: repeat(4, 1fr); gap: 10px; border-top: 1px solid var(--qct-line); }
.qct-trust-strip span { color: var(--qct-muted); font: 600 12px/1.4 "Manrope", sans-serif; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

.qct-content-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 90px; }
.qct-prose { color: var(--qct-muted); font-size: 19px; }
.qct-prose p + p { margin-top: 20px; }
.qct-feature-label { margin-top: 34px !important; color: var(--qct-text); font-size: 18px !important; letter-spacing: -.02em !important; }
.qct-check-list { display: grid; margin: 36px 0 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; list-style: none; }
.qct-feature-label + .qct-check-list { margin-top: 16px; }
.qct-check-list li { position: relative; padding: 14px 14px 14px 44px; border: 1px solid var(--qct-line); border-radius: 14px; background: var(--qct-card); color: var(--qct-text); font-size: 15px; font-weight: 600; }
.qct-check-list li::before { content: "✓"; position: absolute; top: 14px; left: 15px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: var(--qct-cyan-soft); color: var(--qct-cyan); font-size: 12px; }

.qct-card-grid { display: grid; gap: 18px; }
.qct-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qct-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qct-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.qct-card {
  position: relative;
  min-height: 275px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid var(--qct-line);
  border-radius: var(--qct-radius);
  background: linear-gradient(145deg, var(--qct-card-strong), var(--qct-card));
  box-shadow: 0 16px 50px rgba(0,0,0,.08);
  transform-style: preserve-3d;
  transition: border-color .25s ease, box-shadow .25s ease, transform .12s ease-out;
}
.qct-card::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, var(--qct-cyan-soft), transparent 68%); transition: transform .35s ease; }
.qct-card:hover { border-color: var(--qct-line-strong); box-shadow: var(--qct-shadow); }
.qct-card:hover::after { transform: scale(1.35); }
.qct-card__number { display: block; margin-bottom: 46px; color: var(--qct-cyan); font: 700 12px/1 "Manrope", sans-serif; letter-spacing: .14em; }
.qct-card h3 { position: relative; z-index: 1; font-size: clamp(21px, 2vw, 28px); letter-spacing: -.03em; }
.qct-card p { position: relative; z-index: 1; margin-top: 15px; color: var(--qct-muted); font-size: 15px; line-height: 1.65; }
.qct-card a { position: relative; z-index: 1; display: inline-flex; margin-top: 20px; align-items: center; gap: 8px; color: var(--qct-cyan); font-size: 13px; font-weight: 700; }

.qct-section--pricing { overflow: hidden; }
.qct-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.qct-price-card {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 0;
  height: 100%;
  padding: 34px;
  overflow: hidden;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  border: 1px solid transparent;
  border-radius: 28px;
  background: transparent;
  box-shadow: 0 26px 90px rgba(9, 9, 92, .28), var(--qct-shadow);
}
.qct-price-card::before { content: ""; position: absolute; z-index: -2; top: -52%; left: -50%; width: 200%; aspect-ratio: 1; background: conic-gradient(from 0deg, transparent 0 24%, rgba(87,217,255,.16) 32%, var(--qct-cyan) 40%, rgba(99,91,255,.9) 50%, transparent 62% 100%); animation: qctSpin 7s linear infinite; }
.qct-price-card::after { content: ""; position: absolute; z-index: -1; inset: 2px; border-radius: 26px; background: var(--qct-card); }
.qct-price-card:nth-child(2)::before { animation-duration: 5s; background: conic-gradient(from 180deg, transparent 0 20%, var(--qct-cyan) 34%, #fff 41%, var(--qct-accent) 50%, transparent 65% 100%); }
.qct-price-card__glow { position: absolute; z-index: -1; top: -90px; right: -90px; width: 250px; height: 250px; border-radius: 50%; background: var(--qct-accent); opacity: .13; filter: blur(64px); }
.qct-price-card__badge { align-self: flex-start; margin-bottom: 20px; padding: 8px 11px; border-radius: 999px; background: var(--qct-cyan-soft); color: var(--qct-cyan); font: 700 10px/1 "Manrope", sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.qct-price-card h3 { font-size: 28px; }
.qct-price { display: flex; margin-top: 26px; flex-direction: column; }
.qct-price > span { font: 800 clamp(34px, 4vw, 50px)/1 "Manrope", sans-serif; letter-spacing: -.05em; }
.qct-price small { order: -1; margin-bottom: 6px; color: var(--qct-muted); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.qct-price-card > p { margin-top: 20px; color: var(--qct-muted); font-size: 15px; }
.qct-price-card > ul { margin: 28px 0 32px; padding: 26px 0 0; border-top: 1px solid var(--qct-line); list-style: none; }
.qct-price-card > ul li { position: relative; margin: 0 0 12px; padding-left: 25px; color: var(--qct-muted); font-size: 14px; }
.qct-price-card > ul li::before { content: "✓"; position: absolute; left: 0; color: var(--qct-cyan); font-weight: 800; }
.qct-price-card > [data-qct-region] { margin-top: auto; }

.qct-section--cta { background: var(--qct-bg) !important; }
.qct-cta { position: relative; display: flex; min-height: 360px; padding: clamp(34px, 6vw, 76px); overflow: hidden; align-items: center; justify-content: space-between; gap: 50px; border: 1px solid var(--qct-line-strong); border-radius: 34px; background: radial-gradient(circle at 86% 10%, rgba(87,217,255,.15), transparent 30%), linear-gradient(135deg, #0c0c59, #17125c 56%, #2b2488); box-shadow: var(--qct-shadow); }
.qct-cta::before { content: ""; position: absolute; right: -90px; bottom: -140px; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.02); }
.qct-cta > * { position: relative; z-index: 1; }
.qct-cta h2 { max-width: 760px; color: #fff; }
.qct-cta p { max-width: 690px; margin-top: 20px; color: rgba(255,255,255,.72); font-size: 18px; }
.qct-cta .qct-eyebrow { color: #8fe8ff; }
.qct-cta .qct-button { flex: 0 0 auto; background: #fff; box-shadow: none; color: #11125a !important; }

.qct-contact-grid { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); gap: 30px; }
.qct-contact-details,
.qct-form { padding: clamp(26px, 4vw, 46px); border: 1px solid var(--qct-line); border-radius: 26px; background: var(--qct-card); box-shadow: 0 16px 50px rgba(0,0,0,.07); }
.qct-contact-label { display: block; margin-bottom: 15px; color: var(--qct-cyan); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.qct-contact-details h3 { font-size: clamp(28px, 4vw, 42px); }
.qct-contact-details a { display: inline-block; margin-top: 14px; color: var(--qct-cyan); font-weight: 700; }
.qct-contact-details address { max-width: 460px; margin-top: 22px; color: var(--qct-muted); font-style: normal; }
.qct-contact-note { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--qct-line); color: var(--qct-muted); font-size: 13px; }
.qct-form { display: flex; flex-direction: column; gap: 19px; }
.qct-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.qct-form label { display: flex; flex-direction: column; gap: 8px; color: var(--qct-text); font-size: 13px; font-weight: 700; }
.qct-form input,
.qct-form select,
.qct-form textarea { width: 100%; border: 1px solid var(--qct-line-strong); border-radius: 12px; outline: 0; background: var(--qct-bg-alt); color: var(--qct-text); transition: border-color .2s ease, box-shadow .2s ease; }
.qct-form input, .qct-form select { min-height: 51px; padding: 11px 14px; }
.qct-form textarea { min-height: 150px; padding: 14px; resize: vertical; }
.qct-form input:focus,
.qct-form select:focus,
.qct-form textarea:focus { border-color: var(--qct-cyan); box-shadow: 0 0 0 4px var(--qct-cyan-soft); }
.qct-form .qct-button { align-self: flex-start; border: 0; cursor: pointer; }
.qct-hp { position: absolute !important; left: -9999px !important; }
.qct-form__success { padding: 12px 15px; border-radius: 10px; background: rgba(34,197,94,.12); color: #4ade80; }
.qct-form__error { padding: 12px 15px; border-radius: 10px; background: rgba(239,68,68,.12); color: #f87171; }

.qct-footer { position: relative; width: 100%; min-height: 0; height: auto; margin: 0 !important; padding: 80px 0 max(26px, env(safe-area-inset-bottom)); overflow: hidden; overflow: clip; flex: 0 0 auto; align-self: auto; border-top: 1px solid var(--qct-line); background: #050613; color: #fff; contain: layout paint; }
.qct-footer::before { content: ""; position: absolute; top: -220px; left: 35%; width: 600px; height: 400px; border-radius: 50%; background: #171478; opacity: .16; filter: blur(120px); }
.qct-footer__grid { position: relative; display: grid; grid-template-columns: 1.4fr .7fr .9fr 1.1fr; gap: 54px; }
.qct-footer__brand img { width: 240px; }
.qct-footer__brand p { max-width: 360px; margin-top: 22px; color: #9fa4bb; font-size: 15px; }
.qct-footer h2 { margin-bottom: 20px; color: #fff; font-size: 15px; letter-spacing: 0; }
.qct-footer-links { margin: 0; padding: 0; list-style: none; }
.qct-footer-links li + li { margin-top: 8px; }
.qct-footer-links a,
.qct-footer__contact a,
.qct-footer__contact address { display: block; color: #9fa4bb; font-size: 14px; font-style: normal; transition: color .2s ease; }
.qct-footer-links a:hover,
.qct-footer__contact a:hover { color: #8fe8ff; }
.qct-footer__contact strong { display: block; margin-bottom: 8px; color: #fff; font-size: 13px; }
.qct-footer__contact address { margin-top: 12px; line-height: 1.6; }
.qct-footer__bottom { position: relative; display: flex; margin-top: 64px; padding-top: 23px; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.10); color: #80869e; font-size: 12px; }
.qct-footer__bottom a { color: #aeb3c8; }
.qct-footer__bottom a:hover { color: #8fe8ff; }

[data-qct-region][hidden] { display: none !important; }
html[data-qct-region="PK"] [data-qct-region="US"],
html[data-qct-region="US"] [data-qct-region="PK"] { display: none !important; }
.qct-reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s cubic-bezier(.2,.65,.3,1), transform .75s cubic-bezier(.2,.65,.3,1); }
.qct-reveal.is-visible { opacity: 1; transform: none; }
@keyframes qctSpin { to { transform: rotate(360deg); } }
@keyframes qctSpinReverse { to { transform: rotate(-360deg); } }
@keyframes qctFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

@media (max-width: 1280px) {
  .qct-header__inner { width: min(100% - 30px, 1440px); gap: 14px; }
  .qct-brand img { width: 188px; }
  .qct-menu > li > a { padding-inline: 7px; font-size: 13px; }
  .qct-header__actions .qct-button { display: none; }
}

@media (max-width: 1100px) {
	.qct-nav--primary { display: none; }
	.qct-nav-toggle { margin-left: auto; order: 2; }
	.qct-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.qct-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.qct-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.qct-nav--more { left: 12px; right: 12px; width: auto; max-width: none; }
	.qct-nav--more.is-open { display: block; }
	.qct-menu--more > .qct-menu-item--primary { display: block; }
	.qct-menu { display: block; }
  .qct-menu > li { border-bottom: 1px solid var(--qct-line); }
  .qct-menu > li:last-child { border-bottom: 0; }
  .qct-menu > li > a { padding: 14px 42px 14px 10px; font-size: 15px; }
  .qct-menu > .menu-item-has-children > a::after { display: none; }
  .qct-submenu-toggle { position: absolute; top: 8px; right: 4px; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 0; border-radius: 10px; background: var(--qct-bg-alt); color: var(--qct-text); font-size: 20px; }
	  .qct-nav.qct-nav--more .qct-menu .sub-menu { position: static !important; inset: auto !important; display: none; visibility: visible; width: 100% !important; min-width: 0 !important; max-width: 100% !important; margin: 0 0 12px; padding: 7px; grid-template-columns: minmax(0,1fr); opacity: 1; transform: none !important; border: 0; border-radius: 12px; background: var(--qct-bg-alt); box-shadow: none; }
  .qct-menu li.is-submenu-open > .sub-menu { display: grid; }
  .qct-menu .sub-menu a { font-size: 13px; }
	.qct-header__actions { margin-left: auto; order: 1; }
  .qct-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr); gap: 24px; }
  .qct-card-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .qct-footer__grid { grid-template-columns: 1.2fr .8fr .9fr; }
  .qct-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .admin-bar .qct-header { top: 46px; }
  .qct-section { padding: 88px 0; }
  .qct-hero { min-height: auto; padding-top: 80px; }
  .qct-hero__grid { min-height: 0; grid-template-columns: 1fr; }
  .qct-hero__copy { text-align: center; }
  .qct-hero__copy h1, .qct-hero__copy > p { margin-inline: auto; }
  .qct-hero__copy .qct-eyebrow { justify-content: center; }
  .qct-button-row { justify-content: center; }
  .qct-hero__visual { width: min(420px, 90vw); }
  .qct-trust-strip { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .qct-content-grid { grid-template-columns: 1fr; gap: 36px; }
  .qct-card-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qct-pricing-grid { grid-template-columns: 1fr; }
  .qct-price-card { min-height: 0; }
  .qct-cta { min-height: 0; align-items: flex-start; flex-direction: column; }
  .qct-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  body.qct-redesign-site { font-size: 16px; }
  .qct-shell { width: min(100% - 30px, var(--qct-shell)); }
  .qct-header__inner { width: calc(100% - 22px); min-height: 72px; gap: 8px; }
  .qct-brand img { width: 142px; }
  .qct-header__actions { gap: 6px; }
	.qct-country-picker { min-width: 62px; height: 38px; padding-inline: 10px; }
  .qct-theme-toggle, .qct-nav-toggle { width: 38px; height: 38px; }
  .qct-nav-toggle { order: 3; }
  .qct-section { padding: 72px 0; }
  .qct-section h2 { font-size: clamp(33px, 10vw, 46px); }
  .qct-section-head { margin-bottom: 36px; }
  .qct-section-head p, .qct-prose { font-size: 17px; }
  .qct-hero { padding: 70px 0 42px; }
  .qct-hero__copy h1 { font-size: clamp(42px, 13vw, 60px); }
  .qct-hero__copy > p { font-size: 17px; }
  .qct-button-row { flex-direction: column; }
  .qct-button-row .qct-button { width: 100%; }
  .qct-hero__visual { width: min(330px, 90vw); }
  .qct-float-chip { padding: 9px 11px; }
  .qct-float-chip b { font-size: 12px; }
  .qct-trust-strip { padding-top: 28px; }
  .qct-trust-strip span { font-size: 10px; }
  .qct-check-list { grid-template-columns: 1fr; }
  .qct-card-grid--2,
  .qct-card-grid--3,
  .qct-card-grid--4 { grid-template-columns: 1fr; }
  .qct-card { min-height: 0; padding: 25px; }
  .qct-card__number { margin-bottom: 30px; }
  .qct-price-card { padding: 28px 24px; }
  .qct-cta { padding: 34px 24px; border-radius: 24px; }
  .qct-form__row { grid-template-columns: 1fr; }
  .qct-contact-details, .qct-form { padding: 24px; border-radius: 20px; }
  .qct-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px 22px; }
  .qct-footer__brand, .qct-footer__contact { grid-column: 1 / -1; }
  .qct-footer__bottom { align-items: flex-start; flex-direction: column; gap: 5px; }
  .qct-cursor-glow { display: none; }
}

@media (max-width: 400px) {
  .qct-brand img { width: 118px; }
	.qct-country-picker { min-width: 58px; padding-inline: 8px; }
  .qct-menu .sub-menu { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .qct-redesign-site *, .qct-redesign-site *::before, .qct-redesign-site *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .qct-reveal { opacity: 1; transform: none; }
  .qct-cursor-glow { display: none; }
}

/* v2.0 — Elementor global templates, nested pricing and premium QCT widgets. */
.qct-global-template,
.qct-global-template > .elementor-container,
.qct-global-template .elementor-column,
.qct-global-template .elementor-widget-wrap,
.qct-global-template .elementor-widget { margin: 0 !important; padding: 0 !important; }
.qct-global-template > .elementor-container { max-width: none !important; }
.qct-global-location--header,
.qct-global-location--header > .elementor,
.qct-global-location--header .qct-global-template--header,
.qct-global-location--header .qct-global-template--header > .elementor-container,
.qct-global-location--header .qct-global-template--header .elementor-column,
.qct-global-location--header .qct-global-template--header .elementor-widget-wrap,
.qct-global-location--header .qct-global-template--header .elementor-widget,
.qct-global-location--header .qct-global-template--header .elementor-widget-container { display: contents !important; }
.qct-nav-extra { display: grid; gap: 5px; margin-top: 12px; padding: 16px 10px 5px; border-top: 1px solid var(--qct-line); }
.qct-nav-extra > strong { margin-bottom: 6px; color: var(--qct-muted); font: 800 10px/1 "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.qct-nav-extra a { padding: 10px 11px; border-radius: 10px; color: var(--qct-text); font-size: 14px; font-weight: 650; }
.qct-nav-extra a:hover { background: var(--qct-cyan-soft); color: var(--qct-cyan); }
.qct-footer-custom-legal { display: flex; flex-wrap: wrap; gap: 8px 14px; }

.qct-section--advanced-pricing .qct-section-head { margin-bottom: 34px; }
.qct-pricing-tabs--services { margin-bottom: 18px; padding: 7px; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.qct-pricing-tabs--services button { display: inline-flex; min-width: max-content; align-items: center; gap: 8px; scroll-snap-align: start; }
.qct-pricing-tabs--services button small { display: grid; min-width: 28px; height: 28px; padding: 0 6px; place-items: center; border-radius: 8px; background: rgba(255,255,255,.10); color: inherit; font-size: 9px; letter-spacing: .08em; }
.qct-pricing-subtabs { display: flex; margin: 0 0 26px; padding: 5px; gap: 6px; overflow-x: auto; border: 1px solid var(--qct-line); border-radius: 14px; background: var(--qct-bg-alt); scrollbar-width: thin; }
.qct-pricing-subtabs button { min-width: max-content; padding: 10px 16px; border: 0; border-radius: 10px; background: transparent; color: var(--qct-muted); font: 700 12px/1.2 "Manrope", sans-serif; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.qct-pricing-subtabs button:hover { color: var(--qct-text); transform: translateY(-1px); }
.qct-pricing-subtabs button.is-active { background: var(--qct-card); box-shadow: 0 7px 22px rgba(0,0,0,.12); color: var(--qct-cyan); }
.qct-service-pricing-panel[hidden], .qct-subservice-pricing-panel[hidden] { display: none !important; }
.qct-service-pricing-panel.is-active, .qct-subservice-pricing-panel.is-active { animation: qctPanelIn .45s cubic-bezier(.2,.7,.25,1) both; }
.qct-pricing-tab-description { max-width: 820px; margin: 0 0 22px; color: var(--qct-muted); font-size: 15px; }

.qct-premium-section,
.qct-managed-form-wrap,
.qct-animated-heading,
.qct-stats,
.qct-scroll-mockup,
.qct-logo-marquee { width: min(100%, 1240px); margin-inline: auto; }
.qct-animate--fade-left { transform: translateX(-34px); }
.qct-animate--zoom { transform: scale(.94); }
.qct-animate--blur { opacity: 0; filter: blur(14px); transform: translateY(12px); }
.qct-animate--flip { transform: perspective(900px) rotateX(9deg) translateY(22px); transform-origin: 50% 0; }
.qct-animate--none { opacity: 1 !important; transform: none !important; filter: none !important; }
html.qct-js .qct-reveal.is-visible.qct-animate--fade-left,
html.qct-js .qct-reveal.is-visible.qct-animate--zoom,
html.qct-js .qct-reveal.is-visible.qct-animate--blur,
html.qct-js .qct-reveal.is-visible.qct-animate--flip { opacity: 1; filter: none; transform: none; }

.qct-scroll-mockup { position: relative; display: block; max-width: 100%; overflow: hidden; border: 1px solid var(--qct-line-strong); border-radius: 24px; background: var(--qct-card); box-shadow: 0 28px 70px rgba(0,0,0,.20); color: inherit; }
.qct-scroll-mockup--tablet { max-width: 820px; padding: 14px; border-radius: 34px; }
.qct-scroll-mockup--mobile { max-width: 390px; padding: 11px; border-radius: 38px; }
.qct-scroll-mockup--plain .qct-scroll-mockup__bar,
.qct-scroll-mockup--tablet .qct-scroll-mockup__bar,
.qct-scroll-mockup--mobile .qct-scroll-mockup__bar { display: none; }
.qct-scroll-mockup__bar { display: flex; height: 42px; padding: 0 16px; align-items: center; gap: 7px; border-bottom: 1px solid var(--qct-line); background: var(--qct-bg-alt); }
.qct-scroll-mockup__bar i { width: 9px; height: 9px; border-radius: 50%; background: #ff5f57; }
.qct-scroll-mockup__bar i:nth-child(2) { background: #febc2e; }.qct-scroll-mockup__bar i:nth-child(3) { background: #28c840; }
.qct-scroll-mockup__viewport { position: relative; display: block; height: var(--qct-mockup-height, 520px); overflow: hidden; border-radius: inherit; background: var(--qct-bg-alt); }
.qct-scroll-mockup--browser .qct-scroll-mockup__viewport { border-radius: 0 0 23px 23px; }
.qct-scroll-mockup__viewport img { display: block; width: 100%; max-width: none; height: auto; transform: translate3d(0,0,0); transition: transform var(--qct-mockup-duration, 8s) cubic-bezier(.22,.61,.36,1); will-change: transform; }
.qct-scroll-mockup:hover .qct-scroll-mockup__viewport img,
.qct-scroll-mockup:focus-visible .qct-scroll-mockup__viewport img { transform: translate3d(0,calc(-100% + var(--qct-mockup-height, 520px)),0); }
.qct-scroll-mockup.is-auto-scrolling .qct-scroll-mockup__viewport img { animation: qctMockupScroll calc(var(--qct-mockup-duration, 8s) * 2) ease-in-out infinite alternate; }
@keyframes qctMockupScroll { to { transform: translate3d(0,calc(-100% + var(--qct-mockup-height, 520px)),0); } }

.qct-animated-heading { padding: clamp(20px,4vw,54px) 0; }
.qct-animated-heading h1,.qct-animated-heading h2,.qct-animated-heading h3,.qct-animated-heading p { max-width: 1050px; margin: 15px 0 0; font: 800 clamp(38px,6vw,80px)/1.04 "Manrope", sans-serif; letter-spacing: -.055em; }
.qct-animated-heading em { position: relative; display: inline-block; background: linear-gradient(110deg,var(--qct-cyan),#8d8aff 48%,var(--qct-cyan)); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal; animation: qctGradientText 5s linear infinite; }
.qct-animated-heading em::after { content:""; position:absolute; left:0; right:0; bottom:-5px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--qct-cyan),var(--qct-accent)); transform-origin:left; animation:qctLineDraw 2.6s ease-in-out infinite alternate; }
@keyframes qctGradientText { to { background-position: -220% center; } } @keyframes qctLineDraw { from { transform:scaleX(.15); opacity:.4; } to { transform:scaleX(1); opacity:1; } }

.qct-stats { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 16px; }
.qct-stats article { padding: clamp(22px,3vw,34px); border: 1px solid var(--qct-line); border-radius: 22px; background: linear-gradient(145deg,var(--qct-card),var(--qct-bg-alt)); box-shadow: var(--qct-shadow); }
.qct-stats strong { display: flex; align-items: baseline; color: var(--qct-text); font: 800 clamp(34px,5vw,58px)/1 "Manrope",sans-serif; letter-spacing: -.05em; }
.qct-stats strong span { color: var(--qct-cyan); font-size: .5em; letter-spacing: 0; }.qct-stats p { margin: 12px 0 0; color: var(--qct-muted); font-size: 14px; }

.qct-logo-marquee { position: relative; overflow: hidden; padding: 14px 0; mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.qct-logo-marquee__track { display: flex; width: max-content; align-items: center; gap: 18px; animation: qctMarquee var(--qct-marquee-speed,28s) linear infinite; }
.qct-logo-marquee:hover .qct-logo-marquee__track { animation-play-state: paused; }
.qct-logo-marquee a,.qct-logo-marquee span { display: grid; width: 170px; height: 88px; padding: 17px; place-items:center; border:1px solid var(--qct-line); border-radius:16px; background:var(--qct-card); }
.qct-logo-marquee img { width:100%; max-width:130px; max-height:54px; object-fit:contain; filter:grayscale(1); opacity:.72; transition:filter .2s ease,opacity .2s ease; }.qct-logo-marquee a:hover img { filter:none; opacity:1; }
@keyframes qctMarquee { to { transform:translateX(-50%); } }

.qct-testimonials { position:relative; overflow:hidden; padding:clamp(24px,4vw,50px); border:1px solid var(--qct-line); border-radius:28px; background:var(--qct-card); box-shadow:var(--qct-shadow); }
.qct-testimonials__viewport { display:flex; transition:transform .65s cubic-bezier(.2,.7,.25,1); }.qct-testimonial { flex:0 0 100%; padding:4px 3px; }.qct-testimonial blockquote { max-width:940px; margin:0 0 30px; color:var(--qct-text); font:600 clamp(25px,3.5vw,43px)/1.3 "Manrope",sans-serif; letter-spacing:-.035em; }.qct-testimonial footer { display:flex; align-items:center; gap:13px; }.qct-testimonial footer img { width:52px;height:52px;border-radius:50%;object-fit:cover; }.qct-testimonial footer span { display:grid; }.qct-testimonial footer small { margin-top:4px;color:var(--qct-muted); }.qct-slider-controls { position:absolute;right:28px;bottom:28px;display:flex;gap:8px; }.qct-slider-controls button { display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid var(--qct-line);border-radius:50%;background:var(--qct-bg-alt);color:var(--qct-text);cursor:pointer; }.qct-slider-controls button:hover { border-color:var(--qct-cyan);color:var(--qct-cyan); }

.qct-process { padding:clamp(24px,4vw,50px) 0; }.qct-process ol { position:relative;display:grid;margin:36px 0 0;padding:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none; }.qct-process ol::before { content:"";position:absolute;top:24px;left:5%;right:5%;height:1px;background:linear-gradient(90deg,var(--qct-cyan),var(--qct-accent));opacity:.55; }.qct-process li { position:relative;padding:0 4px; }.qct-process li>span { position:relative;z-index:1;display:grid;width:48px;height:48px;margin-bottom:20px;place-items:center;border:1px solid var(--qct-cyan);border-radius:50%;background:var(--qct-bg);color:var(--qct-cyan);font:800 11px/1 "Manrope",sans-serif; }.qct-process li h3 { font-size:21px; }.qct-process li p { margin:9px 0 0;color:var(--qct-muted);font-size:14px; }

.qct-managed-form-head { max-width:780px;margin-bottom:24px; }.qct-managed-form-head h2 { font-size:clamp(32px,4.5vw,56px); }.qct-managed-form-head p { margin:12px 0 0;color:var(--qct-muted); }.qct-managed-fields { display:flex;flex-wrap:wrap;margin:-8px; }.qct-managed-field { width:calc(var(--qct-field-width,100%) - 16px) !important;margin:8px;flex:0 0 calc(var(--qct-field-width,100%) - 16px); }.qct-managed-field>span:first-child b { color:var(--qct-cyan); }.qct-managed-field--checkbox .qct-checkbox { display:flex;min-height:51px;padding:12px 14px;align-items:center;gap:9px;border:1px solid var(--qct-line-strong);border-radius:12px;background:var(--qct-bg-alt);font-weight:500; }.qct-managed-field--checkbox input { width:18px;height:18px;min-height:0;margin:0; }.qct-managed-form--solid { background:var(--qct-bg-alt); }.qct-managed-form--minimal { padding:0;border:0;background:transparent;box-shadow:none; }

@media (max-width: 860px) {
  .qct-process ol { grid-template-columns:1fr 1fr; }.qct-process ol::before { display:none; }
  .qct-managed-field { width:calc(max(var(--qct-field-width,100%),50%) - 16px) !important;flex-basis:calc(max(var(--qct-field-width,100%),50%) - 16px); }
}
@media (max-width: 680px) {
  .qct-pricing-tabs--services { margin-inline:-4px; }.qct-pricing-tabs--services button { padding:9px 12px; }
  .qct-pricing-subtabs { margin-inline:-2px; }.qct-scroll-mockup__viewport { height:min(var(--qct-mockup-height,520px),65vh); }.qct-scroll-mockup--browser .qct-scroll-mockup__bar { height:34px; }
  .qct-process ol { grid-template-columns:1fr; }.qct-process li { display:grid;grid-template-columns:48px 1fr;gap:14px; }.qct-process li>span { margin:0; }
  .qct-managed-field { width:calc(100% - 16px) !important;flex-basis:calc(100% - 16px); }.qct-slider-controls { position:static;margin-top:22px; }.qct-testimonial blockquote { font-size:25px; }
}

@media (prefers-reduced-motion: reduce) {
  .qct-logo-marquee__track,.qct-animated-heading em,.qct-animated-heading em::after,.qct-scroll-mockup__viewport img { animation:none !important;transition:none !important; }
}

/* Page-specific visual system --------------------------------------------- */
.qct-hero__visual--media {
  isolation: isolate;
  width: min(560px, 100%);
  aspect-ratio: 1.08;
  animation: qctVisualFloat 7s ease-in-out infinite;
}
.qct-hero__visual--media::before,
.qct-hero__visual--media::after {
  content: "";
  position: absolute;
  z-index: -2;
  border: 1px solid var(--qct-line-strong);
  border-radius: 36px;
  pointer-events: none;
}
.qct-hero__visual--media::before { inset: 7% 5% 4% 9%; transform: rotate(4deg); }
.qct-hero__visual--media::after { inset: 12% 9% 0 4%; transform: rotate(-4deg); opacity: .55; }
.qct-visual-halo {
  position: absolute;
  z-index: -3;
  inset: 4%;
  border-radius: 42%;
  background: radial-gradient(circle, rgba(87,217,255,.22), rgba(99,91,255,.14) 46%, transparent 72%);
  filter: blur(22px);
  animation: qctHaloPulse 5.5s ease-in-out infinite;
}
.qct-visual-frame {
  position: relative;
  display: block;
  width: 92%;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(143,232,255,.35);
  border-radius: 32px;
  background: #07091c;
  box-shadow: 0 38px 90px rgba(0,0,0,.38), 0 0 0 8px rgba(87,217,255,.035);
  transform: perspective(1100px) rotateY(-5deg) rotateX(2deg);
}
.qct-hero__visual--media .qct-visual-frame img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  opacity: .96;
  filter: saturate(.94) contrast(1.03);
  transform: scale(1.018);
}
html[data-qct-theme="dark"] .qct-hero__visual--media .qct-visual-frame img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: saturate(1.14) contrast(1.09) brightness(1.12) !important;
}
.qct-visual-variant--2 .qct-visual-frame img { object-position: 58% 50%; transform: scale(1.08); }
.qct-visual-variant--3 .qct-visual-frame img { object-position: 42% 48%; transform: scale(1.13); }
.qct-visual-variant--4 .qct-visual-frame { transform: perspective(1100px) rotateY(5deg) rotateX(2deg); }
.qct-visual-variant--4 .qct-visual-frame img { object-position: 66% 52%; transform: scale(1.07); }
.qct-visual-variant--5 .qct-visual-frame img { object-position: 34% 55%; transform: scale(1.16); }
.qct-visual-variant--6 .qct-visual-frame { transform: perspective(1100px) rotateY(-3deg) rotateX(-1deg); }
.qct-visual-variant--6 .qct-visual-frame img { object-position: 52% 42%; transform: scale(1.11); }
html[data-qct-theme="light"] .qct-visual-frame {
  border-color: rgba(9,9,92,.18);
  box-shadow: 0 34px 74px rgba(9,9,92,.18), 0 0 0 8px rgba(18,17,120,.035);
}
html[data-qct-theme="light"] .qct-hero__visual--media .qct-visual-frame img { display: block !important; visibility: visible !important; opacity: 1 !important; mix-blend-mode: normal !important; filter: saturate(.88) brightness(1.04) !important; }
.qct-visual-scan {
  position: absolute;
  z-index: 2;
  top: -45%;
  right: -20%;
  width: 38%;
  height: 190%;
  transform: rotate(17deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  animation: qctImageScan 6.5s ease-in-out infinite;
  pointer-events: none;
}
.qct-visual-dot { position: absolute; z-index: 5; width: 12px; height: 12px; border-radius: 50%; background: var(--qct-cyan); box-shadow: 0 0 24px var(--qct-cyan); }
.qct-visual-dot--one { top: 5%; right: 13%; animation: qctDotOrbit 6s ease-in-out infinite; }
.qct-visual-dot--two { bottom: 4%; left: 18%; background: var(--qct-accent); animation: qctDotOrbit 6s ease-in-out -3s infinite reverse; }
.qct-hero__visual--media .qct-float-chip--one { top: 8%; left: -3%; }
.qct-hero__visual--media .qct-float-chip--two { right: -2%; bottom: 5%; }

/* Backend-managed package tabs and a true full-perimeter rotating border. */
@property --qct-border-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.qct-pricing-tabs {
  display: flex;
  width: 100%;
  margin: -18px 0 34px;
  padding: 6px;
  overflow-x: auto;
  gap: 6px;
  border: 1px solid var(--qct-line);
  border-radius: 16px;
  background: var(--qct-card);
  scrollbar-width: thin;
}
.qct-pricing-tabs button {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--qct-muted);
  font: 700 13px/1.2 "Manrope", sans-serif;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, box-shadow .25s ease;
}
.qct-pricing-tabs button:hover { color: var(--qct-text); }
.qct-pricing-tabs button.is-active { background: linear-gradient(135deg, var(--qct-primary), var(--qct-accent)); box-shadow: 0 12px 28px rgba(18,17,120,.24); color: #fff; }
.qct-pricing-panel[hidden] { display: none !important; }
.qct-pricing-panel.is-active { animation: qctPanelIn .45s cubic-bezier(.2,.7,.25,1) both; }
.qct-price-card {
  isolation: isolate;
  min-height: 0 !important;
	height: auto !important;
	min-block-size: 0 !important;
	padding: 32px !important;
	align-self: start !important;
	align-content: start !important;
  justify-content: flex-start !important;
  border: 1px solid var(--qct-line-strong);
  background: var(--qct-card);
  box-shadow: 0 26px 78px rgba(0,0,0,.28), 0 0 52px rgba(99,91,255,.12);
}
.qct-pricing-grid { align-items: start !important; }
.qct-price-card::before {
  content: "";
  position: absolute;
  z-index: 0;
	inset: -60%;
  width: auto;
  aspect-ratio: auto;
	padding: 0;
	border-radius: 50%;
	background: conic-gradient(from 0deg, var(--qct-cyan), transparent 15%, transparent 36%, var(--qct-accent) 52%, transparent 69%, transparent 86%, var(--qct-cyan));
	animation: qctBorderRotate 5s linear infinite;
  pointer-events: none;
	-webkit-mask: none;
	mask: none;
}
.qct-price-card:nth-child(2)::before { animation-duration: 4.4s; background: conic-gradient(from 180deg, var(--qct-accent), transparent 17%, transparent 39%, var(--qct-cyan) 56%, transparent 72%, transparent 88%, var(--qct-accent)); }
.qct-price-card::after { content: ""; position: absolute; z-index: 1; display: block; inset: 2px; border-radius: 25px; background: var(--qct-card); pointer-events: none; }
.qct-price-card > *:not(.qct-price-card__glow) { position: relative; z-index: 2; }
.qct-price-card__glow { position: absolute !important; z-index: 2; pointer-events: none; }
.qct-price-card > h3,
.qct-price-card > .qct-price,
.qct-price-card > p,
.qct-price-card > ul { flex: 0 0 auto !important; transform: none !important; }
.qct-price-card > h3 { margin-block: 0 !important; }
html[data-qct-theme="light"] .qct-price-card {
  border-color: rgba(18,17,120,.16);
  box-shadow: 0 26px 70px rgba(9,9,92,.14), 0 0 46px rgba(99,91,255,.08);
}

/* Animated FAQ */
.qct-faq-layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(44px,7vw,100px); align-items: start; }
.qct-faq-layout .qct-section-head { position: sticky; top: 124px; margin: 0; }
.qct-faq-list { display: grid; gap: 12px; }
.qct-faq-item { overflow: hidden; border: 1px solid var(--qct-line); border-radius: 18px; background: var(--qct-card); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.qct-faq-item.is-open { border-color: var(--qct-line-strong); box-shadow: 0 18px 52px rgba(9,9,92,.14); transform: translateY(-1px); }
.qct-faq-item > button { display: flex; width: 100%; min-height: 76px; padding: 20px 22px; align-items: center; justify-content: space-between; gap: 18px; border: 0; background: transparent; color: var(--qct-text); text-align: left; cursor: pointer; }
.qct-faq-item > button span { font: 700 clamp(16px,1.7vw,20px)/1.35 "Manrope", sans-serif; }
.qct-faq-item > button i { position: relative; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: var(--qct-cyan-soft); }
.qct-faq-item > button i::before,
.qct-faq-item > button i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: var(--qct-cyan); transform: translate(-50%,-50%); transition: transform .25s ease; }
.qct-faq-item > button i::after { transform: translate(-50%,-50%) rotate(90deg); }
.qct-faq-item.is-open > button i::after { transform: translate(-50%,-50%) rotate(0deg); }
.qct-faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .38s cubic-bezier(.2,.7,.25,1); }
.qct-faq-answer > p { min-height: 0; padding: 0 22px; overflow: hidden; color: var(--qct-muted); font-size: 16px; transition: padding .38s ease; }
.qct-faq-item.is-open .qct-faq-answer { grid-template-rows: 1fr; }
.qct-faq-item.is-open .qct-faq-answer > p { padding: 0 22px 24px; }

/* Long-form legal documents */
.qct-legal-head { max-width: 900px; margin-bottom: 56px; }
.qct-legal-head h2 { max-width: 880px; }
.qct-legal-head > p { max-width: 800px; margin-top: 22px; color: var(--qct-muted); font-size: 18px; }
.qct-legal-head > small { display: inline-flex; margin-top: 20px; padding: 7px 11px; border: 1px solid var(--qct-line); border-radius: 999px; color: var(--qct-cyan); font-size: 12px; font-weight: 700; }
.qct-legal-layout { display: grid; grid-template-columns: minmax(230px,.32fr) minmax(0,1fr); gap: clamp(36px,6vw,88px); align-items: start; }
.qct-legal-nav { position: sticky; top: 118px; max-height: calc(100vh - 150px); padding: 24px; overflow: auto; border: 1px solid var(--qct-line); border-radius: 20px; background: var(--qct-card); }
.qct-legal-nav strong { display: block; margin-bottom: 14px; color: var(--qct-text); font: 800 14px/1.2 "Manrope", sans-serif; }
.qct-legal-nav ol { margin: 0; padding-left: 18px; color: var(--qct-muted); }
.qct-legal-nav li + li { margin-top: 7px; }
.qct-legal-nav a { font-size: 12px; line-height: 1.4; transition: color .2s ease; }
.qct-legal-nav a:hover { color: var(--qct-cyan); }
.qct-legal-nav p { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--qct-line); color: var(--qct-muted); font-size: 11px; }
.qct-legal-content { display: grid; gap: 16px; }
.qct-legal-content article { scroll-margin-top: 120px; padding: clamp(24px,4vw,38px); border: 1px solid var(--qct-line); border-radius: 22px; background: var(--qct-card); box-shadow: 0 14px 45px rgba(0,0,0,.06); }
.qct-legal-content h3 { margin-bottom: 18px; font-size: clamp(21px,2.5vw,29px); letter-spacing: -.025em; }
.qct-legal-content p { color: var(--qct-muted); font-size: 16px; line-height: 1.8; }
.qct-legal-content p + p { margin-top: 16px; }

/* Progressive enhancement: content stays visible if JavaScript is blocked. */
.qct-reveal { opacity: 1; transform: none; }
html.qct-js .qct-reveal { opacity: 0; transform: translateY(28px); }
html.qct-js .qct-reveal.is-visible { opacity: 1; transform: none; }

@keyframes qctVisualFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-10px,0); } }
@keyframes qctHaloPulse { 0%,100% { opacity: .7; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes qctImageScan { 0%,24% { transform: translateX(-240%) rotate(17deg); opacity: 0; } 40%,58% { opacity: 1; } 76%,100% { transform: translateX(420%) rotate(17deg); opacity: 0; } }
@keyframes qctDotOrbit { 0%,100% { transform: translate(0,0) scale(.85); } 50% { transform: translate(16px,-12px) scale(1.15); } }
@keyframes qctBorderSpin { to { --qct-border-angle: 360deg; } }
@keyframes qctBorderRotate { to { transform: rotate(360deg); } }
@keyframes qctPanelIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes qctMobileBreathe { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes qctHomeMobileFloat { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(0,-8px,0) scale(1.015); } }
@keyframes qctHeroMobileIn { from { opacity: .15; transform: translate3d(0,22px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }

@media (max-width: 860px) {
  .qct-hero__visual--media { width: min(600px, 94vw); margin-top: 20px; }
  .qct-hero__visual--media .qct-visual-frame { margin-inline: auto; transform: perspective(1100px) rotateY(-2deg) rotateX(1deg); }
  .qct-faq-layout, .qct-legal-layout { grid-template-columns: 1fr; }
  .qct-faq-layout .qct-section-head, .qct-legal-nav { position: static; max-height: none; }
  .qct-legal-nav ol { columns: 2; column-gap: 30px; }
}

@media (max-width: 680px) {
  .qct-hero__visual--media { width: min(355px, 92vw); aspect-ratio: 1.02; animation-duration: 5.5s; }
  .qct-visual-frame { width: 94%; border-radius: 22px; }
  .qct-hero__visual--media::before, .qct-hero__visual--media::after { border-radius: 24px; }
  .qct-hero__visual--media .qct-float-chip { display: flex; max-width: 132px; text-align: left; }
  .qct-hero__visual--media .qct-float-chip--one { top: 2%; left: -1%; }
  .qct-hero__visual--media .qct-float-chip--two { right: -1%; bottom: 1%; }
  .qct-mobile-motion:not(.qct-hero__visual--media) { animation: qctMobileBreathe 4.8s ease-in-out var(--qct-motion-delay,0s) infinite; }
  .qct-pricing-tabs { margin-top: -8px; border-radius: 14px; }
  .qct-pricing-tabs button { min-height: 42px; padding-inline: 14px; font-size: 12px; }
  .qct-faq-item > button { min-height: 68px; padding: 17px 18px; }
  .qct-faq-answer > p { padding-inline: 18px; font-size: 15px; }
  .qct-faq-item.is-open .qct-faq-answer > p { padding: 0 18px 20px; }
  .qct-legal-nav { display: none; }
  .qct-legal-content article { padding: 23px 20px; border-radius: 18px; }
  .qct-legal-content p { font-size: 15px; }
}

/* Touch devices receive motion without depending on hover or a 680px cutoff.
   The accessibility-level reduced-motion preference still takes precedence. */
@media (hover: none), (pointer: coarse), (max-width: 900px) {
	.qct-motion-running .qct-mobile-hero-ready.qct-mobile-hero-active { animation: qctHeroMobileIn .82s cubic-bezier(.2,.72,.25,1) both; }
	.qct-motion-running .qct-hero__visual--home { animation: qctHomeMobileFloat 5.4s ease-in-out infinite !important; will-change: transform; }
	.qct-motion-running .qct-hero__visual--home .qct-orbit--outer { animation: qctSpin 18s linear infinite !important; animation-play-state: running !important; }
	.qct-motion-running .qct-hero__visual--home .qct-orbit--inner { animation: qctSpinReverse 13s linear infinite !important; animation-play-state: running !important; }
	.qct-motion-running .qct-float-chip { animation: qctFloat 4.8s ease-in-out infinite !important; animation-play-state: running !important; }
	.qct-motion-running .qct-float-chip--two { animation-delay: -2.2s !important; }
  .qct-motion-running .qct-card.qct-mobile-motion { animation: qctMobileBreathe 4.8s ease-in-out var(--qct-motion-delay,0s) infinite; will-change: transform; }
  .qct-motion-running .qct-hero__visual--media { animation: qctVisualFloat 5.8s ease-in-out infinite !important; animation-play-state: running !important; will-change: transform; }
  .qct-motion-running .qct-visual-halo { animation: qctHaloPulse 4.8s ease-in-out infinite !important; animation-play-state: running !important; }
  .qct-motion-running .qct-visual-scan { animation: qctImageScan 5.6s ease-in-out infinite !important; animation-play-state: running !important; }
  .qct-motion-running .qct-visual-dot { animation-duration: 5s !important; animation-play-state: running !important; }
  .qct-motion-running .qct-price-card::before { animation: qctBorderRotate 5s linear infinite !important; animation-play-state: running !important; }
  .qct-motion-running .qct-price-card:nth-child(2)::before { animation-duration: 4.4s !important; }
}

@media (prefers-reduced-motion: reduce) {
  html.qct-js .qct-reveal { opacity: 1; transform: none; }
  .qct-hero__visual--home, .qct-hero__visual--media, .qct-visual-halo, .qct-visual-scan, .qct-visual-dot, .qct-price-card::before, .qct-mobile-motion, .qct-mobile-hero-ready { animation: none !important; }
}

/* Keep premium entrance variants stronger than the legacy generic reveal rule. */
html.qct-js .qct-reveal.qct-animate--fade-left:not(.is-visible) { transform: translateX(-34px); }
html.qct-js .qct-reveal.qct-animate--zoom:not(.is-visible) { transform: scale(.94); }
html.qct-js .qct-reveal.qct-animate--blur:not(.is-visible) { filter: blur(14px); transform: translateY(12px); }
html.qct-js .qct-reveal.qct-animate--flip:not(.is-visible) { transform: perspective(900px) rotateX(9deg) translateY(22px); }
html.qct-js .qct-reveal.is-visible { filter: none; }

/* Branded WooCommerce cart, checkout, invoice payment and client account. */
.qct-commerce-page .qct-main { overflow: clip; background: var(--qct-bg); }
.qct-commerce-screen { min-height: 70vh; color: var(--qct-text); background: var(--qct-bg); }
.qct-commerce-hero {
  position: relative;
  isolation: isolate;
  min-height: 390px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 116px 0 82px;
  border-bottom: 1px solid var(--qct-line);
  background:
    radial-gradient(circle at 72% 10%, rgba(99,91,255,.22), transparent 32%),
    linear-gradient(145deg, var(--qct-bg) 0%, var(--qct-bg-alt) 58%, rgba(18,17,120,.3) 100%);
}
.qct-commerce-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .38;
  background-image: linear-gradient(var(--qct-line) 1px, transparent 1px), linear-gradient(90deg, var(--qct-line) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 88%);
}
.qct-commerce-hero__orb { position: absolute; z-index: -1; width: 360px; height: 360px; border-radius: 50%; filter: blur(6px); opacity: .32; pointer-events: none; }
.qct-commerce-hero__orb--one { top: -170px; left: -90px; background: radial-gradient(circle, var(--qct-cyan), transparent 68%); animation: qctHaloPulse 6s ease-in-out infinite; }
.qct-commerce-hero__orb--two { right: -100px; bottom: -240px; background: radial-gradient(circle, var(--qct-accent), transparent 68%); animation: qctHaloPulse 7.5s ease-in-out -2s infinite; }
.qct-commerce-hero .qct-shell { position: relative; z-index: 1; }
.qct-commerce-hero h1 { max-width: 780px; font-size: clamp(42px,6.5vw,78px); }
.qct-commerce-hero p { max-width: 720px; margin-top: 22px; color: var(--qct-muted); font-size: clamp(17px,2vw,20px); }
.qct-commerce-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.qct-commerce-trust span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid var(--qct-line); border-radius: 999px; background: var(--qct-card); background: color-mix(in srgb, var(--qct-card) 82%, transparent); color: var(--qct-text); font-size: 12px; font-weight: 700; }
.qct-commerce-trust span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--qct-cyan); box-shadow: 0 0 14px var(--qct-cyan); }
.qct-commerce-content { padding-block: clamp(62px,8vw,104px); }
.qct-commerce-content > .woocommerce,
.qct-commerce-content > .wp-block-woocommerce-cart,
.qct-commerce-content > .wp-block-woocommerce-checkout { width: 100%; margin: 0; color: var(--qct-text); }

.qct-commerce-content .woocommerce h2,
.qct-commerce-content .woocommerce h3,
.qct-commerce-content .wc-block-components-title,
.qct-commerce-content .wc-block-components-checkout-step__heading,
.qct-commerce-content .wc-block-cart__totals-title { color: var(--qct-text); font-family: "Manrope", sans-serif; }
.qct-commerce-content .woocommerce h2 { font-size: clamp(26px,3vw,38px); }
.qct-commerce-content .woocommerce h3 { font-size: 22px; letter-spacing: -.02em; }
.qct-commerce-content .woocommerce form .form-row label,
.qct-commerce-content .wc-block-components-text-input label,
.qct-commerce-content .wc-block-components-combobox-control label { color: var(--qct-muted); font-size: 13px; font-weight: 700; }
.qct-commerce-content .woocommerce form .form-row input.input-text,
.qct-commerce-content .woocommerce form .form-row textarea,
.qct-commerce-content .woocommerce form .form-row select,
.qct-commerce-content .select2-container--default .select2-selection--single,
.qct-commerce-content .wc-block-components-text-input input,
.qct-commerce-content .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.qct-commerce-content .wc-block-components-address-form select {
  min-height: 54px;
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--qct-line-strong) !important;
  border-radius: 12px !important;
  outline: 0;
  background: var(--qct-card-strong) !important;
  color: var(--qct-text) !important;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.qct-commerce-content .select2-container--default .select2-selection--single { padding-top: 10px; }
.qct-commerce-content .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--qct-text); }
.qct-commerce-content .woocommerce form .form-row textarea { min-height: 120px; resize: vertical; }
.qct-commerce-content .woocommerce form .form-row input:focus,
.qct-commerce-content .woocommerce form .form-row textarea:focus,
.qct-commerce-content .woocommerce form .form-row select:focus,
.qct-commerce-content .wc-block-components-text-input input:focus { border-color: var(--qct-cyan) !important; box-shadow: 0 0 0 3px var(--qct-cyan-soft) !important; }
.qct-commerce-content .woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.qct-commerce-content .woocommerce-billing-fields__field-wrapper,
.qct-commerce-content .woocommerce-shipping-fields__field-wrapper { margin-top: 26px; }
.qct-commerce-content .woocommerce-checkout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: clamp(28px,4vw,54px); align-items: start; }
.qct-commerce-content .woocommerce-NoticeGroup-checkout { grid-column: 1/-1; }
.qct-commerce-content .woocommerce-checkout > #customer_details,
.qct-commerce-content .woocommerce-checkout > #order_review_heading,
.qct-commerce-content .woocommerce-checkout > #order_review { float: none !important; width: auto !important; }
.qct-commerce-content .woocommerce-checkout > #customer_details { grid-row: 2 / span 2; }
.qct-commerce-content #order_review_heading { grid-column: 2; grid-row: 2; margin: 0 0 -34px; padding: 28px 28px 0; z-index: 1; }
.qct-commerce-content #order_review { grid-column: 2; grid-row: 3; }
.qct-commerce-content .col2-set,
.qct-commerce-content #order_review,
.qct-commerce-content .woocommerce-cart-form,
.qct-commerce-content .cart_totals,
.qct-commerce-content .woocommerce-order-details,
.qct-commerce-content .woocommerce-customer-details,
.qct-commerce-content .woocommerce-form-login,
.qct-commerce-content .woocommerce-form-register,
.qct-commerce-content .woocommerce-MyAccount-content {
  padding: clamp(24px,3.5vw,38px);
  border: 1px solid var(--qct-line);
  border-radius: 22px;
  background: var(--qct-card);
  box-shadow: var(--qct-shadow);
}
.qct-commerce-content .col2-set .col-1,
.qct-commerce-content .col2-set .col-2 { float: none; width: 100%; }
.qct-commerce-content .col2-set .col-2 { margin-top: 28px; }
.qct-commerce-content table.shop_table,
.qct-commerce-content .woocommerce table.shop_table { width: 100%; margin: 0 0 28px; border: 1px solid var(--qct-line); border-collapse: separate; border-spacing: 0; border-radius: 15px; overflow: hidden; background: transparent; color: var(--qct-text); }
.qct-commerce-content table.shop_table th,
.qct-commerce-content table.shop_table td { padding: 17px 16px; border: 0; border-bottom: 1px solid var(--qct-line); color: var(--qct-text); text-align: left; }
.qct-commerce-content table.shop_table tr:last-child th,
.qct-commerce-content table.shop_table tr:last-child td { border-bottom: 0; }
.qct-commerce-content table.shop_table th { font-family: "Manrope", sans-serif; font-weight: 800; }
.qct-commerce-content .product-name,
.qct-commerce-content .woocommerce-Price-amount { color: var(--qct-text); }
.qct-commerce-content dl.variation { margin: 8px 0 0; color: var(--qct-muted); font-size: 13px; }
.qct-commerce-content dl.variation dt,
.qct-commerce-content dl.variation dd { display: inline; float: none; margin: 0; }
.qct-commerce-content .woocommerce-checkout-payment { border: 1px solid var(--qct-line) !important; border-radius: 16px !important; background: var(--qct-card-strong) !important; color: var(--qct-text); }
.qct-commerce-content .woocommerce-checkout-payment ul.payment_methods { padding: 18px 20px !important; border-bottom: 1px solid var(--qct-line) !important; }
.qct-commerce-content .woocommerce-checkout-payment li { color: var(--qct-text); }
.qct-commerce-content .woocommerce-checkout-payment label { color: var(--qct-text); font-weight: 700; }
.qct-commerce-content .woocommerce-checkout-payment .payment_box { margin: 14px 0 0 !important; padding: 16px !important; border-radius: 11px !important; background: var(--qct-bg-alt) !important; color: var(--qct-muted) !important; }
.qct-commerce-content .woocommerce-checkout-payment .payment_box::before { border-bottom-color: var(--qct-bg-alt) !important; }
.qct-commerce-content #payment .place-order { padding: 20px !important; }
.qct-commerce-content .button,
.qct-commerce-content button.button,
.qct-commerce-content input.button,
.qct-commerce-content #place_order,
.qct-commerce-content .wc-block-components-button {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 22px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, var(--qct-accent), var(--qct-primary)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  box-shadow: 0 12px 28px rgba(18,17,120,.24);
  transition: transform .2s ease, box-shadow .2s ease;
}
.qct-commerce-content .button:hover,
.qct-commerce-content button.button:hover,
.qct-commerce-content #place_order:hover,
.qct-commerce-content .wc-block-components-button:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(18,17,120,.34); }
.qct-commerce-content #place_order { width: 100%; }
.qct-commerce-content .woocommerce-info,
.qct-commerce-content .woocommerce-message,
.qct-commerce-content .woocommerce-error,
.qct-commerce-content .wc-block-components-notice-banner {
  margin: 0 0 28px !important;
  padding: 18px 20px 18px 52px !important;
  border: 1px solid var(--qct-line) !important;
  border-top: 1px solid var(--qct-cyan) !important;
  border-radius: 14px;
  background: var(--qct-card) !important;
  color: var(--qct-text) !important;
}
.qct-commerce-content .woocommerce-error { border-top-color: #ff6176 !important; }
.qct-commerce-content .woocommerce-message { border-top-color: #39dda0 !important; }
.qct-commerce-content .woocommerce-info::before { color: var(--qct-cyan); }
.qct-commerce-content .woocommerce-message::before { color: #39dda0; }
.qct-commerce-content .woocommerce-error::before { color: #ff6176; }
.qct-commerce-content .woocommerce-info a,
.qct-commerce-content .woocommerce-message a,
.qct-commerce-content .woocommerce-error a { color: var(--qct-cyan); font-weight: 700; }
.qct-commerce-content .checkout_coupon { margin: -12px 0 28px !important; padding: 24px !important; border: 1px solid var(--qct-line) !important; border-radius: 14px; background: var(--qct-card); }
.qct-commerce-content .woocommerce-cart-form { float: left; width: calc(67% - 18px); }
.qct-commerce-content .cart-collaterals { float: right; width: calc(33% - 18px); }
.qct-commerce-content .cart-collaterals .cart_totals { float: none; width: 100%; }
.qct-commerce-content .cart-collaterals::after,
.qct-commerce-content .woocommerce::after { content: ""; display: table; clear: both; }
.qct-commerce-content .quantity .qty { width: 74px; min-height: 44px; border: 1px solid var(--qct-line-strong); border-radius: 9px; background: var(--qct-card-strong); color: var(--qct-text); }
.qct-commerce-content .product-remove a.remove { display: grid; place-items: center; width: 30px; height: 30px; color: #ff6176 !important; }

/* Checkout Block support. */
.qct-commerce-content .wc-block-checkout__main,
.qct-commerce-content .wc-block-checkout__sidebar,
.qct-commerce-content .wc-block-cart-items,
.qct-commerce-content .wc-block-cart__sidebar {
  padding: clamp(22px,3vw,34px) !important;
  border: 1px solid var(--qct-line);
  border-radius: 20px;
  background: var(--qct-card);
  color: var(--qct-text);
  box-shadow: var(--qct-shadow);
}
.qct-commerce-content .wc-block-checkout__sidebar { top: 110px; }
.qct-commerce-content .wc-block-components-checkout-step { margin: 0 0 36px; }
.qct-commerce-content .wc-block-components-checkout-step__container { padding-left: 0; }
.qct-commerce-content .wc-block-components-order-summary,
.qct-commerce-content .wc-block-components-totals-wrapper,
.qct-commerce-content .wc-block-components-panel { border-color: var(--qct-line) !important; color: var(--qct-text); }
.qct-commerce-content .wc-block-components-product-name,
.qct-commerce-content .wc-block-components-totals-item__label,
.qct-commerce-content .wc-block-components-totals-item__value { color: var(--qct-text); }
.qct-commerce-content .wc-block-components-radio-control-accordion-option { border-color: var(--qct-line) !important; background: var(--qct-card-strong) !important; color: var(--qct-text); }

/* QCT payment-result replaces the small generic Woo success sentence. */
.qct-commerce-content .woocommerce-thankyou-order-received { display: none; }
.qct-payment-result {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 22px 24px;
  margin-bottom: 40px;
  padding: clamp(28px,5vw,54px);
  overflow: hidden;
  border: 1px solid var(--qct-line-strong);
  border-radius: 26px;
  background: linear-gradient(145deg, var(--qct-card), var(--qct-card-strong));
  box-shadow: var(--qct-shadow);
}
.qct-payment-result::after { content: ""; position: absolute; width: 280px; height: 280px; right: -120px; top: -140px; border-radius: 50%; background: radial-gradient(circle, var(--qct-cyan-soft), transparent 70%); pointer-events: none; }
.qct-payment-result__icon { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 20px; border: 1px solid currentColor; color: #39dda0; background: rgba(57,221,160,.1); }
.qct-payment-result.is-failed .qct-payment-result__icon { color: #ff6176; background: rgba(255,97,118,.1); }
.qct-payment-result.is-pending .qct-payment-result__icon { color: #ffbc5d; background: rgba(255,188,93,.1); }
.qct-payment-result__icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.qct-payment-result__copy > span { color: var(--qct-cyan); font: 800 11px/1 "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.qct-payment-result__copy h2 { margin-top: 10px; font-size: clamp(30px,4vw,50px); }
.qct-payment-result__copy p { max-width: 760px; margin-top: 14px; color: var(--qct-muted); }
.qct-payment-result__summary { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 12px; border: 1px solid var(--qct-line); border-radius: 16px; background: var(--qct-bg-alt); }
.qct-payment-result__summary div { min-width: 0; padding: 18px 20px; border-right: 1px solid var(--qct-line); }
.qct-payment-result__summary div:last-child { border-right: 0; }
.qct-payment-result__summary small { display: block; color: var(--qct-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.qct-payment-result__summary strong { display: block; margin-top: 6px; overflow-wrap: anywhere; color: var(--qct-text); font-family: "Manrope", sans-serif; }
.qct-payment-result__actions { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.qct-payment-result__actions .qct-button--ghost { background: transparent; border-color: var(--qct-line-strong); }
.qct-invoice-context { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 28px; overflow: hidden; border: 1px solid var(--qct-line); border-radius: 17px; background: linear-gradient(135deg,var(--qct-card),var(--qct-card-strong)); box-shadow: var(--qct-shadow); }
.qct-invoice-context > div { min-width: 0; padding: 20px 22px; border-right: 1px solid var(--qct-line); }
.qct-invoice-context > div:last-child { border-right: 0; }
.qct-invoice-context span { display: block; color: var(--qct-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.qct-invoice-context strong { display: block; margin-top: 6px; overflow-wrap: anywhere; color: var(--qct-text); font-family: "Manrope",sans-serif; }
.qct-commerce-content .woocommerce-order-overview { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0 0 34px; padding: 0; overflow: hidden; border: 1px solid var(--qct-line); border-radius: 16px; background: var(--qct-card); }
.qct-commerce-content .woocommerce-order-overview li { float: none; margin: 0; padding: 17px 18px; border-right: 1px solid var(--qct-line); color: var(--qct-muted); font-size: 11px; }
.qct-commerce-content .woocommerce-order-overview li:last-child { border-right: 0; }
.qct-commerce-content .woocommerce-order-overview li strong { margin-top: 5px; color: var(--qct-text); font-size: 15px; overflow-wrap: anywhere; }
.qct-commerce-content .woocommerce-order-details,
.qct-commerce-content .woocommerce-customer-details { margin-top: 28px; }
.qct-commerce-content .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.qct-commerce-content .woocommerce-columns--addresses::before,
.qct-commerce-content .woocommerce-columns--addresses::after { display: none; }
.qct-commerce-content .woocommerce-column--billing-address,
.qct-commerce-content .woocommerce-column--shipping-address { float: none; width: auto; padding: 26px; border: 1px solid var(--qct-line); border-radius: 18px; background: var(--qct-card); }
.qct-commerce-content address { color: var(--qct-muted); font-style: normal; }
.qct-commerce-content .woocommerce-MyAccount-navigation { float: left; width: 25%; }
.qct-commerce-content .woocommerce-MyAccount-navigation ul { margin: 0; padding: 14px; list-style: none; border: 1px solid var(--qct-line); border-radius: 16px; background: var(--qct-card); }
.qct-commerce-content .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 14px; border-radius: 9px; color: var(--qct-muted); font-weight: 700; }
.qct-commerce-content .woocommerce-MyAccount-navigation li.is-active a,
.qct-commerce-content .woocommerce-MyAccount-navigation li a:hover { background: var(--qct-cyan-soft); color: var(--qct-cyan); }
.qct-commerce-content .woocommerce-MyAccount-content { float: right; width: 72%; }

html[data-qct-theme="light"] .qct-commerce-hero { background: radial-gradient(circle at 72% 10%, rgba(99,91,255,.14), transparent 32%), linear-gradient(145deg,#fff 0%,var(--qct-bg-alt) 70%,rgba(87,217,255,.13) 100%); }
html[data-qct-theme="light"] .qct-commerce-content .woocommerce-checkout-payment,
html[data-qct-theme="light"] .qct-commerce-content .woocommerce-checkout-payment .payment_box { color: var(--qct-text) !important; }

@media (max-width: 980px) {
  .qct-commerce-content .woocommerce-checkout { grid-template-columns: 1fr; }
  .qct-commerce-content .woocommerce-checkout > #customer_details,
  .qct-commerce-content #order_review_heading,
  .qct-commerce-content #order_review { grid-column: 1; grid-row: auto; }
  .qct-commerce-content #order_review_heading { margin-bottom: -30px; }
  .qct-commerce-content .woocommerce-cart-form,
  .qct-commerce-content .cart-collaterals { float: none; width: 100%; }
  .qct-commerce-content .cart-collaterals { margin-top: 28px; }
  .qct-commerce-content .woocommerce-order-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.qct-invoice-context { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.qct-invoice-context > div:nth-child(even) { border-right: 0; }
	.qct-invoice-context > div:nth-child(-n+2) { border-bottom: 1px solid var(--qct-line); }
  .qct-commerce-content .woocommerce-order-overview li { border-bottom: 1px solid var(--qct-line); }
  .qct-commerce-content .woocommerce-order-overview li:nth-child(even) { border-right: 0; }
  .qct-commerce-content .woocommerce-order-overview li:last-child { border-bottom: 0; }
}

@media (max-width: 680px) {
  .qct-commerce-hero { min-height: 330px; padding: 90px 0 62px; }
  .qct-commerce-hero h1 { font-size: clamp(38px,12vw,56px); }
  .qct-commerce-trust span { font-size: 11px; }
  .qct-commerce-content { width: min(100% - 28px,var(--qct-shell)); padding-block: 44px 68px; }
  .qct-commerce-content .col2-set,
  .qct-commerce-content #order_review,
  .qct-commerce-content .woocommerce-cart-form,
  .qct-commerce-content .cart_totals,
  .qct-commerce-content .woocommerce-order-details,
  .qct-commerce-content .woocommerce-customer-details,
  .qct-commerce-content .woocommerce-form-login,
  .qct-commerce-content .woocommerce-form-register,
  .qct-commerce-content .woocommerce-MyAccount-content { padding: 20px; border-radius: 17px; }
  .qct-commerce-content .shop_table_responsive tr { display: grid !important; grid-template-columns: 1fr auto; gap: 0; padding: 14px; border-bottom: 1px solid var(--qct-line); }
  .qct-commerce-content .shop_table_responsive tr td { display: block !important; padding: 10px 8px; border: 0; }
  .qct-commerce-content .shop_table_responsive tr td::before { color: var(--qct-muted); }
  .qct-payment-result { grid-template-columns: 1fr; padding: 26px 20px; border-radius: 20px; }
  .qct-payment-result__icon { width: 60px; height: 60px; border-radius: 17px; }
  .qct-payment-result__summary { grid-template-columns: 1fr 1fr; }
  .qct-payment-result__summary div:nth-child(even) { border-right: 0; }
  .qct-payment-result__summary div:nth-child(-n+2) { border-bottom: 1px solid var(--qct-line); }
  .qct-payment-result__actions .qct-button { width: 100%; justify-content: center; }
	.qct-invoice-context { grid-template-columns: 1fr; }
	.qct-invoice-context > div,
	.qct-invoice-context > div:nth-child(even) { border-right: 0; border-bottom: 1px solid var(--qct-line); }
	.qct-invoice-context > div:last-child { border-bottom: 0; }
  .qct-commerce-content .woocommerce-order-overview { grid-template-columns: 1fr; }
  .qct-commerce-content .woocommerce-order-overview li,
  .qct-commerce-content .woocommerce-order-overview li:nth-child(even) { border-right: 0; border-bottom: 1px solid var(--qct-line); }
  .qct-commerce-content .woocommerce-columns--addresses { grid-template-columns: 1fr; }
  .qct-commerce-content .woocommerce-MyAccount-navigation,
  .qct-commerce-content .woocommerce-MyAccount-content { float: none; width: 100%; }
  .qct-commerce-content .woocommerce-MyAccount-content { margin-top: 24px; }
  .qct-commerce-content .wc-block-checkout__main,
  .qct-commerce-content .wc-block-checkout__sidebar,
  .qct-commerce-content .wc-block-cart-items,
  .qct-commerce-content .wc-block-cart__sidebar { padding: 18px 15px !important; border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .qct-commerce-hero__orb { animation: none !important; }
}

/* v2.3 focused checkout: compact Hostinger-inspired structure. */
.qct-commerce-page .qct-header.is-scroll-hidden { transform: translate3d(0,0,0); pointer-events: auto; }
.qct-commerce-page .qct-header__inner { min-height: 68px !important; }
.qct-commerce-page .qct-nav--primary,
.qct-commerce-page .qct-header__actions > .qct-button { display: none; }
.qct-commerce-page .qct-brand img { width: min(190px,42vw); max-height: 46px; }
.qct-commerce-page .qct-commerce-screen { min-height: calc(100dvh - 120px); background: var(--qct-bg-alt); }
.qct-commerce-page .qct-commerce-content { width: min(1180px,calc(100% - 48px)); padding-block: 34px 56px; }
.qct-commerce-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px 30px;
  align-items: end;
  margin-bottom: 30px;
}
.qct-commerce-back { grid-column: 1/-1; display: inline-flex; align-items: center; gap: 8px; width: max-content; color: var(--qct-text); font-size: 14px; font-weight: 800; }
.qct-commerce-back svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.qct-commerce-back:hover svg { transform: translateX(-3px); }
.qct-commerce-head__copy > span { display: block; margin-bottom: 6px; color: var(--qct-accent); font: 800 11px/1.2 "Manrope",sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.qct-commerce-head h1 { font-size: clamp(28px,3.4vw,42px); letter-spacing: -.035em; }
.qct-commerce-head p { max-width: 620px; margin-top: 8px; color: var(--qct-muted); font-size: 15px; }
.qct-commerce-secure { display: flex; align-items: center; gap: 11px; min-width: 210px; padding: 13px 16px; border: 1px solid var(--qct-line); border-radius: 13px; background: var(--qct-card); box-shadow: 0 8px 30px rgba(9,9,40,.06); }
.qct-commerce-secure svg { flex: 0 0 28px; width: 28px; height: 28px; padding: 5px; border-radius: 8px; fill: none; stroke: #12a66a; stroke-width: 1.8; background: rgba(18,166,106,.1); }
.qct-commerce-secure span { display: grid; color: var(--qct-muted); font-size: 11px; line-height: 1.35; }
.qct-commerce-secure strong { color: var(--qct-text); font-size: 13px; }

.qct-commerce-page .qct-commerce-content .woocommerce-checkout { display: grid !important; grid-template-columns: minmax(0,1.32fr) minmax(350px,.78fr); grid-template-rows: auto; gap: 24px; align-items: start; }
.qct-commerce-page .qct-commerce-content .woocommerce-checkout > .woocommerce-NoticeGroup-checkout { grid-column: 1/-1; grid-row: 1; }
.qct-commerce-page .qct-commerce-content .woocommerce-checkout > #customer_details { grid-column: 1; grid-row: 2; min-width: 0; }
.qct-commerce-page .qct-commerce-content .woocommerce-checkout > .qct-checkout-summary { grid-column: 2; grid-row: 2 / span 2; min-width: 0; }
.qct-checkout-summary { position: sticky; top: 92px; padding: 26px; border: 1px solid var(--qct-line); border-radius: 17px; background: var(--qct-card); box-shadow: 0 16px 50px rgba(9,9,40,.09); }
.qct-commerce-page .qct-checkout-summary #order_review_heading { display: block; margin: 0; padding: 0 0 18px; border-bottom: 1px solid var(--qct-line); color: var(--qct-text); font-size: 22px; }
.qct-commerce-page .qct-checkout-summary #order_review { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.qct-commerce-page .qct-checkout-summary table.shop_table { margin: 0; border: 0; border-radius: 0; }
.qct-commerce-page .qct-checkout-summary table.shop_table th,
.qct-commerce-page .qct-checkout-summary table.shop_table td { padding: 15px 0; font-size: 14px; }
.qct-commerce-page .qct-checkout-summary table.shop_table th:last-child,
.qct-commerce-page .qct-checkout-summary table.shop_table td:last-child { padding-left: 14px; text-align: right; }
.qct-commerce-page .qct-checkout-summary table.shop_table tfoot .order-total th,
.qct-commerce-page .qct-checkout-summary table.shop_table tfoot .order-total td { padding-top: 18px; color: var(--qct-text); font-size: 17px; }
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-payment { margin-top: 18px; overflow: hidden; border-color: var(--qct-line) !important; background: transparent !important; }
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-payment ul.payment_methods { margin: 0; padding: 0 !important; }
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-payment ul.payment_methods > li { margin: 0; padding: 15px 16px; border-bottom: 1px solid var(--qct-line); background: var(--qct-card-strong); }
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-payment ul.payment_methods > li:last-child { border-bottom: 0; }
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-payment img { max-width: 88px; max-height: 32px; object-fit: contain; }
.qct-commerce-page .qct-checkout-summary #payment .place-order { margin: 0; padding: 17px 0 0 !important; background: transparent; }
.qct-commerce-page .qct-checkout-summary #place_order { min-height: 52px; }
.qct-commerce-page .qct-checkout-summary .woocommerce-privacy-policy-text { color: var(--qct-muted); font-size: 12px; line-height: 1.55; }
.qct-commerce-page .qct-checkout-summary .woocommerce-privacy-policy-text a { color: var(--qct-accent); text-decoration: underline; }

.qct-checkout-payment-shell {
  grid-column: 1;
  grid-row: 3;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--qct-line);
  border-radius: 17px;
  background: var(--qct-card);
  box-shadow: 0 16px 50px rgba(9,9,40,.07);
}
.qct-checkout-payment-head { margin-bottom: 20px; }
.qct-checkout-payment-head > span { display: block; margin-bottom: 6px; color: var(--qct-accent); font: 800 11px/1.2 "Manrope",sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.qct-checkout-payment-head h2 { margin: 0; color: var(--qct-text); font-size: 22px; }
.qct-checkout-payment-head p { margin: 7px 0 0; color: var(--qct-muted); font-size: 13px; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment { margin: 0; overflow: hidden; border-color: var(--qct-line) !important; background: transparent !important; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods { margin: 0; padding: 0 !important; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li { margin: 0; padding: 16px 18px; border-bottom: 1px solid var(--qct-line); background: var(--qct-card-strong); }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li:last-child { border-bottom: 0; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment img { max-width: 98px; max-height: 34px; object-fit: contain; }
.qct-commerce-page .qct-checkout-payment-shell #payment .place-order { margin: 0; padding: 20px 0 0 !important; background: transparent; }
.qct-commerce-page .qct-checkout-payment-shell #place_order { min-height: 52px; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-privacy-policy-text { color: var(--qct-muted); font-size: 12px; line-height: 1.55; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-privacy-policy-text a { color: var(--qct-accent); text-decoration: underline; }

.qct-commerce-page .qct-commerce-content .col2-set,
.qct-commerce-page .qct-commerce-content .woocommerce-cart-form,
.qct-commerce-page .qct-commerce-content .cart_totals,
.qct-commerce-page .qct-commerce-content .woocommerce-order-details,
.qct-commerce-page .qct-commerce-content .woocommerce-customer-details,
.qct-commerce-page .qct-commerce-content .woocommerce-form-login,
.qct-commerce-page .qct-commerce-content .woocommerce-form-register,
.qct-commerce-page .qct-commerce-content .woocommerce-MyAccount-content { padding: 28px; border-radius: 17px; box-shadow: 0 16px 50px rgba(9,9,40,.07); }
.qct-commerce-page .qct-commerce-content .woocommerce-billing-fields__field-wrapper,
.qct-commerce-page .qct-commerce-content .woocommerce-shipping-fields__field-wrapper { margin-top: 22px; }
.qct-commerce-page .qct-commerce-content .woocommerce form .form-row { margin-bottom: 15px; }
.qct-commerce-page .qct-commerce-content .woocommerce form .form-row input.input-text,
.qct-commerce-page .qct-commerce-content .woocommerce form .form-row textarea,
.qct-commerce-page .qct-commerce-content .woocommerce form .form-row select,
.qct-commerce-page .qct-commerce-content .select2-container--default .select2-selection--single { min-height: 50px; border-radius: 10px !important; }
.qct-commerce-page .qct-commerce-content .woocommerce form .form-row textarea { min-height: 112px; }
.qct-commerce-page .qct-commerce-content .cart-collaterals .cart_totals { position: sticky; top: 92px; }
.qct-commerce-page .qct-commerce-content form#order_review { max-width: 860px; margin-inline: auto; }
.qct-checkout-assurance { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; margin-top: 30px; color: var(--qct-muted); font-size: 12px; }
.qct-checkout-assurance span { display: inline-flex; align-items: center; gap: 8px; }
.qct-checkout-assurance span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #12a66a; }
.qct-payment-result ~ .woocommerce-order-overview { display: none !important; }

html[data-qct-theme="light"] .qct-commerce-page .qct-commerce-screen { --qct-bg-alt: #f4f5f8; --qct-card: #fff; --qct-card-strong: #f8f8fc; }
html[data-qct-theme="dark"] .qct-checkout-summary,
html[data-qct-theme="dark"] .qct-checkout-payment-shell,
html[data-qct-theme="dark"] .qct-commerce-secure,
html[data-qct-theme="dark"] .qct-commerce-page .qct-commerce-content .col2-set { box-shadow: 0 16px 50px rgba(0,0,0,.24); }

@media (max-width: 980px) {
  .qct-commerce-page .qct-commerce-content .woocommerce-checkout { grid-template-columns: 1fr; }
  .qct-commerce-page .qct-commerce-content .woocommerce-checkout > #customer_details,
  .qct-commerce-page .qct-commerce-content .woocommerce-checkout > .qct-checkout-payment-shell,
  .qct-commerce-page .qct-commerce-content .woocommerce-checkout > .qct-checkout-summary { grid-column: 1; grid-row: auto; }
  .qct-checkout-summary { position: static; }
}

@media (max-width: 680px) {
  .qct-commerce-page .qct-commerce-content { width: min(100% - 28px,1180px); padding-block: 24px 42px; }
  .qct-commerce-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 22px; }
  .qct-commerce-back { grid-column: 1; }
  .qct-commerce-secure { width: 100%; min-width: 0; }
  .qct-commerce-page .qct-commerce-content .col2-set,
  .qct-checkout-payment-shell,
  .qct-checkout-summary { padding: 20px 16px; border-radius: 14px; }
  .qct-commerce-page .qct-checkout-summary #order_review_heading { font-size: 20px; }
  .qct-checkout-assurance { align-items: flex-start; flex-direction: column; }
}

/* v2.3.1: keep theme floats from collapsing checkout details. */
.qct-commerce-page .qct-checkout-summary,
.qct-commerce-page .qct-checkout-summary #order_review_heading,
.qct-commerce-page .qct-checkout-summary #order_review,
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-review-order,
.qct-commerce-page .qct-checkout-summary .woocommerce-checkout-review-order-table {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.qct-commerce-page .qct-checkout-summary #order_review_heading { height: auto !important; }
.qct-commerce-page .qct-checkout-summary table.shop_table { display: table !important; width: 100% !important; table-layout: auto; }
.qct-commerce-page .qct-checkout-summary table.shop_table thead { display: table-header-group !important; }
.qct-commerce-page .qct-checkout-summary table.shop_table tbody { display: table-row-group !important; }
.qct-commerce-page .qct-checkout-summary table.shop_table tfoot { display: table-footer-group !important; }
.qct-commerce-page .qct-checkout-summary table.shop_table tr { display: table-row !important; }
.qct-commerce-page .qct-checkout-summary table.shop_table th,
.qct-commerce-page .qct-checkout-summary table.shop_table td { display: table-cell !important; width: auto !important; word-break: normal; overflow-wrap: anywhere; vertical-align: top; }
.qct-commerce-page .qct-checkout-summary table.shop_table .product-total { width: 112px !important; white-space: nowrap; }
.qct-commerce-page .qct-checkout-summary table.shop_table td::before { content: none !important; display: none !important; }

/* QCT Shop archive. */
.qct-shop-page .qct-header.is-scroll-hidden { transform: translate3d(0,-101%,0); pointer-events: none; }
.qct-shop-page .qct-header__inner { min-height: 84px !important; }
.qct-shop-page .qct-brand img { width: 216px; max-height: 54px; }
.qct-shop-screen { min-height: 70vh; overflow: clip; background: var(--qct-bg); color: var(--qct-text); }
.qct-shop-hero { position: relative; padding: clamp(84px,10vw,132px) 0 clamp(72px,8vw,108px); overflow: hidden; border-bottom: 1px solid var(--qct-line); background: radial-gradient(circle at 85% 18%,var(--qct-cyan-soft),transparent 28%),radial-gradient(circle at 12% 0,rgba(99,91,255,.18),transparent 30%),linear-gradient(145deg,var(--qct-bg),var(--qct-bg-alt)); }
.qct-shop-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; pointer-events: none; background-image: linear-gradient(var(--qct-line) 1px,transparent 1px),linear-gradient(90deg,var(--qct-line) 1px,transparent 1px); background-size: 56px 56px; -webkit-mask-image: linear-gradient(to bottom,#000,transparent 92%); mask-image: linear-gradient(to bottom,#000,transparent 92%); }
.qct-shop-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: clamp(34px,6vw,86px); align-items: center; }
.qct-shop-hero__copy h1 { max-width: 760px; margin-top: 18px; font-size: clamp(52px,7vw,92px); }
.qct-shop-hero__copy > p { max-width: 690px; margin-top: 22px; color: var(--qct-muted); font-size: clamp(17px,1.7vw,20px); }
.qct-shop-hero__copy .qct-button-row { margin-top: 30px; }
.qct-shop-promise { padding: clamp(24px,3vw,34px); border: 1px solid var(--qct-line-strong); border-radius: 24px; background: color-mix(in srgb,var(--qct-card) 88%,transparent); box-shadow: var(--qct-shadow); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.qct-shop-promise > span { display: block; padding-bottom: 17px; border-bottom: 1px solid var(--qct-line); color: var(--qct-cyan); font: 800 11px/1.2 "Manrope",sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.qct-shop-promise ul { margin: 0; padding: 0; list-style: none; }
.qct-shop-promise li { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 14px; padding: 19px 0; align-items: start; border-bottom: 1px solid var(--qct-line); }
.qct-shop-promise li:last-child { padding-bottom: 0; border: 0; }
.qct-shop-promise i { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--qct-line); border-radius: 11px; background: var(--qct-cyan-soft); color: var(--qct-cyan); font: normal 800 11px/1 "Manrope",sans-serif; }
.qct-shop-promise strong,.qct-shop-promise small { display: block; }
.qct-shop-promise strong { color: var(--qct-text); font: 800 15px/1.35 "Manrope",sans-serif; }
.qct-shop-promise small { margin-top: 5px; color: var(--qct-muted); font-size: 12px; line-height: 1.5; }
.qct-shop-content { padding-block: clamp(70px,8vw,110px); }
.qct-shop-toolbar { display: flex; margin-bottom: 28px; align-items: center; justify-content: space-between; gap: 20px; color: var(--qct-muted); }
.qct-shop-toolbar::before,.qct-shop-toolbar::after { content: none !important; }
.qct-shop-toolbar .woocommerce-result-count,.qct-shop-toolbar .woocommerce-ordering { float: none; margin: 0; }
.qct-shop-toolbar select { min-height: 46px; padding: 9px 38px 9px 14px; border: 1px solid var(--qct-line); border-radius: 10px; background: var(--qct-card); color: var(--qct-text); }
.qct-shop-content ul.products { display: grid !important; margin: 0 !important; padding: 0 !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.qct-shop-content ul.products::before,.qct-shop-content ul.products::after { content: none !important; display: none !important; }
.qct-shop-content ul.products li.product { position: relative; float: none !important; width: auto !important; margin: 0 !important; padding: 15px 15px 20px !important; overflow: hidden; border: 1px solid var(--qct-line); border-radius: 20px; background: var(--qct-card); box-shadow: 0 18px 55px rgba(0,0,0,.12); transition: transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.qct-shop-content ul.products li.product:hover { transform: translateY(-6px); border-color: var(--qct-line-strong); box-shadow: var(--qct-shadow); }
.qct-shop-content ul.products li.product a img { width: 100%; margin: 0 0 20px !important; aspect-ratio: 4/3; border-radius: 14px; background: var(--qct-bg-alt); object-fit: cover; }
.qct-shop-content ul.products li.product .woocommerce-loop-product__title { padding: 0 5px !important; color: var(--qct-text); font: 800 20px/1.25 "Manrope",sans-serif; }
.qct-shop-content ul.products li.product .price { display: block; margin: 12px 5px 18px !important; color: var(--qct-cyan) !important; font: 800 18px/1.3 "Manrope",sans-serif; }
.qct-shop-content ul.products li.product .button { width: calc(100% - 10px); margin: 0 5px !important; }
.qct-shop-content .woocommerce-pagination { margin-top: 42px; }
.qct-shop-content .woocommerce-pagination ul.page-numbers { display: flex; width: max-content; margin: auto !important; padding: 6px !important; gap: 5px; border: 1px solid var(--qct-line) !important; border-radius: 12px; background: var(--qct-card); }
.qct-shop-content .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
.qct-shop-content .woocommerce-pagination .page-numbers li span,.qct-shop-content .woocommerce-pagination .page-numbers li a { display: grid; min-width: 38px; height: 38px; padding: 0 !important; place-items: center; border-radius: 8px; color: var(--qct-muted); }
.qct-shop-content .woocommerce-pagination .page-numbers li span.current,.qct-shop-content .woocommerce-pagination .page-numbers li a:hover { background: var(--qct-cyan-soft); color: var(--qct-cyan); }
.qct-shop-empty { position: relative; max-width: 1080px; margin: auto; padding: clamp(34px,6vw,72px); overflow: hidden; border: 1px solid var(--qct-line); border-radius: 28px; background: linear-gradient(145deg,var(--qct-card),var(--qct-card-strong)); box-shadow: var(--qct-shadow); text-align: center; }
.qct-shop-empty::after { content: ""; position: absolute; right: -110px; bottom: -150px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle,var(--qct-cyan-soft),transparent 70%); pointer-events: none; }
.qct-shop-empty__mark { position: relative; width: 72px; height: 72px; margin: 0 auto 24px; border: 1px solid var(--qct-line-strong); border-radius: 20px; background: var(--qct-bg-alt); transform: rotate(45deg); }
.qct-shop-empty__mark span { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--qct-cyan); box-shadow: 0 0 20px var(--qct-cyan); }
.qct-shop-empty__mark span:nth-child(1) { top: 15px; left: 15px; }.qct-shop-empty__mark span:nth-child(2) { right: 15px; bottom: 15px; background: var(--qct-accent); }.qct-shop-empty__mark span:nth-child(3) { right: 15px; top: 15px; width: 30px; height: 2px; border-radius: 0; transform: rotate(90deg) translate(7px,-7px); }
.qct-shop-empty h2 { max-width: 720px; margin: 16px auto 0; font-size: clamp(30px,4.5vw,52px); }
.qct-shop-empty > p { max-width: 760px; margin: 18px auto 0; color: var(--qct-muted); }
.qct-shop-empty .qct-button-row { position: relative; z-index: 1; justify-content: center; margin-top: 30px; }
.qct-shop-paths { position: relative; z-index: 1; display: grid; margin-top: 36px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; text-align: left; }
.qct-shop-paths a { min-width: 0; padding: 20px; border: 1px solid var(--qct-line); border-radius: 16px; background: var(--qct-bg-alt); transition: transform .25s ease,border-color .25s ease; }
.qct-shop-paths a:hover { transform: translateY(-4px); border-color: var(--qct-cyan); }
.qct-shop-paths span,.qct-shop-paths strong,.qct-shop-paths small { display: block; }
.qct-shop-paths span { color: var(--qct-cyan); font: 800 11px/1 "Manrope",sans-serif; }
.qct-shop-paths strong { margin-top: 13px; color: var(--qct-text); font: 800 16px/1.3 "Manrope",sans-serif; }
.qct-shop-paths small { margin-top: 7px; color: var(--qct-muted); font-size: 12px; line-height: 1.5; }

@media (min-width: 1101px) {
  .qct-shop-page .qct-nav--primary { display: block; }
}
@media (min-width: 1281px) {
  .qct-shop-page .qct-header__actions > .qct-button { display: inline-flex; }
}
@media (max-width: 980px) {
  .qct-shop-hero__grid { grid-template-columns: 1fr; }
  .qct-shop-promise { max-width: 620px; }
  .qct-shop-content ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .qct-shop-page .qct-header__inner { min-height: 68px !important; }
  .qct-shop-page .qct-brand img { width: min(190px,42vw); max-height: 46px; }
  .qct-shop-hero { padding: 64px 0 58px; }
  .qct-shop-hero__copy h1 { font-size: clamp(43px,15vw,64px); }
  .qct-shop-hero__copy .qct-button { width: 100%; justify-content: center; }
  .qct-shop-toolbar { align-items: flex-start; flex-direction: column; }
  .qct-shop-toolbar .woocommerce-ordering,.qct-shop-toolbar select { width: 100%; }
  .qct-shop-content ul.products { grid-template-columns: 1fr; }
  .qct-shop-empty { padding: 34px 18px; border-radius: 20px; }
  .qct-shop-paths { grid-template-columns: 1fr; }
  .qct-shop-empty .qct-button { width: 100%; justify-content: center; }
  .qct-commerce-page .qct-checkout-summary table.shop_table .product-total { width: 84px !important; }
}

/* v2.3.2: stable Hostinger-inspired Cart layout. */
body.qct-commerce-page.woocommerce-cart .qct-commerce-content > .woocommerce {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0,1.45fr) minmax(330px,.55fr);
  gap: 24px;
  align-items: start;
}
body.qct-commerce-page.woocommerce-cart .qct-commerce-content > .woocommerce > .woocommerce-notices-wrapper,
body.qct-commerce-page.woocommerce-cart .qct-commerce-content > .woocommerce > .woocommerce-message,
body.qct-commerce-page.woocommerce-cart .qct-commerce-content > .woocommerce > .woocommerce-info,
body.qct-commerce-page.woocommerce-cart .qct-commerce-content > .woocommerce > .woocommerce-error { grid-column: 1/-1; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form {
  grid-column: 1;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--qct-line) !important;
  border-radius: 18px !important;
  background: var(--qct-card);
  box-shadow: 0 16px 50px rgba(9,9,40,.07);
}
body.qct-commerce-page.woocommerce-cart .cart-collaterals {
  grid-column: 2;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}
body.qct-commerce-page.woocommerce-cart .cart-collaterals::before,
body.qct-commerce-page.woocommerce-cart .cart-collaterals::after { content: none !important; display: none !important; }
body.qct-commerce-page.woocommerce-cart .cart-collaterals .cart_totals {
  position: sticky;
  top: 92px;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 27px !important;
  border: 1px solid var(--qct-line) !important;
  border-radius: 18px !important;
  background: var(--qct-card);
  box-shadow: 0 16px 50px rgba(9,9,40,.08);
}
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table {
  display: table !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  table-layout: auto;
}
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table thead { background: var(--qct-card-strong); }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table th { padding-block: 18px; color: var(--qct-muted); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table td { padding-block: 18px; vertical-align: middle; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-remove { width: 48px; padding-right: 4px; text-align: center; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-thumbnail { width: 92px; padding-inline: 8px; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-name { min-width: 180px; font-weight: 700; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-price,
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-quantity,
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-subtotal { width: 110px; white-space: nowrap; }
.qct-cart-product-art { display: grid; width: 72px; height: 72px; padding: 15px; place-items: center; overflow: hidden; border: 1px solid var(--qct-line); border-radius: 14px; background: radial-gradient(circle at 75% 20%,var(--qct-cyan-soft),transparent 45%),var(--qct-bg-alt); }
.qct-cart-product-art img { display: block; width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: contain; }
html[data-qct-theme="dark"] .qct-cart-product-art img { filter: brightness(0) invert(1); }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-remove a.remove { margin: auto; border: 1px solid var(--qct-line-strong); background: var(--qct-card-strong); font-size: 19px; font-weight: 400; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover { border-color: rgba(255,97,118,.45); background: rgba(255,97,118,.12); color: #ff6176 !important; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form td.actions { padding: 19px !important; background: var(--qct-card-strong); }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form td.actions::after { content: ""; display: table; clear: both; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .coupon { display: grid; float: left; width: min(100%,440px); grid-template-columns: minmax(150px,1fr) auto; gap: 10px; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .coupon label { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form #coupon_code { float: none !important; width: 100% !important; min-width: 0 !important; height: 50px; margin: 0 !important; padding: 10px 14px !important; border: 1px solid var(--qct-line-strong); border-radius: 10px; background: var(--qct-card); color: var(--qct-text); }
body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] { float: right; margin: 0 !important; }
body.qct-commerce-page.woocommerce-cart .cart_totals h2 { margin: 0 0 17px; padding-bottom: 17px; border-bottom: 1px solid var(--qct-line); font-size: 26px; }
body.qct-commerce-page.woocommerce-cart .cart_totals table.shop_table { margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
body.qct-commerce-page.woocommerce-cart .cart_totals table.shop_table th,
body.qct-commerce-page.woocommerce-cart .cart_totals table.shop_table td { padding: 15px 0; }
body.qct-commerce-page.woocommerce-cart .cart_totals table.shop_table th { width: 52%; color: var(--qct-muted); }
body.qct-commerce-page.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
body.qct-commerce-page.woocommerce-cart .cart_totals .order-total th,
body.qct-commerce-page.woocommerce-cart .cart_totals .order-total td { padding-top: 19px; color: var(--qct-text); font-size: 18px; }
body.qct-commerce-page.woocommerce-cart .wc-proceed-to-checkout { padding: 20px 0 0 !important; }
body.qct-commerce-page.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; margin: 0 !important; font-size: 15px !important; }
body.qct-commerce-page.woocommerce-cart .cross-sells { width: 100%; margin-top: 24px; }

@media (max-width: 980px) {
  body.qct-commerce-page.woocommerce-cart .qct-commerce-content > .woocommerce { grid-template-columns: minmax(0,1fr); }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form,
  body.qct-commerce-page.woocommerce-cart .cart-collaterals { grid-column: 1; }
  body.qct-commerce-page.woocommerce-cart .cart-collaterals { margin-top: 0 !important; }
  body.qct-commerce-page.woocommerce-cart .cart-collaterals .cart_totals { position: static; }
}

@media (max-width: 680px) {
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table thead { display: none !important; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item { display: block !important; width: 100% !important; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item { position: relative; min-height: 112px; padding: 18px 16px 18px 108px; border-bottom: 1px solid var(--qct-line); }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td { display: block !important; width: 100% !important; min-width: 0; padding: 3px 0 !important; border: 0 !important; text-align: left !important; white-space: normal; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td::before { content: none !important; display: none !important; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-remove { position: absolute; z-index: 2; top: 12px; left: 12px; width: 30px !important; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-thumbnail { position: absolute; top: 18px; left: 22px; display: block !important; width: 72px !important; padding: 0 !important; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-remove + .product-thumbnail { left: 24px; top: 50px; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-name { padding-top: 0 !important; padding-right: 12px !important; font-size: 16px; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-price::before { content: "Price: "; display: inline !important; color: var(--qct-muted); font-size: 12px; font-weight: 700; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-quantity::before { content: "Quantity: "; display: inline !important; color: var(--qct-muted); font-size: 12px; font-weight: 700; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item .product-subtotal::before { content: "Subtotal: "; display: inline !important; color: var(--qct-muted); font-size: 12px; font-weight: 700; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form td.actions { display: grid !important; padding: 16px !important; gap: 10px; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .coupon { float: none; width: 100%; grid-template-columns: 1fr; }
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form .coupon .button,
  body.qct-commerce-page.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] { float: none; width: 100%; margin: 0 !important; }
  body.qct-commerce-page.woocommerce-cart .cart-collaterals .cart_totals { padding: 21px 17px !important; }
  .qct-cart-product-art { width: 68px; height: 68px; padding: 14px; }
}

/* v2.3.3: professional managed-invoice payment workspace. */
body.qct-order-pay-page .qct-commerce-screen {
  background:
    radial-gradient(circle at 12% 2%,var(--qct-cyan-soft),transparent 24%),
    radial-gradient(circle at 92% 18%,rgba(99,91,255,.1),transparent 25%),
    var(--qct-bg-alt);
}
body.qct-order-pay-page .qct-commerce-content { width: min(1240px,calc(100% - 48px)); }
body.qct-order-pay-page .qct-commerce-head { margin-bottom: 24px; }

body.qct-order-pay-page .qct-invoice-context {
  display: block;
  margin: 0 0 24px;
  overflow: hidden;
  border: 1px solid var(--qct-line-strong);
  border-radius: 22px;
  background: var(--qct-card);
  box-shadow: 0 20px 60px rgba(9,9,40,.08);
}
body.qct-order-pay-page .qct-invoice-context > div { padding: 0; border: 0; }
body.qct-order-pay-page .qct-invoice-context__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 26px !important;
  border-bottom: 1px solid var(--qct-line) !important;
  background: linear-gradient(135deg,var(--qct-card),var(--qct-card-strong));
}
body.qct-order-pay-page .qct-invoice-context__identity { display: flex; align-items: center; gap: 16px; min-width: 0; }
body.qct-order-pay-page .qct-invoice-context__icon {
  display: grid !important;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid rgba(99,91,255,.2);
  border-radius: 15px;
  background: rgba(99,91,255,.1);
  color: var(--qct-accent);
}
body.qct-order-pay-page .qct-invoice-context__icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.qct-order-pay-page .qct-invoice-context__identity > span:last-child { display: grid; min-width: 0; }
body.qct-order-pay-page .qct-invoice-context small,
body.qct-order-pay-page .qct-invoice-context__meta span { color: var(--qct-muted); font: 800 10px/1.2 "Manrope",sans-serif; letter-spacing: .1em; text-transform: uppercase; }
body.qct-order-pay-page .qct-invoice-context__identity strong { margin-top: 5px; color: var(--qct-text); font: 800 clamp(20px,2.4vw,28px)/1.15 "Manrope",sans-serif; letter-spacing: -.02em; }
body.qct-order-pay-page .qct-invoice-context__identity em { margin-top: 4px; color: var(--qct-muted); font-size: 12px; font-style: normal; }
body.qct-order-pay-page .qct-invoice-context__amount { flex: 0 0 auto; text-align: right; }
body.qct-order-pay-page .qct-invoice-context__amount small { display: block; }
body.qct-order-pay-page .qct-invoice-context__amount strong { display: block; margin-top: 4px; color: var(--qct-text); font: 800 clamp(24px,3vw,34px)/1.1 "Manrope",sans-serif; letter-spacing: -.03em; }
body.qct-order-pay-page .qct-invoice-context__amount em { display: inline-flex; align-items: center; gap: 7px; margin-top: 7px; color: #128057; font-size: 12px; font-style: normal; font-weight: 800; }
body.qct-order-pay-page .qct-invoice-context__amount i { width: 7px; height: 7px; border-radius: 50%; background: #18b978; box-shadow: 0 0 0 4px rgba(24,185,120,.12); }
body.qct-order-pay-page .qct-invoice-context__meta {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  padding: 0 26px !important;
}
body.qct-order-pay-page .qct-invoice-context__meta > div { min-width: 0; padding: 18px 20px 19px 0; border-right: 1px solid var(--qct-line); }
body.qct-order-pay-page .qct-invoice-context__meta > div + div { padding-left: 20px; }
body.qct-order-pay-page .qct-invoice-context__meta > div:last-child { border-right: 0; }
body.qct-order-pay-page .qct-invoice-context__meta strong { display: block; margin-top: 5px; overflow-wrap: anywhere; color: var(--qct-text); font: 700 14px/1.35 "Manrope",sans-serif; }

body.qct-order-pay-page .qct-commerce-content > .woocommerce > .woocommerce-info {
  margin-bottom: 24px !important;
  border: 1px solid rgba(255,170,64,.28) !important;
  border-top: 1px solid rgba(255,170,64,.55) !important;
  background: color-mix(in srgb,var(--qct-card) 90%,#fff4dd 10%) !important;
  box-shadow: 0 10px 34px rgba(9,9,40,.05);
}
body.qct-order-pay-page .qct-commerce-content > .woocommerce > .woocommerce-info::before { color: #d88718; }

body.qct-order-pay-page form#order_review {
  display: grid !important;
  grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr);
  gap: 24px;
  align-items: start;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.qct-order-pay-page .qct-invoice-lines,
body.qct-order-pay-page form#order_review > table.shop_table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--qct-line) !important;
  border-radius: 20px !important;
  background: var(--qct-card);
  box-shadow: 0 18px 54px rgba(9,9,40,.07);
}
body.qct-order-pay-page .qct-invoice-lines__head { padding: 24px 26px 20px; border-bottom: 1px solid var(--qct-line); background: linear-gradient(135deg,var(--qct-card),var(--qct-card-strong)); }
body.qct-order-pay-page .qct-invoice-lines__head > span,
body.qct-order-pay-page .qct-invoice-payment-head > span { display: block; margin-bottom: 6px; color: var(--qct-accent); font: 800 10px/1.2 "Manrope",sans-serif; letter-spacing: .11em; text-transform: uppercase; }
body.qct-order-pay-page .qct-invoice-lines__head h2,
body.qct-order-pay-page .qct-invoice-payment-head h2 { margin: 0; color: var(--qct-text); font-size: 22px; letter-spacing: -.02em; }
body.qct-order-pay-page .qct-invoice-lines__head p,
body.qct-order-pay-page .qct-invoice-payment-head p { margin: 7px 0 0; color: var(--qct-muted); font-size: 13px; line-height: 1.55; }

body.qct-order-pay-page .qct-invoice-lines > table.shop_table,
body.qct-order-pay-page form#order_review > table.shop_table {
  display: table !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: auto;
  box-shadow: none !important;
}
body.qct-order-pay-page form#order_review table.shop_table thead { display: table-header-group !important; background: var(--qct-card-strong); }
body.qct-order-pay-page form#order_review table.shop_table tbody { display: table-row-group !important; }
body.qct-order-pay-page form#order_review table.shop_table tfoot { display: table-footer-group !important; }
body.qct-order-pay-page form#order_review table.shop_table tr { display: table-row !important; }
body.qct-order-pay-page form#order_review table.shop_table th,
body.qct-order-pay-page form#order_review table.shop_table td {
  display: table-cell !important;
  width: auto !important;
  padding: 17px 20px;
  border: 0 !important;
  border-bottom: 1px solid var(--qct-line) !important;
  color: var(--qct-text);
  text-align: left;
  vertical-align: top;
}
body.qct-order-pay-page form#order_review table.shop_table thead th { color: var(--qct-muted); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
body.qct-order-pay-page form#order_review table.shop_table .product-name { width: 58% !important; font-weight: 750; }
body.qct-order-pay-page form#order_review table.shop_table .product-quantity { width: 16% !important; white-space: nowrap; text-align: center; }
body.qct-order-pay-page form#order_review table.shop_table .product-total { width: 26% !important; white-space: nowrap; text-align: right; }
body.qct-order-pay-page form#order_review table.shop_table td.product-name { font-size: 15px; }
body.qct-order-pay-page form#order_review table.shop_table td.product-total { font-weight: 800; }
body.qct-order-pay-page form#order_review table.shop_table dl.variation,
body.qct-order-pay-page form#order_review table.shop_table .wc-item-meta { margin: 8px 0 0; padding: 0; color: var(--qct-muted); font-size: 12px; font-weight: 500; list-style: none; }
body.qct-order-pay-page form#order_review table.shop_table dl.variation p,
body.qct-order-pay-page form#order_review table.shop_table .wc-item-meta p { margin: 0; }
body.qct-order-pay-page form#order_review table.shop_table tfoot th { color: var(--qct-muted); font-size: 13px; font-weight: 700; }
body.qct-order-pay-page form#order_review table.shop_table tfoot td { text-align: right; font-weight: 750; }
body.qct-order-pay-page form#order_review table.shop_table tfoot .order-total th,
body.qct-order-pay-page form#order_review table.shop_table tfoot .order-total td { padding-top: 20px; padding-bottom: 20px; border-bottom: 0 !important; background: linear-gradient(135deg,rgba(99,91,255,.09),var(--qct-cyan-soft)); color: var(--qct-text); font-size: 18px; }
body.qct-order-pay-page form#order_review table.shop_table tfoot .order-total td { font-size: 21px; }
body.qct-order-pay-page form#order_review table.shop_table td::before { content: none !important; display: none !important; }

body.qct-order-pay-page form#order_review > #payment {
  position: sticky;
  top: 92px;
  min-width: 0;
  margin: 0 !important;
  padding: 24px !important;
  overflow: visible;
  border: 1px solid var(--qct-line) !important;
  border-radius: 20px !important;
  background: var(--qct-card) !important;
  box-shadow: 0 18px 54px rgba(9,9,40,.09);
}
body.qct-order-pay-page .qct-invoice-payment-head { padding-bottom: 20px; border-bottom: 1px solid var(--qct-line); }
body.qct-order-pay-page form#order_review #payment ul.payment_methods { margin: 0 !important; padding: 14px 0 0 !important; border: 0 !important; }
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  column-gap: 11px;
  align-items: center;
  margin: 0 0 10px !important;
  padding: 15px 16px !important;
  border: 1px solid var(--qct-line) !important;
  border-radius: 13px;
  background: var(--qct-card-strong) !important;
  transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li:hover { transform: translateY(-1px); border-color: var(--qct-line-strong) !important; }
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li:has(input:checked) { border-color: var(--qct-accent) !important; box-shadow: 0 0 0 3px rgba(99,91,255,.1); }
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li > input { grid-column: 1; width: 17px; height: 17px; margin: 0 !important; accent-color: var(--qct-accent); }
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li > label { grid-column: 2; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px; width: 100%; min-width: 0; margin: 0 !important; color: var(--qct-text); font-size: 13px; font-weight: 800; }
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li > label img { float: none !important; width: auto; height: auto; max-width: 132px; max-height: 40px; margin: 0 !important; object-fit: contain; }
body.qct-order-pay-page form#order_review #payment .payment_box { grid-column: 1/-1; margin: 13px 0 0 !important; padding: 13px 14px !important; border: 0 !important; border-radius: 9px !important; background: var(--qct-bg-alt) !important; color: var(--qct-muted) !important; font-size: 12px; line-height: 1.5; }
body.qct-order-pay-page form#order_review #payment .payment_box::before { border-bottom-color: var(--qct-bg-alt) !important; }
body.qct-order-pay-page form#order_review #payment .place-order { margin: 0 !important; padding: 10px 0 0 !important; border: 0 !important; background: transparent !important; }
body.qct-order-pay-page form#order_review #payment .woocommerce-privacy-policy-text { margin: 2px 0 15px; padding: 13px 14px; border-radius: 10px; background: var(--qct-bg-alt); color: var(--qct-muted); font-size: 11px; line-height: 1.55; }
body.qct-order-pay-page form#order_review #payment #place_order { min-height: 54px; margin: 0 !important; font-size: 14px !important; letter-spacing: .01em; }
body.qct-order-pay-page .qct-checkout-assurance { margin-top: 26px; }

html[data-qct-theme="dark"] body.qct-order-pay-page .qct-invoice-context,
html[data-qct-theme="dark"] body.qct-order-pay-page .qct-invoice-lines,
html[data-qct-theme="dark"] body.qct-order-pay-page form#order_review > #payment { box-shadow: 0 20px 60px rgba(0,0,0,.26); }

@media (max-width: 980px) {
  body.qct-order-pay-page form#order_review { grid-template-columns: minmax(0,1fr); }
  body.qct-order-pay-page form#order_review > #payment { position: static; }
}

@media (max-width: 680px) {
  body.qct-order-pay-page .qct-commerce-content { width: min(100% - 24px,1240px); }
  body.qct-order-pay-page .qct-invoice-context { border-radius: 17px; }
  body.qct-order-pay-page .qct-invoice-context__top { align-items: flex-start; flex-direction: column; gap: 18px; padding: 20px !important; }
  body.qct-order-pay-page .qct-invoice-context__amount { width: 100%; padding-top: 17px; border-top: 1px solid var(--qct-line); text-align: left; }
  body.qct-order-pay-page .qct-invoice-context__meta { grid-template-columns: 1fr; padding: 0 20px !important; }
  body.qct-order-pay-page .qct-invoice-context__meta > div,
  body.qct-order-pay-page .qct-invoice-context__meta > div + div { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--qct-line); }
  body.qct-order-pay-page .qct-invoice-context__meta > div:last-child { border-bottom: 0; }
  body.qct-order-pay-page .qct-invoice-lines,
  body.qct-order-pay-page form#order_review > #payment { border-radius: 16px !important; }
  body.qct-order-pay-page .qct-invoice-lines__head,
  body.qct-order-pay-page form#order_review > #payment { padding: 20px 17px !important; }
  body.qct-order-pay-page form#order_review table.shop_table th,
  body.qct-order-pay-page form#order_review table.shop_table td { padding: 14px 8px; font-size: 12px; }
  body.qct-order-pay-page form#order_review table.shop_table th:first-child,
  body.qct-order-pay-page form#order_review table.shop_table td:first-child { padding-left: 14px; }
  body.qct-order-pay-page form#order_review table.shop_table th:last-child,
  body.qct-order-pay-page form#order_review table.shop_table td:last-child { padding-right: 14px; }
  body.qct-order-pay-page form#order_review table.shop_table .product-name { width: 55% !important; }
  body.qct-order-pay-page form#order_review table.shop_table .product-quantity { width: 14% !important; }
  body.qct-order-pay-page form#order_review table.shop_table .product-total { width: 31% !important; }
  body.qct-order-pay-page form#order_review table.shop_table td.product-name { font-size: 13px; }
  body.qct-order-pay-page form#order_review table.shop_table tfoot .order-total th,
  body.qct-order-pay-page form#order_review table.shop_table tfoot .order-total td { font-size: 15px; }
  body.qct-order-pay-page form#order_review table.shop_table tfoot .order-total td { font-size: 17px; }
  body.qct-order-pay-page form#order_review #payment ul.payment_methods > li { padding: 14px !important; }
  body.qct-order-pay-page form#order_review #payment ul.payment_methods > li > label { flex-wrap: wrap; }
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li > label img { max-width: 116px; max-height: 36px; }
}

/* v2.3.4: Hostinger-inspired product-checkout payment cards. */
.qct-checkout-payment-shell {
  padding: 26px;
  border-radius: 20px;
  box-shadow: 0 18px 54px rgba(9,9,40,.08);
}
.qct-checkout-payment-head {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 15px;
  align-items: center;
  margin: 0 0 24px;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--qct-line);
}
.qct-checkout-payment-head .qct-checkout-payment-step {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: 0;
  border: 1px solid rgba(99,91,255,.3);
  border-radius: 50%;
  background: rgba(99,91,255,.08);
  color: var(--qct-accent);
  font: 800 18px/1 "Manrope",sans-serif;
  letter-spacing: 0;
}
.qct-checkout-payment-head .qct-checkout-payment-kicker {
  display: block;
  margin: 0 0 4px;
  color: var(--qct-accent);
  font: 800 10px/1.2 "Manrope",sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.qct-checkout-payment-head h2 { margin: 0; font-size: 25px; letter-spacing: -.025em; }
.qct-checkout-payment-head p { margin: 5px 0 0; font-size: 12px; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment {
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.qct-checkout-payment-shell .qct-payment-options-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  color: var(--qct-text);
  font-size: 12px;
}
.qct-checkout-payment-shell .qct-payment-options-label strong { font-size: 13px; }
.qct-checkout-payment-shell .qct-payment-options-label span { color: var(--qct-muted); font-size: 10px; }
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods {
  display: grid;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  column-gap: 11px;
  align-items: center;
  margin: 0 !important;
  padding: 15px 16px !important;
  border: 1px solid var(--qct-line) !important;
  border-radius: 13px;
  background: var(--qct-card-strong) !important;
  transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li:hover {
  transform: translateY(-1px);
  border-color: var(--qct-line-strong) !important;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li.is-selected,
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li:has(input:checked) {
  border-color: var(--qct-accent) !important;
  box-shadow: 0 0 0 3px rgba(99,91,255,.1);
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > input {
  grid-column: 1;
  width: 17px;
  height: 17px;
  margin: 0 !important;
  accent-color: var(--qct-accent);
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > label {
  grid-column: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  color: var(--qct-text);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > label img {
  float: none !important;
  width: auto !important;
  height: auto !important;
  max-width: 138px !important;
  max-height: 40px !important;
  margin: 0 !important;
  object-fit: contain;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > label img[alt*="Accepted cards"] {
  width: 176px !important;
  max-width: min(176px,46vw) !important;
  max-height: 36px !important;
}
body.qct-order-pay-page form#order_review #payment ul.payment_methods > li > label img[alt*="Accepted cards"] {
  width: 176px !important;
  max-width: min(176px,46vw) !important;
  max-height: 36px !important;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment .payment_box {
  grid-column: 1/-1;
  margin: 13px 0 0 !important;
  padding: 13px 14px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--qct-bg-alt) !important;
  color: var(--qct-muted) !important;
  font-size: 12px;
  line-height: 1.5;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment .payment_box::before { border-bottom-color: var(--qct-bg-alt) !important; }
.qct-commerce-page .qct-checkout-payment-shell #payment .place-order {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.qct-commerce-page .qct-checkout-payment-shell .woocommerce-privacy-policy-text {
  margin: 0 0 13px;
  padding: 13px 14px;
  border-radius: 10px;
  background: var(--qct-bg-alt);
  font-size: 11px;
}
.qct-commerce-page .qct-checkout-payment-shell #place_order {
  min-height: 54px;
  margin: 0 !important;
  border-radius: 11px !important;
  font-size: 14px !important;
  letter-spacing: .01em;
}
html[data-qct-theme="dark"] .qct-checkout-payment-shell { box-shadow: 0 20px 60px rgba(0,0,0,.26); }

@media (max-width: 680px) {
  .qct-checkout-payment-shell { padding: 20px 17px; border-radius: 16px; }
  .qct-checkout-payment-head { grid-template-columns: 40px minmax(0,1fr); gap: 12px; margin-bottom: 19px; padding-bottom: 18px; }
  .qct-checkout-payment-head .qct-checkout-payment-step { width: 40px; height: 40px; font-size: 16px; }
  .qct-checkout-payment-head h2 { font-size: 22px; }
  .qct-checkout-payment-shell .qct-payment-options-label { align-items: flex-start; flex-direction: column; gap: 3px; }
  .qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li { padding: 14px !important; }
  .qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > label { flex-wrap: wrap; gap: 10px; }
  .qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > label img { max-width: 122px !important; max-height: 36px !important; }
  .qct-commerce-page .qct-checkout-payment-shell .woocommerce-checkout-payment ul.payment_methods > li > label img[alt*="Accepted cards"] { width: 158px !important; max-width: 100% !important; }
}
