/* ==========================================================
   HostingPro Orderform - CLEAN ARCHITECTURE (UPDATED)
   Goal: ficar igual ao layout proposto (tipografia, cores, hover, summary, support)
   Scope: #order-standard_cart.hp-pro
   ========================================================== */

/* FA spin animation fallback (forced) */
@-webkit-keyframes fa-spin{
  0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}
  100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}
}
@keyframes fa-spin{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
.fa-spin,
#order-standard_cart .fa-spin,
#order-standard_cart.hp-pro .fa-spin{
  -webkit-animation: fa-spin 1s infinite linear !important;
  animation: fa-spin 1s infinite linear !important;
  display: inline-block !important;
}

/* -----------------------------
   0) BASE + TIPOGRAFIA (Inter)
------------------------------*/
#order-standard_cart.hp-pro,
#order-standard_cart.hp-pro *{
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Remove qualquer “fundo azul”/hover do tema fora do orderform */
body,
body.page-orderform,
body.page-orderform .content-wrapper,
body.page-orderform .main-content,
body.page-orderform .page-content,
body.page-orderform .container,
body.page-orderform .container-fluid{
  background: #f8fafc !important; /* slate-50 */
}

/* Evita highlight azul em elementos do tema quando passa o mouse */
body a:hover,
body .list-group-item:hover,
body .panel:hover,
body .card:hover,
body tr:hover,
body .row:hover{
  background-color: transparent !important;
}

/* -----------------------------
   1) ESTRUTURA
------------------------------*/
#order-standard_cart.hp-pro{
  width: 100%;
}

/* remove sidebar interna do orderform */
#order-standard_cart.hp-pro .cart-sidebar{
  display: none !important;
}

#order-standard_cart.hp-pro .cart-body{
  width: 100%;
}

/* wrapper controlado (igual ao modelo: max-w e respiro) */
#order-standard_cart.hp-pro .hp-wrap{
  max-width: 1280px;            /* mais próximo do max-w-7xl */
  margin: 0 auto;
  padding: 32px 32px 48px;
}

/* grid real 8/4 */
#order-standard_cart.hp-pro .hp-grid{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 32px;                    /* igual ao “gap-8” */
  align-items: start;
}

@media (max-width: 991px){
  #order-standard_cart.hp-pro .hp-grid{
    grid-template-columns: 1fr;
  }
  #order-standard_cart.hp-pro .hp-wrap{
    padding: 20px;
  }
}

/* -----------------------------
   2) BREADCRUMB (sem “comer linha”)
------------------------------*/
#order-standard_cart.hp-pro .hp-breadcrumb{
  margin: 0 0 18px 0;
}

#order-standard_cart.hp-pro .hp-bc{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;

  display: flex;
  align-items: center;
  gap: 10px;

  flex-wrap: wrap;              /* não estoura/“come” */
  line-height: 1.2;
}

#order-standard_cart.hp-pro .hp-bc li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#order-standard_cart.hp-pro .hp-bc-home{
  color: #9ca3af !important;
  text-decoration: none;
}

#order-standard_cart.hp-pro .hp-bc-link{
  color: #6b7280 !important;    /* gray-500 */
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

#order-standard_cart.hp-pro .hp-bc-link:hover{
  color: #374151 !important;    /* gray-700 */
}

#order-standard_cart.hp-pro .hp-bc-sep{
  color: #d1d5db !important;    /* gray-300 */
  opacity: 1 !important;
}

#order-standard_cart.hp-pro .hp-bc-current{
  color: #2563eb !important;    /* primary-600 */
  font-size: 14px;
  font-weight: 600;
}

/* -----------------------------
   3) HEADER (títulos iguais ao layout)
------------------------------*/
#order-standard_cart.hp-pro .hp-head{
  margin: 0 0 22px;
}

#order-standard_cart.hp-pro .hp-h1{
  margin: 0 0 8px;
  font-size: 34px;              /* ~text-3xl */
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
}

#order-standard_cart.hp-pro .hp-sub{
  margin: 0;
  font-size: 18px;              /* ~text-lg */
  font-weight: 500;
  color: #6b7280;               /* gray-500 */
}

/* -----------------------------
   4) CARDS (igual ao layout: borda suave + header leve)
------------------------------*/
#order-standard_cart.hp-pro .hp-card{
  background: #ffffff;
  border: 1px solid #eef2f7;    /* borda bem leve */
  border-radius: 16px;          /* rounded-xl */
  box-shadow: 0 0 0 1px rgba(0,0,0,0.03), 0 2px 8px rgba(0,0,0,0.04);
  margin: 0 0 22px;
  overflow: hidden;
}

#order-standard_cart.hp-pro .hp-card-head{
  padding: 18px 22px;
  border-bottom: 1px solid #f1f5f9;
  background: rgba(249,250,251,0.7); /* gray-50/50 */
}

#order-standard_cart.hp-pro .hp-card-body{
  padding: 22px;
}

/* TÍTULOS DOS CARDS (não “gigantes”) */
#order-standard_cart.hp-pro .hp-h2{
  margin: 0;
  font-size: 18px;              /* igual ao modelo */
  font-weight: 700;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 10px;
}

#order-standard_cart.hp-pro .hp-h2 i{
  color: #2563eb;
}

/* Produto no topo */
#order-standard_cart.hp-pro .hp-prod-title{
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}
#order-standard_cart.hp-pro .hp-prod-desc{
  margin-top: 6px;
  font-size: 13px;
  color: #6b7280;
}

/* Remove qualquer hover azul em cards/labels internos */
#order-standard_cart.hp-pro .hp-card:hover,
#order-standard_cart.hp-pro .hp-radio:hover,
#order-standard_cart.hp-pro .hp-check:hover,
#order-standard_cart.hp-pro .hp-addon:hover{
  background: #ffffff !important;
}

/* -----------------------------
   5) FORM FIELDS (padrão clean)
------------------------------*/
#order-standard_cart.hp-pro select,
#order-standard_cart.hp-pro input[type="text"],
#order-standard_cart.hp-pro input[type="number"],
#order-standard_cart.hp-pro input[type="password"],
#order-standard_cart.hp-pro textarea{
  width: 100% !important;
  height: 48px;
  border-radius: 12px !important;
  padding: 0 14px;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

#order-standard_cart.hp-pro textarea{
  height: auto;
  padding: 12px 14px;
}

#order-standard_cart.hp-pro select:focus,
#order-standard_cart.hp-pro input:focus,
#order-standard_cart.hp-pro textarea:focus{
  outline: none !important;
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.10) !important;
}

