/* Geniapp - área de clientes alineada con geniapp.space */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap');

:root {
    --gn-ink: #0a1616;
    --gn-green: #082615;
    --gn-green-2: #0d493d;
    --gn-lime: #d0fa73;
    --gn-mint: #eef7ee;
    --gn-muted: #5f6b66;
    --gn-line: #e5e7e8;
    --gn-bg: #f5f6f3;
    --gn-footer: #061616;
    --gn-radius: 16px;
    --gn-radius-sm: 8px;
    --gn-shadow: 0 8px 24px rgba(6, 22, 22, .08);
}

/* Base */
body,
body.primary-bg-color {
    background: var(--gn-bg);
    background-image:
        radial-gradient(at 15% 0%, rgba(198, 207, 194, .35), transparent 45%),
        radial-gradient(at 92% 10%, rgba(170, 180, 160, .22), transparent 40%);
    background-attachment: fixed;
    color: var(--gn-ink);
    font-family: 'Geist', 'DM Sans', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Geist', 'DM Sans', Arial, sans-serif;
    font-weight: 500;
    letter-spacing: -.02em;
    color: var(--gn-ink);
}
a { color: var(--gn-green-2); }
a:hover { color: var(--gn-green); }
.text-muted { color: var(--gn-muted) !important; }

/* Barra superior */
.geniapp-utility {
    background: var(--gn-green);
    color: #c7dfb2;
    font-size: 12px;
    padding: 6px 0;
}
.geniapp-utility .container { gap: 22px; }
.geniapp-utility a, .geniapp-utility span { color: #e3eedb; }
.geniapp-utility a:hover { color: var(--gn-lime); text-decoration: none; }

.header .topbar {
    background: var(--gn-green);
    color: #e3eedb;
}
.header .topbar .btn,
.header .topbar .input-group-text { color: #e3eedb; background: transparent; border: 0; }
.header .topbar .btn-active-client span { border-bottom-color: var(--gn-lime); }
.header .topbar .btn:hover { color: var(--gn-lime); }

/* Navbar flotante */
.header {
    background: transparent;
    padding-bottom: 8px;
}
.header .navbar.navbar-light {
    max-width: 1140px;
    margin: 14px auto 0;
    background: rgba(255, 255, 255, .94);
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius);
    box-shadow: var(--gn-shadow);
    padding: 10px 6px;
    backdrop-filter: saturate(150%) blur(8px);
}
.header .logo-img { max-height: 38px; width: auto; }
.header .navbar-brand { padding: 0; }
.geniapp-sitenav { flex-direction: row; margin-left: 18px; }
.geniapp-sitenav .nav-link {
    color: var(--gn-ink) !important;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 12px !important;
    border-radius: var(--gn-radius-sm);
}
.geniapp-sitenav .nav-link:hover { background: var(--gn-mint); }
.header .search .form-control,
.header .search .btn {
    background: var(--gn-bg);
    border-color: var(--gn-line);
}
.header .toolbar .nav-link,
.header .cart-btn {
    color: var(--gn-ink);
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius-sm);
    background: #fff;
}
.header .badge-info,
.badge-info {
    background: var(--gn-lime);
    color: var(--gn-green);
}

