/* ============================================================
   Xinrui Site Frame — enterprise dark industrial theme
   Loaded on every frontend page via xinrui-site-frame.php
   ============================================================ */
:root{
  --xr-bg:#0d141c;
  --xr-panel:#16212e;
  --xr-panel-2:#1d2a3a;
  --xr-line:#27384b;
  --xr-text:#c9d4e0;
  --xr-muted:#8aa0b6;
  --xr-accent:#f5821f;   /* orange CTA */
  --xr-steel:#3b82c4;    /* steel blue link */
  --xr-white:#ffffff;
}

/* ---- Hide Astra blog chrome ---- */
#masthead, .ast-masthead { display:none !important; }
.site-footer, #colophon { display:none !important; }
#secondary, .ast-sidebar-primary, .widget-area, .ast-sidebar { display:none !important; }
.ast-page-title-bar,
.entry-meta, .posted-on, .byline,
.ast-single-post .entry-meta { display:none !important; }
/* product pages render their own xr-crumbs; hide the default Rank Math one */
.rank-math-breadcrumb { display:none !important; }

/* ---- Global dark canvas ---- */
html { background:var(--xr-bg); }
body { background:var(--xr-bg) !important; color:var(--xr-text); }
#page, .ast-container, #primary, #main, .site-content,
.ast-row, .ast-col-md-12, .ast-article-post, .ast-article-single,
.entry-content { background:transparent !important; color:var(--xr-text); }
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 { color:#eaf1f8; }
.entry-content a { color:var(--xr-steel); }
.entry-content p { color:var(--xr-text); }
::selection { background:var(--xr-accent); color:#111; }

/* ============================================================
   HEADER
   ============================================================ */
.xr-site-header{
  position:sticky; top:0; z-index:999;
  background:rgba(13,20,28,.96);
  border-bottom:1px solid var(--xr-line);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.xr-header__inner{
  max-width:1200px; margin:0 auto; display:flex; align-items:center;
  gap:28px; height:64px; padding:0 20px;
}
.xr-logo{ font-weight:800; font-size:22px; letter-spacing:1px; color:#fff; text-decoration:none; }
.xr-logo span{ color:var(--xr-accent); }
.xr-nav{ display:flex; align-items:center; gap:22px; flex:1; }
.xr-nav > a{ color:var(--xr-text); text-decoration:none; font-weight:600; font-size:15px; padding:6px 0; }
.xr-nav > a:hover{ color:var(--xr-accent); }
.xr-nav__drop{ position:relative; }
.xr-nav__menu{
  position:absolute; top:100%; left:0; min-width:250px;
  background:var(--xr-panel); border:1px solid var(--xr-line);
  border-radius:10px; padding:8px; display:none; flex-direction:column;
  box-shadow:0 12px 30px rgba(0,0,0,.45);
}
.xr-nav__drop:hover .xr-nav__menu{ display:flex; }
.xr-nav__menu a{ color:var(--xr-text); text-decoration:none; padding:9px 12px; border-radius:7px; font-size:14px; }
.xr-nav__menu a:hover{ background:var(--xr-panel-2); color:var(--xr-accent); }
.xr-header__right{ display:flex; align-items:center; gap:16px; }
.xr-lang{ display:flex; align-items:center; gap:6px; font-size:13px; }
.xr-lang ul{ display:flex; gap:8px; list-style:none; margin:0; padding:0; align-items:center; }
.xr-lang li{ display:inline-flex; }
.xr-lang img{ width:22px; height:auto; border-radius:2px; vertical-align:middle; box-shadow:0 0 0 1px rgba(255,255,255,.15); }
.xr-btn{ display:inline-block; text-decoration:none; font-weight:700; border-radius:8px; padding:10px 18px; font-size:14px; transition:.2s; }
.xr-btn--quote{ background:var(--xr-accent); color:#111; border:none; }
.xr-btn--quote:hover{ background:#ff9a3d; }
.xr-btn--ghost{ background:transparent; border:1px solid var(--xr-steel); color:var(--xr-steel); }
.xr-btn--ghost:hover{ background:var(--xr-steel); color:#fff; }

/* ============================================================
   FOOTER
   ============================================================ */
.xr-site-footer{ background:#0a0f15; border-top:1px solid var(--xr-line); margin-top:60px; color:var(--xr-muted); }
.xr-footer__inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:30px; padding:48px 20px 30px; }
.xr-footer__brand p{ font-size:14px; line-height:1.7; margin-top:14px; }
.xr-logo--footer{ font-size:20px; }
.xr-footer__col h4{ color:#eaf1f8; font-size:14px; margin:0 0 14px; text-transform:uppercase; letter-spacing:.5px; }
.xr-footer__col a{ display:block; color:var(--xr-muted); text-decoration:none; font-size:14px; padding:5px 0; }
.xr-footer__col a:hover{ color:var(--xr-accent); }
.xr-footer__col p{ font-size:14px; margin:6px 0; }
.xr-footer__bar{ border-top:1px solid var(--xr-line); text-align:center; padding:16px; font-size:13px; color:#647d96; }

/* ============================================================
   HOME — HERO
   ============================================================ */
.xr-home{ }
/* Scoped to .xr-home so home-hero rules never collide with the product-page .xr-hero card */
.xr-home .xr-hero{
  position:relative; width:100vw; left:50%; margin-left:-50vw;
  min-height:560px; display:flex; align-items:center;
  background-size:cover; background-position:center; color:#fff;
}
.xr-home .xr-hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(8,12,18,.94) 0%, rgba(8,12,18,.62) 50%, rgba(8,12,18,.30) 100%);
}
.xr-home .xr-hero__inner{ position:relative; max-width:1200px; margin:0 auto; padding:90px 20px; width:100%; }
.xr-home .xr-hero__eyebrow{ display:inline-block; background:var(--xr-accent); color:#111; font-weight:700; font-size:13px; padding:5px 14px; border-radius:20px; margin-bottom:18px; letter-spacing:.5px; }
.xr-home .xr-hero h1{ font-size:46px; line-height:1.15; margin:0 0 18px; color:#fff; font-weight:800; }
.xr-home .xr-hero p{ font-size:18px; max-width:640px; color:#d6e2ee; line-height:1.7; margin:0 0 30px; }
.xr-home .xr-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; }
.xr-home .xr-hero__stats{ display:flex; gap:44px; margin-top:46px; flex-wrap:wrap; }
.xr-stat b{ display:block; font-size:30px; color:var(--xr-accent); }
.xr-stat span{ font-size:13px; color:#aebfce; }

/* ============================================================
   HOME — SECTIONS
   ============================================================ */
.xr-wrap{ max-width:1200px; margin:0 auto; padding:64px 20px; }
.xr-sec__title{ text-align:center; font-size:30px; color:#eaf1f8; margin:0 0 8px; font-weight:800; }
.xr-sec__sub{ text-align:center; color:var(--xr-muted); margin:0 0 40px; font-size:15px; }

.xr-domains{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.xr-domain{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:14px; overflow:hidden; text-decoration:none; transition:.2s; display:flex; flex-direction:column; }
.xr-domain:hover{ transform:translateY(-4px); border-color:var(--xr-accent); }
.xr-domain img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; display:block; }
.xr-domain__body{ padding:20px; }
.xr-domain h3{ margin:0 0 8px; color:#eaf1f8; font-size:19px; }
.xr-domain p{ margin:0; color:var(--xr-muted); font-size:14px; line-height:1.6; }
.xr-domain__more{ margin-top:14px; color:var(--xr-accent); font-weight:700; font-size:14px; }

.xr-strengths{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.xr-strength{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:12px; padding:26px 20px; text-align:center; }
.xr-strength__ic{ width:48px; height:48px; margin:0 auto 14px; border-radius:10px; background:rgba(245,130,31,.12); color:var(--xr-accent); display:flex; align-items:center; justify-content:center; font-size:24px; }
.xr-strength h4{ margin:0 0 8px; color:#eaf1f8; font-size:17px; }
.xr-strength p{ margin:0; color:var(--xr-muted); font-size:13px; line-height:1.6; }

.xr-cta-bar{ background:linear-gradient(120deg,#16212e,#1d2a3a); border:1px solid var(--xr-line); border-radius:16px; padding:40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.xr-cta-bar h3{ margin:0; color:#eaf1f8; font-size:24px; }
.xr-cta-bar p{ margin:6px 0 0; color:var(--xr-muted); }

/* ============================================================
   INNER PAGE HERO
   ============================================================ */
.xr-pagehero{ position:relative; width:100vw; left:50%; margin-left:-50vw; background:linear-gradient(120deg,#101a26,#16212e); border-bottom:1px solid var(--xr-line); }
.xr-pagehero__inner{ max-width:1200px; margin:0 auto; padding:52px 20px 46px; }
.xr-crumbs2{ font-size:13px; color:var(--xr-muted); margin:0 0 14px; }
.xr-crumbs2 a{ color:var(--xr-steel); text-decoration:none; }
.xr-crumbs2 a:hover{ color:var(--xr-accent); }
.xr-pagehero h1{ font-size:38px; line-height:1.2; color:#fff; margin:0 0 12px; font-weight:800; }
.xr-pagehero p{ color:var(--xr-muted); font-size:17px; max-width:700px; margin:0; line-height:1.7; }

/* ============================================================
   CONTACT
   ============================================================ */
.xr-contact{ display:grid; grid-template-columns:1.15fr .85fr; gap:26px; align-items:start; }
.xr-cards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.xr-ccard{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:14px; padding:24px; }
.xr-ccard__ic{ width:46px; height:46px; border-radius:11px; background:rgba(245,130,31,.12); color:var(--xr-accent); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; }
.xr-ccard h3{ margin:0 0 8px; color:#eaf1f8; font-size:16px; }
.xr-ccard a, .xr-ccard p{ color:var(--xr-text); font-size:15px; text-decoration:none; margin:0; word-break:break-word; }
.xr-ccard a:hover{ color:var(--xr-accent); }
.xr-side{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:14px; padding:28px; }
.xr-side h3{ color:#eaf1f8; margin:0 0 14px; font-size:19px; }
.xr-check{ list-style:none; margin:0 0 22px; padding:0; }
.xr-check li{ position:relative; padding:7px 0 7px 28px; color:var(--xr-text); font-size:14px; line-height:1.6; }
.xr-check li::before{ content:"\2713"; position:absolute; left:0; top:7px; color:var(--xr-accent); font-weight:800; }
.xr-promise{ display:flex; gap:12px; align-items:center; background:rgba(59,130,196,.10); border:1px solid #24405c; border-radius:10px; padding:14px 16px; color:#bcd6ef; font-size:14px; }

.xr-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.xr-step{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:12px; padding:24px; }
.xr-step b{ display:inline-flex; width:34px; height:34px; border-radius:50%; background:var(--xr-accent); color:#111; align-items:center; justify-content:center; font-weight:800; margin-bottom:12px; }
.xr-step h4{ margin:0 0 8px; color:#eaf1f8; font-size:17px; }
.xr-step p{ margin:0; color:var(--xr-muted); font-size:14px; line-height:1.6; }

/* ============================================================
   ABOUT
   ============================================================ */
.xr-intro{ display:grid; grid-template-columns:1.1fr .9fr; gap:38px; align-items:center; }
.xr-intro h2{ font-size:28px; color:#eaf1f8; margin:0 0 16px; }
.xr-intro p{ color:var(--xr-text); font-size:15.5px; line-height:1.85; margin:0 0 14px; }
.xr-intro__img{ border-radius:14px; overflow:hidden; border:1px solid var(--xr-line); }
.xr-intro__img img{ width:100%; display:block; }
.xr-figrow{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.xr-fig{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:12px; padding:26px 20px; text-align:center; }
.xr-fig b{ display:block; font-size:32px; color:var(--xr-accent); font-weight:800; line-height:1.1; }
.xr-fig span{ color:var(--xr-muted); font-size:13px; }
.xr-feats2{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.xr-feat2{ background:var(--xr-panel); border:1px solid var(--xr-line); border-radius:12px; padding:26px; }
.xr-feat2__ic{ width:44px; height:44px; border-radius:10px; background:rgba(245,130,31,.12); color:var(--xr-accent); display:flex; align-items:center; justify-content:center; font-size:21px; margin-bottom:14px; }
.xr-feat2 h4{ margin:0 0 8px; color:#eaf1f8; font-size:17px; }
.xr-feat2 p{ margin:0; color:var(--xr-muted); font-size:14px; line-height:1.7; }

/* footer inline contact links */
.xr-footer__col p a{ display:inline; padding:0; color:var(--xr-steel); }
.xr-footer__col p a:hover{ color:var(--xr-accent); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:900px){
  .xr-domains, .xr-strengths{ grid-template-columns:1fr 1fr; }
  .xr-footer__inner{ grid-template-columns:1fr 1fr; }
  .xr-nav{ display:none; }
  .xr-home .xr-hero h1{ font-size:32px; }
  .xr-home .xr-hero__stats{ gap:24px; }
  .xr-contact, .xr-steps{ grid-template-columns:1fr; }
  .xr-pagehero h1{ font-size:30px; }
  .xr-intro{ grid-template-columns:1fr; }
  .xr-figrow{ grid-template-columns:1fr 1fr; }
}
@media(max-width:560px){
  .xr-domains, .xr-strengths, .xr-footer__inner{ grid-template-columns:1fr; }
  .xr-cards, .xr-feats2{ grid-template-columns:1fr; }
  .xr-header__right .xr-lang{ display:none; }
  .xr-home .xr-hero__inner{ padding:64px 18px; }
  .xr-pagehero__inner{ padding:40px 18px 34px; }
}

body{ overflow-x:hidden; }
/* Astra featured-image section never fits the enterprise layout (full-bleed duplicate image) */
.ast-single-post-featured-section{display:none!important}
