/* Shared server badges retained from the original Dedicated Server Finder. */
.ds-plan-type-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 16px;
  border-radius: 999px;
  background: #0b2f9f99;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.02em;
  flex-shrink: 0;
  white-space: nowrap;
}

.ds-plan-type-badge.ds-delivery-badge.ds-delivery-badge--outline {
  background: transparent;
  border-color: rgba(31, 27, 36, 0.28);
  color: #474747;
}

.ds-plan-type-badge.ds-delivery-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #eefaf1;
  border: 1px solid rgba(22, 163, 74, 0.55);
  color: #15803d;
}

.ds-plan-type-badge.ds-delivery-badge::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M8.515%201.019A7%207%200%200%200%208%201V0a8%208%200%200%201%20.589.022l-.074.997zm2.004.45a7.003%207.003%200%200%200-.985-.299l.219-.976c.383.086.76.2%201.126.342l-.36.933zm1.37.71a7.01%207.01%200%200%200-.439-.27l.493-.87a8.025%208.025%200%200%201%20.979.654l-.615.789a6.996%206.996%200%200%200-.418-.302zm1.834%201.79a6.99%206.99%200%200%200-.653-.796l.724-.69c.27.285.52.59.747.91l-.818.576zm.744%201.352a7.08%207.08%200%200%200-.214-.468l.893-.45a7.976%207.976%200%200%201%20.45%201.088l-.95.313a7.023%207.023%200%200%200-.179-.483zm.53%202.507a6.991%206.991%200%200%200-.1-1.025l.985-.17c.067.386.106.778.116%201.17l-1%20.025zm-.131%201.538c.033-.17.06-.339.081-.51l.993.123a7.957%207.957%200%200%201-.23%201.155l-.964-.267c.046-.165.086-.332.12-.501zm-.952%202.379c.184-.29.346-.594.486-.908l.914.405c-.16.36-.345.706-.555%201.038l-.845-.535zm-.964%201.205c.122-.122.239-.248.35-.378l.758.653a8.073%208.073%200%200%201-.401.432l-.707-.707z%22%2F%3E%3Cpath%20d%3D%22M8%201a7%207%200%201%200%204.95%2011.95l.707.707A8.001%208.001%200%201%201%208%200v1z%22%2F%3E%3Cpath%20d%3D%22M7.5%203a.5.5%200%200%201%20.5.5v5.21l3.248%201.856a.5.5%200%200%201-.496.868l-3.5-2A.5.5%200%200%201%207%209V3.5a.5.5%200%200%201%20.5-.5z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M8.515%201.019A7%207%200%200%200%208%201V0a8%208%200%200%201%20.589.022l-.074.997zm2.004.45a7.003%207.003%200%200%200-.985-.299l.219-.976c.383.086.76.2%201.126.342l-.36.933zm1.37.71a7.01%207.01%200%200%200-.439-.27l.493-.87a8.025%208.025%200%200%201%20.979.654l-.615.789a6.996%206.996%200%200%200-.418-.302zm1.834%201.79a6.99%206.99%200%200%200-.653-.796l.724-.69c.27.285.52.59.747.91l-.818.576zm.744%201.352a7.08%207.08%200%200%200-.214-.468l.893-.45a7.976%207.976%200%200%201%20.45%201.088l-.95.313a7.023%207.023%200%200%200-.179-.483zm.53%202.507a6.991%206.991%200%200%200-.1-1.025l.985-.17c.067.386.106.778.116%201.17l-1%20.025zm-.131%201.538c.033-.17.06-.339.081-.51l.993.123a7.957%207.957%200%200%201-.23%201.155l-.964-.267c.046-.165.086-.332.12-.501zm-.952%202.379c.184-.29.346-.594.486-.908l.914.405c-.16.36-.345.706-.555%201.038l-.845-.535zm-.964%201.205c.122-.122.239-.248.35-.378l.758.653a8.073%208.073%200%200%201-.401.432l-.707-.707z%22%2F%3E%3Cpath%20d%3D%22M8%201a7%207%200%201%200%204.95%2011.95l.707.707A8.001%208.001%200%201%201%208%200v1z%22%2F%3E%3Cpath%20d%3D%22M7.5%203a.5.5%200%200%201%20.5.5v5.21l3.248%201.856a.5.5%200%200%201-.496.868l-3.5-2A.5.5%200%200%201%207%209V3.5a.5.5%200%200%201%20.5-.5z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

@media (max-width: 640px) {
  .ds-plan-type-badge {
    min-height: 30px;
    padding: 0 14px;
    font-size: 11px;
  }
}

