/* ==========================================================================
   Paralela Cloud - Order Form Theme
   Modern, conversion-focused design for Cloud/VPS products
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");

:root {
  --pc-primary: #2E75F3;
  --pc-primary-dark: #0948b3;
  --pc-primary-darker: #072d6e;
  --pc-accent: #00d4aa;
  --pc-accent-hover: #00b894;
  --pc-dark: #1a1f36;
  --pc-dark-light: #252b48;
  --pc-gray-50: #f8fafc;
  --pc-gray-100: #f1f5f9;
  --pc-gray-200: #e2e8f0;
  --pc-gray-300: #cbd5e1;
  --pc-gray-500: #64748b;
  --pc-gray-700: #334155;
  --pc-gray-900: #0f172a;
  --pc-radius: 12px;
  --pc-radius-sm: 8px;
  --pc-radius-lg: 16px;
  --pc-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --pc-shadow-md: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);
  --pc-shadow-lg: 0 10px 25px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);
  --pc-shadow-xl: 0 20px 40px -5px rgba(0,0,0,.1);
  --pc-transition: all .25s cubic-bezier(.4,0,.2,1);
}

/* ---------- Base ---------- */
#order-standard_cart {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  color: var(--pc-gray-900);
}

/* ---------- Layout Fix ---------- */
/* The .row parent is Bootstrap flex - override to work with float layout */
#order-standard_cart > .row {
  display: block !important;
}

#order-standard_cart .cart-sidebar {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0 !important;
  overflow: visible;
  float: left;
  width: 25%;
}

/* Each sidebar panel as separate card */
#order-standard_cart .cart-sidebar .panel,
#order-standard_cart .cart-sidebar .card {
  background: #fff !important;
  border: 1px solid var(--pc-gray-200) !important;
  border-radius: var(--pc-radius-sm) !important;
  box-shadow: var(--pc-shadow) !important;
  margin-bottom: .75rem !important;
  overflow: hidden;
}

#order-standard_cart .cart-body {
  float: right;
  width: 75%;
  padding-left: 20px;
}

#order-standard_cart .cart-body::after {
  content: "";
  display: table;
  clear: both;
}

/* ---------- Sidebar ---------- */
/* old sidebar rule removed - panels now have individual styling above */

#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .card-header {
  background: linear-gradient(135deg, var(--pc-dark) 0%, var(--pc-primary-darker) 100%) !important;
  color: #fff !important;
  border: none !important;
  padding: 1rem 1.25rem;
}

#order-standard_cart .cart-sidebar .panel-heading .panel-title,
#order-standard_cart .cart-sidebar .card-header h3 {
  color: #fff !important;
  font-weight: 600;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

#order-standard_cart .cart-sidebar .list-group-item {
  border: none !important;
  border-bottom: 1px solid var(--pc-gray-100) !important;
  padding: .7rem 1.25rem;
  font-size: .88rem;
  color: var(--pc-gray-700);
  transition: var(--pc-transition);
  font-weight: 500;
}

#order-standard_cart .cart-sidebar .list-group-item:hover {
  background: var(--pc-gray-50);
  color: var(--pc-primary);
  padding-left: 1.5rem;
}

#order-standard_cart .cart-sidebar .list-group-item.active {
  background: rgba(46,117,243,.06) !important;
  color: var(--pc-primary) !important;
  font-weight: 600;
  border-left: 3px solid var(--pc-primary) !important;
}

/* ---------- Headers ---------- */
#order-standard_cart .header-lined {
  margin-bottom: 2rem;
}

#order-standard_cart .header-lined h1 {
  font-weight: 800;
  font-size: 2rem;
  color: var(--pc-dark);
  position: relative;
  padding-bottom: .75rem;
  letter-spacing: -.02em;
}

#order-standard_cart .header-lined h1::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 3px;
  background: linear-gradient(90deg, var(--pc-primary), var(--pc-accent));
  border-radius: 2px;
}

#order-standard_cart .sub-heading {
  border-top: 1px solid var(--pc-gray-200);
  margin-top: 2rem;
  margin-bottom: 2rem;
}

#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading span.primary-bg-color,
#order-standard_cart .sub-heading-borderless span,
#order-standard_cart .sub-heading-borderless span.primary-bg-color,
.sub-heading span.primary-bg-color,
.sub-heading-borderless span.primary-bg-color,
#order-standard_cart span.primary-bg-color {
  background: var(--pc-gray-50) !important;
  color: var(--pc-primary-dark) !important;
  font-weight: 600;
  font-size: .95rem;
  padding: 0 .75rem;
}

/* ============================
   PRODUCT CARDS
   ============================ */

#order-standard_cart .products .product {
  background: #fff;
  border: 1px solid var(--pc-gray-200) !important;
  border-radius: var(--pc-radius-lg) !important;
  box-shadow: var(--pc-shadow);
  transition: var(--pc-transition);
  overflow: visible;
  margin-bottom: 1.5rem;
  position: relative;
}

#order-standard_cart .products .product:hover {
  border-color: var(--pc-primary) !important;
  box-shadow: 0 8px 30px rgba(46,117,243,.12);
  transform: translateY(-4px);
}

