/* Viglascode homepage — Christmas visual theme only (no promo). */

body.theme-holiday {
  /* Dark festive tones for readable text on light surfaces */
  --holiday-wash: #f3f6f2;
  --navy: #3d1412;
  --deep: #2a0e0c;
  --blue: #8b1a16;
  --blue-hover: #6e1411;
  --green: #0b4a32;
  --purple: #8a6d12;
  --ink: #1f2937;
  --muted: #475569;
  --soft: #f6f4ef;
  --soft-blue: #f2f6f1;
  --line: #d9e0d8;
  --shadow: 0 14px 38px rgba(61, 20, 18, 0.08);
  position: relative;
  color: var(--ink);
  background: #fff;
}

body.theme-holiday h1,
body.theme-holiday h2,
body.theme-holiday h3,
body.theme-holiday h4 {
  color: var(--navy);
}

/* Minimal static snow */
body.theme-holiday::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.45;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.95) 0 1.2px, transparent 1.8px),
    radial-gradient(circle, rgba(255, 255, 255, 0.8) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(255, 255, 255, 0.7) 0 1.4px, transparent 2px);
  background-size: 180px 220px, 140px 190px, 210px 160px;
  background-position: 12px 24px, 70px 110px, 130px 40px;
}

body.theme-holiday main,
body.theme-holiday footer {
  position: relative;
  z-index: 1;
}