/* -----------------------------
   6) RADIO / CHECK (estilo do layout)
------------------------------*/
#order-standard_cart.hp-pro .hp-radio-stack{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

#order-standard_cart.hp-pro .hp-radio,
#order-standard_cart.hp-pro .hp-check{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
}

#order-standard_cart.hp-pro .hp-radio input,
#order-standard_cart.hp-pro .hp-check input{
  width: 18px;
  height: 18px;
  margin: 0;
}

/* tira highlight azul do tema em label:hover */
#order-standard_cart.hp-pro label:hover{
  background: transparent !important;
}

/* -----------------------------
   7) SUMMARY (igual ao layout proposto — SEM cinza)
------------------------------*/
#order-standard_cart.hp-pro .hp-summary-card{
  background: #ffffff !important;
  border: 1px solid #eef2f7 !important;
  border-radius: 16px;          /* rounded-xl */
  padding: 22px;
  box-shadow: 0 4px 20px -2px rgba(0,0,0,.05);
  position: sticky;
  top: 24px;
  overflow: hidden;
}

/* top bar decorativa (fina, igual ao modelo) */
#order-standard_cart.hp-pro .hp-summary-topbar{
  height: 4px;
  background: linear-gradient(90deg,#60a5fa,#2563eb);
  margin: -22px -22px 18px -22px;
}

/* mata qualquer “cinza”/panel do WHMCS lá dentro */
#order-standard_cart.hp-pro .hp-summary-card .order-summary,
#order-standard_cart.hp-pro .hp-summary-card .summary-container,
#order-standard_cart.hp-pro .hp-summary-card #producttotal,
#order-standard_cart.hp-pro .hp-summary-card .panel,
#order-standard_cart.hp-pro .hp-summary-card .panel-heading,
#order-standard_cart.hp-pro .hp-summary-card .panel-body{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* título do summary (igual ao layout: 20px bold) */
#order-standard_cart.hp-pro .hp-summary-title{
  font-size: 20px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 16px;
}

/* Ajusta tipografia interna do resumo que o WHMCS injeta */
#order-standard_cart.hp-pro #producttotal,
#order-standard_cart.hp-pro #producttotal *{
  font-size: 13px !important;
  color: #111827;
}

/* linhas e separadores mais “clean” */
#order-standard_cart.hp-pro #producttotal .row,
#order-standard_cart.hp-pro #producttotal .item,
#order-standard_cart.hp-pro #producttotal .summary-row{
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 10px 0 !important;
  margin: 0 !important;
}

/* total grande */
#order-standard_cart.hp-pro #producttotal .total,
#order-standard_cart.hp-pro #producttotal .amount,
#order-standard_cart.hp-pro #producttotal .recurring-totals .price,
#order-standard_cart.hp-pro #producttotal .grand-total .price{
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

/* botão igual ao layout */
#order-standard_cart.hp-pro .hp-summary-btn{
  width: 100%;
  height: 52px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 800;
  background: #2563eb !important;
  border: none !important;
  box-shadow: 0 10px 25px rgba(37,99,235,.20);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

#order-standard_cart.hp-pro .hp-summary-btn:hover{
  background: #1d4ed8 !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(37,99,235,.28);
}

/* texto SSL */
#order-standard_cart.hp-pro .hp-summary-sec{
  margin: 12px 0 0;
  text-align: center;
  font-size: 12px;
  color: #9ca3af;
}

/* -----------------------------
   8) SUPPORT CARD (igual ao layout proposto)
------------------------------*/
#order-standard_cart.hp-pro .hp-support{
  margin-top: 18px;
  background: #eff6ff;          /* blue-50 */
  border: 1px solid #dbeafe;    /* blue-100 */
  border-radius: 16px;
  padding: 18px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

#order-standard_cart.hp-pro .hp-support-ico{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #eef2f7;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2563eb;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

#order-standard_cart.hp-pro .hp-support-title{
  font-size: 13px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 4px;
}

#order-standard_cart.hp-pro .hp-support-text{
  font-size: 12px;
  color: #4b5563;              /* gray-600 */
  margin: 0 0 8px;
  line-height: 1.35;
}

#order-standard_cart.hp-pro .hp-support-link{
  font-size: 12px;
  font-weight: 700;
  color: #2563eb;
  text-decoration: none;
}

#order-standard_cart.hp-pro .hp-support-link:hover{
  color: #1d4ed8;
}

/* -----------------------------
   9) ALERT “PERGUNTAS” (evitar visual fora do padrão)
------------------------------*/
#order-standard_cart.hp-pro .hp-qbox{
  background: #fff7ed !important;   /* orange-50 */
  border: 1px solid #fed7aa !important;
  color: #9a3412 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
}

#order-standard_cart.hp-pro .hp-qbox a{
  color: #2563eb !important;
  font-weight: 700;
}

/* ==========================================================
   VIEWCART (hp-vc) — CloudForge-like card/list styling
   ========================================================== */