#order-standard_cart .products .product header {
  background: linear-gradient(135deg, var(--pc-dark) 0%, var(--pc-primary-darker) 100%) !important;
  padding: 1.1rem 1.25rem;
  border-radius: var(--pc-radius-lg) var(--pc-radius-lg) 0 0 !important;
  margin: 0;
}

#order-standard_cart .products .product header span {
  color: #fff !important;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: -.01em;
}

#order-standard_cart .products .product header .qty {
  color: rgba(255,255,255,.6) !important;
}

#order-standard_cart .products .product div.product-desc {
  padding: 1rem 1.25rem;
  font-size: .88rem;
  color: var(--pc-gray-500);
  line-height: 1.6;
  /* Override base float layout - we want full width desc + full width footer */
  float: none !important;
  width: 100% !important;
}

#order-standard_cart .products .product div.product-desc ul {
  list-style: none;
  padding: 0;
  margin: .75rem 0 0;
}

#order-standard_cart .products .product div.product-desc ul li {
  padding: .4rem 0;
  border-bottom: 1px solid var(--pc-gray-100);
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .86rem;
}

#order-standard_cart .products .product div.product-desc ul li:last-child {
  border-bottom: none;
}

/* ---- Feature description (featuresdesc) with inline HTML ---- */
/* Products have raw HTML in description: <p> wrapping <li> with <p>, <i>, <strong> */

/* Kill ALL <br> tags inside product descriptions - use font-size:0 as fallback */
#order-standard_cart .products .product div.product-desc br {
  display: none !important;
  font-size: 0;
  line-height: 0;
  height: 0;
}

/* Hide empty <ul> that the template generates after featuresdesc */
#order-standard_cart .products .product div.product-desc > ul:empty,
#order-standard_cart .products .product div.product-desc > ul:not(:has(li)) {
  display: none;
}

/* The wrapping <p> that contains all the <li> items */
#order-standard_cart .products .product div.product-desc > p {
  margin: 0;
  padding: 0;
  font-size: .84rem;
  line-height: 1.4;
  color: var(--pc-gray-700);
}

/* Remove default padding/margin from any nested lists */
#order-standard_cart .products .product div.product-desc ol,
#order-standard_cart .products .product div.product-desc ul {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

/* Each feature <li> inside the description */
#order-standard_cart .products .product div.product-desc li {
  list-style: none !important;
  list-style-type: none !important;
  padding: .45rem 0;
  border-bottom: 1px solid var(--pc-gray-100);
  font-size: .84rem;
  color: var(--pc-gray-700);
  margin-left: 0 !important;
  display: block !important;
}

/* Kill the ::marker pseudo-element on all list items */
#order-standard_cart .products .product div.product-desc li::marker {
  content: none !important;
  font-size: 0;
}

#order-standard_cart .products .product div.product-desc li:last-of-type {
  border-bottom: none;
}

/* The <p> inside each <li> */
#order-standard_cart .products .product div.product-desc li p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}

/* Icons inside features */
#order-standard_cart .products .product div.product-desc li i[class*="fa-"] {
  color: var(--pc-primary);
  width: 1.3em;
  text-align: center;
  flex-shrink: 0;
  font-size: .9rem;
}

/* Bold values */
#order-standard_cart .products .product div.product-desc li strong {
  color: var(--pc-dark);
  font-weight: 700;
}

/* Info tooltip icons */
#order-standard_cart .products .product div.product-desc .text-under-line {
  cursor: help;
}

#order-standard_cart .products .product div.product-desc .text-under-line i {
  color: var(--pc-gray-300) !important;
  font-size: .7rem !important;
  width: auto !important;
}

/* Standard ul>li features (for products without inline HTML) */
#order-standard_cart .products .product div.product-desc > ul > li::before {
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: var(--pc-accent);
  font-size: .7rem;
  flex-shrink: 0;
}

#order-standard_cart .products .product span.feature-value {
  font-weight: 700;
  color: var(--pc-dark);
}

/* Product Pricing */
#order-standard_cart .products .product footer {
  padding: 1rem 1.25rem 1.25rem;
  text-align: center;
  border-top: 1px solid var(--pc-gray-100);
  background: var(--pc-gray-50);
  border-radius: 0 0 var(--pc-radius-lg) var(--pc-radius-lg);
  /* Override base style.css float/width */
  float: none !important;
  width: 100% !important;
  clear: both;
}

#order-standard_cart .products .product div.product-pricing {
  margin-bottom: .75rem;
}

#order-standard_cart .products .product div.product-pricing span.price {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--pc-primary);
  letter-spacing: -.02em;
}

/* Order Button */
#order-standard_cart .products .product .btn-order-now,
#order-standard_cart .products .product footer .btn {
  background: linear-gradient(135deg, var(--pc-primary) 0%, var(--pc-primary-dark) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--pc-radius-sm) !important;
  padding: .75rem 1rem;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .01em;
  transition: var(--pc-transition);
  box-shadow: 0 4px 15px rgba(46,117,243,.25);
  display: block !important;
  width: auto !important;
  max-width: 100%;
  text-align: center;
  white-space: normal;
  overflow: visible !important;
  min-height: 44px;
  line-height: 1.3;
  float: none !important;
}