/* Menú principal */
.header .main-navbar-wrapper {
    background: transparent;
    max-width: 1140px;
    margin: 0 auto;
    padding: 6px 0 0;
    border: 0;
}
.header .main-navbar-wrapper .navbar-nav .nav-link {
    color: var(--gn-ink);
    font-weight: 500;
    font-size: 14px;
    border-radius: var(--gn-radius-sm);
    padding: 8px 14px;
}
.header .main-navbar-wrapper .navbar-nav .nav-link:hover,
.header .main-navbar-wrapper .navbar-nav .active > .nav-link {
    background: #fff;
    color: var(--gn-green);
}
.dropdown-menu {
    border: 1px solid var(--gn-line);
    border-radius: 12px;
    box-shadow: var(--gn-shadow);
    padding: 6px;
}
.dropdown-item { border-radius: 6px; font-size: 14px; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--gn-mint); color: var(--gn-green); }
.dropdown-item.active, .dropdown-item:active { background: var(--gn-green); color: #fff; }

/* Migas */
.master-breadcrumb { background: transparent; border: 0; }
.master-breadcrumb .breadcrumb { background: transparent; font-size: 13px; padding-left: 0; }
.master-breadcrumb .breadcrumb-item a { color: var(--gn-muted); }

/* Tarjetas y paneles */
#main-body { background: transparent; padding-bottom: 60px; }
.card,
.panel,
.sidebar .card,
.tiles .tile,
.client-home-cards .card {
    background: #fff;
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius);
    box-shadow: none;
}
.card-header,
.panel-heading {
    background: #fff;
    border-bottom: 1px solid var(--gn-line);
    border-radius: var(--gn-radius) var(--gn-radius) 0 0 !important;
}
.card-title, .card-header h3 { font-weight: 600; font-size: 15px; letter-spacing: -.01em; }
.card-footer { background: #fafbf9; border-top: 1px solid var(--gn-line); border-radius: 0 0 var(--gn-radius) var(--gn-radius) !important; }

.list-group-item { border-color: var(--gn-line); }
.sidebar .list-group-item.active,
.list-group-item.active {
    background: var(--gn-mint);
    border-color: var(--gn-line);
    color: var(--gn-green);
    font-weight: 600;
}
.sidebar .list-group-item.active .badge { background: var(--gn-green); color: #fff; }

/* Tiles del inicio */
.tiles .tile {
    margin: 6px;
    transition: transform .2s, box-shadow .2s;
}
.tiles .tile:hover { transform: translateY(-3px); box-shadow: var(--gn-shadow); }
.tiles .tile i { color: var(--gn-green-2); }
.tiles .tile .stat { color: var(--gn-ink); font-weight: 600; }
.tiles .tile .highlight { background: var(--gn-lime) !important; }

/* Botones */
.btn { border-radius: var(--gn-radius-sm); font-weight: 600; }
.btn-primary,
.btn-success,
.btn-checkout {
    background: var(--gn-green);
    border-color: var(--gn-green);
    color: #fff;
    transition: transform .2s, box-shadow .2s, background .2s;
}
.btn-primary:hover, .btn-primary:focus,
.btn-success:hover, .btn-success:focus,
.btn-checkout:hover {
    background: #0f3a22;
    border-color: #0f3a22;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(8, 38, 21, .15);
}
.btn-primary:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):active {
    background: var(--gn-green);
    border-color: var(--gn-green);
}
.btn-default,
.btn-secondary,
.btn-outline-primary {
    background: #fff;
    border: 1px solid var(--gn-line);
    color: var(--gn-ink);
}
.btn-default:hover,
.btn-secondary:hover,
.btn-outline-primary:hover {
    background: var(--gn-mint);
    border-color: var(--gn-line);
    color: var(--gn-green);
}
.btn-info, .btn-warning {
    background: var(--gn-lime);
    border-color: var(--gn-lime);
    color: var(--gn-green);
}

/* Formularios */
.form-control,
.custom-select {
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius-sm);
    min-height: 44px;
}
.form-control:focus,
.custom-select:focus {
    border-color: var(--gn-green-2);
    box-shadow: 0 0 0 3px rgba(208, 250, 115, .55);
}
.custom-control-input:checked ~ .custom-control-label::before {
    background: var(--gn-green);
    border-color: var(--gn-green);
}

/* Alertas y etiquetas */
.alert { border-radius: 12px; }
.alert-success { background: var(--gn-mint); border-color: #cfe8cf; color: var(--gn-green); }
.label-success, .status-active, .badge-success { background: var(--gn-lime) !important; color: var(--gn-green) !important; }
.page-item.active .page-link { background: var(--gn-green); border-color: var(--gn-green); }
.page-link { color: var(--gn-green-2); }

/* Tablas */
.table-container,
.dataTables_wrapper {
    background: #fff;
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius);
}
.table thead th { border-bottom-color: var(--gn-line); color: var(--gn-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }

/* Login / registro */
.login-form,
.logincontainer {
    background: #fff;
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius);
    box-shadow: var(--gn-shadow);
}

/* Buscador de dominios del inicio */
.home-domain-search {
    background: var(--gn-green) !important;
    border-radius: var(--gn-radius);
    max-width: 1140px;
    margin: 10px auto 30px;
}
.home-domain-search h2, .home-domain-search .lead { color: #fff; }
.home-domain-search .btn-primary { background: var(--gn-lime); border-color: var(--gn-lime); color: var(--gn-green); }

/* Carrito (standard_cart) */
#order-standard_cart .header-lined h1,
#order-standard_cart h1.font-size-36 {
    font-weight: 500;
    letter-spacing: -.03em;
}
#order-standard_cart .products .product {
    background: #fff;
    border: 2px solid var(--gn-green);
    border-radius: var(--gn-radius);
    overflow: hidden;
}
#order-standard_cart .products .product header {
    background: transparent;
    border-bottom: 1px solid var(--gn-line);
    color: var(--gn-ink);
}
#order-standard_cart .products .product header span { font-weight: 600; font-size: 18px; }
#order-standard_cart .products .product div.product-pricing span.price {
    color: var(--gn-ink);
    font-weight: 600;
    letter-spacing: -.03em;
}
#order-standard_cart .products .product .btn-order-now,
#order-standard_cart .btn-checkout,
#order-standard_cart #btnCompleteProductConfig,
#order-standard_cart #btnCompleteOrder {
    background: var(--gn-green);
    border-color: var(--gn-green);
    color: #fff;
    border-radius: var(--gn-radius-sm);
}
#order-standard_cart .view-cart-items-header,
#order-standard_cart .sub-heading span,
#order-standard_cart .order-summary h2 {
    background: var(--gn-green);
    color: #fff;
    border-radius: var(--gn-radius-sm) var(--gn-radius-sm) 0 0;
}
#order-standard_cart .sub-heading { border-top-color: var(--gn-line); }
#order-standard_cart .view-cart-items { border-color: var(--gn-line); }
#order-standard_cart .order-summary,
#order-standard_cart .summary-container {
    background: #fff;
    border: 1px solid var(--gn-line);
    border-radius: 0 0 var(--gn-radius) var(--gn-radius);
}
#order-standard_cart .order-summary { border-radius: var(--gn-radius); overflow: hidden; }
#order-standard_cart .order-summary .total-due-today .amt {
    color: var(--gn-ink);
    font-weight: 600;
}
#order-standard_cart .domain-checker-container {
    background: var(--gn-green);
    border-radius: var(--gn-radius);
}
#order-standard_cart .domain-checker-bg { background: none; }
#order-standard_cart .panel-sidebar .panel-heading,
.sidebar .card-header {
    background: #fff;
}
#order-standard_cart .panel-sidebar .list-group-item.active {
    background: var(--gn-mint);
    color: var(--gn-green);
    border-color: var(--gn-line);
}
#order-standard_cart .promo-applied,
#order-standard_cart .view-cart-promotion-code {
    background: var(--gn-mint);
    border-radius: var(--gn-radius-sm);
}

