/* =====================================================================
   UpFlare order-form styling. Loaded LAST in common.tpl so it wins over
   the standard_cart all.min.css bundle. Mirrors the theme's upflare.css
   so the cart matches the uptheme design exactly.
   ===================================================================== */

/* Forced authority — order-form fields/buttons must win over the cart bundle */
.form-control, select.form-control, textarea.form-control,
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], select, textarea, .custom-select {
  border-radius:var(--uf-r-xl) !important;
  border:1px solid var(--uf-slate-200) !important;
  background-color:#fff !important;
  font-size:.875rem !important;
  padding-top:.6rem !important;
  padding-bottom:.6rem !important;
  height:auto !important;
  box-shadow:none !important;
}
.form-control, select, textarea { padding-left:.875rem; padding-right:.875rem; }
.form-control:focus, select:focus, textarea:focus { border-color:var(--uf-brand-400) !important; box-shadow:0 0 0 2px rgba(47,73,168,.2) !important; outline:none !important; }
input[type="checkbox"], input[type="radio"] { height:auto !important; width:auto !important; padding:0 !important; accent-color:var(--uf-brand-600); }
.btn { border-radius:var(--uf-r-xl) !important; font-weight:500 !important; box-shadow:none !important; }
.btn-primary, .btn-success { background-color:var(--uf-brand-600) !important; border-color:var(--uf-brand-600) !important; color:#fff !important; }
.btn-primary:hover, .btn-success:hover { background-color:var(--uf-brand-700) !important; border-color:var(--uf-brand-700) !important; }
.btn-default { background-color:#fff !important; border:1px solid var(--uf-slate-200) !important; color:var(--uf-slate-700) !important; }
.card, .panel { border-radius:var(--uf-r-2xl) !important; border:1px solid var(--uf-slate-100) !important; box-shadow:var(--uf-shadow-card) !important; }
:root {
  --uf-brand-50:#eef1fb; --uf-brand-100:#d6def4; --uf-brand-400:#5069c2;
  --uf-brand-500:#2f49a8; --uf-brand-600:#213a8c; --uf-brand-700:#182c6f; --uf-brand-900:#001259;
  --uf-slate-50:#f8fafc; --uf-slate-100:#f1f5f9; --uf-slate-200:#e2e8f0;
  --uf-slate-400:#94a3b8; --uf-slate-500:#64748b; --uf-slate-700:#334155; --uf-slate-900:#0f172a;
  --uf-r-lg:.5rem; --uf-r-xl:.875rem; --uf-r-2xl:1.125rem; --uf-r-full:9999px;
  --uf-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);
  --uf-shadow-card:0 1px 2px 0 rgba(16,24,40,.04), 0 1px 3px 0 rgba(16,24,40,.06);
  --uf-shadow-cardhover:0 4px 12px -2px rgba(16,24,40,.10);
}

/* Buttons */
#order-standard_cart .btn, .cart-body .btn, body .btn {
  border-radius:var(--uf-r-xl); font-weight:500; border:1px solid transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
}
.btn-primary, .btn-success { background:var(--uf-brand-600) !important; border-color:var(--uf-brand-600) !important; color:#fff !important; box-shadow:var(--uf-shadow-sm); }
.btn-primary:hover, .btn-success:hover { background:var(--uf-brand-700) !important; border-color:var(--uf-brand-700) !important; }
.btn-default { border:1px solid var(--uf-slate-200) !important; background:#fff !important; color:var(--uf-slate-700) !important; }
.btn-default:hover { background:var(--uf-slate-50) !important; }
.btn-info, .btn-secondary { background:var(--uf-brand-50) !important; color:var(--uf-brand-700) !important; border-color:transparent !important; }

/* Forms */
.form-control, .custom-select, select.form-control {
  border-radius:var(--uf-r-xl) !important; border:1px solid var(--uf-slate-200) !important;
  font-size:.875rem; color:var(--uf-slate-900); box-shadow:none !important;
}
.form-control:focus { border-color:var(--uf-brand-400) !important; box-shadow:0 0 0 2px rgba(47,73,168,.2) !important; }
input[type="checkbox"], input[type="radio"] { accent-color:var(--uf-brand-600); }

/* Headings */
#order-standard_cart .header-lined h1 { font-size:1.75rem; font-weight:700; letter-spacing:-.01em; color:var(--uf-slate-900); margin-bottom:1rem; }
.sub-heading { margin:1.5rem 0 1rem; border-bottom:1px solid var(--uf-slate-100); padding-bottom:.5rem; }
.sub-heading span, .sub-heading .primary-bg-color { background:transparent !important; color:var(--uf-slate-900) !important; font-weight:600; font-size:1rem; padding:0 !important; }

/* Product cards (product list) */
#order-standard_cart .products .product {
  border-radius:var(--uf-r-2xl); border:1px solid var(--uf-slate-100); background:#fff;
  box-shadow:var(--uf-shadow-card); padding:1.25rem; margin-bottom:1.5rem; height:100%;
  display:flex; flex-direction:column; transition:box-shadow .15s;
}
#order-standard_cart .products .product:hover { box-shadow:var(--uf-shadow-cardhover); }
#order-standard_cart .product header { font-size:1.05rem; font-weight:600; color:var(--uf-slate-900); margin-bottom:.5rem; }
#order-standard_cart .product .product-desc { color:var(--uf-slate-500); font-size:.875rem; flex:1; }
#order-standard_cart .product footer { margin-top:1rem; display:flex; align-items:flex-end; justify-content:space-between; gap:.75rem; }
#order-standard_cart .product .price { font-size:1.4rem; font-weight:700; color:var(--uf-brand-700); }
#order-standard_cart .product-pricing { color:var(--uf-slate-500); font-size:.8rem; }

/* Panels / cards */
.panel, .card { border-radius:var(--uf-r-2xl) !important; border:1px solid var(--uf-slate-100) !important; box-shadow:var(--uf-shadow-card); }
.panel-addon.panel-addon-selected { border-color:var(--uf-brand-400) !important; }

/* Order summary */
.order-summary {
  border-radius:var(--uf-r-2xl); border:1px solid var(--uf-slate-100); background:#fff;
  box-shadow:var(--uf-shadow-card); padding:1.25rem; position:sticky; top:1.5rem;
}
.order-summary h2 { font-size:1.15rem; font-weight:700; margin-bottom:1rem; color:var(--uf-slate-900); }
.order-summary .bordered-totals { border-top:1px solid var(--uf-slate-100); border-bottom:1px solid var(--uf-slate-100); padding:.5rem 0; margin:.5rem 0; }
.total-due-today { margin-top:1rem; padding-top:1rem; border-top:2px solid var(--uf-slate-100); }
.total-due-today .amt { font-size:1.6rem; font-weight:700; color:var(--uf-brand-700); }

/* View-cart line items */
.view-cart-items-header { color:var(--uf-slate-400); font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; padding-bottom:.5rem; border-bottom:1px solid var(--uf-slate-100); }
.view-cart-items .item { padding:1rem 0; border-bottom:1px solid var(--uf-slate-50); }
.view-cart-items .item-title { font-weight:600; color:var(--uf-slate-900); }
.view-cart-items .item-group { display:block; font-size:.8rem; color:var(--uf-slate-400); }

/* Category sidebar */
.cart-sidebar .list-group-item.active, .sidebar-categories .list-group-item.active { background:var(--uf-brand-50); color:var(--uf-brand-700); border-color:transparent; }

/* Alerts */
.alert { border-radius:var(--uf-r-xl); }

/* Nav tabs (promo / tax) */
.nav-tabs .nav-link.active { color:var(--uf-brand-700); border-bottom:2px solid var(--uf-brand-600); }

/* Authoritative neutralisation — kill Bootstrap blue / default look on cart */
a, .text-primary { color:var(--uf-brand-600); }
a:hover { color:var(--uf-brand-700); }
.bg-primary { background-color:var(--uf-brand-600) !important; }
.bg-default, .bg-light, .bg-white { background-color:#fff !important; }
.btn:focus, .form-control:focus { box-shadow:0 0 0 2px rgba(47,73,168,.2) !important; }
.panel-title { font-weight:600; color:var(--uf-slate-900); }
.close { color:var(--uf-slate-400); opacity:1; text-shadow:none; }
.close:hover { color:var(--uf-slate-700); }
input[type="checkbox"], input[type="radio"] { accent-color:var(--uf-brand-600); }
.checker span.checked, ins.iCheck-helper { background-color:var(--uf-brand-600) !important; }
.field-error-msg { color:var(--uf-red-600); font-size:.8125rem; }
.header-lined { border-bottom:1px solid var(--uf-slate-100); padding-bottom:.75rem; margin-bottom:1.25rem; }

/* ----- Marketplace storefront (products.tpl) ----- */
.uf-store { max-width:72rem; margin:0 auto; }
.uf-cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(11rem,1fr)); gap:.75rem; margin:1.25rem 0 2rem; }
.uf-cat { display:flex; align-items:center; gap:.625rem; padding:.875rem 1rem; border-radius:var(--uf-r-2xl);
  border:1px solid var(--uf-slate-100); background:#fff; box-shadow:var(--uf-shadow-card); text-decoration:none;
  color:var(--uf-slate-700); transition:box-shadow .15s,border-color .15s; }