/* Ensure the product-pricing is also full width */
#order-standard_cart .products .product div.product-pricing {
  float: none !important;
  width: 100% !important;
  text-align: center;
}

#order-standard_cart .products .product .btn-order-now:hover,
#order-standard_cart .products .product footer .btn:hover {
  background: linear-gradient(135deg, var(--pc-primary-dark) 0%, var(--pc-primary-darker) 100%) !important;
  box-shadow: 0 6px 20px rgba(46,117,243,.35);
  transform: translateY(-1px);
}

/* ---------- Product Configure ---------- */
#order-standard_cart .product-info {
  background: linear-gradient(135deg, var(--pc-dark) 0%, var(--pc-primary-darker) 100%);
  border-radius: var(--pc-radius);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  color: #fff;
}

#order-standard_cart .product-info .product-title {
  font-weight: 700;
  font-size: 1.15rem;
  margin-bottom: .25rem;
  color: #fff;
}

#order-standard_cart .product-info p {
  color: rgba(255,255,255,.7);
  margin-bottom: .15rem;
  font-size: .84rem;
  line-height: 1.4;
}

/* Product info features inside configure page - kill ALL br tags */
#order-standard_cart .product-info br,
.product-info br {
  display: none !important;
  height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

#order-standard_cart .product-info li {
  list-style: none !important;
  display: block !important;
  padding: .2rem 0;
  font-size: .84rem;
  color: rgba(255,255,255,.8);
}

#order-standard_cart .product-info li::marker {
  content: none !important;
}

#order-standard_cart .product-info li p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: .35rem;
  color: rgba(255,255,255,.8);
}

#order-standard_cart .product-info li i[class*="fa-"] {
  color: var(--pc-accent) !important;
  width: 1.2em;
  text-align: center;
  font-size: .85rem;
}

#order-standard_cart .product-info li strong {
  color: #fff;
}

#order-standard_cart .product-info .text-under-line i {
  color: rgba(255,255,255,.3) !important;
  font-size: .7rem !important;
}

/* Configurable options styling */
#order-standard_cart .field-container {
  margin-bottom: 1rem;
}

#order-standard_cart .field-container .form-group {
  background: #fff;
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  padding: .85rem 1rem;
}

#order-standard_cart .field-container label {
  font-weight: 600;
  font-size: .85rem;
  color: var(--pc-gray-700);
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: .4rem;
}

#order-standard_cart .field-container select.form-control,
#order-standard_cart .field-container .custom-select {
  width: 100% !important;
  max-width: 100%;
}

#order-standard_cart .field-container input[type="number"] {
  max-width: 120px;
}

/* Select inline - make full width on configure page */
#order-standard_cart .select-inline,
#order-standard_cart select.select-inline,
#order-standard_cart .field-container select,
#order-standard_cart .field-container .select-inline,
select.select-inline.form-control {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* Order summary box on configure page */
#order-standard_cart .order-summary {
  background: #fff;
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius);
  box-shadow: var(--pc-shadow);
  overflow: hidden;
  position: sticky;
  top: 1rem;
}

#order-standard_cart .order-summary .header {
  background: linear-gradient(135deg, var(--pc-dark) 0%, var(--pc-primary-darker) 100%);
  color: #fff;
  padding: .85rem 1.1rem;
  font-weight: 700;
  font-size: .9rem;
}

#order-standard_cart .order-summary .body,
#order-standard_cart .order-summary .summary-container {
  padding: .75rem 1rem;
  font-size: .85rem;
}

/* Order summary content styling */
#order-standard_cart .summary-container .product-name {
  font-weight: 700;
  font-size: .95rem;
  color: var(--pc-dark);
  display: block;
  margin-bottom: .25rem;
}

#order-standard_cart .summary-container .product-group {
  font-size: .8rem;
  color: var(--pc-gray-500);
  display: block;
  margin-bottom: .75rem;
}

#order-standard_cart .summary-container .clearfix {
  padding: .25rem 0;
  border-bottom: 1px solid var(--pc-gray-100);
}

#order-standard_cart .summary-container .summary-totals {
  margin-top: .75rem;
  padding-top: .5rem;
  border-top: 2px solid var(--pc-primary);
}

#order-standard_cart .summary-container .total-due-today {
  background: var(--pc-gray-50);
  margin: .5rem -.75rem -.75rem;
  padding: .75rem;
  border-top: 2px solid var(--pc-primary);
  font-weight: 700;
}

#order-standard_cart .summary-container .total-due-today .amt {
  color: var(--pc-primary);
  font-size: 1.15rem;
  font-weight: 800;
}