.hp-vc .hp-card.hp-vc-card{
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.hp-vc .hp-vc-cardhead{
  background: rgba(15,23,42,.02);
  border-bottom: 1px solid var(--line);
  padding: 14px 16px;
}
.hp-vc .hp-vc-cardbody{ padding: 16px; }

.hp-vc-list{ display: grid; gap: 14px; }

.hp-vc-item{
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.hp-vc-item-top{
  padding: 14px 16px;
  border-bottom: 1px solid rgba(230,234,242,.8);
  background: rgba(15,23,42,.01);
}
.hp-vc-item-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.hp-vc-name{
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.25;
}
.hp-vc-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.hp-vc-actionlink{
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.hp-vc-actionlink:hover{ color: var(--text); text-decoration: underline; }
.hp-vc-remove{ color: #b91c1c; }
.hp-vc-remove:hover{ color: #991b1b; }

.hp-vc-subline{
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted);
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.hp-vc-dot{ opacity: .7; }
.hp-vc-domain{ font-weight: 600; color: rgba(15,23,42,.75); }

.hp-vc-item-mid{
  padding: 14px 16px;
  display:grid;
  grid-template-columns: 1fr 200px;
  gap: 14px;
  align-items: start;
}
@media (max-width: 768px){
  .hp-vc-item-mid{ grid-template-columns: 1fr; }
}

.hp-vc-specs{
  display:grid;
  gap: 8px;
}
.hp-vc-spec{
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid rgba(230,234,242,.9);
  border-radius: 12px;
  background: rgba(15,23,42,.012);
}
@media (max-width: 560px){
  .hp-vc-spec{ grid-template-columns: 1fr; }
}
.hp-vc-spec-k{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15,23,42,.85);
}
.hp-vc-spec-v{
  font-size: 12px;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.hp-vc-pricebox{
  text-align: right;
  padding: 10px 12px;
  border: 1px solid rgba(230,234,242,.9);
  border-radius: 14px;
  background: rgba(15,23,42,.012);
}
.hp-vc-price{
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
  line-height: 1.1;
}
.hp-vc-cycle{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15,23,42,.65);
  margin-top: 4px;
}
.hp-vc-meta{
  font-size: 12px;
  color: var(--muted);
  margin-top: 6px;
}

.hp-vc-addon{
  border-top: 1px dashed rgba(230,234,242,.9);
  padding: 12px 16px;
  display:grid;
  grid-template-columns: 1fr 200px;
  gap: 14px;
  align-items: start;
  background: rgba(37,99,235,.03);
}
@media (max-width: 768px){
  .hp-vc-addon{ grid-template-columns: 1fr; }
}
.hp-vc-addon-title{
  display:flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  font-weight: 800;
  color: rgba(15,23,42,.88);
}
.hp-vc-addon-sub{ font-size: 12px; color: var(--muted); margin-top: 2px; }
.hp-vc-addon-right{ text-align:right; }
.hp-vc-addon-price{ font-weight: 800; color: var(--text); }
.hp-vc-addon-cycle{ font-size: 12px; color: var(--muted); margin-top: 2px; }

.hp-vc-qty{ display:flex; gap: 8px; align-items:center; flex-wrap: wrap; }
.hp-vc-qtyin{ width: 92px; }
.hp-vc-qtybtn{ padding: 6px 10px; }

.hp-vc-foot{
  margin-top: 12px;
  display:flex;
  justify-content: flex-end;
}
.hp-vc-empty{
  background: transparent;
  border: 0;
  padding: 0;
  color: #b91c1c;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
}
.hp-vc-empty:hover{ text-decoration: underline; color:#991b1b; }

/* PROMO input (ícone não sobrepor texto) */
.hp-vc-promoform{ display:grid; gap: 10px; }
.hp-vc-inputwrap{
  position: relative;
}
.hp-vc-ico{
  position:absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(100,116,139,.9);
  pointer-events:none;
}
.hp-vc-input{
  padding-left: 40px !important;
  height: 42px;
  border-radius: 12px;
}
.hp-vc-btnsoft{
  border-radius: 12px;
  font-weight: 800;
}

/* Promo applied */
.hp-vc-promoapplied{
  border: 1px solid rgba(37,99,235,.18);
  background: rgba(37,99,235,.05);
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 10px;
}
.hp-vc-promo-code{ font-weight: 900; color: rgba(15,23,42,.9); }
.hp-vc-promo-desc{ font-size: 12px; color: var(--muted); margin-top: 2px; }

/* Summary tweaks to look like the model */
.hp-vc-summary .summary-container{ padding-top: 4px; }
.hp-vc-sumlist{ display:grid; gap: 10px; }
.hp-vc-sumrow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  font-size: 12px;
  color: var(--muted);
}
.hp-vc-sumrow strong{ color: rgba(15,23,42,.9); }
.hp-vc-sumbox{
  border: 1px solid rgba(230,234,242,.9);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(15,23,42,.01);
  display:grid;
  gap: 8px;
}
.hp-vc-total{
  border-radius: 14px;
  padding: 14px 12px;
  text-align:center;
  background: rgba(15,23,42,.02);
  border: 1px solid rgba(230,234,242,.9);
}
.hp-vc-total-amt{ font-size: 22px; font-weight: 900; color: var(--text); }
.hp-vc-total-lbl{ font-size: 12px; color: var(--muted); margin-top: 2px; }
.hp-vc-cta{
  border-radius: 12px;
  font-weight: 900;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
}
.hp-vc-continue{
  display:block;
  text-align:center;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  margin-top: 6px;
}
.hp-vc-continue:hover{ color: var(--text); text-decoration: underline; }

/* Support card a bit closer to the sample */
.hp-vc-support{
  background: rgba(37,99,235,.06);
  border: 1px solid rgba(37,99,235,.10);
}

/* ==========================================================
   DOMAIN CONFIG PAGE (configureproductdomain)
   Escopo: #order-standard_cart.hp-domain-config
   ========================================================== */

/* Layout base */
#order-standard_cart.hp-domain-config{
  padding: 24px 24px 48px;
  background: transparent;
}

#order-standard_cart.hp-domain-config .cart-sidebar{
  display: none !important;
}

#order-standard_cart.hp-domain-config .cart-body{
  width: 100% !important;
  float: none !important;
  max-width: 900px;
  margin: 0 auto;
}

/* Título principal */
#order-standard_cart.hp-domain-config .header-lined{
  border: 0;
  margin: 0 0 28px;
}

#order-standard_cart.hp-domain-config .header-lined h1{
  margin: 0;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111827;
}

/* ====== Opções de domínio ====== */
#order-standard_cart.hp-domain-config .domain-selection-options{
  display: flex;
  flex-direction: column;
  gap: 0;
}

#order-standard_cart.hp-domain-config .domain-selection-options .option{
  padding: 18px 0;
  border-bottom: 1px solid #f1f5f9;
}

#order-standard_cart.hp-domain-config .domain-selection-options .option:last-child{
  border-bottom: none;
}

/* Labels dos radios */
#order-standard_cart.hp-domain-config .domain-selection-options .option > label{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
  color: #111827;
  cursor: pointer;
  margin: 0 0 12px;
}

#order-standard_cart.hp-domain-config .domain-selection-options .option > label input[type="radio"]{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #2563eb;
}

/* Container de inputs de domínio */
#order-standard_cart.hp-domain-config .domain-input-group{
  padding: 0;
}

#order-standard_cart.hp-domain-config .domain-input-group .row{
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

#order-standard_cart.hp-domain-config .domain-input-group .row > [class*="col-"]{
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

#order-standard_cart.hp-domain-config .domain-input-group .row > .col-sm-8,
#order-standard_cart.hp-domain-config .domain-input-group .row > [class*="col-sm-8"],
#order-standard_cart.hp-domain-config .domain-input-group .row > [class*="col-sm-9"]{
  flex: 1;
}

#order-standard_cart.hp-domain-config .domain-input-group .row > .col-sm-2{
  flex: 0 0 auto;
}

/* Row interna (sld + tld) */
#order-standard_cart.hp-domain-config .domains-row{
  display: flex !important;
  gap: 10px;
  align-items: center;
}

#order-standard_cart.hp-domain-config .domains-row > [class*="col-"]{
  float: none !important;
  padding: 0 !important;
}

