/*
 * AcarHost visual layer for WISECP 5 / WStyle.
 * WISECP templates, dynamic text, hooks and commerce flows remain untouched.
 */
:root {
  --wstyle-primary: #2563eb !important;
  --wstyle-primary-rgb: 37, 99, 235 !important;
  --wstyle-secondary: #4f46e5 !important;
  --wstyle-secondary-rgb: 79, 70, 229 !important;
  --wstyle-primary-text: #315cf4;
  --wstyle-primary-subtle: #eef3ff;
  --wstyle-primary-emphasis: #1e3a8a;
  --wstyle-heading-color: #11182d;
  --wstyle-body-color: #56627a;
  --wstyle-muted-color: #7b879e;
  --wstyle-border-color: #dce4f1;
  --wstyle-body-bg: #f5f7fb;
  --wstyle-surface-bg: #ffffff;
  --wstyle-radius: .9rem;
  --wstyle-shadow-sm: 0 .45rem 1.4rem rgba(15, 32, 67, .06);
  --wstyle-shadow: 0 .9rem 2.5rem rgba(15, 32, 67, .1);
  --wstyle-shadow-lg: 0 1.4rem 4rem rgba(15, 32, 67, .14);
  --acarhost-navy: #07152d;
  --acarhost-navy-2: #0c1f42;
  --acarhost-blue: #2d6cf6;
  --acarhost-indigo: #5b38e8;
  --acarhost-line: #dbe4f2;
}

