/* Lux Scientific design system — site styles (2026-10-11)
   Tokens from the "Lux Scientific" design system. Remove mu-plugins/lux-design-system.php to revert. */

:root {
  --lux-red: #D32027;
  --lux-red-strong: #A8161C;
  --lux-red-tint: #FCEBEC;
  --lab-navy: #14365C;
  --lab-navy-tint: #E8EFF7;
  --ink: #16191D;
  --ink-muted: #545B64;
  --surface-1: #F5F6F8;
  --surface-2: #ECEEF1;
  --line: #D9DDE2;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-card: 0 1px 2px rgba(20,25,30,.06), 0 2px 8px rgba(20,25,30,.06);
  --shadow-lift: 0 6px 20px rgba(20,25,30,.12);
  --font-sans: "IBM Plex Sans Thai", "IBM Plex Sans", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  /* Elementor global tokens -> Lux tokens */
  --e-global-color-primary: var(--lux-red);
  --e-global-color-secondary: var(--lab-navy);
  --e-global-color-text: var(--ink);
  --e-global-color-accent: var(--lux-red);
  --e-global-typography-primary-font-family: "IBM Plex Sans Thai";
  --e-global-typography-secondary-font-family: "IBM Plex Sans Thai";
  --e-global-typography-text-font-family: "IBM Plex Sans Thai";
  --e-global-typography-accent-font-family: "IBM Plex Sans Thai";
}

/* ---------- One typeface everywhere ---------- */
body, button, input, select, textarea,
h1, h2, h3, h4, h5, h6,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor, .elementor-icon-list-text,
.ekit-wid-con, .ekit-wid-con .elementskit-section-title, .ekit-wid-con a,
.elementskit-navbar-nav > li > a, .elementskit-dropdown a,
.sina-content-slider, .e-n-accordion-item-title-text,
.woocommerce, .woocommerce-page {
  font-family: var(--font-sans) !important;
}
body { color: var(--ink); -webkit-font-smoothing: antialiased; }
.woocommerce .sku, .product_meta .sku { font-family: var(--font-mono) !important; }

/* ---------- One brand red ---------- */
a:hover, .elementskit-navbar-nav > li.current-menu-item > a, .elementskit-navbar-nav > li > a.active,
.elementskit-navbar-nav > li > a:hover { color: var(--lux-red) !important; }

/* =========================================================
   HOMEPAGE (Elementor page 85) — same sections, refreshed look
   ========================================================= */