#order-standard_cart.hp-domain-config .domains-row > .col-xs-9,
#order-standard_cart.hp-domain-config .domains-row > .col-9{
  width: auto !important;
  flex: 1;
}

#order-standard_cart.hp-domain-config .domains-row > .col-xs-3,
#order-standard_cart.hp-domain-config .domains-row > .col-3{
  width: auto !important;
  flex: 0 0 140px;
}

#order-standard_cart.hp-domain-config .domains-row > .col-xs-5,
#order-standard_cart.hp-domain-config .domains-row > .col-5{
  width: auto !important;
  flex: 1;
}

#order-standard_cart.hp-domain-config .domains-row > .col-xs-2,
#order-standard_cart.hp-domain-config .domains-row > .col-2{
  width: auto !important;
  flex: 0 0 auto;
}

/* Input group (www. prefix) */
#order-standard_cart.hp-domain-config .input-group{
  display: flex !important;
  align-items: stretch;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #fff;
}

#order-standard_cart.hp-domain-config .input-group .input-group-addon,
#order-standard_cart.hp-domain-config .input-group .input-group-prepend{
  display: flex;
  align-items: center;
  padding: 0 12px;
  background: #f8fafc;
  border: none;
  border-right: 1px solid #e5e7eb;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  white-space: nowrap;
  flex-shrink: 0 !important;
  width: auto !important;
  min-width: auto !important;
}

#order-standard_cart.hp-domain-config .input-group .input-group-text{
  background: transparent;
  border: none;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
}

#order-standard_cart.hp-domain-config .input-group .form-control{
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 46px;
  font-size: 14px;
  width: auto !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
}

#order-standard_cart.hp-domain-config .input-group .form-control:focus{
  box-shadow: none !important;
  border: none !important;
}

/* Focus no input-group inteiro */
#order-standard_cart.hp-domain-config .input-group:focus-within{
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.10);
}

/* Select de TLD */
#order-standard_cart.hp-domain-config .domains-row > [class*="col-3"] select,
#order-standard_cart.hp-domain-config .domains-row > [class*="col-5"] select{
  height: 46px !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111827 !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}

#order-standard_cart.hp-domain-config .domains-row > [class*="col-3"] select:focus,
#order-standard_cart.hp-domain-config .domains-row > [class*="col-5"] select:focus{
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.10) !important;
}

/* Input próprio domínio (tld text input) */
#order-standard_cart.hp-domain-config .domains-row > [class*="col-3"] input[type="text"]{
  height: 46px !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  width: 100% !important;
}

/* Botões de ação (Verifica, Transferir, Usar) */
#order-standard_cart.hp-domain-config .domain-input-group .btn-primary{
  height: 46px;
  min-width: 120px;
  border-radius: 12px !important;
  border: none !important;
  background: #2563eb !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 0 20px !important;
  box-shadow: 0 4px 12px rgba(37,99,235,.18);
  transition: all .15s ease;
  white-space: nowrap;
}

#order-standard_cart.hp-domain-config .domain-input-group .btn-primary:hover{
  background: #1d4ed8 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(37,99,235,.25);
}

/* http:// text */
#order-standard_cart.hp-domain-config .form-control-static{
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  padding-top: 12px;
}

/* ====== Resultados de busca ====== */
#order-standard_cart.hp-domain-config #DomainSearchResults{
  margin-top: 24px;
}

/* Loader */
#order-standard_cart.hp-domain-config .domain-lookup-loader{
  text-align: center;
  padding: 24px;
  font-size: 15px;
  color: #6b7280;
}

#order-standard_cart.hp-domain-config .domain-lookup-loader i{
  color: #2563eb;
  margin-right: 8px;
}

/* Resultado primário */
#order-standard_cart.hp-domain-config .domain-checker-available{
  color: #059669;
  font-weight: 700;
}

#order-standard_cart.hp-domain-config .domain-checker-unavailable{
  color: #dc2626;
  font-weight: 700;
}

#order-standard_cart.hp-domain-config .domain-checker-result-headline,
#order-standard_cart.hp-domain-config .headline{
  font-size: 18px;
  text-align: center;
  padding: 16px 0;
}

/* Preço do domínio */
#order-standard_cart.hp-domain-config .domain-price{
  text-align: center;
  padding: 12px 0;
  font-size: 16px;
  font-weight: 600;
  color: #111827;
}

#order-standard_cart.hp-domain-config .domain-price .price{
  font-size: 22px;
  font-weight: 800;
  color: #2563eb;
}

/* ====== Spotlight TLDs ====== */
#order-standard_cart.hp-domain-config .spotlight-tlds{
  margin: 20px 0;
}

#order-standard_cart.hp-domain-config .spotlight-tlds-container{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 12px;
}

/* Override float containers to work with grid */
#order-standard_cart.hp-domain-config .spotlight-tld-container,
#order-standard_cart.hp-domain-config [class*="spotlight-tld-container-"]{
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

#order-standard_cart.hp-domain-config .spotlight-tld{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px 12px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}

#order-standard_cart.hp-domain-config .spotlight-tld:hover{
  border-color: #2563eb;
  box-shadow: 0 4px 12px rgba(37,99,235,.10);
}

#order-standard_cart.hp-domain-config .spotlight-tld .available.price{
  display: block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #059669;
  white-space: normal !important;
  overflow: visible !important;
}

#order-standard_cart.hp-domain-config .spotlight-tld .btn-add-to-cart{
  margin-top: 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

#order-standard_cart.hp-domain-config .spotlight-tld .btn span{
  white-space: normal !important;
  overflow: visible !important;
}

#order-standard_cart.hp-domain-config .spotlight-tld .unavailable,
#order-standard_cart.hp-domain-config .spotlight-tld .invalid{
  margin: 12px 0;
  font-size: 12px;
}

#order-standard_cart.hp-domain-config .spotlight-tld .domain-lookup-spotlight-loader{
  line-height: 40px;
  font-size: 1.2em;
}

/* ====== Sugestões de domínio ====== */
#order-standard_cart.hp-domain-config .suggested-domains{
  margin-top: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
}

#order-standard_cart.hp-domain-config .suggested-domains .panel-heading,
#order-standard_cart.hp-domain-config .suggested-domains .card-header{
  background: #f8fafc !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 14px 18px;
  font-weight: 700;
  font-size: 15px;
  color: #111827;
  border-radius: 0 !important;
}

#order-standard_cart.hp-domain-config .suggested-domains .panel-body,
#order-standard_cart.hp-domain-config .suggested-domains .card-body{
  padding: 16px 18px;
}

#order-standard_cart.hp-domain-config .domain-suggestion{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f1f5f9;
}