body.theme-holiday .site-header {
  z-index: 100;
  background: color-mix(in srgb, var(--holiday-wash) 90%, #fff);
  border-bottom-color: rgba(138, 109, 18, 0.28);
  box-shadow: none;
}

/* Santa hat on cube mark of main logo */
body.theme-holiday .brand {
  position: relative;
  display: inline-block;
}

body.theme-holiday .brand-santa-hat {
  display: block;
  position: absolute;
  top: -11px;
  left: 10px;
  width: 36px;
  height: 32px;
  z-index: 2;
  pointer-events: none;
  background: url("../img/christmas/santa-hat.svg") center / contain no-repeat;
  transform: rotate(-16deg);
  filter: drop-shadow(0 2px 3px rgba(15, 23, 42, 0.22));
}

.brand-santa-hat {
  display: none;
}

body.theme-holiday .desktop-nav > a:not(.btn) {
  color: var(--navy);
}

body.theme-holiday .desktop-nav > a:not(.btn):hover {
  color: var(--blue);
}

body.theme-holiday .hero {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(720px 380px at 12% -10%, rgba(139, 26, 22, 0.1), transparent 58%),
    radial-gradient(560px 320px at 92% 8%, rgba(11, 74, 50, 0.12), transparent 55%),
    radial-gradient(480px 280px at 50% 0%, rgba(138, 109, 18, 0.1), transparent 60%),
    var(--holiday-wash);
}

body.theme-holiday .hero-kicker {
  border-color: rgba(138, 109, 18, 0.4);
  background: #fff8e4;
  color: #5c0e0c;
}

body.theme-holiday .hero-lead,
body.theme-holiday .hero-note,
body.theme-holiday .section-heading p,
body.theme-holiday .benefit p,
body.theme-holiday .process-card p,
body.theme-holiday .faq-list details p {
  color: var(--muted);
}

body.theme-holiday .hero-note i,
body.theme-holiday .hero-visual-note i {
  color: var(--green);
}

body.theme-holiday .btn-primary {
  background: linear-gradient(135deg, #6e1411 0%, #8b1a16 42%, #0b4a32 100%);
  color: #fff;
  box-shadow: 0 9px 20px rgba(110, 20, 17, 0.2);
}

body.theme-holiday .btn-primary:hover {
  background: linear-gradient(135deg, #5c0e0c 0%, #6e1411 42%, #083828 100%);
  color: #fff;
}

body.theme-holiday .btn-outline {
  background: #fff;
  border-color: #c9b48a;
  color: var(--navy);
}

body.theme-holiday .btn-outline:hover {
  border-color: var(--blue);
  color: var(--blue);
}

body.theme-holiday .language-switch button.active {
  background: var(--navy);
  color: #fff;
}

body.theme-holiday .eyebrow {
  color: var(--blue);
}

body.theme-holiday .text-link {
  color: var(--blue);
}

body.theme-holiday .benefit-icon {
  background: #f3ebe8;
  color: var(--blue);
}

body.theme-holiday .service-card::before {
  background: var(--blue);
}

body.theme-holiday .service-card.support::before {
  background: var(--green);
}

body.theme-holiday .service-card.products::before {
  background: #8a6d12;
}

body.theme-holiday .service-icon {
  background: #f3ebe8;
  color: var(--blue);
}

body.theme-holiday .service-card.support .service-icon {
  background: #e5f2eb;
  color: var(--green);
}

body.theme-holiday .service-card.products .service-icon {
  background: #f5efd8;
  color: #8a6d12;
}

/* Dark band: keep light text, festive gold accents */
body.theme-holiday .why-section {
  background: linear-gradient(135deg, #3d1412 0%, #0b4a32 100%);
  color: #e8eef2;
}

body.theme-holiday .why-section h2 {
  color: #fff;
}

body.theme-holiday .why-section .eyebrow {
  color: #ffe08a;
}

body.theme-holiday .why-section p {
  color: #d7e2ea;
}

body.theme-holiday .why-point {
  color: #fff;
  border-color: rgba(255, 224, 138, 0.28);
}

body.theme-holiday .why-point i {
  color: #ffe08a;
}

body.theme-holiday .faq-list summary {
  color: var(--navy);
}

body.theme-holiday .footer {
  background: linear-gradient(160deg, #2a0e0c 0%, #0b4a32 100%);
  color: #e5edf4;
}

body.theme-holiday .footer h3,
body.theme-holiday .footer strong {
  color: #fff;
}

body.theme-holiday .footer p,
body.theme-holiday .footer-links a,
body.theme-holiday .footer-bottom {
  color: #d5e1ec;
}

body.theme-holiday .footer-links a:hover {
  color: #ffe08a;
}

/* Cards: snow stays in a top strip only — never over text */
body.theme-holiday .benefit,
body.theme-holiday .service-card,
body.theme-holiday .process-card,
body.theme-holiday .vc-project-card,
body.theme-holiday .client-card,
body.theme-holiday .why-point {
  position: relative;
  overflow: hidden;
}

/* Extra top space so content clears snow + tree */
body.theme-holiday .service-card {
  padding-top: 44px;
}

body.theme-holiday .process-card,
body.theme-holiday .vc-project-card {
  padding-top: 42px;
}

body.theme-holiday .client-card {
  padding-top: 36px;
}

body.theme-holiday .benefit {
  padding-top: 28px;
}

body.theme-holiday .why-point {
  padding-top: 34px;
}

body.theme-holiday .vc-card-xmas {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 32px;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

/* Soft slate rail so white snow reads on white cards */
body.theme-holiday .vc-card-contrast {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #d7e3ef 0%, #e8eef5 55%, transparent 100%);
}

body.theme-holiday .why-point .vc-card-contrast {
  background: linear-gradient(180deg, rgba(255, 224, 138, 0.22) 0%, rgba(255, 255, 255, 0.06) 100%);
}

body.theme-holiday .vc-card-snow-shelf {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(71, 85, 105, 0.18);
}

body.theme-holiday .vc-card-snow-shelf--soft {
  top: 5px;
  height: 4px;
  background: rgba(255, 255, 255, 0.75);
}

body.theme-holiday .vc-card-snow-rail {
  position: absolute;
  top: 0;
  left: 0;
  right: 48px; /* leave room for tree */
  height: 26px;
}

body.theme-holiday .vc-card-mound {
  position: absolute;
  border-radius: 999px;
  background: #ffffff;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.16),
    inset 0 -1px 0 rgba(100, 116, 139, 0.22);
}

body.theme-holiday .vc-card-mound.is-soft {
  background: #f8fafc;
}

body.theme-holiday .vc-card-flake {
  position: absolute;
  width: 8px;
  height: 8px;
  opacity: 0.9;
  background:
    linear-gradient(#64748b, #64748b) center / 1.5px 100% no-repeat,
    linear-gradient(#64748b, #64748b) center / 100% 1.5px no-repeat;
  transform: rotate(45deg);
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.9));
}

body.theme-holiday .why-point .vc-card-flake {
  background:
    linear-gradient(#ffe08a, #ffe08a) center / 1.5px 100% no-repeat,
    linear-gradient(#ffe08a, #ffe08a) center / 100% 1.5px no-repeat;
}

body.theme-holiday .vc-card-flake--a { top: 14px; right: 46px; }
body.theme-holiday .vc-card-flake--b { top: 18px; right: 58px; width: 6px; height: 6px; opacity: 0.75; }
body.theme-holiday .vc-card-flake--c { top: 12px; right: 70px; width: 5px; height: 5px; opacity: 0.65; }

body.theme-holiday .vc-card-tree {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 16px;
  height: 20px;
  filter: drop-shadow(0 1px 1px rgba(15, 23, 42, 0.2));
}

body.theme-holiday .vc-card-tree::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 9px solid #0f5c3a;
  transform: translateX(-50%);
}

body.theme-holiday .vc-card-tree::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 6px;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 11px solid #0b4a32;
  transform: translateX(-50%);
}

body.theme-holiday .vc-card-trunk {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 3px;
  height: 4px;
  background: #8b5e3c;
  transform: translateX(-50%);
  border-radius: 1px;
}

body.theme-holiday .why-point .vc-card-tree::before {
  border-bottom-color: #34d399;
}

body.theme-holiday .why-point .vc-card-tree::after {
  border-bottom-color: #10b981;
}

body.theme-holiday .why-point .vc-card-trunk {
  background: #e7c9a0;
}

/* Content always above decor strip */
body.theme-holiday .service-card > *:not(.vc-card-xmas),
body.theme-holiday .benefit > *:not(.vc-card-xmas),
body.theme-holiday .process-card > *:not(.vc-card-xmas),
body.theme-holiday .vc-project-card > *:not(.vc-card-xmas),
body.theme-holiday .client-card > *:not(.vc-card-xmas),
body.theme-holiday .why-point > *:not(.vc-card-xmas) {
  position: relative;
  z-index: 3;
}