/* CTA buttons - standardized green accent for all checkout/add actions */
#order-standard_cart #btnAddToCart,
#order-standard_cart #btnCompleteProductConfig,
#order-standard_cart .btn-checkout,
#order-standard_cart a[href*="checkout"] .btn,
#order-standard_cart .order-summary .btn-success,
#order-standard_cart .order-summary .btn-primary,
#order-standard_cart .order-summary .btn-lg {
  background: linear-gradient(135deg, var(--pc-accent) 0%, var(--pc-accent-hover) 100%) !important;
  border: none !important;
  border-radius: var(--pc-radius-sm) !important;
  color: #fff !important;
  width: 100%;
  padding: .75rem 1rem;
  font-size: .95rem;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(0,212,170,.3);
  transition: var(--pc-transition);
}

#order-standard_cart #btnCompleteProductConfig:hover,
#order-standard_cart .order-summary .btn-success:hover,
#order-standard_cart .order-summary .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(0,212,170,.4);
}

/* ---------- Forms ---------- */
#order-standard_cart .form-control {
  border: 1.5px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  font-size: .9rem;
  transition: var(--pc-transition);
}

#order-standard_cart .form-control:focus {
  border-color: var(--pc-primary);
  box-shadow: 0 0 0 3px rgba(46,117,243,.12);
}

#order-standard_cart select.form-control,
#order-standard_cart .custom-select,
select.form-control.custom-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23334155' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .75rem center !important;
  background-color: #fff !important;
  color: var(--pc-gray-900) !important;
  font-weight: 500;
  height: auto !important;
  min-height: 38px;
  line-height: 1.5 !important;
}

#order-standard_cart label {
  font-weight: 500;
  font-size: .88rem;
  color: var(--pc-gray-700);
}

/* ---------- Buttons ---------- */
#order-standard_cart .btn-primary {
  background: linear-gradient(135deg, var(--pc-primary) 0%, var(--pc-primary-dark) 100%);
  border: none;
  border-radius: var(--pc-radius-sm);
  font-weight: 600;
  padding: .6rem 1.5rem;
  box-shadow: 0 2px 8px rgba(46,117,243,.25);
  transition: var(--pc-transition);
}

#order-standard_cart .btn-primary:hover {
  background: linear-gradient(135deg, var(--pc-primary-dark) 0%, var(--pc-primary-darker) 100%);
  box-shadow: 0 4px 15px rgba(46,117,243,.35);
  transform: translateY(-1px);
}

#order-standard_cart .btn-success {
  background: linear-gradient(135deg, var(--pc-accent) 0%, var(--pc-accent-hover) 100%);
  border: none;
  border-radius: var(--pc-radius-sm);
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0,212,170,.25);
}

#order-standard_cart .btn-success:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0,212,170,.35);
}

/* ---------- Order Summary Sidebar ---------- */
#order-standard_cart .order-summary {
  background: #fff;
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius);
  box-shadow: var(--pc-shadow);
  overflow: hidden;
}

#order-standard_cart .order-summary .header {
  background: linear-gradient(135deg, var(--pc-dark) 0%, var(--pc-primary-darker) 100%) !important;
  color: #fff !important;
  padding: .85rem 1.1rem;
  font-weight: 700;
  font-size: .9rem;
  border-radius: var(--pc-radius) var(--pc-radius) 0 0;
}

/* Ensure order-summary header stays dark even with primary-bg-color overrides */
#order-standard_cart .order-summary .header *,
#order-standard_cart .order-summary .header i {
  color: #fff !important;
}

#order-standard_cart .order-summary .total-due-today {
  background: var(--pc-gray-50);
  border-top: 2px solid var(--pc-primary);
  padding: 1rem 1.25rem;
  font-weight: 700;
  font-size: 1.1rem;
}

#order-standard_cart .order-summary .total-due-today .amt {
  color: var(--pc-primary);
  font-size: 1.3rem;
}

/* ---------- View Cart ---------- */
#order-standard_cart .view-cart-items-header {
  background: var(--pc-dark);
  color: #fff;
  border-radius: var(--pc-radius-sm) var(--pc-radius-sm) 0 0;
  padding: .75rem 0;
  font-weight: 600;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

#order-standard_cart .view-cart-items .item {
  background: #fff;
  border: 1px solid var(--pc-gray-100);
  border-top: none;
  padding: 1rem 0;
  transition: var(--pc-transition);
}

#order-standard_cart .view-cart-items .item:hover {
  background: var(--pc-gray-50);
}

#order-standard_cart .view-cart-items .item:last-child {
  border-radius: 0 0 var(--pc-radius-sm) var(--pc-radius-sm);
}

#order-standard_cart .view-cart-items .item .item-title {
  font-weight: 600;
  color: var(--pc-dark);
  font-size: .95rem;
}

/* ---------- Checkout ---------- */
#order-standard_cart .checkout-error-feedback {
  border-radius: var(--pc-radius-sm);
}

#order-standard_cart .already-registered {
  background: var(--pc-gray-50);
  border-radius: var(--pc-radius-sm);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--pc-gray-200);
}

#order-standard_cart .already-registered .btn-info {
  background: var(--pc-primary);
  border: none;
  border-radius: var(--pc-radius-sm);
  font-weight: 600;
}

/* Account selection */
#order-standard_cart .account-select-container .account {
  border-radius: var(--pc-radius-sm);
  border: 1.5px solid var(--pc-gray-200);
  padding: 1rem;
  transition: var(--pc-transition);
}