#order-standard_cart.hp-domain-config .domain-suggestion:last-child{
  border-bottom: none;
}

#order-standard_cart.hp-domain-config .domain-suggestion .domain{
  font-weight: 600;
  color: #111827;
}

#order-standard_cart.hp-domain-config .domain-suggestion .extension{
  color: #6b7280;
}

#order-standard_cart.hp-domain-config .domain-suggestion .actions{
  display: flex;
  align-items: center;
  gap: 12px;
}

#order-standard_cart.hp-domain-config .domain-suggestion .price{
  font-weight: 700;
  color: #059669;
}

#order-standard_cart.hp-domain-config .domain-suggestion .btn-add-to-cart{
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
}

#order-standard_cart.hp-domain-config .suggested-domains .panel-footer,
#order-standard_cart.hp-domain-config .suggested-domains .card-footer{
  background: #f8fafc !important;
  border-top: 1px solid #f1f5f9 !important;
  padding: 12px 18px;
  border-radius: 0 !important;
}

#order-standard_cart.hp-domain-config .suggested-domains .card-footer a,
#order-standard_cart.hp-domain-config .suggested-domains .panel-footer a{
  color: #2563eb;
  font-weight: 700;
  font-size: 14px;
}

/* ====== Texto livre domínio ====== */
#order-standard_cart.hp-domain-config #frmProductDomainSelections > p,
#order-standard_cart.hp-domain-config form > p{
  font-size: 13px;
  color: #6b7280;
  margin-top: 16px;
}

/* ====== Botão Continuar ====== */
#order-standard_cart.hp-domain-config #btnDomainContinue{
  height: 52px;
  min-width: 200px;
  border-radius: 14px !important;
  font-size: 16px;
  font-weight: 800;
  background: #2563eb !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(37,99,235,.20);
  transition: all .15s ease;
  margin-top: 24px;
}

#order-standard_cart.hp-domain-config #btnDomainContinue:hover{
  background: #1d4ed8 !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(37,99,235,.28);
}

/* ====== IDN Language Selector ====== */
#order-standard_cart.hp-domain-config .idn-language-selector select{
  max-width: 400px;
  margin: 0 auto;
}

/* ====== Responsivo ====== */
@media (max-width: 768px){
  #order-standard_cart.hp-domain-config{
    padding: 16px 12px 32px;
  }

  #order-standard_cart.hp-domain-config .domain-input-group .row{
    flex-wrap: wrap;
  }

  #order-standard_cart.hp-domain-config .domain-input-group .row > .col-sm-2{
    width: 100% !important;
    flex: 0 0 100%;
  }

  #order-standard_cart.hp-domain-config .domain-input-group .btn-primary{
    width: 100%;
  }

  #order-standard_cart.hp-domain-config .domains-row > .col-xs-3,
  #order-standard_cart.hp-domain-config .domains-row > .col-3{
    flex: 0 0 100px;
  }

  #order-standard_cart.hp-domain-config .spotlight-tlds-container{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px){
  #order-standard_cart.hp-domain-config .header-lined h1{
    font-size: 22px;
  }

  #order-standard_cart.hp-domain-config .domains-row{
    flex-wrap: wrap;
  }

  #order-standard_cart.hp-domain-config .domains-row > .col-xs-9,
  #order-standard_cart.hp-domain-config .domains-row > .col-9{
    flex: 0 0 100%;
  }

  #order-standard_cart.hp-domain-config .domains-row > .col-xs-3,
  #order-standard_cart.hp-domain-config .domains-row > .col-3{
    flex: 0 0 100%;
  }
}

/* ====== Domain Register - Search box ====== */
#order-standard_cart.hp-domain-config .domain-checker-container{
  margin: 20px 0 28px;
}

#order-standard_cart.hp-domain-config .domain-checker-bg{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

#order-standard_cart.hp-domain-config .domain-checker-bg .input-group-lg .form-control{
  height: 52px !important;
  font-size: 16px !important;
  border-radius: 12px 0 0 12px !important;
  border: 1px solid #e5e7eb !important;
}

#order-standard_cart.hp-domain-config .domain-checker-bg .input-group-btn .btn,
#order-standard_cart.hp-domain-config .domain-checker-bg .input-group-append .btn{
  height: 52px;
  border-radius: 0 12px 12px 0 !important;
  font-weight: 700;
  padding: 0 24px;
  font-size: 15px;
}

/* ====== Domain Transfer - Panel card ====== */
#order-standard_cart.hp-domain-config .panel.card{
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
  overflow: hidden;
}

#order-standard_cart.hp-domain-config .panel-heading.card-header{
  background: #f8fafc !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 16px 20px !important;
}

#order-standard_cart.hp-domain-config .panel-body.card-body{
  padding: 20px !important;
}

#order-standard_cart.hp-domain-config .panel-footer.card-footer{
  background: #f8fafc !important;
  border-top: 1px solid #f1f5f9 !important;
  padding: 14px 20px !important;
}

#order-standard_cart.hp-domain-config .panel-footer .btn-primary,
#order-standard_cart.hp-domain-config .card-footer .btn-primary{
  height: 46px;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 0 24px !important;
  font-size: 14px;
}

/* ====== Domain Pricing table ====== */
#order-standard_cart.hp-domain-config .domain-pricing{
  margin-top: 32px;
}

#order-standard_cart.hp-domain-config .featured-tlds-container{
  margin-bottom: 24px;
}

#order-standard_cart.hp-domain-config .featured-tld{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px 12px;
  text-align: center;
  margin-bottom: 12px;
  transition: border-color .15s, box-shadow .15s;
}

#order-standard_cart.hp-domain-config .featured-tld:hover{
  border-color: #2563eb;
  box-shadow: 0 4px 12px rgba(37,99,235,.10);
}

#order-standard_cart.hp-domain-config .tld-filters{
  margin: 12px 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#order-standard_cart.hp-domain-config .tld-filters a{
  display: inline-block;
  padding: 6px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  background: #f1f5f9;
  color: #374151;
  border: 1px solid transparent;
  transition: all .15s;
}

#order-standard_cart.hp-domain-config .tld-filters a:hover,
#order-standard_cart.hp-domain-config .tld-filters a.active,
#order-standard_cart.hp-domain-config .tld-filters a.label-success,
#order-standard_cart.hp-domain-config .tld-filters a.badge-success{
  background: #2563eb;
  color: #fff;
}

#order-standard_cart.hp-domain-config .tld-pricing-header{
  background: #f8fafc;
  font-weight: 700;
  font-size: 13px;
  color: #6b7280;
  padding: 10px 0;
  border-radius: 12px 12px 0 0;
  border: 1px solid #e5e7eb;
  border-bottom: none;
}