/* Footer */
.footer,
#footer {
    background: var(--gn-footer);
    color: #f2f5ec;
    padding: 55px 0 24px;
    margin-top: 40px;
}
.geniapp-footer-grid {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1.2fr;
    gap: 32px;
    padding-bottom: 36px;
    margin-bottom: 26px;
    border-bottom: 1px solid #1f3530;
}
.geniapp-footer-grid h3 {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    margin-bottom: 16px;
}
.geniapp-footer-grid a {
    display: block;
    color: #b7c6b3;
    font-size: 13px;
    margin-bottom: 10px;
}
.geniapp-footer-grid a:hover { color: var(--gn-lime); text-decoration: none; }
.geniapp-footer-grid p { color: #b7c6b3; font-size: 13px; line-height: 1.8; max-width: 330px; }
.geniapp-footer-logo {
    font-size: 26px !important;
    font-weight: 700;
    letter-spacing: -.04em;
    color: #fff !important;
    margin-bottom: 12px !important;
}
.geniapp-footer-logo span { color: var(--gn-lime); font-weight: 500; font-size: 18px; }
.footer .nav-link,
.footer .btn,
.footer .copyright {
    color: #9db196;
    font-size: 12px;
}
.footer .nav-link:hover, .footer .btn:hover { color: var(--gn-lime); }

@media (max-width: 991px) {
    .header .navbar.navbar-light { margin: 10px 12px 0; }
    .geniapp-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .geniapp-footer-brand { grid-column: 1 / -1; }
}

/* Ajustes: contraste y prioridad sobre el CSS de standard_cart */
.home-domain-search p,
.home-domain-search .text-muted,
.home-domain-search label { color: #c7dfb2 !important; }
.home-domain-search a,
.home-domain-search .btn-link { color: var(--gn-lime) !important; }
.home-domain-search .btn-success { background: #fff; border-color: #fff; color: var(--gn-green); }
.tiles .tile .highlight { background: var(--gn-green) !important; }
#order-standard_cart .products .product {
    border: 2px solid var(--gn-green) !important;
    border-radius: var(--gn-radius) !important;
    box-shadow: none !important;
}
#order-standard_cart .products .product header {
    background: var(--gn-mint) !important;
    border-bottom: 1px solid var(--gn-line) !important;
}
#order-standard_cart .products .product .btn-order-now {
    background: var(--gn-green) !important;
    border-color: var(--gn-green) !important;
    color: #fff !important;
}
#order-standard_cart .products .product .btn-order-now:hover {
    background: var(--gn-lime) !important;
    border-color: var(--gn-lime) !important;
    color: var(--gn-green) !important;
}

/* ===== v2 UX ===== */
html { scroll-behavior: smooth; }
.gn-arrow { display: inline-block; margin-left: 6px; transition: transform .2s; }
.btn:hover .gn-arrow { transform: translateX(3px); }
.gn-eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #738069; }
.gn-badge { display: inline-block; background: var(--gn-lime); color: var(--gn-green); font-size: 11px; font-weight: 700; letter-spacing: .04em; padding: 3px 10px; border-radius: 30px; }
.gn-btn-lime { background: var(--gn-lime); border-color: var(--gn-lime); color: var(--gn-green); }
.gn-btn-lime:hover { background: #e2ff9c; color: var(--gn-green); }

/* Barra de navegación unificada */
.geniapp-utility .container { align-items: center; }
.geniapp-utility .fa-arrow-left { font-size: 10px; margin-right: 4px; }
.gn-navshell {
    max-width: 1140px;
    margin: 14px auto 0;
    background: rgba(255, 255, 255, .94);
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius);
    box-shadow: var(--gn-shadow);
    backdrop-filter: saturate(150%) blur(8px);
}
.gn-navshell .navbar.navbar-light {
    margin: 0;
    max-width: none;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--gn-line);
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
}
.gn-navshell .main-navbar-wrapper { padding: 4px 6px; max-width: none; }
.gn-navshell .main-navbar-wrapper .navbar-nav .nav-link:hover,
.gn-navshell .main-navbar-wrapper .navbar-nav .active > .nav-link { background: var(--gn-mint); }
#Primary_Navbar-Announcements,
#Primary_Navbar-Network_Status,
#Primary_Navbar-Downloads { display: none !important; }