#order-standard_cart .account-select-container .account.active {
  border-color: var(--pc-primary);
  background: rgba(46,117,243,.04);
  box-shadow: 0 0 0 3px rgba(46,117,243,.12);
}

/* Payment gateway */
#order-standard_cart .panel-gateway {
  border-radius: var(--pc-radius-sm) !important;
  border: 1.5px solid var(--pc-gray-200) !important;
  cursor: pointer;
  transition: var(--pc-transition);
}

#order-standard_cart .panel-gateway:hover {
  border-color: var(--pc-primary) !important;
}

#order-standard_cart .panel-gateway.panel-gateway-selected {
  border-color: var(--pc-primary) !important;
  background: rgba(46,117,243,.04) !important;
  box-shadow: 0 0 0 3px rgba(46,117,243,.12) !important;
}

/* Complete checkout button */
#order-standard_cart #btnCompleteOrder {
  background: linear-gradient(135deg, var(--pc-accent) 0%, var(--pc-accent-hover) 100%) !important;
  border: none !important;
  border-radius: var(--pc-radius-sm) !important;
  padding: .85rem 2.5rem !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  letter-spacing: .02em;
  box-shadow: 0 4px 15px rgba(0,212,170,.3);
  transition: var(--pc-transition);
}

#order-standard_cart #btnCompleteOrder:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(0,212,170,.4);
}

/* ---------- Domain Search ---------- */
#order-standard_cart .domain-checker-container,
#order-standard_cart .domain-selection-options .option {
  background: #fff;
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  padding: 1.25rem;
  margin-bottom: 1rem;
  transition: var(--pc-transition);
}

#order-standard_cart .domain-selection-options .option:hover {
  border-color: var(--pc-primary);
}

/* ---------- Complete / Success ---------- */
#order-standard_cart .order-confirmation {
  background: linear-gradient(135deg, var(--pc-primary) 0%, var(--pc-primary-dark) 100%);
  color: #fff;
  border: none;
  border-radius: var(--pc-radius);
  padding: 1.5rem;
  text-align: center;
  font-size: 1rem;
}

#order-standard_cart .order-confirmation span {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  margin-top: .5rem;
  letter-spacing: -.02em;
}

/* ---------- Alerts ---------- */
#order-standard_cart .alert {
  border-radius: var(--pc-radius-sm);
  border: none;
  font-size: .9rem;
}

#order-standard_cart .alert-info { background: rgba(46,117,243,.08); color: var(--pc-primary-dark); }
#order-standard_cart .alert-success { background: rgba(0,212,170,.08); color: #047857; }
#order-standard_cart .alert-danger { background: rgba(239,68,68,.06); color: #dc2626; }
#order-standard_cart .alert-warning { background: rgba(245,158,11,.08); color: #b45309; }

/* ---------- Mobile Responsive ---------- */
@media (max-width: 575px) {
  #order-standard_cart .header-lined h1 { font-size: 1.5rem; }
  #order-standard_cart .products .product header { padding: .85rem 1rem; }
  #order-standard_cart .products .product div.product-desc { padding: 1rem; width: 100% !important; float: none !important; }
  #order-standard_cart .products .product footer { padding: .75rem 1rem 1.25rem; }
  #order-standard_cart .products .product div.product-pricing span.price { font-size: 1.5rem; }
}

/* ---------- Animations ---------- */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

#order-standard_cart .products .product {
  animation: fadeInUp .4s ease-out backwards;
}

#order-standard_cart .products .product:nth-child(2) { animation-delay: .08s; }
#order-standard_cart .products .product:nth-child(3) { animation-delay: .16s; }
#order-standard_cart .products .product:nth-child(4) { animation-delay: .24s; }
#order-standard_cart .products .product:nth-child(5) { animation-delay: .32s; }
#order-standard_cart .products .product:nth-child(6) { animation-delay: .4s; }

/* ---------- Config Options ---------- */
#order-standard_cart .config-option-group {
  background: #fff;
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  padding: 1rem 1.25rem;
  margin-bottom: .75rem;
}

/* ---------- Scrollbar ---------- */
#order-standard_cart ::-webkit-scrollbar { width: 5px; }
#order-standard_cart ::-webkit-scrollbar-thumb { background: var(--pc-gray-300); border-radius: 3px; }

/* ---------- Tooltip ---------- */
#order-standard_cart .tooltip-inner {
  background: var(--pc-dark);
  border-radius: 6px;
  font-size: .82rem;
}

/* ---------- View Cart / Review Page ---------- */
#order-standard_cart .view-cart-items-header {
  background: var(--pc-dark) !important;
  color: #fff !important;
  border-radius: var(--pc-radius-sm) var(--pc-radius-sm) 0 0;
  padding: .75rem 1rem;
  font-weight: 600;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

#order-standard_cart .view-cart-items .item {
  background: #fff;
  border: 1px solid var(--pc-gray-100);
  border-top: none;
  padding: 1rem;
  transition: var(--pc-transition);
}

