
/* VeltrixHost R45 — VPS + homepage plans only */
.vh-r45-plan-section,
.vh-r45-index-plans{
  background:#f7f8f9;
}
.vh-r45-plan-section .vh-section-head,
.vh-r45-index-plans .vh-section-head{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.vh-r45-plan-section .vh-section-head p,
.vh-r45-index-plans .vh-section-head p{
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.vh-r45-plan-standard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0 0 26px;
  padding:16px 18px;
  border:1px solid #e1e5e9;
  border-radius:12px;
  background:#fff;
}
.vh-r45-plan-standard>strong{
  flex:0 0 auto;
  color:#1b252f;
  font-size:13px;
}
.vh-r45-plan-standard>div{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.vh-r45-plan-standard span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border:1px solid #e2e6ea;
  border-radius:999px;
  background:#f8f9fa;
  color:#5f6b76;
  font-size:11.5px;
  font-weight:650;
}
.vh-r45-plan-standard span::before{
  content:"";
  width:5px;
  height:5px;
  margin-right:7px;
  border-radius:50%;
  background:var(--vh-orange);
}
.vh-r45-plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.vh-r45-plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe4e8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.02);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.vh-r45-plan-card:hover{
  transform:translateY(-2px);
  border-color:#cfd6dc;
  box-shadow:0 12px 30px rgba(15,23,42,.07);
}
.vh-r45-plan-card::before{
  content:"";
  display:block;
  height:3px;
  background:linear-gradient(90deg,var(--vh-orange),rgba(217,122,22,.22));
}
.vh-r45-plan-card__head{
  padding:22px 22px 18px;
}
.vh-r45-service{
  display:block;
  margin:0 0 9px;
  color:var(--vh-orange);
  font-family:var(--vh-mono);
  font-size:9.5px;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.vh-r45-plan-card h3,
.vh-r45-index-card h3{
  margin:0;
  color:#151e27;
  font-size:21px;
  line-height:1.22;
  letter-spacing:-.025em;
}
.vh-r45-price-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:24px;
  margin-top:18px;
  color:#7a858f;
  font-size:11px;
}
.vh-r45-price-meta del{
  color:#8d969f;
}
.vh-r45-save{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#fff5ec;
  color:#a65b13;
  font-size:10.5px;
  font-weight:750;
  white-space:nowrap;
}
.vh-r45-price{
  display:flex;
  align-items:flex-end;
  gap:7px;
  margin-top:5px;
}
.vh-r45-price strong{
  color:#101820;
  font-size:34px;
  line-height:1;
  letter-spacing:-.045em;
}
.vh-r45-price span{
  padding-bottom:3px;
  color:#6b7681;
  font-size:12px;
}
.vh-r45-plan-card__head>small{
  display:block;
  margin-top:7px;
  color:#87919a;
  font-size:10.5px;
}
.vh-r45-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #e7eaed;
  border-bottom:1px solid #e7eaed;
  background:#f8f9fa;
}
.vh-r45-stat{
  min-width:0;
  padding:13px 16px;
  border-right:1px solid #e7eaed;
  border-bottom:1px solid #e7eaed;
}
.vh-r45-stat:nth-child(2n){
  border-right:0;
}
.vh-r45-stat:nth-last-child(-n+2){
  border-bottom:0;
}
.vh-r45-stat span,
.vh-r45-stat strong{
  display:block;
}
.vh-r45-stat span{
  color:#7a858f;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.vh-r45-stat strong{
  margin-top:4px;
  overflow-wrap:anywhere;
  color:#26313b;
  font-size:13.5px;
  line-height:1.3;
}
.vh-r45-included,
.vh-r45-feature-block{
  flex:1 1 auto;
  padding:18px 22px 20px;
}
.vh-r45-included__label{
  display:block;
  margin-bottom:11px;
  color:#7a858f;
  font-size:10px;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.vh-r45-included ul,
.vh-r45-feature-list{
  list-style:none;
  margin:0;
  padding:0;
}
.vh-r45-included li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:8px 0;
  border-top:1px solid #eef0f2;
}
.vh-r45-included li:first-child{
  border-top:0;
  padding-top:0;
}
.vh-r45-included li span{
  color:#7a858f;
  font-size:11.5px;
}
.vh-r45-included li strong{
  color:#45515c;
  font-size:11.5px;
  text-align:right;
}
.vh-r45-feature-list{
  display:grid;
  gap:8px;
}
.vh-r45-feature-list li{
  position:relative;
  padding-left:18px;
  color:#5c6873;
  font-size:11.8px;
  line-height:1.45;
}
.vh-r45-feature-list li::before{
  content:"";
  position:absolute;
  left:1px;
  top:.48em;
  width:6px;
  height:3px;
  border-left:1.5px solid var(--vh-orange);
  border-bottom:1.5px solid var(--vh-orange);
  transform:rotate(-45deg);
}
.vh-r45-plan-btn,
.vh-r45-index-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  margin:0 22px 22px;
  padding:0 16px;
  border:1px solid #11171d;
  border-radius:9px;
  background:#11171d;
  color:#fff!important;
  font-size:12.5px;
  font-weight:750;
  text-decoration:none!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.vh-r45-plan-btn:hover,