/* Inicio */
.gn-hero {
    text-align: center;
    padding: 56px 16px 40px;
    max-width: 860px;
    margin: 0 auto;
}
.gn-pill {
    display: inline-block;
    background: var(--gn-lime);
    color: #203921;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    padding: 4px 12px;
    border-radius: 30px;
}
.gn-hero h1 {
    font-size: clamp(36px, 5vw, 60px);
    letter-spacing: -.045em;
    line-height: 1.06;
    margin: 18px 0 16px;
}
.gn-hero h1 em { font-style: normal; color: #48643e; }
.gn-hero > p { font-size: 18px; color: var(--gn-muted); max-width: 620px; margin: 0 auto 26px; }
.gn-hero-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.gn-hero-actions .btn { min-width: 190px; padding: 12px 22px; font-size: 15px; }
.gn-trust { list-style: none; display: flex; gap: 22px; justify-content: center; flex-wrap: wrap; padding: 0; margin: 24px 0 0; font-size: 13px; color: var(--gn-muted); }
.gn-trust i { color: #3f7a3a; margin-right: 4px; }

.gn-section { margin: 30px 0 56px; }
.gn-section-head { text-align: center; max-width: 640px; margin: 0 auto 30px; }
.gn-section-head h2 { font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.04em; margin: 10px 0 8px; }
.gn-section-head p { color: var(--gn-muted); margin: 0; }

.gn-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
.gn-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 18px;
    background: #fff;
    border: 1px solid var(--gn-line);
    border-radius: var(--gn-radius);
    padding: 26px;
    transition: transform .2s, box-shadow .2s;
}
.gn-plan:hover { transform: translateY(-4px); box-shadow: var(--gn-shadow); }
.gn-plan-featured { border: 2px solid var(--gn-green); }
.gn-plan > .gn-badge { position: absolute; top: -12px; left: 24px; }
.gn-plan h3 { font-size: 24px; font-weight: 600; margin: 0 0 4px; }
.gn-plan header p { color: var(--gn-muted); font-size: 14px; margin: 0; }
.gn-plan-price { display: flex; flex-direction: column; gap: 2px; padding: 16px 0; border-top: 1px solid var(--gn-line); border-bottom: 1px solid var(--gn-line); }
.gn-plan-price strong { font-size: 38px; font-weight: 600; letter-spacing: -.04em; line-height: 1.1; }
.gn-plan-price strong small { font-size: 14px; color: var(--gn-muted); font-weight: 500; letter-spacing: 0; }
.gn-plan-price span { font-size: 13px; color: var(--gn-muted); }
.gn-plan-price .gn-renew { font-size: 12px; margin-top: 4px; }
.gn-checks { list-style: none; padding: 0; margin: 0; flex: 1; }
.gn-checks li { position: relative; padding-left: 26px; margin-bottom: 9px; font-size: 14px; }
.gn-checks li::before {
    content: "✓";
    position: absolute; left: 0; top: 1px;
    width: 18px; height: 18px; border-radius: 50%;
    background: var(--gn-mint); color: var(--gn-green-2);
    font-size: 11px; font-weight: 700; text-align: center; line-height: 18px;
}
.gn-plan .btn { padding: 12px 16px; }
.gn-note { text-align: center; color: var(--gn-muted); font-size: 13px; margin-top: 18px; }

.gn-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.gn-action {
    display: flex; flex-direction: column; gap: 4px;
    background: #fff; border: 1px solid var(--gn-line); border-radius: var(--gn-radius);
    padding: 20px; color: var(--gn-ink);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.gn-action:hover { color: var(--gn-ink); text-decoration: none; transform: translateY(-3px); box-shadow: var(--gn-shadow); border-color: #cfd8cf; }
.gn-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: var(--gn-mint); color: var(--gn-green-2); font-size: 18px; margin-bottom: 8px; }
.gn-action strong { font-weight: 600; }
.gn-action small { color: var(--gn-muted); font-size: 13px; }

.gn-cta {
    display: flex; align-items: center; justify-content: space-between; gap: 30px;
    background: var(--gn-green); color: #fff;
    border-radius: var(--gn-radius); padding: 40px 44px; margin-bottom: 20px;
}
.gn-cta h2 { color: #fff; font-size: 32px; letter-spacing: -.04em; margin: 8px 0; }
.gn-cta p { color: #c7dfb2; margin: 0; }
.gn-cta .gn-eyebrow { color: #a9c78c; }

/* Tienda: tarjetas de producto (geniapp_cart) */
#order-standard_cart .products .row { row-gap: 18px; }
#order-standard_cart .products .gn-col { display: flex; }
#order-standard_cart .products .product {
    display: flex; flex-direction: column; width: 100%;
    border: 1px solid var(--gn-line) !important;
    padding: 0;
    margin: 0;
}
#order-standard_cart .products .product.gn-featured { border: 2px solid var(--gn-green) !important; }
#order-standard_cart .products .product header {
    background: #fff !important;
    padding: 22px 22px 14px;
    border-bottom: 0 !important;
}
#order-standard_cart .products .product header span:first-child { font-size: 22px; font-weight: 600; }
#order-standard_cart .products .product header .gn-badge { float: right; font-size: 10px; margin-top: 6px; }
#order-standard_cart .products .product header .gn-tag { display: block; color: var(--gn-muted); font-size: 13px; margin-top: 2px; }
#order-standard_cart .products .product div.product-desc { width: 100%; float: none; padding: 0 22px; flex: 1; font-size: 14px; }
#order-standard_cart .products .product div.product-desc ul { list-style: none; padding: 0; margin: 0; }
#order-standard_cart .products .product div.product-desc li {
    display: flex; justify-content: space-between; gap: 10px;
    padding: 8px 0; border-bottom: 1px dashed var(--gn-line);
}
#order-standard_cart .products .product div.product-desc li:last-child { border-bottom: 0; }
#order-standard_cart .products .product .gn-feat-name { color: var(--gn-muted); }
#order-standard_cart .products .product .feature-value { font-weight: 600; color: var(--gn-ink); text-align: right; }
#order-standard_cart .products .product footer {
    width: 100%; float: none; margin: 0; padding: 18px 22px 22px;
    border-top: 1px solid var(--gn-line);
    text-align: left; display: flex; flex-direction: column; gap: 14px;
}
#order-standard_cart .products .product div.product-pricing { margin: 0; text-align: left; }
#order-standard_cart .gn-pricing { display: flex; flex-direction: column; gap: 2px; }
#order-standard_cart .gn-pricing .price { font-size: 32px !important; font-weight: 600; letter-spacing: -.04em; line-height: 1.1; color: var(--gn-ink); }
#order-standard_cart .gn-pricing .price small { font-size: 13px; color: var(--gn-muted); letter-spacing: 0; }
#order-standard_cart .gn-pricing .gn-month,
#order-standard_cart .gn-pricing .gn-renew { font-size: 12px; color: var(--gn-muted); }
#order-standard_cart .products .product .btn-order-now {
    width: 100%; padding: 12px 16px; font-size: 14px;
}