/* Scoped additions for the copied catalog. Original site utilities remain in style.css. */
#hosting-plans.nc-catalog {
  background-color:#fff;
  scroll-margin-top:20px;
  color:#1d2333;
}
.nc-catalog .nc-container {
  max-width:1140px;
}
.nc-catalog [hidden] {
  display:none!important;
}
.nc-catalog .nc-heading {
  margin-bottom:32px;
}
.nc-catalog .nc-heading p {
  color:#606d82;
  font-size:16px;
}
.nc-catalog .nc-filters {
  background:#081e58;
  border-radius:14px;
  padding:22px 28px;
  color:#fff;
}
.nc-catalog .nc-filterbar {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.nc-catalog .nc-locations {
  min-width:0;
  border:0;
  padding:0;
  margin:0;
}
.nc-catalog legend {
  width:100%;
  text-align:center;
  font-size:13px;
  font-weight:500;
  letter-spacing:1.1px;
  text-transform:uppercase;
  color:#d6e3fb;
  margin-bottom:15px;
}
.nc-catalog .nc-location-options {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}
.nc-catalog .nc-all,.nc-catalog .nc-location-option {
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-radius:8px;
  min-height:48px;
  font-size:15px;
  white-space:nowrap;
  border:1px solid #49618c;
}
.nc-catalog .nc-location-option>span {
  display:flex;
  align-items:center;
  gap:10px;
}
.nc-catalog .nc-all {
  color:#fff;
  background:transparent;
  border:0;
  cursor:pointer;
}
.nc-catalog .nc-all[aria-pressed=true],.nc-catalog .nc-location-option:has(input:checked) {
  background:#0069ff;
  color:white;
  border-color:#438fff;
}
.nc-catalog .nc-all::before {
  content:'✓';
  font-size:14px;
  opacity:0;
}
.nc-catalog .nc-all[aria-pressed=true]::before {
  opacity:1;
}
.nc-catalog .nc-location-option {
  position:relative;
  cursor:pointer;
}
.nc-catalog .nc-location-option input {
  position:static;
  appearance:auto;
  opacity:1;
  width:17px;
  height:17px;
  margin:0;
  accent-color:#0069ff;
  flex-shrink:0;
  cursor:pointer;
}
.nc-catalog .nc-location-option:focus-within {
  outline:2px solid #fff;
  outline-offset:3px;
}
.nc-catalog .nc-location-option img,.nc-catalog .nc-location img {
  width:20px;
  height:14px;
  object-fit:cover;
  border-radius:2px;
  flex-shrink:0;
}
.nc-catalog .nc-location-option img {
  width:25px;
  height:18px;
}
.nc-catalog .nc-toggle {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  background:transparent;
  color:white;
  white-space:nowrap;
  min-height:40px;
  padding:8px 12px;
  font-size:14px;
  line-height:1.5;
  cursor:pointer;
}
.nc-catalog .nc-chevron {
  display:grid;
  place-items:center;
  width:14px;
  height:14px;
  flex:0 0 14px;
}
.nc-catalog .nc-chevron::before {
  content:'';
  display:block;
  width:7px;
  height:7px;
  border-right:1.7px solid currentColor;
  border-bottom:1.7px solid currentColor;
  transform:rotate(45deg);
  transform-origin:center;
  transition:transform .16s ease;
}
.nc-catalog .nc-toggle[aria-expanded=true] .nc-chevron::before {
  transform:rotate(225deg);
}
.nc-catalog .nc-filter-count {
  position:absolute;
  left:calc(100% - 5px);
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
}
@media(prefers-reduced-motion:reduce) {
  .nc-catalog .nc-chevron::before {
    transition:none;
  }
}
.nc-catalog .nc-advanced {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:23px;
  padding-top:23px;
  border-top:1px solid #344c7f;
}
.nc-catalog .nc-field {
  font-size:12px;
  color:#d4e1f7;
}
.nc-catalog .nc-field select {
  display:block;
  width:100%;
  background:#fff;
  color:#20304c;
  border:1px solid #d8e2f1;
  border-radius:7px;
  padding:10px 12px;
  font-size:14px;
  margin-top:7px;
  min-height:44px;
}
.nc-catalog .nc-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:24px 0 16px;
  font-size:13px;
  color:#53627a;
}
.nc-catalog #nc-results {
  font-weight:500;
  color:#26344b;
}
.nc-catalog .nc-tools {
  display:flex;
  align-items:center;
  gap:16px;
}
.nc-catalog .nc-clear,.nc-catalog .nc-empty-reset {
  color:#0069ff;
  cursor:pointer;
  background:none;
  border:0;
}
.nc-catalog .nc-active {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.nc-catalog .nc-active:not(:empty) {
  margin-bottom:15px;
}
.nc-catalog .nc-chip {
  font-size:12px;
  color:#1257ba;
  background:#edf4ff;
  border:1px solid #cddfff;
  padding:7px 10px;
  border-radius:6px;
  cursor:pointer;
}
.nc-catalog #nc-servers {
  display:grid;
  gap:15px;
}
.nc-catalog .nc-server {
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  border:1px solid #dfe6f0;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 16px #182f5706;
}
.nc-catalog .nc-server:hover {
  border-color:#adc9f2;
}
.nc-catalog .nc-config {
  padding:23px 28px;
  min-width:0;
}
.nc-catalog .nc-title {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 18px;
}
.nc-catalog .nc-title h3 {
  font-size:20px;
  line-height:1.4;
  margin:0;
}
.nc-catalog .nc-location {
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:18px;
  border-left:1px solid #dce4f1;
  font-size:13px;
  color:#5e6f89;
}
.nc-catalog .nc-cpu {
  font-size:14px;
  color:#4f5c70;
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.nc-catalog .nc-specs {
  display:grid;
  grid-template-columns:1.3fr 1.25fr 1fr 1fr;
  margin:23px 0 0;
  gap:0;
}
.nc-catalog .nc-specs>div {
  padding:0 20px;
  border-left:1px solid #e0e7f1;
  min-width:0;
}
.nc-catalog .nc-specs>div:first-child {
  padding-left:0;
  border:0;
}
.nc-catalog .nc-specs>div:last-child {
  padding-right:0;
}
.nc-catalog dt {
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.7px;
  color:#4f5c70;
  margin-bottom:6px;
}
.nc-catalog dd {
  margin:0;
  font-size:15px;
  font-weight:500;
  line-height:1.5;
  color:#27354b;
  overflow-wrap:anywhere;
}
.nc-catalog .nc-specs>div:last-child dd {
  color:#187554;
}
.nc-catalog .nc-specs .ds-plan-type-badge {
  padding:0 10px;
  min-height:28px;
  font-size:12px;
  font-weight:500;
  letter-spacing:0;
}
.nc-catalog .nc-purchase {
  border-left:1px solid #e3eaf4;
  background:#f6f8fe;
  padding:20px 24px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:12px;
}
.nc-catalog .nc-price {
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:5px;
  margin:0;
  white-space:nowrap;
}
.nc-catalog .nc-price strong {
  font-size:36px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-1px;
}
.nc-catalog .nc-price>span {
  font-size:13px;
  color:#60718c;
}
.nc-catalog .nc-from {
  font-size:11px;
  color:#60718c;
  text-align:center;
  margin-bottom:-7px;
}
.nc-catalog .nc-order {
  padding:12px 10px;
  white-space:nowrap;
  text-decoration:none;
  transition:background .15s;
}
.nc-catalog .nc-order:hover,.nc-catalog .nc-more:hover {
  background:#0056d7;
}
.nc-catalog .nc-more-wrap {
  margin-top:24px;
}
.nc-catalog .nc-more {
  padding:12px 30px;
  font-size:14px;
  cursor:pointer;
}
.nc-catalog .nc-included {
  margin:25px 0 0;
  font-size:13px;
  color:#60718c;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.nc-catalog .nc-included img {
  width:20px;
  height:20px;
}
.nc-catalog .nc-empty {
  padding:35px 16px;
  background:#f6f8fe;
  border-radius:12px;
}
.nc-catalog .nc-empty p {
  margin:10px 0 18px;
}
.nc-catalog .nc-toggle {
  margin-right:auto;
  margin-left:auto;
}
@media(max-width:1023px) {
  .nc-catalog .nc-filters {
    padding:20px;
  }
  .nc-catalog .nc-filterbar {
    flex-wrap:wrap;
  }
  .nc-catalog .nc-toggle {
    margin-left:auto;
  }
  .nc-catalog .nc-server {
    grid-template-columns:minmax(0,1fr) 178px;
  }
  .nc-catalog .nc-config {
    padding:20px;
  }
  .nc-catalog .nc-title h3 {
    font-size:18px;
  }
  .nc-catalog .nc-location {
    border:0;
    padding-left:0;
  }
  .nc-catalog .nc-specs>div {
    padding:0 12px;
  }
  .nc-catalog dd {
    font-size:13px;
  }
  .nc-catalog .nc-purchase {
    padding:18px;
  }
  .nc-catalog .nc-order {
    font-size:12px;
  }
  .nc-catalog .nc-price strong {
    font-size:32px;
  }
}
@media(max-width:767px) {
  .nc-catalog .nc-heading {
    margin-bottom:24px;
  }
  .nc-catalog .nc-heading p {
    font-size:14px;
  }
  .nc-catalog .nc-title {
    display:block;
  }
  .nc-catalog .nc-location {
    margin-top:7px;
  }
  .nc-catalog .nc-specs {
    grid-template-columns:1fr 1fr;
    gap:17px;
  }
  .nc-catalog .nc-specs>div {
    padding:0;
    border:0;
  }
  .nc-catalog .nc-advanced {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nc-catalog .nc-toolbar {
    flex-wrap:wrap;
    gap:7px;
  }
  .nc-catalog .nc-tools {
    margin-left:auto;
  }
  .nc-catalog .nc-field select {
    font-size:16px;
  }
  .nc-catalog .nc-location-options {
    gap:6px;
  }
  .nc-catalog .nc-all,.nc-catalog .nc-location-option>span {
    padding:10px;
    font-size:12px;
  }
  .nc-catalog .nc-included {
    font-size:12px;
  }
}
@media(max-width:540px) {
  .nc-catalog .nc-server {
    grid-template-columns:1fr;
  }
  .nc-catalog .nc-config {
    padding:20px;
  }
  .nc-catalog .nc-purchase {
    border-left:0;
    border-top:1px solid #e3eaf4;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    padding:15px 20px;
    gap:10px;
  }
  .nc-catalog .nc-price strong {
    font-size:29px;
  }
  .nc-catalog .nc-order {
    padding:11px 19px;
    font-size:12px;
  }
  .nc-catalog .nc-from {
    flex-basis:100%;
    text-align:left;
    margin-bottom:-5px;
  }
  .nc-catalog .nc-filters {
    padding:17px;
  }
  .nc-catalog .nc-advanced {
    gap:12px;
  }
  .nc-catalog .nc-tools {
    width:100%;
    justify-content:space-between;
  }
  .nc-catalog .nc-tools>label {
    margin-left:auto;
  }
  .nc-catalog .nc-included {
    align-items:flex-start;
  }
  .nc-catalog .nc-included img {
    flex-shrink:0;
  }
}
.nc-catalog .nc-location-option>span {
  padding:0;
  font-size:inherit;
  min-height:0;
}
@media(max-width:767px) {
  .nc-catalog .nc-all,.nc-catalog .nc-location-option {
    font-size:14px;
    padding:10px 12px;
  }
  .nc-catalog .nc-location-options {
    gap:8px;
  }
  .nc-catalog .nc-advanced {
    grid-template-columns:1fr;
  }
  .nc-catalog .nc-location-option img {
    width:25px;
    height:18px;
  }
}
/* Presentation moved out of the HTML;
original site CSS is unchanged. */
#hosting-plans.nc-catalog {
  padding: 0 16px 60px;
}
.nc-catalog .nc-container {
  margin-left: auto;
  margin-right: auto;
}
.nc-catalog .nc-heading {
  text-align: center;
  padding: 60px 0;
}
.nc-catalog .nc-section-title {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 20px;
}
.nc-catalog .hosting-title-border {
  display: inline-flex;
  flex-direction: column;
}
.nc-catalog .nc-heading-text {
  position: relative;
}
.nc-catalog .nc-server {
  background: #fff;
}
.nc-catalog .nc-title h3 {
  font-weight: 600;
}
.nc-catalog .nc-order, .nc-catalog .nc-more {
  background: #0069ff;
  color: #fff;
  border-radius: 999px;
  font-weight: 600;
  text-align: center;
}
.nc-catalog .nc-order {
  display: block;
  font-size: 14px;
}
.nc-catalog .nc-more-wrap, .nc-catalog .nc-empty {
  text-align: center;
}
.nc-catalog .nc-empty h3 {
  font-size: 20px;
  font-weight: 600;
}
.nc-catalog .nc-empty-reset {
  font-weight: 600;
}
@media (min-width: 1024px) {
  .nc-catalog .nc-heading {
    padding-top: 72px;
  }
  .nc-catalog .nc-section-title {
    font-size: 32px;
  }
}
@media (max-width: 1023px) {
  .nc-catalog .nc-order {
    font-size: 12px;
  }
}

/* Location pages: plan highlight and unavailable checkout state. */
.nc-catalog .nc-popular {
  display: inline-block;
  margin-left: 10px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eef3ff;
  color: #164bc4;
  font-size: 11px;
  font-weight: 600;
  vertical-align: middle;
}
.nc-catalog .nc-order:disabled {
  background: #e6eaf2;
  color: #596579;
  cursor: not-allowed;
}
