/**
 * VA20Four7 v11.17 — Pricing Card System
 * Makes the custom commercial models read as true plan-selection cards without
 * changing plan copy, hierarchy or CTA destinations.
 */

.va110-pricing-page .va110-pricing-models{
  background:linear-gradient(180deg,#f7f9fc 0%,#f3f6fa 100%)!important;
  position:relative;
  overflow:hidden;
}

.va110-pricing-page .va110-pricing-models::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:220px;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%,rgba(76,124,240,.075),transparent 46%),
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,0));
}

.va110-pricing-page .va110-pricing-models>.wrap{position:relative;z-index:1}

.va110-pricing-grid{
  gap:22px!important;
  align-items:stretch!important;
  padding-top:8px;
}

.va110-pricing-grid>article{
  --plan-accent:#5d82df;
  --plan-accent-rgb:93,130,223;
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
  display:flex!important;
  flex-direction:column!important;
  min-height:620px!important;
  padding:0 28px 28px!important;
  border:1px solid #dce4ee!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%)!important;
  box-shadow:
    0 1px 2px rgba(19,40,66,.035),
    0 16px 34px rgba(19,40,66,.065)!important;
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
}

.va110-pricing-grid>article:nth-child(2){
  --plan-accent:#7567eb;
  --plan-accent-rgb:117,103,235;
}
.va110-pricing-grid>article:nth-child(3){
  --plan-accent:#2cae88;
  --plan-accent-rgb:44,174,136;
}

.va110-pricing-grid>article::before{
  content:"";
  display:block;
  height:5px;
  margin:0 -28px 0;
  background:linear-gradient(90deg,var(--plan-accent),rgba(var(--plan-accent-rgb),.46));
}

.va110-pricing-grid>article::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:220px;
  height:220px;
  top:-110px;
  right:-95px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--plan-accent-rgb),.105),rgba(var(--plan-accent-rgb),0) 68%);
  pointer-events:none;
}

.va110-pricing-grid>article:hover{
  transform:translateY(-3px);
  border-color:rgba(var(--plan-accent-rgb),.34)!important;
  box-shadow:
    0 2px 4px rgba(19,40,66,.035),
    0 22px 50px rgba(19,40,66,.095)!important;
}

.va110-pricing-grid>article.featured{
  border-color:rgba(117,103,235,.40)!important;
  background:linear-gradient(180deg,#f9f8ff 0%,#fff 19%,#fbfcff 100%)!important;
  box-shadow:
    0 2px 5px rgba(36,43,85,.04),
    0 24px 58px rgba(75,78,154,.14)!important;
}

/* Plan identity header */
.va110-plan-top{
  min-height:72px;
  margin:0 -4px;
  padding:22px 4px 12px;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center!important;
  gap:12px!important;
  border-bottom:1px solid #e8edf4;
}

.va110-plan-top>span{
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  background:rgba(var(--plan-accent-rgb),.10)!important;
  border:1px solid rgba(var(--plan-accent-rgb),.13)!important;
  color:#253a55!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.02em;
}

.va110-plan-top small{
  min-width:0;
  color:#263a55!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}

.va110-plan-top em{
  margin-left:0!important;
  padding:7px 10px!important;
  border:1px solid rgba(117,103,235,.14);
  border-radius:999px!important;
  background:#eeeefe!important;
  color:#5547bd!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.03em;
  white-space:nowrap;
}

/* Plan name / description */
.va110-pricing-grid h3{
  margin:26px 0 10px!important;
  color:#132843!important;
  font-size:clamp(27px,2vw,31px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
}

.va110-pricing-grid>article>p{
  min-height:88px!important;
  margin:0 0 22px!important;
  color:#61748a!important;
  font-size:14px!important;
  line-height:1.62!important;
}

/* Commercial summary — this is what makes the card read as pricing */
.va110-plan-price{
  position:relative;
  margin:0 0 22px!important;
  padding:18px 18px 17px 20px!important;
  border:1px solid rgba(var(--plan-accent-rgb),.16)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(var(--plan-accent-rgb),.075),rgba(255,255,255,.76))!important;
  box-shadow:inset 3px 0 0 var(--plan-accent);
}

.va110-plan-price strong{
  display:block!important;
  color:#172b46!important;
  font-size:19px!important;
  line-height:1.22!important;
  font-weight:700!important;
  letter-spacing:-.02em;
}

.va110-plan-price small{
  display:block!important;
  margin-top:6px!important;
  color:#60748a!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:500!important;
}

/* Included features */
.va110-pricing-grid ul{
  position:relative;
  list-style:none!important;
  margin:0 0 26px!important;
  padding:20px 0 0!important;
  display:grid!important;
  gap:13px!important;
  border-top:1px solid #e7ecf2;
}

.va110-pricing-grid li{
  position:relative!important;
  min-height:22px;
  padding-left:30px!important;
  color:#53677e!important;
  font-size:13px!important;
  line-height:1.48!important;
  font-weight:500!important;
}

.va110-pricing-grid li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  background:rgba(var(--plan-accent-rgb),.105)!important;
  color:var(--plan-accent)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
}

/* CTA is treated as the plan footer */
.va110-pricing-grid .btn{
  min-height:52px!important;
  margin-top:auto!important;
  width:100%!important;
  border:1px solid #173b5d!important;
  border-radius:13px!important;
  background:#173b5d!important;
  box-shadow:0 8px 18px rgba(16,46,76,.12)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:650!important;
  justify-content:center!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}

.va110-pricing-grid .btn:hover{
  transform:translateY(-1px)!important;
  background:#102f4d!important;
  border-color:#102f4d!important;
  box-shadow:0 11px 23px rgba(16,46,76,.16)!important;
}

.va110-pricing-grid>article.featured .btn{
  background:linear-gradient(135deg,#4d62c9,#6757d9)!important;
  border-color:#5d54ca!important;
  box-shadow:0 10px 24px rgba(91,78,198,.22)!important;
}
.va110-pricing-grid>article.featured .btn:hover{
  background:linear-gradient(135deg,#4358bc,#5d4dce)!important;
  border-color:#5148bd!important;
}

@media (max-width:1050px){
  .va110-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .va110-pricing-grid>article:last-child{grid-column:1/-1!important;max-width:calc(50% - 11px);width:100%;justify-self:center}
  .va110-pricing-grid>article{min-height:0!important}
}

@media (max-width:720px){
  .va110-pricing-grid{grid-template-columns:1fr!important;gap:16px!important}
  .va110-pricing-grid>article:last-child{grid-column:auto!important;max-width:none!important}
  .va110-pricing-grid>article{padding:0 22px 22px!important;border-radius:20px!important}
  .va110-pricing-grid>article::before{margin-left:-22px;margin-right:-22px}
  .va110-plan-top{grid-template-columns:36px minmax(0,1fr);gap:10px;min-height:0;padding-top:18px}
  .va110-plan-top>span{width:36px!important;height:36px!important}
  .va110-plan-top em{grid-column:1/-1;width:max-content;margin-top:0!important}
  .va110-pricing-grid h3{font-size:27px!important;margin-top:22px!important}
  .va110-pricing-grid>article>p{min-height:0!important;font-size:14px!important;margin-bottom:18px!important}
  .va110-plan-price{padding:16px 16px 15px 18px!important}
  .va110-pricing-grid li{font-size:13px!important}
}

@media (prefers-reduced-motion:reduce){
  .va110-pricing-grid>article,.va110-pricing-grid .btn{transition:none!important}
  .va110-pricing-grid>article:hover,.va110-pricing-grid .btn:hover{transform:none!important}
}