#order-standard_cart .view-cart-items .item:last-child {
  border-radius: 0 0 var(--pc-radius-sm) var(--pc-radius-sm);
}

#order-standard_cart .view-cart-items .item .item-title {
  font-weight: 600;
  color: var(--pc-dark);
}

/* Cart summary sidebar */
#order-standard_cart .cart-totals,
#order-standard_cart .secondary-cart-sidebar .panel,
#order-standard_cart .secondary-cart-sidebar .card {
  border-radius: var(--pc-radius) !important;
  border: 1px solid var(--pc-gray-200) !important;
  box-shadow: var(--pc-shadow) !important;
  overflow: hidden;
}

/* Promo code area */
#order-standard_cart .promo-container .nav-tabs {
  border: none;
}

#order-standard_cart .promo-container .nav-tabs .nav-link,
#order-standard_cart .promo-container .tab-content {
  border-radius: var(--pc-radius-sm);
}

/* ---------- Checkout Page - Clean Step Design ---------- */

/* CEP loading spinner on postcode input */
#inputPostcode {
  transition: all .2s;
}

#inputPostcode.cep-loading {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 50 50'%3E%3Cpath fill='%232E75F3' d='M25 5A20 20 0 1 0 45 25 20 20 0 0 0 25 5zm0 36A16 16 0 1 1 41 25 16 16 0 0 1 25 41z' opacity='.3'/%3E%3Cpath fill='%232E75F3' d='M25 5A20 20 0 0 1 45 25h-4A16 16 0 0 0 25 9z'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='.6s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .75rem center !important;
  background-size: 18px !important;
}

/* ---------- Checkout Page ---------- */
#order-standard_cart .already-registered {
  background: var(--pc-gray-50);
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  padding: 1rem 1.25rem;
  margin-bottom: 1.5rem;
}

/* Payment method cards */
#order-standard_cart .panel-gateway,
#order-standard_cart .gateway-option {
  border-radius: var(--pc-radius-sm) !important;
  border: 1.5px solid var(--pc-gray-200) !important;
  transition: var(--pc-transition);
  cursor: pointer;
}

#order-standard_cart .panel-gateway:hover,
#order-standard_cart .gateway-option:hover {
  border-color: var(--pc-primary) !important;
}

#order-standard_cart .panel-gateway.panel-gateway-selected,
#order-standard_cart .panel-gateway.active {
  border-color: var(--pc-primary) !important;
  background: rgba(46,117,243,.04) !important;
  box-shadow: 0 0 0 3px rgba(46,117,243,.12) !important;
}

/* Mailing list / newsletter section */
#order-standard_cart .marketing-email-optin {
  margin-bottom: 2rem !important;
  padding: 1.25rem;
  background: var(--pc-gray-50);
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
}

/* Complete order button */
#order-standard_cart #btnCompleteOrder,
#order-standard_cart .btn-complete-order {
  background: linear-gradient(135deg, var(--pc-accent) 0%, var(--pc-accent-hover) 100%) !important;
  border: none !important;
  border-radius: var(--pc-radius-sm) !important;
  padding: .85rem 2rem !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  box-shadow: 0 4px 15px rgba(0,212,170,.3);
  transition: var(--pc-transition);
}

#order-standard_cart #btnCompleteOrder:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(0,212,170,.4);
}

/* Linked accounts / social login in checkout */
#order-standard_cart .linked-accounts-container {
  background: var(--pc-gray-50);
  border: 1px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

/* ---------- Configure Product Page ---------- */
#order-standard_cart .secondary-cart-body {
  float: left !important;
  width: 65% !important;
}

#order-standard_cart .secondary-cart-sidebar {
  float: right !important;
  width: 35% !important;
}

@media (max-width: 991px) {
  #order-standard_cart .secondary-cart-body {
    width: 100% !important;
    float: none !important;
  }
  #order-standard_cart .secondary-cart-sidebar {
    width: 100% !important;
    float: none !important;
    margin-top: 1.5rem;
  }
}

/* Domain selection options on configure page */
#order-standard_cart .domain-selection-options .option {
  background: #fff;
  border: 1.5px solid var(--pc-gray-200);
  border-radius: var(--pc-radius-sm);
  padding: 1.25rem;
  margin-bottom: 1rem;
  transition: var(--pc-transition);
  cursor: pointer;
}

#order-standard_cart .domain-selection-options .option:hover {
  border-color: var(--pc-primary);
  box-shadow: 0 0 0 3px rgba(46,117,243,.08);
}

/* Radio options styling */
#order-standard_cart .domain-selection-options label {
  font-weight: 500;
  font-size: .92rem;
  color: var(--pc-gray-700);
  cursor: pointer;
}

/* Domain input row */
#order-standard_cart .domain-input-group {
  margin-top: .75rem;
}

#order-standard_cart .domain-input-group .input-group-prepend .input-group-text,
#order-standard_cart .domain-input-group .input-group-prepend span {
  background: var(--pc-gray-50);
  border: 1.5px solid var(--pc-gray-200);
  border-right: none;
  border-radius: 6px 0 0 6px;
  color: var(--pc-gray-500);
  font-size: .9rem;
  padding: .5rem .75rem;
}

