@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#f6f6f9;
  --card:#ffffff;
  --line:#e6e4ef;
  --text:#2b2d3a;
  --head:#1f2230;
  --muted:#6b7084;
  --purple:#6d3fc9;
  --purple-d:#5a2fb0;
  --purple-l:#ede9fe;
  --grad:linear-gradient(135deg,#6d3fc9,#8b2fe0);
  --green:#10b981;
  --radius:16px;
}

body,.primary-bg-color{background:var(--bg)!important;color:var(--text);font-family:Inter,system-ui,sans-serif}
h1,h2,h3,h4,h5,h6{color:var(--head);font-weight:700}
p,label,.text-muted{color:var(--muted)}
a{color:var(--purple)} a:hover{color:var(--purple-d);text-decoration:none}

/* Topbar (oscura, como el hero de la web) */
.topbar{background:#1a1530!important;color:#fff}
.topbar .btn,.topbar .input-group-text,.topbar a{color:#e9e5ff!important;background:transparent;border:0}

/* Cabecera y menú */
#header,.header,.navbar-light,.main-navbar-wrapper{background:#fff!important;border:0}
#header{box-shadow:0 1px 8px rgba(30,20,70,.06)}
.logo-img{max-height:44px}
#mainNavbar .navbar-nav>li>a{color:var(--text)!important;font-weight:500;padding:8px 14px;border-radius:8px}
#mainNavbar .navbar-nav>li>a:hover,
#mainNavbar .navbar-nav>li.show>a{background:var(--purple-l);color:var(--purple)!important}
.dropdown-menu{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(30,20,70,.12)}
.dropdown-item,.dropdown-menu a{color:var(--text)!important}
.dropdown-item:hover,.dropdown-menu a:hover{background:var(--purple-l)!important;color:var(--purple)!important}

/* Buscador */
.input-group.search .form-control{background:#fff!important;color:var(--text)!important;border:1px solid var(--line);border-radius:0 10px 10px 0}
.input-group.search .btn{background:var(--grad)!important;border:0;color:#fff;border-radius:10px 0 0 10px}
.cart-btn{color:var(--purple)!important}
.badge-info{background:var(--purple)!important}

/* Breadcrumb */
.master-breadcrumb,#breadcrumb{background:transparent!important;border:0}
.breadcrumb{background:transparent!important;padding:14px 0;margin:0}
.breadcrumb-item,.breadcrumb-item a,.breadcrumb-item.active{color:var(--muted)!important}

/* Contenido */
#main-body,section#main-body{background:var(--bg)!important;padding-bottom:40px}
.header-lined{border-bottom:1px solid var(--line)!important}
.header-lined h1{color:var(--head)!important;font-weight:800}

/* Paneles / sidebar */
.panel,.card,.card-sidebar{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:0 2px 10px rgba(30,20,70,.04);overflow:hidden;color:var(--text)}
.panel-heading,.card-header{background:#fff!important;border-bottom:1px solid var(--line)!important;color:var(--head)!important}
.card-header h3,.panel-title{color:var(--head)!important;font-size:16px;font-weight:700}
.panel-footer,.card-footer{background:#faf9fd!important;border-top:1px solid var(--line)!important}
.list-group-item{background:#fff!important;border-color:var(--line)!important;color:var(--text)!important}
.list-group-item:hover{background:var(--purple-l)!important;color:var(--purple)!important}
.list-group-item.active,.list-group-item.active:hover{background:var(--grad)!important;border-color:transparent!important;color:#fff!important}

/* Tiles del dashboard */
.tiles .tile{background:#fff!important;border:1px solid var(--line);border-radius:var(--radius)}
.tiles .tile .stat{color:var(--purple)!important}
.tiles .tile .title{color:var(--muted)!important}

/* Productos del carrito */
#order-standard_cart .products .product{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(30,20,70,.04);transition:.2s}
#order-standard_cart .products .product:hover{border-color:var(--purple)!important;box-shadow:0 10px 30px rgba(109,63,201,.15)}
#order-standard_cart .products .product header{background:#faf9fd!important;color:var(--head)!important;font-weight:700;border-bottom:1px solid var(--line)!important}
#order-standard_cart .products .product header span{color:var(--head)!important}
#order-standard_cart .products .product div.product-desc,
#order-standard_cart .products .product div.product-desc p,
#order-standard_cart .products .product div.product-desc li{color:var(--muted)!important}
#order-standard_cart .products .product .product-pricing{color:var(--muted)!important}
#order-standard_cart .products .product .product-pricing .price{color:var(--purple)!important;font-weight:800}
#order-standard_cart .products .product footer{background:transparent!important}

/* Botones */
.btn{border-radius:10px;font-weight:600}
.btn-primary,.btn-default.btn-primary{background:var(--grad)!important;border:0!important;color:#fff!important}
.btn-primary:hover{filter:brightness(1.08)}
.btn-success{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important}
.btn-default,.btn-info{background:#fff;border:2px solid var(--purple);color:var(--purple)}
.btn-default:hover,.btn-info:hover{background:var(--purple);color:#fff}

/* Formularios y tablas */
.form-control{background:#fff;border:1px solid var(--line);color:var(--text);border-radius:10px}
.form-control:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(109,63,201,.15)}
.table{color:var(--text)}
.table thead th{background:#faf9fd;color:var(--head);border-color:var(--line)!important}
.table td{border-color:var(--line)!important}
.table-striped tbody tr:nth-of-type(odd){background:#faf9fd}
.alert-info{background:var(--purple-l);border-color:#d8ccfb;color:var(--purple-d)}

/* Footer */
#footer,.footer{background:#1a1530!important;color:#b9b3d6}
#footer a,#footer .btn{color:#e9e5ff!important}


/* ===== Carrito: Review & Checkout ===== */

/* Cabecera de la tabla (antes azul) */
.view-cart-items-header{
  background:var(--grad)!important;
  color:#fff!important;
  font-weight:600;
  border-radius:12px 12px 0 0;
  border:0!important;
}
.view-cart-items{
  background:#fff;
  border:1px solid var(--line)!important;
  border-top:0!important;
  border-radius:0 0 12px 12px;
}
.view-cart-items .item{border-bottom:1px solid var(--line)!important;background:#fff!important}
.view-cart-items .item:nth-child(even){background:#faf9fd!important}
.view-cart-items .item-title{color:var(--head)!important;font-weight:600}
.view-cart-items .item-domain{color:var(--purple)!important;font-weight:500}
.view-cart-items .item-group,
.view-cart-items small,
.view-cart-items .cycle{color:var(--muted)!important}
.view-cart-items .item-price span:first-child{color:var(--head);font-weight:700}

/* Links Edit / Remove (antes azules) */
.view-cart-items .btn-link,
.btn-link{color:var(--purple)!important;font-weight:600}
.btn-link:hover{color:var(--purple-d)!important;text-decoration:none}
.btn-remove-from-cart{color:#9aa0b4!important}
.btn-remove-from-cart:hover{color:#ef4444!important}

/* Botón Empty Cart (antes azul) */
.empty-cart{border-top:0!important}
#btnEmptyCart,.empty-cart .btn{
  background:var(--purple-l)!important;
  color:var(--purple)!important;
  border:0!important;
  border-radius:8px;
}
#btnEmptyCart:hover{background:var(--purple)!important;color:#fff!important}

/* Pestaña de promo code */
.view-cart-tabs .nav-tabs{border-bottom:1px solid var(--line)}
.view-cart-tabs .nav-tabs .nav-link{color:var(--muted);border-radius:10px 10px 0 0}
.view-cart-tabs .nav-tabs .nav-link.active{color:var(--purple)!important;border-color:var(--line) var(--line) #fff;font-weight:600}
.view-cart-tabs .tab-content{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:16px}

/* Resumen del pedido (antes gris) */
.order-summary{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:var(--radius)!important;
  box-shadow:0 2px 10px rgba(30,20,70,.06)!important;
  overflow:hidden;
}
.order-summary h2{
  background:var(--grad)!important;
  color:#fff!important;
  margin:0;
  padding:14px;
  font-size:20px;
  font-weight:700;
  text-align:center;
}
.order-summary .summary-container{background:#fff!important;border:0!important}
.order-summary .subtotal,
.order-summary .recurring-totals{border-color:var(--line)!important;color:var(--text)}
.order-summary .recurring-totals,
.order-summary .recurring-charges{color:var(--muted)!important}
.order-summary .total-due-today .amt{color:var(--purple)!important;font-weight:800}

/* Botón Checkout (antes verde) */
.btn-checkout,
#checkout{
  background:var(--grad)!important;
  border:0!important;
  color:#fff!important;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(109,63,201,.3);
}
.btn-checkout:hover,#checkout:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-continue-shopping{color:var(--purple)!important;font-weight:600}

/* Todos los "Order Now" / success en morado */
.btn-success,
#order-standard_cart .btn-success,
#order-standard_cart .products .product footer .btn{
  background:var(--grad)!important;
  border:0!important;
  color:#fff!important;
}
.btn-success:hover{filter:brightness(1.1)}

/* Botones azules genéricos de WHMCS (btn-info, bg-primary, etc.) */
.btn-info,.bg-primary,.modal-header.bg-primary{background:var(--purple)!important;border-color:var(--purple)!important;color:#fff!important}
.text-primary{color:var(--purple)!important}

/* ===== Checkout ===== */

/* Títulos de sección (antes azules) */
.sub-heading{border-top:1px solid var(--line)!important}
.sub-heading span,
.sub-heading span.primary-bg-color{
  color:var(--purple)!important;
  background:var(--bg)!important;
  font-weight:700;
  font-size:16px;
  text-transform:none;
}

/* Radios y checks (iCheck, antes azules) */
.iradio_square-blue,.icheckbox_square-blue{
  background:#fff!important;
  border:2px solid #c9c4de;
  border-radius:50%;
  width:22px!important;height:22px!important;
  display:inline-block;vertical-align:middle;
  position:relative;
}
.icheckbox_square-blue{border-radius:6px}
.iradio_square-blue.checked,
.icheckbox_square-blue.checked{
  border-color:var(--purple);
  background:var(--grad)!important;
  box-shadow:inset 0 0 0 4px #fff;
}
.iradio_square-blue.hover{border-color:var(--purple2)}

/* Selector de cuenta */
.account-select-container .account{background:#fff;border-color:var(--line)!important}
.account-select-container .account.active{background:var(--purple-l);}
.account-select-container .account.border-bottom{background:#faf9fd}
.account .small,.account .address{color:var(--muted)}
.label-info,.badge-info{background:var(--purple)!important;color:#fff!important}

/* Total a pagar (antes verde) */
.alert-success{
  background:var(--purple-l)!important;
  border:1px solid #d8ccfb!important;
  color:var(--purple-d)!important;
  border-radius:12px;
}
.alert-success strong,#totalCartPrice{color:var(--purple)!important;font-weight:800}

/* Otras alertas */
.alert-warning{background:#fff8e6;border-color:#fde7a8;color:#7a5b00;border-radius:12px}
.alert-danger{border-radius:12px}

/* Formulario: iconos y campos */
.prepend-icon .field-icon{color:var(--purple)!important}
.prepend-icon .field-icon i{color:var(--purple)}
.field,.form-control{background:#fff!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:10px!important}
.field:focus,.form-control:focus{border-color:var(--purple)!important;box-shadow:0 0 0 3px rgba(109,63,201,.15)!important}
::placeholder{color:#a3a8bb!important}
.intl-tel-input .selected-flag{background:transparent!important}

/* Contenedor de tarjeta y Stripe */
.cc-input-container{background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--radius);padding:16px}
.cc-input-container label,.stripe-cards-inputs label{color:var(--head);font-weight:600}
.StripeElement{background:#fff;border:1px solid var(--line)!important;border-radius:10px}
.StripeElement--focus{border-color:var(--purple)!important;box-shadow:0 0 0 3px rgba(109,63,201,.15)}

/* Texto de ayuda */
.text-muted,.small.text-muted{color:var(--muted)!important}

/* Botones azules/info del checkout */
#btnAlreadyRegistered,#btnNewUserSignup{background:var(--purple)!important;border-color:var(--purple)!important;color:#fff!important}

/* Completar pedido */
#btnCompleteOrder{
  background:var(--grad)!important;
  border:0!important;
  color:#fff!important;
  border-radius:12px;
  padding:14px 36px;
  box-shadow:0 6px 18px rgba(109,63,201,.3);
}
#btnCompleteOrder:hover{filter:brightness(1.1)}