/* ==========================================================
   DigitalOnfront Default Theme v6.4
   LIGHT PURPLE BLUEPRINT
   This file controls visual theme only.
   SEO/content/URLs/schema are intentionally untouched.
   ========================================================== */

:root{
  --theme-primary:#6d4fd3;
  --theme-primary-dark:#5137a8;
  --theme-primary-deep:#34245f;
  --theme-secondary:#8b6be8;
  --theme-accent:#b99cf4;

  --theme-bg:#fbf9ff;
  --theme-bg-soft:#f5f0ff;
  --theme-bg-soft-2:#eee6ff;
  --theme-surface:#ffffff;
  --theme-surface-tint:#fcfaff;

  --theme-ink:#211936;
  --theme-muted:#6d647b;
  --theme-line:#e4daf7;
  --theme-line-strong:#cfbff0;

  --theme-success:#16794b;
  --theme-warning:#9a6500;

  --theme-shadow:0 18px 50px rgba(75,52,122,.10);
  --theme-shadow-soft:0 10px 30px rgba(75,52,122,.07);

  /* Map legacy site variables to the default theme */
  --blue:var(--theme-primary);
  --red:var(--theme-secondary);
  --ink:var(--theme-ink);
  --muted:var(--theme-muted);
  --soft:var(--theme-bg-soft);
  --line:var(--theme-line);
  --white:#fff;
  --green:var(--theme-success);
  --shadow:var(--theme-shadow);
}

/* ---------- Global ---------- */
html{
  color-scheme:light;
}
body{
  background:var(--theme-bg);
  color:var(--theme-ink);
}
a{
  color:var(--theme-primary-dark);
}
::selection{
  background:#dfd1ff;
  color:var(--theme-primary-deep);
}

/* ---------- Header ---------- */
.site-header{
  background:rgba(251,249,255,.95);
  border-bottom:1px solid rgba(228,218,247,.95);
  box-shadow:0 4px 18px rgba(75,52,122,.035);
}
.brand{
  color:var(--theme-ink);
}
.site-header .nav a:not(.btn){
  color:#3b3150;
}
.site-header .nav a:not(.btn):hover,
.site-header .nav a:not(.btn):focus-visible{
  background:#eee6ff;
  color:var(--theme-primary-dark);
}
.menu-btn{
  background:#fff;
  border-color:var(--theme-line);
  color:var(--theme-primary-deep);
}