#order-standard_cart .domain-input-group .form-control {
  border-radius: 0 !important;
  border: 1.5px solid var(--pc-gray-200);
}

#order-standard_cart .domain-input-group select.form-control {
  border-radius: 0 6px 6px 0 !important;
  border-left: none;
  max-width: 100px;
}

/* Verifica button */
#order-standard_cart .domain-input-group .btn,
#order-standard_cart .domains-row .btn {
  border-radius: 6px !important;
  margin-left: .5rem;
}

/* ---------- Form controls in order form ---------- */
#order-standard_cart .form-control {
  border: 1.5px solid var(--pc-gray-200);
  border-radius: 6px;
  font-size: .9rem;
}

#order-standard_cart .form-control:focus {
  border-color: var(--pc-primary);
  box-shadow: 0 0 0 3px rgba(46,117,243,.12);
}

#order-standard_cart .input-group .form-control {
  border-radius: 0 6px 6px 0;
}

#order-standard_cart .input-group .input-group-prepend > * {
  border-radius: 6px 0 0 6px;
}

/* ---------- Main content area on store pages ---------- */
section#main-body,
#main-body {
  background: var(--pc-gray-50) !important;
}

/* ---------- Sidebar collapsed (mobile categories dropdown) ---------- */
#order-standard_cart .sidebar-collapsed {
  margin-bottom: 1.5rem;
}

#order-standard_cart .sidebar-collapsed .panel,
#order-standard_cart .sidebar-collapsed .card {
  border: 1px solid var(--pc-gray-200) !important;
  border-radius: var(--pc-radius-sm) !important;
  margin-bottom: .5rem !important;
  box-shadow: none !important;
}

#order-standard_cart .sidebar-collapsed .panel-heading,
#order-standard_cart .sidebar-collapsed .card-header {
  padding: .5rem .75rem !important;
  background: var(--pc-dark) !important;
  color: #fff !important;
}

#order-standard_cart .sidebar-collapsed .panel-heading h3,
#order-standard_cart .sidebar-collapsed .card-header h3 {
  font-size: .8rem !important;
  color: #fff !important;
}

#order-standard_cart .sidebar-collapsed .panel-body,
#order-standard_cart .sidebar-collapsed .card-body {
  padding: .5rem .75rem !important;
}

#order-standard_cart .sidebar-collapsed select.form-control {
  font-size: .85rem;
  padding: .4rem .6rem;
}

/* ---------- Sidebar currency select fix ---------- */
#order-standard_cart .cart-sidebar select.form-control,
#order-standard_cart .cart-sidebar .custom-select {
  width: 100% !important;
  min-width: 0;
  text-overflow: ellipsis;
  padding-right: 2rem;
  font-size: .85rem;
}

/* Sidebar panel headings */
#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .card-header {
  border-radius: var(--pc-radius-sm) var(--pc-radius-sm) 0 0 !important;
}

/* Currency select body padding */
#order-standard_cart .cart-sidebar .panel-body,
#order-standard_cart .cart-sidebar .card-body {
  padding: .75rem 1rem !important;
}


/* ==========================================================================
   CHECKOUT MULTI-STEP
   ========================================================================== */

/* Stepper bar inside checkout */
.chk-stepper {
  max-width: 600px;
  margin: 2.5rem auto;
  padding: 0 1rem;
  position: relative;
}

.chk-stepper .reg-stepper-track {
  position: absolute;
  top: 50%;
  left: 80px;
  right: 80px;
  height: 3px;
  background: var(--pc-gray-200);
  border-radius: 2px;
  z-index: 0;
  transform: translateY(-50%);
}

.chk-stepper .reg-stepper-steps {
  position: relative;
}

.chk-stepper .reg-stepper-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--pc-primary), var(--pc-accent));
  border-radius: 2px;
  width: 0%;
  transition: width 0.4s cubic-bezier(.4,0,.2,1);
}

.chk-stepper .reg-stepper-steps {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.chk-stepper .reg-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  transition: all .2s cubic-bezier(.4,0,.2,1);
}

.chk-stepper .reg-step-num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--pc-gray-200);
  color: var(--pc-gray-500);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .95rem;
  transition: all .2s cubic-bezier(.4,0,.2,1);
  border: 3px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.chk-stepper .reg-step.active .reg-step-num {
  background: linear-gradient(135deg, var(--pc-primary), var(--pc-primary-dark));
  color: #fff;
  box-shadow: 0 4px 15px rgba(46,117,243,.35);
  transform: scale(1.1);
}

.chk-stepper .reg-step.completed .reg-step-num {
  background: var(--pc-accent);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,212,170,.3);
  font-size: 0;
}

.chk-stepper .reg-step.completed .reg-step-num::after {
  content: "00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: .8rem;
}

.chk-stepper .reg-step-label {
  font-size: .78rem;
  font-weight: 600;
  color: var(--pc-gray-500);
  text-transform: uppercase;
  letter-spacing: .03em;
  transition: all .2s cubic-bezier(.4,0,.2,1);
  white-space: nowrap;
}