.elementor-85 { background: #fff; }

/* Top bar: navy strip */
.elementor .elementor-element-25c2a473 { background: var(--lab-navy) !important; }
.elementor .elementor-element-25c2a473::before { display: none !important; }
.elementor .elementor-element-25c2a473 .elementor-icon-list-text,
.elementor .elementor-element-25c2a473 .elementor-icon-list-icon i,
.elementor .elementor-element-25c2a473 .elementor-icon-list-icon svg,
.elementor .elementor-element-25c2a473 a { color: #fff !important; fill: #fff !important; font-size: 13px; }
.elementor .elementor-element-25c2a473 .ekit_social_media a { background: rgba(255,255,255,.12) !important; border-radius: 50%; }
.elementor .elementor-element-25c2a473 .ekit_social_media i,
.elementor .elementor-element-25c2a473 .ekit_social_media svg { color: #fff !important; fill: #fff !important; }

/* Main header: white, sticky, hairline */
.elementor .elementor-element-6b72a44 {
  background: #fff !important;
  border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 99;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
.admin-bar .elementor .elementor-element-6b72a44 { top: 32px; }
.elementor .elementor-element-6b72a44 .elementskit-navbar-nav > li > a {
  font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important;
  color: var(--ink) !important;
}
.elementor .elementor-element-6b72a44 .elementskit-navbar-nav > li.current-menu-item > a,
.elementor .elementor-element-6b72a44 .elementskit-navbar-nav > li > a.active,
.elementor .elementor-element-6b72a44 .elementskit-navbar-nav > li > a:hover { color: var(--lux-red) !important; }
.elementskit-submenu-panel, .elementskit-dropdown {
  border-radius: var(--radius-md) !important; border: 1px solid var(--line) !important; box-shadow: var(--shadow-lift) !important;
}
.elementskit-submenu-panel a, .elementskit-dropdown a { font-size: 14px !important; }

/* Hero: readable headline, solid red pill CTA */
.elementor-85 .elementor-element-b438ed5 .elementskit-section-title {
  color: var(--lux-red) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 0 rgba(255,255,255,.7), 0 2px 18px rgba(255,255,255,.9);
}
.elementor-85 .elementor-element-b438ed5 .elementskit-btn {
  background: var(--lux-red) !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important;
  padding: 14px 32px !important; font-size: 16px !important; font-weight: 600 !important;
  box-shadow: 0 6px 18px rgba(211,32,39,.28);
  display: inline-flex !important; align-items: center; justify-content: center;
  white-space: nowrap !important; width: auto !important; min-width: 180px; line-height: 1.2 !important;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.elementor-85 .elementor-element-b438ed5 .elementskit-btn:hover {
  background: var(--lux-red-strong) !important; transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(211,32,39,.32);
}
.elementor-85 .elementor-element-b438ed5 .elementskit-btn i,
.elementor-85 .elementor-element-b438ed5 .elementskit-btn svg { color: #fff !important; fill: #fff !important; }

/* Shared section rhythm */
.elementor-85 .elementor-element-1ad54eaa,
.elementor-85 .elementor-element-744cda2,
.elementor-85 .elementor-element-9d38395,
.elementor-85 .elementor-element-f09a70f,
.elementor-85 .elementor-element-ba15334,
.elementor-85 .elementor-element-0f1d206,
.elementor-85 .elementor-element-3bb5bb5 { padding-top: 24px; padding-bottom: 24px; }

/* Image boxes: cards */
.elementor-85 .elementor-element-1ad54eaa { background: var(--surface-1) !important; padding-top: 40px; padding-bottom: 40px; }
.elementor-85 .elementor-element-1ad54eaa .elementskit-info-image-box {
  background: #fff !important; border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important; overflow: hidden;
  box-shadow: var(--shadow-card) !important;
  transition: transform .2s ease, box-shadow .2s ease;
  height: 100%;
}
.elementor-85 .elementor-element-1ad54eaa .elementskit-info-image-box:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift) !important; }
.elementor-85 .elementor-element-1ad54eaa .elementskit-box-header img { width: 100%; height: auto; display: block; }
.elementor-85 .elementor-element-1ad54eaa .elementskit-box-body { padding: 16px 20px 20px !important; }
.elementor-85 .elementor-element-1ad54eaa .elementskit-info-box-title { font-size: 18px !important; font-weight: 600 !important; color: var(--ink) !important; }
.elementor-85 .elementor-element-1ad54eaa .elementskit-box-body p { color: var(--ink-muted) !important; font-size: 14px; line-height: 1.6; }
.elementor-85 .elementor-element-1ad54eaa .elementskit-btn {
  color: var(--lux-red) !important; background: transparent !important; border: 0 !important; font-weight: 600 !important; padding: 0 !important;
}

/* Roll-up banners, promo banners, video: soft corners + depth */
.elementor-85 .elementor-element-744cda2 img,
.elementor-85 .elementor-element-ba15334 .elementor-widget-image img,
.elementor-85 .elementor-element-0f1d206 .elementor-widget-image img,
.elementor-85 .elementor-element-9d38395 video,
.elementor-85 .elementor-element-9d38395 .elementor-wrapper {
  border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-card);
}
.elementor-85 .elementor-element-9d38395 .elementor-wrapper { overflow: hidden; }

/* Product category sliders: uniform cards + brand dots/arrows */
.elementor-85 .sina-content-slider .owl-item > * ,
.elementor-85 .sina-content-slider .sina-content-slide {
  border-radius: var(--radius-lg) !important; overflow: hidden;
}
.elementor-85 .sina-content-slider img { border-radius: var(--radius-lg) !important; border: 1px solid var(--line); }
.elementor-85 .sina-content-slider .owl-item img:hover { box-shadow: var(--shadow-lift); }
.elementor-85 .owl-dots .owl-dot span { background: var(--line) !important; width: 8px !important; height: 8px !important; }
.elementor-85 .owl-dots .owl-dot.active span { background: var(--lux-red) !important; width: 22px !important; border-radius: 999px !important; }
.elementor-85 .owl-nav button {
  background: #fff !important; color: var(--ink) !important; border: 1px solid var(--line) !important;
  border-radius: 50% !important; width: 40px; height: 40px; box-shadow: var(--shadow-card);
}
.elementor-85 .owl-nav button:hover { background: var(--lux-red) !important; color: #fff !important; border-color: var(--lux-red) !important; }

/* Gallery carousel */
.elementor-85 .elementor-element-bf1b772 { background: var(--surface-1) !important; padding: 32px 0; }
.elementor-85 .elementor-element-bf1b772 .swiper-slide-image { border-radius: var(--radius-lg); }
.elementor-85 .elementor-element-bf1b772 .swiper-pagination-bullet-active { background: var(--lux-red) !important; }

/* About accordion */
.elementor-85 .elementor-element-3bb5bb5 .e-n-accordion-item {
  border: 1px solid var(--line) !important; border-radius: var(--radius-md) !important; margin-bottom: 8px; overflow: hidden; background: #fff;
}
.elementor-85 .elementor-element-3bb5bb5 .e-n-accordion-item-title { padding: 14px 18px !important; border: 0 !important; }
.elementor-85 .elementor-element-3bb5bb5 .e-n-accordion-item-title-text { font-size: 16px !important; font-weight: 600 !important; color: var(--ink) !important; }
.elementor-85 .elementor-element-3bb5bb5 .e-n-accordion-item[open] { border-color: var(--lux-red) !important; }
.elementor-85 .elementor-element-3bb5bb5 .e-n-accordion-item[open] .e-n-accordion-item-title-text { color: var(--lux-red) !important; }
.elementor-85 .elementor-element-3bb5bb5 .elementor-widget-text-editor { color: var(--ink-muted); font-size: 15px; line-height: 1.7; padding: 0 18px 14px; }

/* Footer: calm grey, clear headings, brand-red bottom bar */
.elementor-85 .elementor-element-ee23831 { background: var(--surface-1) !important; border-top: 1px solid var(--line); }
.elementor-85 .elementor-element-ee23831 .elementor-heading-title { font-size: 16px !important; font-weight: 700 !important; color: var(--ink) !important; letter-spacing: 0; }
.elementor-85 .elementor-element-ee23831 .elementor-icon-list-text { color: var(--ink-muted) !important; font-size: 14px !important; }
.elementor-85 .elementor-element-ee23831 a:hover .elementor-icon-list-text { color: var(--lux-red) !important; }
.elementor-85 .elementor-element-ee23831 .elementor-icon-list-icon i,
.elementor-85 .elementor-element-ee23831 .elementor-icon-list-icon svg { color: var(--lux-red) !important; fill: var(--lux-red) !important; }
.elementor-85 .elementor-element-ee23831 .elementor-social-icon { background: var(--lab-navy) !important; }
.elementor-85 .elementor-element-6625e7 { background: var(--lux-red) !important; }
.elementor-85 .elementor-element-6625e7 .elementskit-section-title { color: #fff !important; font-size: 13px !important; font-weight: 500 !important; }

/* Focus visibility for keyboard users */
.elementor-85 a:focus-visible, .elementor-85 button:focus-visible { outline: 2px solid #1F6FD1; outline-offset: 2px; }

/* Phones */
@media (max-width: 767px) {
  .elementor .elementor-element-6b72a44 { position: relative; }
  .elementor-85 .elementor-element-b438ed5 .elementskit-section-title { font-size: 22px !important; line-height: 1.35 !important; }
  .elementor-85 .elementor-element-1ad54eaa .elementskit-info-image-box { margin-bottom: 12px; }
}