/* Definitive Contact CTA override over v6.3 */
.site-header .nav a.btn-primary,
.site-header .nav a.btn-primary:link,
.site-header .nav a.btn-primary:visited,
.site-header .nav a.btn-primary:hover,
.site-header .nav a.btn-primary:focus,
.site-header .nav a.btn-primary:focus-visible,
.site-header .nav a.btn-primary:active{
  background:var(--theme-primary) !important;
  background-image:linear-gradient(135deg,#5b3fc0,#7c5cdb) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 10px 24px rgba(109,79,211,.22) !important;
}
.site-header .nav a.btn-primary:hover,
.site-header .nav a.btn-primary:focus-visible{
  background:#5239b4 !important;
  background-image:linear-gradient(135deg,#4d35aa,#6848ca) !important;
}

/* ---------- Buttons ---------- */
.btn-primary,
a.btn-primary,
button.btn-primary,
span.btn-primary{
  background:linear-gradient(135deg,#5b3fc0,#7c5cdb) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 10px 24px rgba(109,79,211,.20) !important;
}
.btn-primary:hover,
.btn-primary:focus-visible{
  background:linear-gradient(135deg,#4d35aa,#6848ca) !important;
}

.btn-red,
a.btn-red,
button.btn-red,
span.btn-red{
  background:linear-gradient(135deg,#7453d6,#9a79eb) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.btn-ghost,
a.btn-ghost,
button.btn-ghost,
span.btn-ghost{
  background:#fff !important;
  color:var(--theme-primary-dark) !important;
  -webkit-text-fill-color:var(--theme-primary-dark) !important;
  border-color:var(--theme-line-strong) !important;
}
.btn-ghost:hover,
.btn-ghost:focus-visible,
.btn-light:hover,
.btn-light:focus-visible{
  background:#f4efff !important;
}

.btn-dark,
a.btn-dark,
button.btn-dark,
span.btn-dark{
  background:var(--theme-primary-deep) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- Main hero / page hero ---------- */
.hero{
  background:
    radial-gradient(circle at 88% 18%,rgba(185,156,244,.26),transparent 25%),
    radial-gradient(circle at 74% 80%,rgba(139,107,232,.12),transparent 24%),
    linear-gradient(180deg,#fdfcff 0%,#f6f1ff 100%);
}
.hero:before{
  background:radial-gradient(
    circle,
    rgba(139,107,232,.17),
    rgba(109,79,211,.055) 62%,
    transparent 63%
  );
}
.page-hero{
  background:
    radial-gradient(circle at 86% 25%,rgba(185,156,244,.20),transparent 22%),
    linear-gradient(180deg,#f4eeff,#fbf9ff);
}

/* ---------- Labels / cards / sections ---------- */
.eyebrow{
  background:#eee7ff;
  color:var(--theme-primary-dark);
  border-color:#d9cbf7;
}
.soft{
  background:var(--theme-bg-soft);
}
.card,
.hero-card,
.form-card,
.vendor-directory-card{
  background:var(--theme-surface);
  border-color:var(--theme-line);
  box-shadow:var(--theme-shadow-soft);
}
.kpi{
  background:#f4efff;
}
.kpi strong{
  color:var(--theme-primary-dark);
}
.icon{
  background:linear-gradient(135deg,#eee6ff,#faf7ff);
}
.chip{
  background:#fff;
  border-color:var(--theme-line);
  color:#443957;
}
.chip:hover{
  border-color:#bba7e6;
  box-shadow:0 6px 18px rgba(75,52,122,.08);
}
.notice{
  border-left-color:var(--theme-primary);
  background:#f5f0ff;
  color:#4c425d;
}
.badge{
  background:#eee7ff;
  color:var(--theme-primary-dark);
}

/* ---------- Strong feature band ---------- */
.band{
  background:
    radial-gradient(circle at 90% 12%,rgba(255,255,255,.16),transparent 25%),
    linear-gradient(135deg,#4f35a7,#7453d6 58%,#8e6be4);
  color:#fff;
}
.band p{
  color:#f1ecff;
}

/* ---------- Forms ---------- */
input,
select,
textarea{
  background:#fff;
  border-color:#cec2e4;
}
input:focus,
select:focus,
textarea:focus{
  outline:3px solid rgba(109,79,211,.14);
  border-color:#9173df;
}

/* ---------- Footer ---------- */
.footer{
  background:#241a3b;
  color:#dcd4ea;
}
.footer a{
  color:#f5f1ff;
}
.footer h3{
  color:#fff;
}

/* ---------- Cookie ---------- */
.cookie{
  background:#fff;
  border-color:var(--theme-line);
  box-shadow:0 18px 48px rgba(50,36,95,.18);
}

/* ==========================================================
   Vendor Landing Page Blueprint — LIGHT PURPLE
   ========================================================== */

.vendor-demo-bar{
  background:#efe7ff;
  color:#4a337f;
  border-bottom-color:#dacbf5;
}

.vlp-hero{
  color:var(--theme-ink);
  background:
    radial-gradient(circle at 86% 18%,rgba(185,156,244,.38),transparent 29%),
    radial-gradient(circle at 70% 82%,rgba(139,107,232,.17),transparent 30%),
    linear-gradient(125deg,#fbf9ff 0%,#f1eaff 56%,#e6dbff 100%);
}
.vlp-hero.has-image{
  color:#fff;
  background-image:
    linear-gradient(90deg,rgba(49,34,89,.91),rgba(66,44,119,.76) 52%,rgba(80,52,141,.42)),
    var(--vlp-hero);
}
.vlp-hero:not(.has-image) .vlp-breadcrumbs,
.vlp-hero:not(.has-image) .vlp-breadcrumbs a{
  color:#6d647b;
}
.vlp-hero:not(.has-image) .vlp-copy h1{
  color:var(--theme-primary-deep);
}
.vlp-hero:not(.has-image) .vlp-tagline{
  color:#483963;
}
.vlp-hero:not(.has-image) .vlp-summary{
  color:#675d76;
}
.vlp-hero:not(.has-image) .vlp-pill{
  color:#4b377c;
  background:rgba(255,255,255,.76);
  border-color:#d6c7f2;
}
.vlp-hero:not(.has-image) .vlp-rating-note{
  color:#6d647b;
}
.vlp-hero:not(.has-image) .vlp-rating-source{
  color:var(--theme-primary-dark);
}
.vlp-stars{
  color:#e6a900;
}

.vlp-hero-placeholder{
  background:
    radial-gradient(circle at 76% 18%,rgba(255,255,255,.34),transparent 24%),
    linear-gradient(135deg,#b89af2,#8b6be8);
}
.vlp-media-card,
.vlp-fact,
.vlp-service,
.vlp-trust-list>div,
.vlp-faq details{
  border-color:var(--theme-line);
  box-shadow:var(--theme-shadow-soft);
}
.vlp-service-icon{
  background:#eee7ff;
  color:var(--theme-primary-dark);
}
.vlp-gallery-placeholder{
  border-color:#bba9df;
  background:linear-gradient(135deg,#f0e9ff,#fbf9ff);
  color:#514563;
}
.vlp-map-placeholder{
  background:repeating-linear-gradient(
    45deg,
    #efe9f9,
    #efe9f9 18px,
    #faf7ff 18px,
    #faf7ff 36px
  );
  color:#5d536b;
  border-color:var(--theme-line);
}
.vlp-map-link{
  color:var(--theme-primary-dark);
}
.vlp-independent-notice{
  border-left-color:var(--theme-primary);
  background:#f3edff;
  color:#4a4058;
}
.vlp-final-cta{
  background:
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.16),transparent 26%),
    linear-gradient(125deg,#4e35a4,#7151cf 58%,#9574e7);
}
.vlp-mobilebar .call,
.vlp-mobilebar.demo span:first-child{
  background:#6246c3;
}
.vlp-mobilebar .wa,
.vlp-mobilebar.demo span:last-child{
  background:#4c3b79;
}

/* ---------- Directory ---------- */
.directory-controls input,
.directory-controls select{
  border-color:#cec2e4;
}
.vendor-directory-logo{
  border-color:var(--theme-line);
  background:#f6f1ff;
}

/* ---------- Accessibility / focus ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:3px solid rgba(109,79,211,.28);
  outline-offset:3px;
}

/* ---------- Mobile ---------- */
@media(max-width:900px){
  .site-header .nav{
    background:#fbf9ff;
    border-color:var(--theme-line);
  }

  .site-header .nav a.btn-primary,
  .site-header .nav a.btn-primary:hover,
  .site-header .nav a.btn-primary:focus-visible{
    background:var(--theme-primary) !important;
    background-image:linear-gradient(135deg,#5b3fc0,#7c5cdb) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
  }
}