/* Checkout */
#order-standard_cart .sub-heading {
    border-top: 0;
    text-align: left;
    margin: 32px 0 14px;
    height: auto;
}
#order-standard_cart .sub-heading span,
#order-standard_cart .sub-heading .primary-bg-color {
    background: none !important;
    color: var(--gn-ink) !important;
    padding: 0 !important;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -.01em;
    border-radius: 0;
}
#order-standard_cart .prepend-icon .field-icon { color: var(--gn-muted); }
#order-standard_cart .field { min-height: 46px; }
#order-standard_cart .already-registered { background: var(--gn-mint); border-radius: 12px; padding: 14px 18px; }
#order-standard_cart .order-summary .summary-container { border: 0; }
#order-standard_cart .order-summary .total-due-today .amt { font-size: 30px; letter-spacing: -.03em; }
#order-standard_cart .secure-warning { color: var(--gn-muted); }

/* Móvil */
@media (max-width: 991px) {
    .gn-navshell { margin: 10px 12px 0; }
    .gn-plans { grid-template-columns: 1fr; }
    .gn-actions { grid-template-columns: repeat(2, 1fr); }
    .gn-cta { flex-direction: column; align-items: flex-start; padding: 30px 24px; }
}
@media (max-width: 575px) {
    .gn-hero { padding-top: 36px; }
    .gn-hero > p { font-size: 16px; }
    .gn-hero-actions .btn { width: 100%; }
    .gn-actions { grid-template-columns: 1fr; }
    .geniapp-utility a:not(.mr-auto), .geniapp-utility span { display: none; }
}

/* Encabezado móvil en una línea */
@media (max-width: 1199px) {
    .gn-navshell .navbar-light > .container { flex-wrap: nowrap; }
    .gn-navshell .navbar-light form.form-inline { display: none; }
    .gn-navshell .navbar-light .toolbar { flex-direction: row; margin-left: auto; }
}
@media (max-width: 575px) {
    .header .logo-img { max-height: 28px; }
    .gn-navshell .navbar-light { padding: 8px 4px; }
    .gn-navshell .toolbar .nav-item.ml-3 { margin-left: 8px !important; }
}