html { scroll-behavior: smooth; }
body { background: #f7f9fc; color: var(--wstyle-body-color); }
a { text-underline-offset: .18em; }

/* Top chrome: clean white AcarHost navigation while retaining every WISECP item. */
.topbar,
.site-header {
  background: rgba(255, 255, 255, .98) !important;
  color: #536078 !important;
  border-color: #e4e9f2 !important;
}
.topbar { border-bottom: 1px solid #e7ecf4; }
.topbar .container { min-height: 2.2rem; }
.topbar-link,
.topbar-icon { color: #526078 !important; }
.topbar-link:hover,
.topbar-icon:hover { color: var(--acarhost-blue) !important; }
.site-header {
  position: relative;
  z-index: 1030;
  border-bottom: 1px solid #e3e9f3;
  box-shadow: 0 .45rem 1.6rem rgba(17, 31, 61, .06);
}
.site-header > .container { min-height: 4.75rem; }
.site-brand { min-width: 10.5rem; }
.site-logo { max-height: 3rem; max-width: 11rem; object-fit: contain; }
.site-logo-light { display: none !important; }
.site-logo-dark { display: block !important; }
.site-brand-text { color: #11182d !important; font-weight: 800; }
.site-nav { gap: .15rem; }
.site-nav .nav-link {
  color: #4e5970 !important;
  font-weight: 650;
  border-radius: .7rem;
  padding: .7rem .85rem;
}
.site-nav .nav-link:hover,
.site-nav .nav-link:focus,
.site-nav .nav-item.show > .nav-link {
  color: var(--acarhost-blue) !important;
  background: #f1f5ff;
}
.site-header .btn-soft,
.site-header .header-icon-btn {
  color: #23314e;
  background: #fff;
  border: 1px solid #dbe3f1;
}
.site-header .btn-soft:hover,
.site-header .header-icon-btn:hover {
  color: #fff;
  border-color: var(--acarhost-blue);
  background: var(--acarhost-blue);
}
.nav-dropdown {
  border: 1px solid #dfe6f2;
  border-radius: 1rem;
  box-shadow: 0 1.2rem 3rem rgba(17, 31, 61, .14);
  padding: .55rem;
}
.nav-dropdown .dropdown-item { border-radius: .7rem; }

/* Home hero: preserve WISECP slider text/media; present it as AcarHost. */
.chrome-overlay .hero-slider { margin-block-start: 0 !important; }
.hero-slider {
  min-height: clamp(34rem, calc(100vh - 7rem), 52rem);
  background: var(--acarhost-navy);
  border: 0;
  overflow: hidden;
}
.hero-slide { min-height: clamp(34rem, calc(100vh - 7rem), 52rem) !important; }
.hero-media { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-scrim {
  background:
    linear-gradient(90deg, rgba(4, 18, 40, .98) 0%, rgba(4, 18, 40, .86) 38%, rgba(4, 18, 40, .34) 72%, rgba(4, 18, 40, .2) 100%),
    linear-gradient(0deg, rgba(4, 16, 36, .5), transparent 55%) !important;
}
.hero-slide > .container { min-height: inherit; display: flex; align-items: center; }
.hero-copy { max-width: 42rem; padding-block: 5rem 7rem; }
.hero-title {
  max-width: 12ch;
  color: #fff !important;
  font-size: clamp(3rem, 5vw, 5.4rem) !important;
  font-weight: 850 !important;
  letter-spacing: -.055em;
  line-height: .98 !important;
  text-wrap: balance;
}
.hero-title strong,
.hero-title b,
.hero-title em { color: #62a4ff; font-style: normal; }
.hero-lead {
  max-width: 38rem;
  color: rgba(235, 242, 255, .8) !important;
  font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
  line-height: 1.7;
}
.hero-copy .btn,
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: transparent;
  background: linear-gradient(115deg, var(--acarhost-blue), var(--acarhost-indigo)) !important;
  border-color: transparent !important;
  color: #fff !important;
  font-weight: 750;
  box-shadow: 0 .75rem 1.8rem rgba(62, 82, 232, .25);
}
.hero-copy .btn { padding: .85rem 1.35rem !important; }
.btn-primary:hover,
.hero-copy .btn:hover { transform: translateY(-2px); box-shadow: 0 1rem 2.2rem rgba(62, 82, 232, .34); }
.hero-bottom { inset-block-end: 2rem !important; }
.hero-nav-btn { border-color: rgba(255,255,255,.18) !important; background: rgba(255,255,255,.1) !important; color: #fff !important; backdrop-filter: blur(10px); }
.hero-scroll { color: #fff !important; opacity: .78; }

/* Dynamic WISECP home blocks and product lists. */
main > section:not(.hero-slider) { position: relative; }
main > section:not(.hero-slider):nth-of-type(even) { background-color: #fff; }
.section-title,
.block-title,
main h2,
main h3 { color: #11182d; letter-spacing: -.025em; }
.card,
.product-card,
.service-card,
.package-card,
.pricing-card,
.domain-card,
.software-card {
  border-color: var(--acarhost-line) !important;
  border-radius: 1rem !important;
  background: #fff;
  box-shadow: 0 .55rem 1.8rem rgba(17, 31, 61, .055);
}
.product-card,
.service-card,
.package-card,
.pricing-card,
.software-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-card:hover,
.service-card:hover,
.package-card:hover,
.pricing-card:hover,
.software-card:hover {
  transform: translateY(-5px);
  border-color: rgba(45, 108, 246, .35) !important;
  box-shadow: 0 1.2rem 2.8rem rgba(29, 57, 114, .12);
}
.badge.bg-primary,
.text-bg-primary { background: linear-gradient(115deg, var(--acarhost-blue), var(--acarhost-indigo)) !important; }
.btn { border-radius: .75rem; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.btn-outline-primary { color: var(--acarhost-blue); border-color: rgba(45,108,246,.45); }
.btn-outline-primary:hover { color: #fff; background: var(--acarhost-blue); border-color: var(--acarhost-blue); }
.form-control,
.form-select,
.ts-control {
  border-color: #dbe3f0 !important;
  border-radius: .8rem !important;
  background-color: #fff !important;
}
.form-control:focus,
.form-select:focus,
.ts-control:focus-within {
  border-color: #6b8ff7 !important;
  box-shadow: 0 0 0 .25rem rgba(45,108,246,.11) !important;
}

/* Checkout, authentication, invoices and client area use the same brand shell. */
.checkout-shell,
.auth-shell { background: #f5f7fb; }
.checkout-card,
.auth-card,
.invoice-card,
.as-card,
.ticket-msg,
.ticket-reply,
.client-content .card {
  border: 1px solid var(--acarhost-line) !important;
  border-radius: 1rem !important;
  box-shadow: var(--wstyle-shadow-sm);
}
.client-topbar {
  background: #fff !important;
  border-bottom: 1px solid #e0e7f2 !important;
  box-shadow: 0 .35rem 1.4rem rgba(17,31,61,.05);
}
.client-sidebar {
  background: linear-gradient(180deg, #091a38 0%, #07152d 100%) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.client-sidebar-link { color: rgba(232,239,255,.72) !important; border-radius: .7rem; }
.client-sidebar-link:hover { color: #fff !important; background: rgba(82,124,255,.14) !important; }
.client-sidebar-link.active,
.client-sidebar-link[aria-current=page] {
  color: #fff !important;
  background: linear-gradient(115deg, rgba(45,108,246,.9), rgba(91,56,232,.9)) !important;
  box-shadow: 0 .6rem 1.4rem rgba(0,0,0,.18);
}
.client-main { background: #f5f7fb; }

/* Keep the WISECP footer content and legal copy fully visible. */
.site-footer {
  background: linear-gradient(145deg, #07152d, #0b1f42) !important;
  color: rgba(231, 238, 253, .72) !important;
  border-top: 1px solid rgba(255,255,255,.08);
}
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .footer-title { color: #fff !important; }
.site-footer a { color: rgba(231,238,253,.72) !important; }
.site-footer a:hover { color: #75aaff !important; }

@media (max-width: 991.98px) {
  .topbar { display: none; }
  .site-header > .container { min-height: 4.25rem; }
  .site-brand { min-width: 0; }
  .site-logo { max-height: 2.6rem; max-width: 9.5rem; }
  .hero-slider,
  .hero-slide { min-height: calc(100svh - 4.25rem) !important; }
  .hero-scrim { background: linear-gradient(90deg, rgba(4,18,40,.94), rgba(4,18,40,.62)) !important; }
  .hero-copy { padding-block: 4rem 7rem; }
  .hero-title { max-width: 13ch; font-size: clamp(2.65rem, 10vw, 4.3rem) !important; }
}

@media (max-width: 575.98px) {
  :root { --wstyle-radius: .78rem; }
  .site-header > .container { min-height: 4rem; }
  .hero-slider,
  .hero-slide { min-height: 37rem !important; }
  .hero-copy { padding-block: 3.5rem 6rem; }
  .hero-title { font-size: clamp(2.35rem, 12vw, 3.35rem) !important; }
  .hero-lead { font-size: .96rem !important; }
  .hero-copy .btn { width: 100%; justify-content: center; }
  .card,
  .product-card,
  .service-card,
  .package-card,
  .pricing-card { border-radius: .85rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn,
  .product-card,
  .service-card,
  .package-card,
  .pricing-card,
  .software-card { transition: none !important; }
}
