/* ==========================================================================
   LiveTech-IP — component classes + light/dark theme
   ========================================================================== */

/* ---- Nav links (theme-aware via classes, no inline hover) ---- */
.lt-navlink{padding:8px 14px;font-size:14px;font-weight:500;color:#94a3b8;border-radius:7px;transition:color .2s,background .2s}
.lt-navlink:hover{color:#f1f5f9}
.lt-navlink.is-active{color:#f1f5f9}

/* ---- Theme toggle button ---- */
.lt-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04);color:#cbd5e1;cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.lt-theme-toggle:hover{color:#f1f5f9;border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.10)}
.lt-theme-toggle .lt-icon-sun{display:none}
.lt-theme-toggle .lt-icon-moon{display:block}
body.lt-light .lt-theme-toggle .lt-icon-sun{display:block}
body.lt-light .lt-theme-toggle .lt-icon-moon{display:none}

/* ---- Footer links / social ---- */
.lt-footlink{color:#94a3b8;transition:color .2s}
.lt-footlink:hover{color:#f1f5f9}
.lt-social{width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:border-color .2s,color .2s,background .2s}
.lt-social:hover{border-color:rgba(99,102,241,0.5);color:#818cf8;background:rgba(99,102,241,0.08)}

/* ---- News card image hover: scale the whole thumb (image + overlay) together ---- */
.lt-card-thumb{transition:transform .5s ease;transform-origin:center center}
.lt-news-card:hover .lt-card-thumb{transform:scale(1.04)}

/* ---- Outline button (theme-aware, CSS hover so JS never breaks it) ---- */
.lt-btn-outline{color:#f1f5f9;background:transparent;border:1px solid rgba(255,255,255,0.15);transition:border-color .2s,background .2s,color .2s}
.lt-btn-outline:hover{border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.08)}
body.lt-light .lt-btn-outline{color:#0f172a;border-color:rgba(15,23,42,0.18)}
body.lt-light .lt-btn-outline:hover{border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.08);color:#0f172a}

/* ---- Form fields (class-based: stays correct in light even after JS focus) ---- */
.lt-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:520px){.lt-field-row{grid-template-columns:1fr}}
.lt-field{display:flex;flex-direction:column}
.lt-label{font-size:13px;font-weight:600;color:#94a3b8;margin-bottom:7px;letter-spacing:0.5px}
.lt-input{width:100%;padding:13px 16px;background:#111118;border:1px solid rgba(255,255,255,0.1);border-radius:8px;font-size:15px;color:#f1f5f9;font-family:inherit;outline:none;transition:border-color .2s,background .2s,color .2s}
.lt-input::placeholder{color:#64748b}
.lt-input:focus{border-color:rgba(99,102,241,0.6)}
.lt-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
body.lt-light .lt-input{background:#ffffff;border-color:rgba(15,23,42,0.14);color:#0f172a}
body.lt-light .lt-input::placeholder{color:#94a3b8}
body.lt-light .lt-input:focus{border-color:rgba(99,102,241,0.6)}
body.lt-light .lt-label{color:#475569}
body.lt-light .lt-office{background:#ffffff;border-color:rgba(15,23,42,0.10)}

/* ---- Post (article) prev/next nav cards in light ---- */
body.lt-light .lt-postnav-card{background:#ffffff;border-color:rgba(15,23,42,0.10)}

/* ---- Newsletter (footer) ---- */
.lt-news-form{flex:1 1 320px;max-width:440px;min-width:0;display:flex;flex-direction:column;gap:12px}
.lt-news-row{display:flex;gap:10px}
.lt-news-input{flex:1;min-width:0;box-sizing:border-box;height:46px;padding:12px 14px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);border-radius:8px;font-size:14px;color:#f1f5f9;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.lt-news-input::placeholder{color:#64748b}
.lt-news-input:focus{border-color:rgba(99,102,241,0.6);box-shadow:0 0 0 3px rgba(99,102,241,0.15)}
body.lt-light .lt-news-input{background:rgba(15,23,42,0.04);border-color:rgba(15,23,42,0.14);color:#0f172a}
body.lt-light .lt-news-input::placeholder{color:#94a3b8}
.lt-news-btn{flex-shrink:0;box-sizing:border-box;height:46px;padding:0 20px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:transform .2s}
.lt-news-btn:hover{transform:scale(1.03)}
.lt-news-consent{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.5;color:#64748b;cursor:pointer}
.lt-news-consent input{margin:2px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:#6366f1;cursor:pointer}
.lt-news-consent a{color:#818cf8;text-decoration:underline}
body.lt-light .lt-news-consent{color:#475569}

/* ==========================================================================
   EDITORIAL EYEBROWS  (de-"AI" pass)
   Converts the uppercase, letter-spaced indigo eyebrow labels used across
   sections into a calmer editorial label: a short accent rule + normal-case
   text. Targets the authored inline pattern; these elements are never mutated
   by JS, so the substring match stays stable. Footer column titles keep the
   classic small-caps look.
   ========================================================================== */
[style*="letter-spacing:1.5px"][style*="text-transform:uppercase"][style*="margin-bottom:1"]{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:14px !important;
  font-weight:500 !important;
}
/* Footer column headings keep their compact small-caps styling */
.lt-footer [style*="letter-spacing:1.5px"]{
  text-transform:uppercase !important;
  letter-spacing:1.5px !important;
  font-size:11px !important;
  font-weight:600 !important;
  display:block !important;
}
.lt-footer [style*="letter-spacing:1.5px"]::before{content:none !important}

/* ---- Portfolio cards: header image + subtle hover zoom ---- */
.lt-portfolio-card{overflow:hidden}
.lt-portfolio-card img{transition:transform .5s ease}
.lt-portfolio-card:hover img{transform:scale(1.05)}

/* ---- Reveal-on-scroll (class based — keeps inline styles pristine) ---- */
html.lt-js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
html.lt-js [data-reveal].lt-in{opacity:1;transform:none}

/* ==========================================================================
   LIGHT THEME
   Overrides the dark inline styles. Substring selectors target authored
   inline styles; component classes handle interactive chrome.
   ========================================================================== */
body.lt-light{background:#f5f7fc !important;color:#0f172a}
body.lt-light #lt-root{background:#f5f7fc !important;color:#0f172a !important}
body.lt-light ::-webkit-scrollbar-track{background:#e7ebf3}
body.lt-light ::-webkit-scrollbar-thumb{background:#cbd2e0}
body.lt-light ::selection{background:rgba(99,102,241,0.18);color:#0f172a}

/* Nav / footer chrome */
body.lt-light .lt-navlink{color:#475569}
body.lt-light .lt-navlink:hover,body.lt-light .lt-navlink.is-active{color:#0f172a}
body.lt-light .lt-theme-toggle{border-color:rgba(15,23,42,0.14);background:rgba(15,23,42,0.04);color:#475569}
body.lt-light .lt-theme-toggle:hover{color:#0f172a;border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.10)}
body.lt-light .lt-footlink{color:#475569}
body.lt-light .lt-footlink:hover{color:#0f172a}
body.lt-light .lt-social{border-color:rgba(15,23,42,0.12);color:#475569}
body.lt-light .lt-social:hover{border-color:rgba(99,102,241,0.5);color:#6366f1;background:rgba(99,102,241,0.08)}
body.lt-light .lt-logo{color:#0f172a}

/* Surfaces / cards */
body.lt-light [style*="#111118"]{background:#ffffff !important}
body.lt-light [style*="#07070f"]{background:#eef1f8 !important}
body.lt-light [style*="#101019"]{background:linear-gradient(120deg,#ffffff,#eef1f8) !important}
body.lt-light .lt-hero-fade{background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(59,130,246,0.10),transparent 60%),linear-gradient(180deg,transparent 60%,#f5f7fc 100%) !important}
body.lt-light [style*="border:2px solid #6366f1"]{background:#ffffff !important}

/* Text colors */
body.lt-light [style*="color:#f1f5f9"]{color:#0f172a !important}
body.lt-light [style*="color:#94a3b8"]{color:#475569 !important}
body.lt-light [style*="color:#cbd5e1"]{color:#334155 !important}
body.lt-light [style*="color:#64748b"]{color:#5b667a !important}
body.lt-light [style*="color:#475569"]{color:#64748b !important}

/* Borders & faint white fills */
body.lt-light [style*="rgba(255,255,255,0.07)"]{border-color:rgba(15,23,42,0.10) !important}
body.lt-light [style*="rgba(255,255,255,0.06)"]{border-color:rgba(15,23,42,0.09) !important}
body.lt-light [style*="rgba(255,255,255,0.1)"]{border-color:rgba(15,23,42,0.12) !important}
body.lt-light [style*="rgba(255,255,255,0.12)"]{border-color:rgba(15,23,42,0.14) !important}
body.lt-light [style*="rgba(255,255,255,0.15)"]{border-color:rgba(15,23,42,0.18) !important}
body.lt-light [style*="background:rgba(255,255,255,0.02)"]{background:rgba(15,23,42,0.03) !important}
body.lt-light [style*="background:rgba(255,255,255,0.03)"]{background:rgba(15,23,42,0.04) !important}
body.lt-light [style*="background:rgba(255,255,255,0.05)"]{background:rgba(15,23,42,0.04) !important}

/* Section dividers that use border-top on a white-alpha token already covered above.
   Subtle section gradient washes read fine on light, leave as-is. */

/* Cards: target the stable [data-card] attribute (not a hex substring) so the
   JS hover handlers, which re-serialize inline styles, can't break theming. */
body.lt-light [data-card]{background:#ffffff !important;border-color:rgba(15,23,42,0.10) !important;box-shadow:0 1px 3px rgba(15,23,42,0.05)}
body.lt-light [data-card]:hover{border-color:rgba(99,102,241,0.45) !important;box-shadow:0 14px 40px rgba(15,23,42,0.12) !important}
/* Service cards on the home page use a CSS-class background, also flip them */
body.lt-light .lt-service-card,body.lt-light .lt-news-card{background:#ffffff !important;border-color:rgba(15,23,42,0.10) !important}
body.lt-light .lt-service-card p,body.lt-light .lt-news-body p{color:#475569 !important}

/* Use-case hero image overlay stays subtle on light */
body.lt-light .lt-uc-hero-img [style*="rgba(10,10,15"]{opacity:.85}

/* Ghost nav over dark article hero: restore white text in light mode */
body.lt-light.lt-dark-hero #lt-nav.lt-nav-ghost .lt-navlink{color:rgba(255,255,255,0.75) !important}
body.lt-light.lt-dark-hero #lt-nav.lt-nav-ghost .lt-navlink:hover,
body.lt-light.lt-dark-hero #lt-nav.lt-nav-ghost .lt-navlink.is-active{color:#fff !important}
body.lt-light.lt-dark-hero #lt-nav.lt-nav-ghost .lt-logo-svg .lt-wm{fill:#f8fafc !important}
body.lt-light.lt-dark-hero #lt-nav.lt-nav-ghost .lt-logo-svg .lt-wm-sub{fill:#94a3b8 !important}
body.lt-light.lt-dark-hero #lt-nav.lt-nav-ghost .lt-theme-toggle{border-color:rgba(255,255,255,0.18) !important;color:rgba(255,255,255,0.75) !important;background:rgba(255,255,255,0.05) !important}

/* Legal/static page body copy (.lt-page-content h2/h3/strong are set via a
   <style> block in page.php with dark-mode colors) */
body.lt-light .lt-page-content{color:#475569}
body.lt-light .lt-page-content h2,
body.lt-light .lt-page-content h3{color:#0f172a}
body.lt-light .lt-page-content strong{color:#334155}

/* ==========================================================================
   COMPLIANZ COOKIE CONSENT — LiveTech-IP branding
   Overrides Complianz's default banner/manage-consent styling to match
   the indigo/dark palette used across the theme, with a light-theme variant.
   ========================================================================== */
#cmplz-cookiebanner-container{font-family:'Inter',system-ui,sans-serif !important}

.cmplz-cookiebanner{
  background:#111118 !important;
  color:#f1f5f9 !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  border-radius:14px !important;
  box-shadow:0 14px 50px rgba(0,0,0,0.45) !important;
}
.cmplz-cookiebanner .cmplz-header .cmplz-title,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-links,
.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner label,
.cmplz-cookiebanner .cmplz-description{
  color:#f1f5f9 !important;
}
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-description{color:#94a3b8 !important}
.cmplz-cookiebanner a{color:#818cf8 !important;text-decoration:underline}

/* Category blocks / divider lines */
.cmplz-cookiebanner .cmplz-categories,
.cmplz-cookiebanner .cmplz-divider,
.cmplz-cookiebanner hr{border-color:rgba(255,255,255,0.08) !important}
.cmplz-cookiebanner .cmplz-category{border:1px solid rgba(255,255,255,0.07) !important;background:rgba(255,255,255,0.02) !important;border-radius:10px !important}

/* Toggle switches -> indigo when active */
.cmplz-cookiebanner input:checked + .cmplz-slider,
.cmplz-cookiebanner .cmplz-slider.cmplz-active{background-color:#6366f1 !important}
.cmplz-cookiebanner .cmplz-slider{background-color:rgba(255,255,255,0.15) !important}

/* Buttons */
.cmplz-cookiebanner .cmplz-btn{
  border-radius:8px !important;
  font-weight:600 !important;
  font-family:inherit !important;
  transition:transform .2s,box-shadow .2s !important;
}
.cmplz-cookiebanner .cmplz-btn:hover{transform:scale(1.02)}
.cmplz-cookiebanner .cmplz-accept,
.cmplz-cookiebanner .cmplz-accept-all{
  background:linear-gradient(135deg,#3b82f6,#6366f1) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 0 0 1px rgba(99,102,241,0.3),0 6px 24px rgba(59,130,246,0.35) !important;
}
.cmplz-cookiebanner .cmplz-deny,
.cmplz-cookiebanner .cmplz-deny-all{
  background:transparent !important;
  color:#f1f5f9 !important;
  border:1px solid rgba(255,255,255,0.15) !important;
}
.cmplz-cookiebanner .cmplz-manage-options,
.cmplz-cookiebanner .cmplz-manage-consent-container button,
.cmplz-cookiebanner .cmplz-view-preferences{
  background:transparent !important;
  color:#818cf8 !important;
  border:1px solid rgba(99,102,241,0.3) !important;
}

/* Hide Complianz's floating "manage consent" tab, reopened instead from the
   "Cookie preferences" link in the footer. (Does not affect the
   [cmplz-manage-consent] shortcode container placed in page content.) */
#cmplz-manage-consent{display:none !important}
/* The re-opened preferences banner (manage-consent mode) keeps the dark styling */
.cmplz-cookiebanner.cmplz-manage-consent{
  background:#111118 !important;
  border:1px solid rgba(99,102,241,0.3) !important;
  box-shadow:0 4px 20px rgba(0,0,0,0.4) !important;
}

/* ---- Light theme overrides ---- */
body.lt-light .cmplz-cookiebanner{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,0.10) !important;
  box-shadow:0 14px 50px rgba(15,23,42,0.12) !important;
}
body.lt-light .cmplz-cookiebanner .cmplz-header .cmplz-title,
body.lt-light .cmplz-cookiebanner .cmplz-links,
body.lt-light .cmplz-cookiebanner .cmplz-links a,
body.lt-light .cmplz-cookiebanner label{color:#0f172a !important}
body.lt-light .cmplz-cookiebanner .cmplz-message,
body.lt-light .cmplz-cookiebanner .cmplz-description{color:#475569 !important}
body.lt-light .cmplz-cookiebanner .cmplz-category{border-color:rgba(15,23,42,0.10) !important;background:rgba(15,23,42,0.03) !important}
body.lt-light .cmplz-cookiebanner .cmplz-deny,
body.lt-light .cmplz-cookiebanner .cmplz-deny-all{color:#0f172a !important;border-color:rgba(15,23,42,0.15) !important}
body.lt-light .cmplz-cookiebanner.cmplz-manage-consent{background:#ffffff !important;border-color:rgba(99,102,241,0.3) !important}

/* ==========================================================================
   COMPLIANZ IN-PAGE SHORTCODES — [cmplz-cookies] table & [cmplz-manage-consent]
   Rendered inside .lt-page-content on the legal pages. Dark by default,
   light overrides under body.lt-light.
   ========================================================================== */
.lt-page-content details.cmplz-dropdown{
  background:#111118;border:1px solid rgba(255,255,255,0.07);border-radius:10px;
  margin-bottom:14px;overflow:hidden;color:#f1f5f9;list-style:none
}
.lt-page-content summary.cmplz-service-header{
  cursor:pointer;padding:18px 22px;list-style:none;display:block
}
.lt-page-content summary.cmplz-service-header::-webkit-details-marker,
.lt-page-content summary.cmplz-service-header::marker{display:none;content:''}
.lt-page-content summary.cmplz-service-header h3{font-size:16px;font-weight:700;color:#f1f5f9;margin:0 0 4px}
.lt-page-content summary.cmplz-service-header p{font-size:13px;line-height:1.6;color:#94a3b8;margin:0}
.lt-page-content summary.cmplz-service-header input[type="checkbox"]{accent-color:#6366f1;width:16px;height:16px;margin-top:10px}
.lt-page-content .cmplz-service-description,
.lt-page-content .cmplz-sharing-data,
.lt-page-content .cookies-per-purpose{
  padding:0 22px 18px;border-top:1px solid rgba(255,255,255,0.06);margin-top:14px
}
.lt-page-content .cmplz-service-description h4,
.lt-page-content .cmplz-sharing-data h4,
.lt-page-content .cookies-per-purpose .purpose h4{
  font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#818cf8;margin:16px 0 6px
}
.lt-page-content .cmplz-service-description p,
.lt-page-content .cmplz-sharing-data p{font-size:14px;line-height:1.7;color:#94a3b8;margin:0}
.lt-page-content .cookies-per-purpose{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 16px}
.lt-page-content .cookies-per-purpose .purpose{grid-column:1/-1}
.lt-page-content .cookies-per-purpose .name-header,
.lt-page-content .cookies-per-purpose .retention-header,
.lt-page-content .cookies-per-purpose .function-header{
  font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#64748b;margin-top:14px
}
.lt-page-content .cookies-per-purpose .name,
.lt-page-content .cookies-per-purpose .retention,
.lt-page-content .cookies-per-purpose .function{
  font-size:13px;line-height:1.7;color:#cbd5e1;margin-bottom:10px;word-break:break-word
}
@media(max-width:640px){
  .lt-page-content .cookies-per-purpose{grid-template-columns:1fr}
}

/* [cmplz-manage-consent] shortcode container + nojavascript fallback */
.lt-page-content #cmplz-manage-consent-container-nojavascript{display:none}
.lt-page-content .cmplz-manage-consent-container button,
.lt-page-content .cmplz-manage-consent-container a{
  display:inline-flex;align-items:center;gap:8px;padding:13px 26px;font-size:14px;font-weight:600;
  color:#818cf8;background:transparent;border:1px solid rgba(99,102,241,0.3);border-radius:8px;
  cursor:pointer;font-family:inherit;transition:transform .2s,background .2s
}
.lt-page-content .cmplz-manage-consent-container button:hover,
.lt-page-content .cmplz-manage-consent-container a:hover{background:rgba(99,102,241,0.08)}

/* Complianz ships its own hardcoded colours (e.g. #222 category titles,
   black icons, white table cells) that are invisible on our dark theme;
   override them inside .lt-page-content. */
.lt-page-content .cookies-per-purpose .name-header,
.lt-page-content .cookies-per-purpose .retention-header,
.lt-page-content .cookies-per-purpose .function-header,
.lt-page-content .cookies-per-purpose .name,
.lt-page-content .cookies-per-purpose .retention,
.lt-page-content .cookies-per-purpose .function{background:transparent !important}
.lt-page-content .cmplz-category{background:rgba(255,255,255,0.03) !important;border-color:rgba(255,255,255,0.07) !important}
.lt-page-content .cmplz-category-title,
.lt-page-content .cmplz-label,
.lt-page-content summary.cmplz-service-header h3{color:#f1f5f9 !important}
.lt-page-content .cmplz-icon svg{fill:#94a3b8 !important}
.lt-page-content .cmplz-description{color:#94a3b8 !important}
.lt-page-content .cmplz-always-active{color:#4ade80 !important}

/* ---- Light theme overrides for in-page shortcodes ---- */
body.lt-light .lt-page-content details.cmplz-dropdown{
  background:#ffffff;border-color:rgba(15,23,42,0.10);color:#0f172a
}
body.lt-light .lt-page-content summary.cmplz-service-header h3{color:#0f172a}
body.lt-light .lt-page-content summary.cmplz-service-header p{color:#64748b}
body.lt-light .lt-page-content .cmplz-service-description,
body.lt-light .lt-page-content .cmplz-sharing-data,
body.lt-light .lt-page-content .cookies-per-purpose{border-top-color:rgba(15,23,42,0.08)}
body.lt-light .lt-page-content .cmplz-service-description p,
body.lt-light .lt-page-content .cmplz-sharing-data p,
body.lt-light .lt-page-content .cookies-per-purpose .name,
body.lt-light .lt-page-content .cookies-per-purpose .retention,
body.lt-light .lt-page-content .cookies-per-purpose .function{color:#475569}
body.lt-light .lt-page-content .cmplz-manage-consent-container button,
body.lt-light .lt-page-content .cmplz-manage-consent-container a{color:#6366f1;border-color:rgba(99,102,241,0.3)}
body.lt-light .lt-page-content .cmplz-manage-consent-container button:hover,
body.lt-light .lt-page-content .cmplz-manage-consent-container a:hover{background:rgba(99,102,241,0.06)}
body.lt-light .lt-page-content .cmplz-category{background:rgba(15,23,42,0.03) !important;border-color:rgba(15,23,42,0.08) !important}
body.lt-light .lt-page-content .cmplz-category-title,
body.lt-light .lt-page-content .cmplz-label,
body.lt-light .lt-page-content summary.cmplz-service-header h3{color:#0f172a !important}
body.lt-light .lt-page-content .cmplz-icon svg{fill:#64748b !important}
body.lt-light .lt-page-content .cmplz-description{color:#64748b !important}

/* ----------------------------------------------------------
   Cookie statement document (Complianz JS-rendered accordions &
   tables) — broad fallback so every label, header and table cell
   stays readable in BOTH themes, whatever exact markup is emitted.
   Scoped to .lt-page-content so the floating cookie banner is untouched.
   ---------------------------------------------------------- */
.lt-page-content [class*="cmplz"]{background-color:transparent !important;color:#cbd5e1 !important;border-color:rgba(255,255,255,0.10) !important}
.lt-page-content .cmplz-service-header{background-color:rgba(255,255,255,0.05) !important;color:#f1f5f9 !important;border:1px solid rgba(255,255,255,0.08) !important;border-radius:8px !important;padding:14px 18px !important}
.lt-page-content .cmplz-service-header *{color:#f1f5f9 !important}
.lt-page-content table{width:100%;border-collapse:collapse;background:transparent !important;margin:8px 0 4px}
.lt-page-content thead,.lt-page-content tbody,.lt-page-content tr,.lt-page-content th,.lt-page-content td{background:transparent !important;border-color:rgba(255,255,255,0.10) !important}
.lt-page-content th{color:#94a3b8 !important;font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.10)}
.lt-page-content td{color:#cbd5e1 !important;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.06)}
.lt-page-content a[class*="cmplz"],.lt-page-content [class*="cmplz"] a{color:#818cf8 !important;text-decoration:underline}

body.lt-light .lt-page-content [class*="cmplz"]{color:#475569 !important;border-color:rgba(15,23,42,0.10) !important}
body.lt-light .lt-page-content .cmplz-service-header{background-color:rgba(15,23,42,0.04) !important;color:#0f172a !important;border-color:rgba(15,23,42,0.10) !important}
body.lt-light .lt-page-content .cmplz-service-header *{color:#0f172a !important}
body.lt-light .lt-page-content thead,body.lt-light .lt-page-content tbody,body.lt-light .lt-page-content tr,body.lt-light .lt-page-content th,body.lt-light .lt-page-content td{border-color:rgba(15,23,42,0.10) !important}
body.lt-light .lt-page-content th{color:#64748b !important}
body.lt-light .lt-page-content td{color:#334155 !important}
body.lt-light .lt-page-content a[class*="cmplz"],body.lt-light .lt-page-content [class*="cmplz"] a{color:#6366f1 !important}

/* Manage-Consent BANNER modal: make the category titles readable (were faint) */
.cmplz-cookiebanner .cmplz-category-title,
.cmplz-cookiebanner .cmplz-category .cmplz-title{color:#f1f5f9 !important;font-weight:600 !important}
body.lt-light .cmplz-cookiebanner .cmplz-category-title,
body.lt-light .cmplz-cookiebanner .cmplz-category .cmplz-title{color:#0f172a !important}

/* ======================================================
   INTERNAL LINKING PILL CTAs
   Used on home and service/use-case cross-links
   ====================================================== */
.lt-cta-pill{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;border-radius:999px;transition:background .2s,border-color .2s;text-decoration:none}
.lt-cta-pill-accent{color:#818cf8;border:1px solid rgba(99,102,241,0.25)}
.lt-cta-pill-accent:hover{background:rgba(99,102,241,0.08);border-color:rgba(99,102,241,0.4)}
.lt-cta-pill-muted{color:#94a3b8;border:1px solid rgba(148,163,184,0.2)}
.lt-cta-pill-muted:hover{background:rgba(148,163,184,0.06);border-color:rgba(148,163,184,0.35)}
.lt-cta-pill-ghost{color:#f1f5f9;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07)}
.lt-cta-pill-ghost:hover{background:rgba(255,255,255,0.08)}
body.lt-light .lt-cta-pill-accent{color:#6366f1;border-color:rgba(99,102,241,0.3)}
body.lt-light .lt-cta-pill-muted{color:#475569;border-color:rgba(15,23,42,0.15)}
body.lt-light .lt-cta-pill-muted:hover{background:rgba(15,23,42,0.04)}
body.lt-light .lt-cta-pill-ghost{color:#0f172a;background:rgba(15,23,42,0.04);border-color:rgba(15,23,42,0.12)}
body.lt-light .lt-cta-pill-ghost:hover{background:rgba(15,23,42,0.07)}

/* ======================================================
   MOBILE NAV — Hamburger button + full-screen menu
   ====================================================== */
.lt-hamburger{
  display:none;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  width:38px;height:38px;border-radius:9px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:#cbd5e1;cursor:pointer;padding:0;
  transition:color .2s,border-color .2s,background .2s
}
.lt-hamburger:hover{color:#f1f5f9;border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.10)}
.lt-ham-line{
  display:block;width:16px;height:1.5px;
  background:currentColor;border-radius:2px;
  transition:transform .25s ease,opacity .2s ease
}
.lt-hamburger.lt-open .lt-ham-line:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.lt-hamburger.lt-open .lt-ham-line:nth-child(2){opacity:0;transform:scaleX(0)}
.lt-hamburger.lt-open .lt-ham-line:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.lt-mobile-menu{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;
  background:rgba(10,10,15,0.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  display:flex;flex-direction:column;
  padding:100px clamp(28px,8vw,56px) 48px;
  opacity:0;pointer-events:none;
  transition:opacity .28s ease
}
.lt-mobile-menu.lt-open{opacity:1;pointer-events:auto}
.lt-mobile-nav{display:flex;flex-direction:column}
.lt-mobile-navlink{
  display:block;padding:16px 0;
  font-size:clamp(24px,6vw,30px);font-weight:700;letter-spacing:-0.02em;
  color:rgba(255,255,255,0.65);
  border-bottom:1px solid rgba(255,255,255,0.07);
  transition:color .15s ease
}
.lt-mobile-navlink:hover,.lt-mobile-navlink.is-active{color:#f1f5f9}
.lt-mobile-ebook{
  display:flex !important;align-items:center;gap:12px;
  font-size:16px !important;font-weight:600 !important;
  color:#818cf8 !important;
  border-bottom-color:rgba(99,102,241,0.15) !important
}
.lt-mobile-ebook:hover{color:#a5b4fc !important}
body.lt-light .lt-mobile-ebook{color:#6366f1 !important;border-bottom-color:rgba(99,102,241,0.12) !important}

/* Theme toggle in mobile menu footer */
.lt-mobile-menu-footer{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,0.08)
}
.lt-mobile-theme-btn{
  display:flex;align-items:center;gap:12px;
  padding:14px 0;width:100%;
  font-size:15px;font-weight:500;
  color:rgba(255,255,255,0.5);
  background:none;border:none;cursor:pointer;
  font-family:inherit;text-align:left;
  transition:color .15s ease
}
.lt-mobile-theme-btn:hover{color:#f1f5f9}
.lt-mobile-theme-btn .lt-icon-sun{display:none}
.lt-mobile-theme-btn .lt-icon-moon{display:block}
body.lt-light .lt-mobile-theme-btn .lt-icon-sun{display:block}
body.lt-light .lt-mobile-theme-btn .lt-icon-moon{display:none}

body.lt-light .lt-hamburger{border-color:rgba(15,23,42,0.14);background:rgba(15,23,42,0.04);color:#475569}
body.lt-light .lt-hamburger:hover{color:#0f172a;border-color:rgba(99,102,241,0.5);background:rgba(99,102,241,0.10)}
body.lt-light .lt-mobile-menu{background:rgba(245,247,252,0.97)}
body.lt-light .lt-mobile-navlink{color:rgba(15,23,42,0.5);border-bottom-color:rgba(15,23,42,0.08)}
body.lt-light .lt-mobile-navlink:hover,body.lt-light .lt-mobile-navlink.is-active{color:#0f172a}
body.lt-light .lt-mobile-menu-footer{border-top-color:rgba(15,23,42,0.08)}
body.lt-light .lt-mobile-theme-btn{color:rgba(15,23,42,0.45)}
body.lt-light .lt-mobile-theme-btn:hover{color:#0f172a}

/* ======================================================
   RESPONSIVE BREAKPOINTS
   ====================================================== */

/* Nav: hide desktop links + theme toggle, show CTA + hamburger */
@media(max-width:768px){
  .lt-desktop-nav{display:none !important}
  .lt-theme-toggle{display:none !important}
  .lt-hamburger{display:inline-flex}
}
/* Compact CTA on small phones */
@media(max-width:400px){
  .lt-cta-btn{padding:9px 14px !important;font-size:13px !important}
}

/* Service + use-case hero: collapse 2-col to 1-col, shrink image */
@media(max-width:768px){
  .lt-uc-hero{grid-template-columns:1fr !important;gap:32px !important}
  .lt-uc-hero .lt-uc-hero-img{height:220px !important;order:-1}
}

/* Stats rows (homepage #lt-stats + use-case .lt-stat-row): force 2 cols and center on mobile */
@media(max-width:640px){
  #lt-stats,.lt-stat-row{grid-template-columns:1fr 1fr !important}
  #lt-stats > div,.lt-stat-row > div{text-align:center}
}

/* Portfolio card grid: ensure single column on narrow phones */
@media(max-width:360px){
  .lt-portfolio-grid{grid-template-columns:1fr !important}
}

/* Footer first column: don't enforce min-width on mobile */
@media(max-width:480px){
  .lt-footer [style*="min-width:220px"]{min-width:0 !important}
}