.uf-cat:hover { box-shadow:var(--uf-shadow-cardhover); border-color:var(--uf-brand-100); }
.uf-cat.active { border-color:var(--uf-brand-400); background:var(--uf-brand-50); }
.uf-cat .ico { display:flex; height:2.25rem; width:2.25rem; flex-shrink:0; align-items:center; justify-content:center;
  border-radius:var(--uf-r-xl); background:var(--uf-brand-50); color:var(--uf-brand-600); }
.uf-cat.active .ico { background:#fff; }
.uf-cat .name { font-weight:600; font-size:.9rem; color:var(--uf-slate-900); line-height:1.2; }
.uf-cat .cnt { margin-left:auto; font-size:.75rem; color:var(--uf-slate-400); }
.uf-product-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(16rem,1fr)); gap:1.25rem; }
.uf-product-grid .product { margin-bottom:0 !important; }

/* ----- Domain search / register (domainregister.tpl, domaintransfer.tpl) ----- */
.domain-checker-container { margin:1.5rem 0 2rem; }
.domain-checker-bg { background:var(--uf-brand-50) !important; border-radius:var(--uf-r-2xl); padding:2rem; }
.domain-checker-bg .input-group { background:#fff; border-radius:var(--uf-r-xl); padding:.25rem; box-shadow:var(--uf-shadow-sm); }
.domain-checker-bg .form-control, .domain-checker-bg textarea {
  border:0 !important; box-shadow:none !important; background:transparent; font-size:1rem; padding:.75rem 1rem; }
.domain-checker-bg .form-control:focus, .domain-checker-bg textarea:focus { box-shadow:none !important; }
.domain-checker-bg .btn-primary { border-radius:var(--uf-r-xl) !important; padding:0 1.75rem; font-weight:600; }
.domain-checker-bg .input-group-append .btn, .domain-checker-bg .input-group-btn .btn { margin:0; }

/* Domain availability result rows */
.domain-search-results, .domain-results { margin-top:1.5rem; }
.domain, .domain-result, .domainrow {
  border-radius:var(--uf-r-xl); border:1px solid var(--uf-slate-100); background:#fff;
  box-shadow:var(--uf-shadow-card); padding:1rem 1.25rem; margin-bottom:.75rem; }
.domain .domain-name, .domain-result .domain-name { font-weight:600; color:var(--uf-slate-900); }
.available, .text-available { color:var(--uf-green-700) !important; }
.unavailable, .text-unavailable { color:var(--uf-red-600) !important; }

/* Main availability result + price + add-to-cart */
.domain-checker-available, .domain-checker-result-container, #domainContainer .domain {
  border-radius:var(--uf-r-2xl); border:1px solid var(--uf-slate-100); background:#fff; box-shadow:var(--uf-shadow-card); padding:1.5rem; }
.domain-price .price, .price.available { font-weight:700; color:var(--uf-brand-700); font-size:1.25rem; }
.btn-add-to-cart { border-radius:var(--uf-r-xl); font-weight:600; }

/* Spotlight TLD price cards */
.spotlight-tlds-container { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin:1.5rem 0; }
.spotlight-tld { border-radius:var(--uf-r-2xl); border:1px solid var(--uf-slate-100); background:#fff;
  box-shadow:var(--uf-shadow-card); padding:1.25rem 1.5rem; text-align:center; min-width:9rem; }
.spotlight-tld .available.price { display:block; margin:.35rem 0; }

/* Domain name suggestions */
.suggested-domains { border-radius:var(--uf-r-2xl); border:1px solid var(--uf-slate-100); background:#fff;
  box-shadow:var(--uf-shadow-card); overflow:hidden; margin-top:1.5rem; }
.suggested-domains .card-header { font-weight:600; }
.domain-suggestion.list-group-item { display:flex; align-items:center; justify-content:space-between; gap:1rem; }

/* ============ Register Domain page (Hostinger-style, centered) ============ */
.uf-domreg .domain-checker-container { margin:0 auto 1.5rem; }
/* Clean search panel — strip the standard_cart "AI" corner decorations */
.uf-domreg .domain-checker-bg {
  background:var(--uf-brand-50) !important; border:0 !important; border-image:none !important;
  background-image:none !important; border-radius:var(--uf-r-2xl); padding:1.75rem; box-shadow:none !important;
}
.uf-domreg .domain-checker-bg::before, .uf-domreg .domain-checker-bg::after,
.uf-domreg .domain-checker-advanced::before, .uf-domreg .domain-checker-advanced::after,
.uf-domreg .domain-checker-container::before, .uf-domreg .domain-checker-container::after { content:none !important; display:none !important; }
.uf-domreg .domain-checker-advanced { border:0 !important; background:transparent !important; box-shadow:none !important; }

/* Simple search (single input + button) */
.uf-domreg .input-group-box { background:#fff; border-radius:var(--uf-r-xl); box-shadow:var(--uf-shadow-sm); padding:.35rem; display:flex; align-items:center; gap:.5rem; }
.uf-domreg .input-group-box > .form-control, .uf-domreg .input-group-box input[type=text] { flex:1; border:0 !important; box-shadow:none !important; background:transparent; }
.uf-domreg .input-group-box .input-group-btn .btn, .uf-domreg .input-group-box > .btn { white-space:nowrap; }

/* Advanced (AI) search — textarea on top, controls in a clean row below */
.uf-domreg .domain-checker-advanced .input-group-box { display:block; background:#fff; border-radius:var(--uf-r-xl); box-shadow:var(--uf-shadow-sm); padding:1rem; }
.uf-domreg .domain-checker-advanced #message {
  width:100% !important; min-height:5rem !important; resize:vertical; display:block;
  border:1px solid var(--uf-slate-200) !important; border-radius:var(--uf-r-lg) !important;
  padding:.7rem .9rem !important; font-size:.875rem; line-height:1.45; margin-bottom:.85rem; background:#fff !important;
}
.uf-domreg .domain-checker-advanced #message::placeholder { color:var(--uf-slate-400); }
/* controls row */
.uf-domreg .domain-checker-advanced .input-group-box > .btn,
.uf-domreg .domain-checker-advanced .input-group-box > .multiselect,
.uf-domreg .domain-checker-advanced .input-group-box > .btn-group,
.uf-domreg .domain-checker-advanced .input-group-box > label { display:inline-flex; vertical-align:middle; margin:0 .5rem .25rem 0; }
.uf-domreg .domain-checker-advanced .input-group-box > .btn { float:right; margin-right:0; }
.uf-domreg .domain-checker-advanced .input-group-box > label { align-items:center; gap:.4rem; font-size:.85rem; color:var(--uf-slate-600); }
.uf-domreg .domain-checker-advanced .multiselect.dropdown-toggle, .uf-domreg .domain-checker-advanced .btn-group .multiselect {
  border:1px solid var(--uf-slate-200) !important; border-radius:var(--uf-r-lg) !important;
  background:#fff !important; color:var(--uf-slate-700) !important; padding:.45rem .8rem !important; font-size:.85rem !important; font-weight:400 !important; box-shadow:none !important;
}

/* Featured TLD price cards (like Hostinger) */
.featured-tlds-container { margin:1.5rem 0; }
.featured-tlds-container .featured-tld { border:1px solid var(--uf-slate-100); border-radius:var(--uf-r-xl);
  background:#fff; box-shadow:var(--uf-shadow-card); padding:1.1rem 1rem; text-align:center; margin-bottom:1rem; height:100%; }
.featured-tld .img-container img { height:1.6rem; width:auto; margin-bottom:.4rem; }
.featured-tld .price { font-weight:700; color:var(--uf-brand-700); font-size:1.05rem; }

/* Browse extensions: filter pills */
.domain-pricing h4 { font-size:1.05rem; font-weight:600; color:var(--uf-slate-900); margin:1.5rem 0 .75rem; }
.tld-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.tld-filters .badge { cursor:pointer; padding:.4rem .85rem !important; font-size:.8rem !important; font-weight:500;
  background:var(--uf-slate-100) !important; color:var(--uf-slate-600) !important; box-shadow:none !important; transition:background .15s; }
.tld-filters .badge:hover { background:var(--uf-slate-200) !important; }
.tld-filters .badge.active { background:var(--uf-brand-600) !important; color:#fff !important; }

/* TLD pricing table */
.domain-pricing .bg-white { border:1px solid var(--uf-slate-100); border-radius:var(--uf-r-2xl); overflow:hidden; box-shadow:var(--uf-shadow-card); }
.tld-pricing-header { background:var(--uf-slate-50); font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; font-weight:600; color:var(--uf-slate-400); padding:.85rem 0; }
.tld-row { padding:.85rem 0; border-top:1px solid var(--uf-slate-50); align-items:center; font-size:.9rem; }
.tld-row:hover { background:rgba(248,250,252,.7); }
.tld-row strong { color:var(--uf-slate-900); }
.tld-row small { color:var(--uf-slate-400); }
.tld-sale-group { display:inline-block; margin-left:.4rem; padding:.05rem .4rem; border-radius:var(--uf-r-full); font-size:.65rem; background:var(--uf-amber-50); color:var(--uf-amber-700); }

/* Promo boxes (Add Hosting / Transfer) */
.domain-promo-box { position:relative; overflow:hidden; border:1px solid var(--uf-slate-100); border-radius:var(--uf-r-2xl);
  background:#fff; box-shadow:var(--uf-shadow-card); padding:1.5rem; height:100%; margin-bottom:1rem; }
.domain-promo-box .fa-4x { position:absolute; right:1.25rem; top:1.25rem; font-size:2.5rem; color:var(--uf-slate-200); }
.domain-promo-box h3 { font-weight:700; color:var(--uf-slate-900); margin:.25rem 0; }
.domain-promo-box .btn-warning { background:#f59e0b !important; border-color:#f59e0b !important; color:#fff !important; }
.domain-promo-box .btn-warning:hover { background:#d97706 !important; }
.domain-promo-box .text-warning { color:#d97706 !important; }