#order-standard_cart.hp-domain-config .tld-row{
  border: 1px solid #f1f5f9;
  border-top: none;
  padding: 10px 0;
  transition: background .1s;
}

#order-standard_cart.hp-domain-config .tld-row:hover{
  background: #f8fafc;
}

#order-standard_cart.hp-domain-config .tld-row:last-child{
  border-radius: 0 0 12px 12px;
}

/* ====== Domain Promo boxes ====== */
#order-standard_cart.hp-domain-config .domain-promo-box{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

/* ====== Configure Domains - Addon panels ====== */
#order-standard_cart.hp-domain-config .addon-products .panel-addon{
  border-radius: 14px !important;
  border: 1px solid #e5e7eb !important;
  transition: border-color .15s, box-shadow .15s;
  overflow: hidden;
}

#order-standard_cart.hp-domain-config .addon-products .panel-addon:hover{
  border-color: #2563eb;
  box-shadow: 0 4px 12px rgba(37,99,235,.10);
}

#order-standard_cart.hp-domain-config .addon-products .panel-addon-selected{
  border-color: #2563eb !important;
  box-shadow: 0 4px 12px rgba(37,99,235,.10) !important;
}

#order-standard_cart.hp-domain-config .addon-products .panel-price{
  background: #f8fafc;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 14px;
  color: #111827;
  border-top: 1px solid #f1f5f9;
}

#order-standard_cart.hp-domain-config .addon-products .panel-add{
  padding: 10px 14px;
  font-weight: 600;
  color: #2563eb;
  font-size: 13px;
  border-top: 1px solid #f1f5f9;
  cursor: pointer;
}

/* ====== Domain Renewals ====== */
#order-standard_cart.hp-domain-config .domain-renewals{
  display: grid;
  gap: 14px;
}

#order-standard_cart.hp-domain-config .domain-renewal{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

#order-standard_cart.hp-domain-config .domain-renewal h3{
  font-weight: 700;
  color: #111827;
}

#order-standard_cart.hp-domain-config .secondary-cart-body{
  float: none !important;
  width: auto !important;
}

#order-standard_cart.hp-domain-config .secondary-cart-sidebar{
  float: none !important;
  width: auto !important;
  margin-top: 24px;
}

#order-standard_cart.hp-domain-config .order-summary{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

/* ====== Add Domain page (adddomain) ====== */
#order-standard_cart.hp-domain-config .domain-add-domain{
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

#order-standard_cart.hp-domain-config .domain-add-domain > [class*="col-"]{
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

#order-standard_cart.hp-domain-config .domain-add-domain > .col-sm-8{
  flex: 1;
}

#order-standard_cart.hp-domain-config .domain-add-domain > .col-sm-2{
  flex: 0 0 auto;
}

#order-standard_cart.hp-domain-config .domain-search-results{
  margin-top: 20px;
}

#order-standard_cart.hp-domain-config .domain-loading-spinner{
  text-align: center;
  padding: 24px;
  color: #2563eb;
}

/* ====== Sub-heading bars ====== */
#order-standard_cart.hp-domain-config .sub-heading{
  border-bottom: 2px solid #e5e7eb;
  margin: 24px 0 16px;
  padding-bottom: 10px;
}

#order-standard_cart.hp-domain-config .sub-heading span{
  font-weight: 700;
  font-size: 16px;
  color: #111827;
}

/* ====== Remove domain button ====== */
#order-standard_cart.hp-domain-config .sub-heading .hp-remove-domain-btn{
  background: transparent !important;
  border: 1px solid #fecaca !important;
  color: #dc2626 !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  transition: all .15s ease;
  text-decoration: none !important;
  position: relative;
  top: 6px;
}
#order-standard_cart.hp-domain-config .sub-heading .hp-remove-domain-btn:link,
#order-standard_cart.hp-domain-config .sub-heading .hp-remove-domain-btn:visited,
#order-standard_cart.hp-domain-config .sub-heading .hp-remove-domain-btn:active{
  text-decoration: none !important;
  color: #dc2626 !important;
}
#order-standard_cart.hp-domain-config .sub-heading .hp-remove-domain-btn i{
  border: none !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
#order-standard_cart.hp-domain-config .sub-heading .hp-remove-domain-btn:hover{
  background: #fef2f2 !important;
  border-color: #f87171 !important;
  color: #b91c1c !important;
  text-decoration: none !important;
}

/* ====== Back to cart button ====== */
#order-standard_cart.hp-domain-config .hp-back-btn{
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  color: #374151 !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  padding: 0 24px !important;
  height: 52px;
  display: inline-flex;
  align-items: center;
  transition: all .15s ease;
}

#order-standard_cart.hp-domain-config .hp-back-btn:hover{
  background: #f9fafb !important;
  border-color: #d1d5db !important;
  color: #111827 !important;
}

/* ==========================================================
   PRODUCTS LISTING (hp-products)
   ========================================================== */

/* ── Grid ── */
#order-standard_cart.hp-products .hp-prod-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 767px){
  #order-standard_cart.hp-products .hp-prod-grid{
    grid-template-columns: 1fr;
  }
}

/* ── Card ── */
#order-standard_cart.hp-products .hp-prod-card{
  background: #ffffff;
  border: 1px solid #eef2f7;
  border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.03), 0 2px 8px rgba(0,0,0,.04);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}
#order-standard_cart.hp-products .hp-prod-card:hover{
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

/* Card header */
#order-standard_cart.hp-products .hp-prod-card-header{
  padding: 18px 22px 14px;
  border-bottom: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
#order-standard_cart.hp-products .hp-prod-name{
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -.01em;
}
#order-standard_cart.hp-products .hp-prod-stock{
  font-size: 11px;
  font-weight: 600;
  color: #6b7280;
  background: #f3f4f6;
  padding: 3px 8px;
  border-radius: 6px;
}

/* Card body */
#order-standard_cart.hp-products .hp-prod-card-body{
  padding: 18px 22px;
  flex: 1;
}
#order-standard_cart.hp-products .hp-prod-desc{
  font-size: 13px;
  color: #6b7280;
  margin: 0 0 12px;
  line-height: 1.5;
}
#order-standard_cart.hp-products .hp-prod-features{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#order-standard_cart.hp-products .hp-prod-features li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #374151;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
#order-standard_cart.hp-products .hp-feat-val{
  font-weight: 700;
  color: #2563eb;
}
#order-standard_cart.hp-products .hp-feat-label{
  color: #6b7280;
}