.vh-r45-index-btn:hover{
  background:#232b32;
  border-color:#232b32;
  transform:translateY(-1px);
}

/* Homepage service-plan groups */
.vh-r45-index-groups{
  display:grid;
  gap:42px;
}
.vh-r45-index-group{
  padding-top:4px;
}
.vh-r45-index-group__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #dde2e6;
}
.vh-r45-index-group__head span{
  display:block;
  margin-bottom:5px;
  color:var(--vh-orange);
  font-family:var(--vh-mono);
  font-size:9px;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.vh-r45-index-group__head h3{
  margin:0;
  color:#151e27;
  font-size:22px;
  letter-spacing:-.025em;
}
.vh-r45-index-group__head p{
  max-width:470px;
  margin:0;
  color:#6a7580;
  font-size:12.5px;
  line-height:1.55;
  text-align:right;
}
.vh-r45-index-grid{
  display:grid;
  gap:16px;
  align-items:stretch;
}
.vh-r45-index-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.vh-r45-index-grid--4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.vh-r45-index-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.vh-r45-index-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:20px;
  border:1px solid #dfe4e8;
  border-radius:13px;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.vh-r45-index-card:hover{
  transform:translateY(-2px);
  border-color:#cfd6dc;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.vh-r45-index-card__top{
  min-height:137px;
}
.vh-r45-index-card h3{
  font-size:18px;
}
.vh-r45-index-price-label{
  margin-top:15px;
  color:#7a858f;
  font-size:10.5px;
}
.vh-r45-index-price{
  display:flex;
  align-items:flex-end;
  gap:6px;
  margin-top:3px;
}
.vh-r45-index-price strong{
  color:#101820;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}
.vh-r45-index-price span{
  padding-bottom:2px;
  color:#75808a;
  font-size:10.5px;
}
.vh-r45-index-card>ul{
  flex:1 1 auto;
  list-style:none;
  display:grid;
  gap:8px;
  margin:16px 0 19px;
  padding:15px 0 0;
  border-top:1px solid #eceff1;
}
.vh-r45-index-card>ul li{
  position:relative;
  padding-left:17px;
  color:#5f6b76;
  font-size:11.5px;
  line-height:1.4;
}
.vh-r45-index-card>ul li::before{
  content:"";
  position:absolute;
  left:1px;
  top:.48em;
  width:6px;
  height:3px;
  border-left:1.5px solid var(--vh-orange);
  border-bottom:1.5px solid var(--vh-orange);
  transform:rotate(-45deg);
}
.vh-r45-index-btn{
  min-height:42px;
  margin:0;
  font-size:11.5px;
}

@media(max-width:1100px){
  .vh-r45-plan-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .vh-r45-index-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .vh-r45-plan-standard{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .vh-r45-plan-standard>div{
    justify-content:flex-start;
  }
  .vh-r45-plan-grid,
  .vh-r45-index-grid--2,
  .vh-r45-index-grid--3,
  .vh-r45-index-grid--4{
    grid-template-columns:1fr;
  }
  .vh-r45-index-group__head{
    display:block;
  }
  .vh-r45-index-group__head p{
    margin-top:8px;
    text-align:left;
  }
  .vh-r45-index-card__top{
    min-height:0;
  }
}


/* =========================================================
   VeltrixHost R46 — unify all VPS cards with mailing-VPS style
   Scoped ONLY to .vh-r45-plan-section; homepage/index cards unchanged.
   Orange is used only for feature check marks.
   ========================================================= */

/* Remove orange accents from VPS plan cards. */
.vh-r45-plan-section .vh-r45-plan-card::before{
  background:#dfe4e8!important;
}
.vh-r45-plan-section .vh-r45-service{
  color:#687480!important;
}
.vh-r45-plan-section .vh-r45-save{
  background:#f1f3f5!important;
  color:#55616d!important;
}
.vh-r45-plan-section .vh-r45-plan-standard span::before{
  background:#8a949e!important;
}

/* Deploy button sits directly below pricing, before resources/features. */
.vh-r45-plan-section .vh-r45-plan-card>.vh-r45-plan-btn{
  order:initial!important;
  margin:0 22px 20px!important;
  min-height:46px!important;
}

/* Mailing-plan style feature list for every VPS card. */
.vh-r45-plan-section .vh-r45-feature-block{
  flex:1 1 auto!important;
  padding:18px 22px 20px!important;
}
.vh-r45-plan-section .vh-r45-feature-list{
  list-style:none!important;
  display:grid!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
}
.vh-r45-plan-section .vh-r45-feature-list li{
  position:relative!important;
  padding-left:19px!important;
  color:#5c6873!important;
  font-size:11.8px!important;
  line-height:1.48!important;
}
.vh-r45-plan-section .vh-r45-feature-list li::before{
  content:""!important;
  position:absolute!important;
  left:1px!important;
  top:.48em!important;
  width:6px!important;
  height:3px!important;
  border-left:1.5px solid var(--vh-orange)!important;
  border-bottom:1.5px solid var(--vh-orange)!important;
  transform:rotate(-45deg)!important;
}

/* Keep all other card details neutral. */
.vh-r45-plan-section .vh-r45-stat span,
.vh-r45-plan-section .vh-r45-stat strong,
.vh-r45-plan-section .vh-r45-price-meta,
.vh-r45-plan-section .vh-r45-price span,
.vh-r45-plan-section .vh-r45-plan-card__head>small,
.vh-r45-plan-section .vh-r45-included__label{
  color:#687480!important;
}
.vh-r45-plan-section .vh-r45-price strong,
.vh-r45-plan-section .vh-r45-plan-card h3{
  color:#151e27!important;
}

/* No orange hover on card text/buttons; only ticks remain orange. */
.vh-r45-plan-section .vh-r45-plan-card:hover{
  border-color:#cfd6dc!important;
}


/* =========================================================
   VeltrixHost R47 — Shared Hosting uses VPS/Mailing plan style
   Orange remains only on feature check marks.
   ========================================================= */

.vh-r47-shared-plan-section .vh-r45-plan-card::before{
  background:#dfe4e8!important;
}
.vh-r47-shared-plan-section .vh-r45-service{
  color:#687480!important;
}
.vh-r47-shared-plan-section .vh-r45-plan-standard span::before{
  background:#8a949e!important;
}
.vh-r47-shared-plan-section .vh-r45-price{
  margin-top:18px!important;
}
.vh-r47-shared-plan-section .vh-r45-plan-card>.vh-r45-plan-btn{
  margin:0 22px 20px!important;
}
.vh-r47-shared-plan-section .vh-r45-feature-list li::before{
  border-left-color:var(--vh-orange)!important;
  border-bottom-color:var(--vh-orange)!important;
}
.vh-r47-shared-plan-section .vh-r45-plan-card h3,
.vh-r47-shared-plan-section .vh-r45-price strong{
  color:#151e27!important;
}
.vh-r47-shared-plan-section .vh-r45-plan-card:hover{
  border-color:#cfd6dc!important;
}


/* =========================================================
   VeltrixHost R79.2 — Clean plan flow
   Plans pages now flow directly from heading/description to centered cards.
   ========================================================= */
.vh-r45-plan-section .vh-r45-plan-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
}
.vh-r45-plan-section .vh-r45-plan-grid>.vh-r45-plan-card{
  flex:0 1 calc((100% - 36px)/3);
  width:calc((100% - 36px)/3);
}
@media(max-width:1100px){
  .vh-r45-plan-section .vh-r45-plan-grid>.vh-r45-plan-card{
    flex-basis:calc((100% - 18px)/2);
    width:calc((100% - 18px)/2);
  }
}
@media(max-width:760px){
  .vh-r45-plan-section .vh-r45-plan-grid>.vh-r45-plan-card{
    flex-basis:100%;
    width:100%;
  }
}