.chk-stepper .reg-step.active .reg-step-label {
  color: var(--pc-primary);
}

.chk-stepper .reg-step.completed .reg-step-label {
  color: var(--pc-accent-hover);
}

/* Panels */
.chk-panel {
  animation: regSlideIn 0.35s ease-out;
}

@keyframes regSlideIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media (max-width: 576px) {
  .chk-stepper .reg-stepper-track {
    left: 50px;
    right: 50px;
  }
  .chk-stepper .reg-step-label {
    font-size: .65rem;
  }
  .chk-stepper .reg-step-num {
    width: 34px;
    height: 34px;
    font-size: .85rem;
  }
}


/* Fix: Order Summary sidebar header - force dark gradient */
#orderSummary > .panel-heading,
#orderSummary > .card-header,
#order-standard_cart #orderSummary > .panel-heading,
#order-standard_cart #orderSummary > .card-header,
div#orderSummary .panel-heading,
div#orderSummary .card-header {
  background: linear-gradient(135deg, var(--pc-dark) 0%, var(--pc-primary-darker) 100%) !important;
  color: #fff !important;
  border: none !important;
}

#orderSummary > .panel-heading .panel-title,
#orderSummary > .card-header .panel-title,
#orderSummary > .panel-heading h3,
#orderSummary > .card-header h3,
div#orderSummary .panel-heading .panel-title,
div#orderSummary .card-header h3 {
  color: #fff !important;
}


/* Fix: sub-heading span bg must match page background */
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading span.primary-bg-color,
#order-standard_cart .sub-heading-borderless span,
#order-standard_cart .sub-heading-borderless span.primary-bg-color,
.chk-panel .sub-heading span,
.chk-panel .sub-heading span.primary-bg-color {
  background-color: var(--pc-gray-50, #f8fafc) !important;
  background: var(--pc-gray-50, #f8fafc) !important;
}




/* Nuclear fix: ALL sidebar card/panel headers in cart must be dark gradient */
#order-standard_cart .cart-sidebar .panel-heading,
#order-standard_cart .cart-sidebar .card-header,
#order-standard_cart .cart-sidebar .panel.card .panel-heading,
#order-standard_cart .cart-sidebar .panel.card .card-header,
#order-standard_cart .cart-sidebar .card-sidebar .card-header,
#order-standard_cart .cart-sidebar .panel-sidebar .panel-heading,
#order-standard_cart .cart-sidebar div.panel .panel-heading,
#order-standard_cart .cart-sidebar div.card .card-header,
div#order-standard_cart .cart-sidebar .panel-heading,
div#order-standard_cart .cart-sidebar .card-header {
  background: linear-gradient(135deg, #1a1f36 0%, #072d6e 100%) !important;
  color: #fff !important;
  border: none !important;
}

div#order-standard_cart .cart-sidebar .panel-heading h3,
div#order-standard_cart .cart-sidebar .panel-heading .panel-title,
div#order-standard_cart .cart-sidebar .card-header h3,
div#order-standard_cart .cart-sidebar .card-header .panel-title,
#order-standard_cart .cart-sidebar .panel-heading h3,
#order-standard_cart .cart-sidebar .card-header h3,
#order-standard_cart .cart-sidebar .panel-heading .panel-title,
#order-standard_cart .cart-sidebar .card-header .panel-title {
  color: #fff !important;
}

#order-standard_cart .cart-sidebar .panel-heading i,
#order-standard_cart .cart-sidebar .card-header i {
  color: #fff !important;
}


/* Fix: order-summary h2 header - dark gradient */
#order-standard_cart .order-summary h2,
.order-summary h2 {
  background: linear-gradient(135deg, #1a1f36 0%, #072d6e 100%) !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 1rem 1.25rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .03em;
}


/* ==========================================================================
   FIX — Cart skewed on mobile/tablet ("invisible div" on the left)
   --------------------------------------------------------------------------
   The base style.css hides .cart-sidebar and makes .cart-body full width
   below 1200px. The custom float overrides above (.cart-sidebar 25% /
   .cart-body 75%) are unconditional and, loading later with equal
   specificity, beat that media query — so on phones the body stayed floated
   right at 75% leaving an empty 25% column on its left. Re-apply the base
   responsive behaviour here. Breakpoint 1199px matches where the collapsed
   categories dropdown (.sidebar-collapsed) takes over.
   ========================================================================== */
@media (max-width: 1199px) {
  #order-standard_cart .cart-sidebar {
    display: none !important;
  }
  #order-standard_cart .cart-body {
    width: 100% !important;
    float: none !important;
    padding-left: 15px !important;
  }
}


/* ==========================================================================
   FIX — Hide category / actions / currency bar before products on mobile
   --------------------------------------------------------------------------
   .sidebar-collapsed holds the collapsed category selector, action panels and
   the guest currency switcher, rendered above the products on small screens.
   Per request, hide it on phones (the header nav still provides navigation).
   ========================================================================== */
@media (max-width: 767px) {
  #order-standard_cart .sidebar-collapsed {
    display: none !important;
  }
}