/* Card footer */
#order-standard_cart.hp-products .hp-prod-card-footer{
  padding: 16px 22px 20px;
  border-top: 1px solid #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

/* Pricing */
#order-standard_cart.hp-products .hp-prod-pricing{
  display: flex;
  flex-direction: column;
}
#order-standard_cart.hp-products .hp-price-label{
  font-size: 11px;
  color: #9ca3af;
  font-weight: 500;
}
#order-standard_cart.hp-products .hp-price{
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  line-height: 1.2;
}
#order-standard_cart.hp-products .hp-price-cycle{
  font-size: 12px;
  color: #6b7280;
  font-weight: 500;
}
#order-standard_cart.hp-products .hp-price-setup{
  font-size: 11px;
  color: #9ca3af;
  margin-top: 2px;
}

/* Order button */
#order-standard_cart.hp-products .hp-btn-order{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 12px;
  background: #2563eb !important;
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 700;
  border: none !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(37,99,235,.20);
  transition: all .15s ease;
  white-space: nowrap;
}
#order-standard_cart.hp-products .hp-btn-order:hover{
  background: #1d4ed8 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(37,99,235,.28);
  color: #ffffff !important;
  text-decoration: none !important;
}
#order-standard_cart.hp-products .hp-btn-order i{
  font-size: 12px;
}

/* Alerts */
#order-standard_cart.hp-products .hp-alert{
  padding: 14px 18px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 20px;
}
#order-standard_cart.hp-products .hp-alert-danger{
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}
#order-standard_cart.hp-products .hp-alert-info{
  background: #eff6ff;
  border: 1px solid #dbeafe;
  color: #1e40af;
}

/* Override sidebar-collapsed to match */
#order-standard_cart.hp-products .sidebar-collapsed{
  margin-bottom: 24px;
}
#order-standard_cart.hp-products .sidebar-collapsed .panel,
#order-standard_cart.hp-products .sidebar-collapsed .card{
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  overflow: hidden;
}
#order-standard_cart.hp-products .sidebar-collapsed .panel-heading,
#order-standard_cart.hp-products .sidebar-collapsed .card-header{
  background: #fff !important;
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 12px 16px !important;
}
#order-standard_cart.hp-products .sidebar-collapsed .panel-body,
#order-standard_cart.hp-products .sidebar-collapsed .card-body{
  padding: 12px 16px !important;
}
#order-standard_cart.hp-products .sidebar-collapsed select.form-control,
#order-standard_cart.hp-products .sidebar-collapsed select.custom-select{
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
  height: 44px;
  font-size: 14px !important;
}

/* ==========================================================
   DOMAIN REGISTER – HostingPro Redesign (hp-domreg)
   ========================================================== */

/* Hero header */
.hp-domreg .hp-domreg-hero{
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%);
  border-radius: 20px;
  padding: 48px 32px 40px;
  margin-bottom: 28px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hp-domreg .hp-domreg-hero::before{
  content: '';
  position: absolute;
  top: -60%;
  right: -20%;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  pointer-events: none;
}

.hp-domreg .hp-domreg-hero::after{
  content: '';
  position: absolute;
  bottom: -40%;
  left: -10%;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  pointer-events: none;
}

.hp-domreg .hp-domreg-hero-content{
  position: relative;
  z-index: 1;
}

.hp-domreg .hp-domreg-hero-icon{
  font-size: 48px;
  margin-bottom: 12px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.2));
}