/* Carrito sin barra lateral: un solo grupo de productos */
#order-standard_cart .cart-sidebar,
#order-standard_cart .sidebar-collapsed { display: none !important; }
#order-standard_cart .cart-body { width: 100% !important; float: none; padding-left: 0; padding-right: 0; }
#order-standard_cart .sub-heading { border: 0 !important; text-align: left !important; }
#order-standard_cart .sub-heading::before,
#order-standard_cart .sub-heading::after { display: none !important; }
#order-standard_cart .sub-heading span { position: static !important; }

/* ===== v3: categorías, familias y dominios ===== */
.gn-catnav { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 18px; margin-bottom: 8px; scrollbar-width: thin; }
.gn-catnav a { flex: 0 0 auto; padding: 8px 14px; border: 1px solid var(--gn-line); border-radius: 30px; background: #fff; color: var(--gn-ink); font-size: 13px; font-weight: 500; white-space: nowrap; }
.gn-catnav a:hover { background: var(--gn-mint); text-decoration: none; color: var(--gn-green); }
.gn-catnav a.active { background: var(--gn-green); border-color: var(--gn-green); color: #fff; }
.gn-families { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gn-family { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--gn-line); border-radius: var(--gn-radius); padding: 20px; color: var(--gn-ink); transition: transform .2s, box-shadow .2s; }
.gn-family:hover { color: var(--gn-ink); text-decoration: none; transform: translateY(-3px); box-shadow: var(--gn-shadow); }
.gn-family strong { font-weight: 600; font-size: 16px; }
.gn-family small { color: var(--gn-muted); font-size: 13px; }
.gn-family em { font-style: normal; font-weight: 600; color: var(--gn-green-2); font-size: 13px; margin-top: 8px; }
.gn-domain { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #fff; border: 1px solid var(--gn-line); border-radius: var(--gn-radius); padding: 30px 34px; margin: 0 0 56px; }
.gn-domain h2 { font-size: 30px; letter-spacing: -.04em; margin: 8px 0 6px; }
.gn-domain p { color: var(--gn-muted); margin: 0; }
.gn-domain-form { display: flex; gap: 8px; flex: 0 1 460px; }
.gn-domain-form .form-control { height: 50px; font-size: 16px; }
.gn-domain-form .btn { white-space: nowrap; padding: 0 22px; }
@media (max-width: 991px) { .gn-families { grid-template-columns: repeat(2, 1fr); } .gn-domain { flex-direction: column; align-items: stretch; } .gn-domain-form { flex-basis: auto; } }
@media (max-width: 575px) { .gn-families { grid-template-columns: 1fr; } .gn-domain { padding: 24px 20px; } }

/* v3.1: fichas más legibles y foco */
.btn-primary:focus, .btn-primary.focus { box-shadow: 0 0 0 3px rgba(208, 250, 115, .6) !important; background: var(--gn-green); border-color: var(--gn-green); }
#order-standard_cart .products .product div.product-desc li { display: grid; grid-template-columns: minmax(96px, 40%) 1fr; align-items: baseline; }
#order-standard_cart .products .product .feature-value { text-align: right; line-height: 1.35; }
#order-standard_cart .gn-pricing .price { white-space: nowrap; }
#order-standard_cart .gn-pricing .price small { display: inline; }
#order-standard_cart .gn-pricing .gn-month { line-height: 1.4; }
#order-standard_cart .header-lined p { color: var(--gn-muted); max-width: 640px; }

/* v3.2: ancho completo en tarjetas de producto */
#order-standard_cart .products .product div.product-desc,
#order-standard_cart .products .product footer,
#order-standard_cart .products .product div.product-pricing {
    width: 100% !important; max-width: none !important; float: none !important;
}
#order-standard_cart .products .product .btn-order-now { white-space: nowrap; }

/* ===== v4: carrito ===== */
.gn-steps { list-style: none; display: flex; gap: 8px; flex-wrap: wrap; padding: 0; margin: 14px 0 0; }
.gn-steps li { display: flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 30px; background: #fff; border: 1px solid var(--gn-line); font-size: 13px; color: var(--gn-muted); }
.gn-steps li span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--gn-bg); font-size: 11px; font-weight: 700; color: var(--gn-muted); }
.gn-steps li.done span { background: var(--gn-mint); color: var(--gn-green-2); font-size: 0; }
.gn-steps li.done span::before { content: "✓"; font-size: 12px; }
.gn-steps li.active { border-color: var(--gn-green); color: var(--gn-ink); font-weight: 600; }
.gn-steps li.active span { background: var(--gn-green); color: #fff; }

#order-standard_cart .secondary-cart-body.gn-full { width: 100% !important; float: none; }
#order-standard_cart .view-cart-items-header {
    background: transparent !important; color: var(--gn-muted) !important;
    border: 0; border-radius: 0; padding: 0 4px 8px;
    font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
#order-standard_cart .view-cart-items {
    background: #fff; border: 1px solid var(--gn-line) !important; border-radius: var(--gn-radius); overflow: hidden;
}
#order-standard_cart .view-cart-items .item { padding: 18px 20px; border-bottom: 1px solid var(--gn-line); background: #fff; }
#order-standard_cart .view-cart-items .item:last-child { border-bottom: 0; }
#order-standard_cart .view-cart-items .item-title { font-size: 18px; font-weight: 600; color: var(--gn-ink); }
#order-standard_cart .view-cart-items .item-title .btn-link { font-size: 12px; color: var(--gn-green-2); font-weight: 500; }
#order-standard_cart .view-cart-items .item-group { display: block; color: var(--gn-muted); font-size: 13px; }
#order-standard_cart .view-cart-items .item-domain { display: inline-block; margin-top: 6px; background: var(--gn-mint); color: var(--gn-green-2); font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 30px; }
#order-standard_cart .view-cart-items .item-price { text-align: right; }
#order-standard_cart .view-cart-items .item-price > span:first-child { font-size: 18px; font-weight: 600; color: var(--gn-ink); }
#order-standard_cart .view-cart-items .item-price .cycle { display: block; color: var(--gn-muted); font-size: 12px; }
.gn-item-note { display: block; font-size: 11px; color: var(--gn-muted); margin-top: 4px; }
#order-standard_cart .btn-remove-from-cart { color: #9aa39e; }
#order-standard_cart .btn-remove-from-cart:hover { color: #b3261e; }
#order-standard_cart .empty-cart { text-align: right; margin: 8px 0 0; }
#order-standard_cart .empty-cart .btn { background: none !important; border: 0 !important; color: var(--gn-muted) !important; font-size: 12px; padding: 4px 0; box-shadow: none; }
#order-standard_cart .empty-cart .btn:hover { color: #b3261e !important; transform: none; }

.gn-empty { text-align: center; padding: 56px 24px !important; background: #fff; }
.gn-empty .gn-icon { width: 56px; height: 56px; font-size: 22px; border-radius: 16px; margin: 0 auto 14px; }
.gn-empty h3 { font-size: 24px; margin: 0 0 6px; }
.gn-empty p { color: var(--gn-muted); margin: 0 0 22px; }
.gn-empty-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.gn-empty-actions .btn { padding: 11px 20px; }

#order-standard_cart .view-cart-tabs { margin-top: 18px; background: #fff; border: 1px solid var(--gn-line); border-radius: var(--gn-radius); padding: 6px 16px 16px; }
#order-standard_cart .view-cart-tabs .nav-tabs { border-bottom: 1px solid var(--gn-line); }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; color: var(--gn-muted); font-size: 13px; font-weight: 600; background: none; padding: 10px 4px; margin-right: 18px; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-link.active { color: var(--gn-ink); border-bottom-color: var(--gn-green); }
#order-standard_cart .view-cart-tabs .tab-content { background: none; border: 0; padding: 14px 0 0; }
#order-standard_cart .view-cart-promotion-code { background: var(--gn-mint) !important; border: 1px dashed #b9d9b9; color: var(--gn-green); font-weight: 600; padding: 12px 14px; text-align: left; border-radius: 10px; }

#order-standard_cart .order-summary { background: #fff; border: 1px solid var(--gn-line) !important; border-radius: var(--gn-radius) !important; box-shadow: var(--gn-shadow); }
#order-standard_cart .order-summary h2 { background: #fff !important; color: var(--gn-ink) !important; font-size: 18px !important; font-weight: 600; text-align: left; padding: 18px 20px 6px; border-radius: var(--gn-radius) var(--gn-radius) 0 0; }
#order-standard_cart .order-summary .summary-container { padding: 6px 20px 20px; font-size: 13px; }
#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .bordered-totals > div,
#order-standard_cart .order-summary .recurring-totals { padding: 7px 0; color: var(--gn-muted); }
#order-standard_cart .order-summary .bordered-totals { border-top: 1px solid var(--gn-line); border-bottom: 1px solid var(--gn-line); margin: 4px 0; padding: 4px 0; }
#order-standard_cart .order-summary #discount { color: #2f7d32; font-weight: 600; }
#order-standard_cart .order-summary .recurring-totals .cost { color: var(--gn-ink); font-weight: 600; }
#order-standard_cart .total-due-today { text-align: left !important; background: var(--gn-bg); border-radius: 12px; padding: 14px 16px !important; margin: 12px 0 14px; display: flex; flex-direction: column; }
#order-standard_cart .total-due-today .gn-due-label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #738069; }
#order-standard_cart .total-due-today .amt { font-size: 32px !important; font-weight: 600; letter-spacing: -.04em; color: var(--gn-ink); line-height: 1.15; }
#order-standard_cart .total-due-today > span:last-child { font-size: 12px; color: var(--gn-muted); }
#order-standard_cart .order-summary .text-right { text-align: left !important; }
#order-standard_cart .btn-checkout { display: flex; width: 100%; justify-content: center; align-items: center; gap: 10px; padding: 14px 18px; font-size: 16px; border-radius: 10px; }
#order-standard_cart .btn-checkout.disabled { opacity: .45; }
#order-standard_cart .btn-continue-shopping { display: block; width: 100%; text-align: center; margin-top: 6px; color: var(--gn-green-2); font-weight: 600; font-size: 13px; }
.gn-trust-list { list-style: none; padding: 14px 0 0; margin: 12px 0 0; border-top: 1px solid var(--gn-line); font-size: 12px; color: var(--gn-muted); }
.gn-trust-list li { display: flex; gap: 8px; align-items: baseline; margin-bottom: 6px; }
.gn-trust-list i { color: var(--gn-green-2); width: 14px; text-align: center; }

@media (max-width: 767px) {
    #order-standard_cart .view-cart-items .item-price { text-align: left; margin-top: 10px; }
    .gn-steps li { font-size: 12px; padding-right: 10px; }
}

/* v4.1 carrito: ajustes */
#order-standard_cart .view-cart-items .item-price .gn-item-note { font-size: 11px !important; line-height: 1.35; color: var(--gn-muted) !important; font-weight: 400; }
#order-standard_cart .total-due-today { align-items: flex-start; }
#order-standard_cart .total-due-today > span { text-align: left !important; float: none !important; }
#order-standard_cart .view-cart-promotion-code i { margin-right: 4px; }

/* v4.2 carrito móvil */
#order-standard_cart .view-cart-tabs .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
#order-standard_cart .view-cart-tabs .nav-tabs .nav-item { flex: 0 0 auto; }
#order-standard_cart .view-cart-items .item-domain { display: inline-block !important; width: auto !important; }

/* v4.3 carrito vacío */
#order-standard_cart .gn-full .view-cart-items-header,
#order-standard_cart .gn-full .view-cart-tabs { display: none !important; }

/* v4.4 filas del resumen */
#order-standard_cart .order-summary .subtotal,
#order-standard_cart .order-summary .bordered-totals > div,
#order-standard_cart .order-summary .recurring-totals { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
#order-standard_cart .order-summary .subtotal > span,
#order-standard_cart .order-summary .bordered-totals > div > span,
#order-standard_cart .order-summary .recurring-totals > span { float: none !important; }
#order-standard_cart .order-summary .recurring-totals > span:last-child { text-align: right; }

/* v4.5 resumen en pantallas medianas */
#order-standard_cart .order-summary .subtotal > span:last-child,
#order-standard_cart .order-summary .bordered-totals > div > span:last-child,
#order-standard_cart .order-summary .recurring-totals .cost,
#order-standard_cart .total-due-today .amt { white-space: nowrap; }
@media (max-width: 1199px) {
    #order-standard_cart .secondary-cart-body,
    #order-standard_cart .secondary-cart-sidebar { width: 100% !important; float: none !important; max-width: none !important; flex: 0 0 100% !important; }
    #order-standard_cart .secondary-cart-sidebar { margin-top: 18px; }
}

@media (min-width: 768px) and (max-width: 1199px) {
    #order-standard_cart .order-summary .summary-container { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
    #order-standard_cart .order-summary .summary-container > .subtotal,
    #order-standard_cart .order-summary .summary-container > .bordered-totals,
    #order-standard_cart .order-summary .summary-container > .recurring-totals { grid-column: 1; }
    #order-standard_cart .order-summary .summary-container > .total-due-today,
    #order-standard_cart .order-summary .summary-container > .express-checkout-buttons,
    #order-standard_cart .order-summary .summary-container > .text-right { grid-column: 2; }
    #order-standard_cart .order-summary .summary-container > .total-due-today { grid-row: 1 / span 3; margin-top: 4px; }
}

/* v4.6 clearfix dentro de filas flex */
#order-standard_cart .order-summary .subtotal::before, #order-standard_cart .order-summary .subtotal::after,
#order-standard_cart .order-summary .bordered-totals > div::before, #order-standard_cart .order-summary .bordered-totals > div::after,
#order-standard_cart .order-summary .recurring-totals::before, #order-standard_cart .order-summary .recurring-totals::after { display: none !important; content: none !important; }

/* v5: WhatsApp flotante */
.gn-wa { position: fixed; right: 18px; bottom: 18px; z-index: 1050; display: flex; align-items: center; gap: 8px; background: #25d366; color: #fff !important; font-weight: 600; font-size: 14px; text-decoration: none !important; padding: 12px 16px; border-radius: 30px; box-shadow: 0 8px 24px rgba(0,0,0,.18); transition: transform .2s; }
.gn-wa:hover { transform: translateY(-2px); }
.gn-wa i { font-size: 20px; }
@media (max-width: 640px) { .gn-wa span { display: none; } .gn-wa { padding: 13px 15px; } }