.hp-domreg .hp-domreg-title{
  color: #ffffff !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  margin: 0 0 8px !important;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.hp-domreg .hp-domreg-subtitle{
  color: rgba(255,255,255,.85) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  margin: 0 0 28px !important;
  max-width: 520px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Search box inside hero */
.hp-domreg .hp-domreg-search{
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

/* Override bootstrap row/col inside hero to be full-width */
.hp-domreg .hp-domreg-search .row{
  margin: 0 !important;
}
.hp-domreg .hp-domreg-search [class*="col-"]{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Input group styling */
.hp-domreg .hp-domreg-input-wrap.input-group{
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
  border: none !important;
  width: 100% !important;
  position: relative;
}

.hp-domreg .hp-domreg-search-ico{
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: #9ca3af;
  z-index: 3;
  pointer-events: none;
}

.hp-domreg .hp-domreg-input-wrap .form-control{
  border: none !important;
  box-shadow: none !important;
  height: 56px !important;
  font-size: 16px !important;
  padding: 0 14px 0 48px !important;
  border-radius: 16px 0 0 16px !important;
  background: transparent !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}

.hp-domreg .hp-domreg-input-wrap .form-control:focus{
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.hp-domreg .hp-domreg-input-wrap .input-group-btn,
.hp-domreg .hp-domreg-input-wrap .input-group-append{
  width: auto !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.hp-domreg .hp-domreg-input-wrap .btn{
  height: 44px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  padding: 0 28px !important;
  font-size: 15px !important;
  margin: 6px 8px 6px 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  background: #2563eb !important;
  border: none !important;
  color: #fff !important;
  transition: background .15s, transform .15s;
  cursor: pointer !important;
  position: relative;
  z-index: 2;
}

.hp-domreg .hp-domreg-input-wrap .btn:hover{
  background: #1d4ed8 !important;
  transform: translateY(-1px);
}

.hp-domreg .captcha-container{
  margin-top: 16px;
}

/* Results card */
.hp-domreg .hp-domreg-card{
  background: #fff;
  border: 1px solid #eef2f7;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  margin-bottom: 20px;
  overflow: hidden;
}

.hp-domreg .hp-domreg-results-card{
  padding: 24px;
}

/* Section titles */
.hp-domreg .hp-domreg-section{
  margin-top: 36px;
  margin-bottom: 28px;
}

.hp-domreg .hp-domreg-section-title{
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #111827 !important;
  margin: 0 0 16px !important;
  display: flex;
  align-items: center;
  gap: 10px;
}

.hp-domreg .hp-domreg-section-title i{
  color: #2563eb;
  font-size: 18px;
}

/* Featured TLDs grid */
.hp-domreg .hp-domreg-featured-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}

.hp-domreg .hp-domreg-featured-card{
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px 16px;
  text-align: center;
  transition: border-color .2s, box-shadow .2s, transform .2s;
  cursor: default;
}

.hp-domreg .hp-domreg-featured-card:hover{
  border-color: #2563eb;
  box-shadow: 0 8px 24px rgba(37,99,235,.12);
  transform: translateY(-2px);
}

.hp-domreg .hp-domreg-featured-img{
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.hp-domreg .hp-domreg-featured-img img{
  max-height: 60px;
  max-width: 100%;
  object-fit: contain;
}

.hp-domreg .hp-domreg-featured-price{
  display: inline-block;
  background: linear-gradient(135deg, #2563eb, #3b82f6);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 20px;
  border-radius: 10px;
  margin-top: 8px;
}

/* Pricing table */
.hp-domreg .hp-domreg-pricing-card{
  background: #fff;
  border: 1px solid #eef2f7;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.hp-domreg .hp-domreg-pricing-header{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.hp-domreg .hp-domreg-ph-domain{
  padding: 14px 20px;
}

.hp-domreg .hp-domreg-ph-price{
  padding: 14px 12px;
  text-align: center;
}

.hp-domreg .hp-domreg-pricing-row{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  border-bottom: 1px solid #f1f5f9;
  transition: background .1s;
  align-items: center;
}

.hp-domreg .hp-domreg-pricing-row:last-child{
  border-bottom: none;
}

.hp-domreg .hp-domreg-pricing-row:hover{
  background: #f8fafc;
}

.hp-domreg .hp-domreg-pr-domain{
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.hp-domreg .hp-domreg-pr-domain strong{
  font-size: 15px;
  color: #111827;
}

.hp-domreg .hp-domreg-sale-tag{
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 6px;
  letter-spacing: .04em;
}

.hp-domreg .hp-domreg-sale-hot{
  background: #fef2f2;
  color: #dc2626;
}
.hp-domreg .hp-domreg-sale-new{
  background: #eff6ff;
  color: #2563eb;
}
.hp-domreg .hp-domreg-sale-sale{
  background: #f0fdf4;
  color: #059669;
}

.hp-domreg .hp-domreg-pr-price{
  padding: 14px 12px;
  text-align: center;
}

.hp-domreg .hp-domreg-price-value{
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}

.hp-domreg .hp-domreg-price-period{
  display: block;
  font-size: 11px;
  color: #9ca3af;
  margin-top: 2px;
}

.hp-domreg .hp-domreg-price-free{
  font-size: 13px;
  font-weight: 700;
  color: #059669;
}

.hp-domreg .hp-domreg-price-na{
  font-size: 13px;
  color: #d1d5db;
}

/* Promo boxes */
.hp-domreg .hp-domreg-promos{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 36px;
  margin-bottom: 24px;
}

.hp-domreg .hp-domreg-promo-card{
  background: #fff;
  border: 1px solid #eef2f7;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  transition: transform .2s, box-shadow .2s;
}

.hp-domreg .hp-domreg-promo-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.hp-domreg .hp-domreg-promo-ico{
  font-size: 40px;
  margin-bottom: 12px;
}

.hp-domreg .hp-domreg-promo-card h3{
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #111827 !important;
  margin: 0 0 6px !important;
}

.hp-domreg .hp-domreg-promo-card p{
  font-size: 13px;
  color: #6b7280;
  margin: 0 0 6px;
}

.hp-domreg .hp-domreg-promo-desc{
  margin-bottom: 16px !important;
}

.hp-domreg .hp-domreg-promo-btn{
  display: inline-block;
  padding: 12px 28px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all .15s;
  margin-top: 12px;
}

.hp-domreg .hp-domreg-promo-btn-primary{
  background: #2563eb;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(37,99,235,.20);
}
.hp-domreg .hp-domreg-promo-btn-primary:hover{
  background: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(37,99,235,.28);
}

.hp-domreg .hp-domreg-promo-btn-secondary{
  background: #f1f5f9;
  color: #2563eb !important;
  border: 1px solid #e5e7eb;
}
.hp-domreg .hp-domreg-promo-btn-secondary:hover{
  background: #e5e7eb;
  transform: translateY(-1px);
}

.hp-domreg .hp-domreg-promo-note{
  font-size: 11px !important;
  color: #9ca3af !important;
  margin-top: 12px !important;
}

/* Hide old elements that conflict */
.hp-domreg .header-lined{
  display: none !important;
}
.hp-domreg > .row > .cart-body > p:first-of-type{
  display: none !important;
}

/* Reuse existing domain search result styles + tld-filters */

/* ====== Responsive ====== */
@media (max-width: 768px){
  .hp-domreg .hp-domreg-hero{
    padding: 32px 20px 28px;
    border-radius: 16px;
  }
  .hp-domreg .hp-domreg-title{
    font-size: 24px !important;
  }
  .hp-domreg .hp-domreg-input-wrap{
    flex-direction: column;
    border-radius: 14px;
    padding: 8px;
  }
  .hp-domreg .hp-domreg-search-ico{
    display: none;
  }
  .hp-domreg .hp-domreg-input-wrap .form-control{
    width: 100% !important;
    border-radius: 10px !important;
    height: 48px !important;
  }
  .hp-domreg .hp-domreg-input-wrap .btn{
    width: 100%;
    margin: 4px 0 0 0 !important;
  }
  .hp-domreg .hp-domreg-input-wrap .input-group-btn,
  .hp-domreg .hp-domreg-input-wrap .input-group-append{
    width: 100% !important;
  }
  .hp-domreg .hp-domreg-featured-grid{
    grid-template-columns: repeat(2, 1fr);
  }
  .hp-domreg .hp-domreg-pricing-header,
  .hp-domreg .hp-domreg-pricing-row{
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    font-size: 11px;
  }
  .hp-domreg .hp-domreg-pr-domain{
    padding: 10px 12px;
  }
  .hp-domreg .hp-domreg-pr-domain strong{
    font-size: 13px;
  }
  .hp-domreg .hp-domreg-pr-price{
    padding: 10px 6px;
  }
  .hp-domreg .hp-domreg-price-value{
    font-size: 12px;
  }
}

@media (max-width: 480px){
  .hp-domreg .hp-domreg-featured-grid{
    grid-template-columns: 1fr;
  }
  .hp-domreg .hp-domreg-pricing-header{
    display: none;
  }
  .hp-domreg .hp-domreg-pricing-row{
    grid-template-columns: 1fr;
    padding: 14px 16px;
    gap: 8px;
  }
  .hp-domreg .hp-domreg-pr-domain{
    padding: 0;
  }
  .hp-domreg .hp-domreg-pr-price{
    text-align: left;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .hp-domreg .hp-domreg-pr-price::before{
    font-size: 10px;
    color: #9ca3af;
    font-weight: 600;
    min-width: 80px;
  }
  .hp-domreg .hp-domreg-pr-price:nth-child(2)::before{ content: 'Registro: '; }
  .hp-domreg .hp-domreg-pr-price:nth-child(3)::before{ content: 'Transferência: '; }
  .hp-domreg .hp-domreg-pr-price:nth-child(4)::before{ content: 'Renovação: '; }
}