/* SeoPosicion: misma imagen que www.seoposicion.es (Avada).
 * Azul #1a80b6 (botones #1878ad para contraste AA con texto blanco), azul oscuro #105378,
 * cajas #ebf4fa, texto #333/#747474, Arial, pie #363839 y franja #282a2b. */

/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* Custom CSS for Nexus Theme
 *
 * This file allows you to customize the theme colors and styles for the entire Nexus template.
 *
 * To customize colors:
 * - Replace the var() references with your own hex colors or other CSS values.
 * - For example, instead of --primary: #4b5563; use --primary: #your-color;
 * - You can also override any CSS properties here.
 */

:root {
    --white: #fff;

    /* Neutral shades */
    --neutral-50: #fbf9fa;
    --neutral-100: #f4f5f7;
    --neutral-200: #e4e4e7;
    --neutral-300: #d0d5dd;
    --neutral-400: #9ca3af;
    --neutral-500: #6b7280;
    --neutral-600: #4b5563;
    --neutral-700: #374151;
    --neutral-800: #1f2937;
    --neutral-900: #111827;
    --neutral-950: #030712;

    /* Neutral shades */
    /* define own pallet with brand colors */
    --primary-50: #ebf4fa;
    --primary-100: #d6e9f5;
    --primary-200: #aed3ea;
    --primary-300: #7cb9dc;
    --primary-400: #4a9dcb;
    --primary-500: #1a80b6;
    --primary-600: #1878ad;
    --primary-700: #105378;
    --primary-800: #0d4462;
    --primary-900: #0a344b;
    --primary-950: #072536;

    /* Primary colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--primary-600);          /* var(--primary-600) */
    --primary-lifted: var(--primary-700);   /* var(--primary-700) */
    --primary-accented: var(--primary-800); /* var(--primary-800) */

    /* Secondary colors */
    --secondary: var(--neutral-500);
    --secondary-lifted: var(--neutral-600);
    --secondary-accented: var(--neutral-700);

    /* Success colors */
    --success: #00a63e;
    --success-lifted: #008236;
    --success-accented: #016630;

    /* Info colors */
    --info: #1878ad;
    --info-lifted: #105378;
    --info-accented: #0d4462;

    /* Notice colors */
    --notice: #7f22fe;
    --notice-lifted: #7008e7;
    --notice-accented: #5d0ec0;

    /* Warning colors */
    --warning: #f54a00;
    --warning-lifted: #ca3500;
    --warning-accented: #9f2d00;

    /* Error colors */
    --error: #e7000b;
    --error-lifted: #c10007;
    --error-accented: #9f0712;

    /* Grayscale colors */
    --grayscale: var(--primary-600);
    --grayscale-lifted: var(--primary-700);
    --grayscale-accented: var(--primary-800);

    /* Neutral colors */
    --neutral: var(--neutral-500);
    --neutral-lifted: var(--neutral-600);
    --neutral-accented: var(--neutral-700);

    /* Text neutral colors */
    --text-inverted: var(--white);
    --text-muted: var(--neutral-400);
    --text-lifted: #747474;
    --text-accented: var(--neutral-600);
    --text: #333333;

    /* Border neutral colors */
    --border-muted: #e5e5e5;
    --border: var(--neutral-300);
    --border-lifted: var(--neutral-400);
    --border-accented: var(--neutral-600);

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: #f6f6f6;
    --bg-lifted: #ebf4fa;
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--primary-600);

    /* Additional colors */
    --yellow-200: #fff085;
    --yellow-300: #ffdf20;
    --teal-300: #46edd5;
    --teal-400: #00d5be;
    --emerald-300: #5ee9b5;
    --pink-400: #fb64b6;

    /* Additional custom properties */
    /* Font sizes */
    --text-xs: 0.625rem;
    --text-sm: 0.75rem;
    --text-md: 0.875rem;
    --text-lg: 1rem;

    /* Spacing */
    --outline-sm: 1px;
    --outline-md: 2px;
    --outline-lg: 3px;

    /* Rounding */
    --rounding-sm: 0.25rem;
    --rounding-md: 4px;
    --rounding-lg: 6px;

    /* Other */
    --letter-spacing: 0em;
    --disabled-opacity: 25%;
}

/* ---------- Base ---------- */
body { font-family: Arial, Helvetica, sans-serif; color: #333; background: #fff; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: Arial, Helvetica, sans-serif; font-weight: 400; color: #333; }
p { color: #747474; }
a { color: #1878ad; }
a:hover, a:focus { color: #105378; }
#main-body { background: #fff; }

/* ---------- Barra superior ---------- */
.sp-topbar { background: #fff; border-top: 3px solid #1a80b6; border-bottom: 1px solid #e5e5e5; font-size: 13px; font-weight: bold; }
.sp-topbar .container { min-height: 42px; }
.sp-topbar a, .sp-topbar .sp-topbar-btn { color: #747474; font-weight: bold; font-size: 13px; padding: 0; background: none; border: 0; }
.sp-topbar a:hover, .sp-topbar .sp-topbar-btn:hover { color: #1a80b6; text-decoration: none; }
.sp-topbar .fa-lock, .sp-topbar .fa-user { margin-right: 4px; }
.sp-phones a { color: #747474; font-size: 14px; }
.sp-phones i { color: #333; margin-right: 3px; }

/* ---------- Cabecera con el menú de la web ---------- */
.header.sp-header { background: #fff; }
.sp-mainbar { background: #fff; border-bottom: 1px solid #e5e5e5; box-shadow: 0 2px 6px rgba(0,0,0,.06); position: relative; z-index: 20; }
.sp-mainbar .container { min-height: 100px; }
.sp-brand { padding: 0; margin: 0; }
.header .sp-brand .logo-img { max-height: 42px; max-width: 220px; }
.sp-sitenav { list-style: none; margin: 0; padding: 0; align-self: stretch; }
.sp-sitenav > li { position: relative; display: flex; }
.sp-sitenav > li > a { display: flex; align-items: center; padding: 0 12px; color: #333; font-size: 16px; border-top: 3px solid transparent; }
.sp-sitenav > li > a:hover, .sp-sitenav > li.show > a { color: #1a80b6; border-top-color: #1a80b6; text-decoration: none; }
.sp-sitenav .dropdown-toggle::after { content: ""; border: solid currentColor; border-width: 0 1.5px 1.5px 0; width: 7px; height: 7px; transform: rotate(45deg); margin: -4px 0 0 9px; vertical-align: middle; }
.sp-sitenav .dropdown-menu { margin: 0; border: 0; border-top: 3px solid #1a80b6; border-radius: 0; box-shadow: 0 6px 14px rgba(0,0,0,.1); padding: 0; min-width: 240px; }
.sp-sitenav .dropdown-item { font-size: 13px; color: #333; padding: 11px 18px; border-bottom: 1px solid #f2f2f2; white-space: normal; }
.sp-sitenav .dropdown-item:hover { background: #f8f8f8; color: #1a80b6; }
.header .toolbar .nav-link { border-color: #e5e5e5; color: #747474; }
.header .toolbar .nav-link:hover { color: #1a80b6; }
.header .toolbar .badge { background: #1a80b6; color: #fff; }

/* ---------- Barra del área de clientes ---------- */
.header .sp-panelbar { background: #ebf4fa; border-bottom: 1px solid #d6e9f5; }
.header .sp-panelbar .navbar-nav { margin-top: 0; margin-bottom: 0; }
.header .sp-panelbar .navbar-nav a, .header .sp-panelbar .navbar-nav .nav-link { color: #333; font-size: 14px; padding: 12px 10px; }
.header .sp-panelbar .navbar-nav a:hover, .header .sp-panelbar .navbar-nav .active > a { color: #1a80b6; }
.header .sp-panelbar .search { width: 240px; background: #fff; }
.sp-sitenav-mobile { border-top: 1px solid #d6e9f5; margin-top: 8px !important; padding-top: 8px; }
.sp-sitenav-title { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #747474; padding: 6px 10px; }

/* ---------- Migas de pan (como la barra de título de la web) ---------- */
.master-breadcrumb { background: #f6f6f6; border-bottom: 1px solid #e5e5e5; }
.master-breadcrumb .breadcrumb { background: transparent; font-size: 13px; }
.master-breadcrumb a { color: #747474; }

/* ---------- Botones como los de la web ---------- */
.btn-primary, .btn-primary:not(:disabled):not(.disabled):active { background: #1878ad; border-color: #1878ad; color: #fff; }
.btn-primary:hover, .btn-primary:focus { background: #105378; border-color: #105378; color: #fff; }
.btn-default, .btn-outline-primary { color: #1878ad; border-color: #1878ad; background: #fff; }
.btn-default:hover, .btn-default:focus, .btn-outline-primary:hover { color: #fff; background: #1878ad; border-color: #1878ad; }
.btn { font-weight: bold; }
.btn-link { font-weight: normal; }

/* ---------- Cajas en azul claro, como los bloques de servicios de la web ---------- */
.card, .tile { border: 0; border-radius: 4px; }
#main-body .tile { background: #ebf4fa; }
#main-body .tile:hover { background: #d6e9f5; }
#main-body .tile i, #main-body .tile .icon { color: #1a80b6; }
.form-control:focus { border-color: #1a80b6; box-shadow: 0 0 0 .15rem rgba(26,128,182,.2); }

/* ---------- Pie como el de la web ---------- */
.footer.sp-footer { background: #363839; color: #a6a6a6; padding: 50px 0 0; margin-top: 50px; font-size: 13px; }
.sp-footer p { color: #a6a6a6; font-size: 13px; line-height: 1.6; }
.sp-footer-title { font-family: "PT Sans", Arial, Helvetica, sans-serif; font-size: 13px; text-transform: uppercase; color: #ddd; margin-bottom: 16px; letter-spacing: .02em; }
.sp-footer-links { list-style: none; padding: 0; margin: 0; }
.sp-footer-links li { border-bottom: 1px solid #505152; padding: 9px 0; }
.sp-footer-links li:first-child { padding-top: 0; }
.sp-footer-links a { color: #bfbfbf; }
.sp-footer-links a::before { content: "\203A"; margin-right: 8px; }
.sp-footer-links a:hover { color: #1a80b6; text-decoration: none; }
.sp-copyright { background: #282a2b; border-top: 1px solid #4b4c4d; color: #a6a6a6; padding: 16px 0; font-size: 12px; margin-top: 20px; }
.sp-social { color: #a6a6a6; font-size: 16px; margin-left: 14px; }
.sp-social:hover { color: #fff; }

/* Botones con borde en azul (Nexus los define con más especificidad) y sin verdes: la web solo usa azul */
#main-body .btn-default, #main-body .btn-outline-primary, .domain-checker-container .btn-default { color: #1878ad; border-color: #1878ad; }
#main-body .btn-default:hover, #main-body .btn-default:focus { color: #fff; background: #1878ad; }
.btn-success, .btn-success:not(:disabled):not(.disabled):active { background: #1878ad; border-color: #1878ad; color: #fff; }
.btn-success:hover, .btn-success:focus { background: #105378; border-color: #105378; color: #fff; }

/* Texto atenuado legible (gris de la web) */
.text-muted, #main-body small.text-muted, .kb-article-item p, .list-group-item .text-muted { color: #747474 !important; }

/* Botón «Área de clientes» al final del menú (igual que en www.seoposicion.es) */
.sp-sitenav > li.sp-area-clientes { align-items: center; padding-left: 14px; }
.sp-sitenav > li.sp-area-clientes > a {
    background: #1878ad; color: #fff; padding: 9px 18px; border-radius: 4px; font-weight: bold; font-size: 14px; line-height: 1.2;
    border-top: 0; align-self: center; transition: background-color .2s ease;
}
.sp-sitenav > li.sp-area-clientes > a:hover, .sp-sitenav > li.sp-area-clientes > a:focus { background: #105378; color: #fff; border-top: 0; }
.header .sp-panelbar .sp-area-clientes-movil a { background: #1878ad; color: #fff; font-weight: bold; text-align: center; border-radius: 4px; margin: 6px 0; }
/* Que el menú con el botón quepa en una línea junto al carrito */
.sp-sitenav > li > a { white-space: nowrap; padding: 0 10px; }
.sp-sitenav > li.sp-area-clientes > a { padding: 9px 18px; }
.header .sp-brand .logo-img { max-height: 38px; max-width: 200px; }
.sp-sitenav > li > a { font-size: 15px; padding: 0 8px; }
.sp-sitenav > li.sp-area-clientes { padding-left: 8px; }
.sp-sitenav > li.sp-area-clientes > a { padding: 9px 16px; }
@media (max-width: 1299px) {
    .sp-sitenav > li > a { font-size: 14px; padding: 0 6px; }
    .header .sp-brand .logo-img { max-width: 175px; }
}

.sp-topbar .fa-map-marker-alt { margin-right: 4px; }

/* ---------- Barra del área de clientes: franja azul de marca bajo la cabecera ---------- */
.header .sp-panelbar { background: #1a80b6; border-bottom: 0; }
.header .sp-panelbar .container { align-items: stretch; }
.sp-panelbar-title {
    align-items: center; color: #fff; font-size: 12px; font-weight: bold; text-transform: uppercase; letter-spacing: .06em;
    padding: 0 18px 0 0; margin-right: 8px; border-right: 1px solid rgba(255,255,255,.35); white-space: nowrap;
}
.header .sp-panelbar .navbar-nav { gap: 0; align-items: stretch; }
.header .sp-panelbar .navbar-nav > li > a,
.header .sp-panelbar .navbar-nav > li > .nav-link {
    color: #fff; font-size: 14px; padding: 13px 14px; display: block; border-bottom: 3px solid transparent; white-space: nowrap;
}
.header .sp-panelbar .navbar-nav > li > a:hover,
.header .sp-panelbar .navbar-nav > li.show > a,
.header .sp-panelbar .navbar-nav > li.active > a { color: #fff; border-bottom-color: #fff; background: rgba(255,255,255,.08); text-decoration: none; }
.header .sp-panelbar .dropdown-toggle::after { border-top-color: #fff; }
.header .sp-panelbar .dropdown-menu { margin-top: 0; border: 0; border-top: 3px solid #105378; border-radius: 0 0 4px 4px; box-shadow: 0 6px 14px rgba(0,0,0,.12); }
.header .sp-panelbar .dropdown-menu a { color: #333 !important; font-size: 13px; border-bottom: 0 !important; padding: 8px 16px !important; background: none; }
.header .sp-panelbar .dropdown-menu a:hover { color: #1a80b6 !important; background: #f4f8fb; }
/* Móvil: el desplegable hereda la franja azul */
.header .sp-panelbar .navbar-collapse.show, .header .sp-panelbar .navbar-collapse.collapsing { padding-bottom: 10px; }
.header .sp-panelbar .sp-sitenav-mobile { border-top-color: rgba(255,255,255,.3); }
.header .sp-panelbar .sp-sitenav-title { color: rgba(255,255,255,.75); }
.header .sp-panelbar .search { background: #fff; }
/* Migas de pan sin franja propia, sobre el fondo de la página */
.master-breadcrumb { background: transparent; border-bottom: 0; }
.master-breadcrumb .breadcrumb { padding-top: 14px; padding-bottom: 0; margin-bottom: 0; }
/* Ajuste: Nexus mete opciones en «Más» si #nav mide 30 px o más de alto (autoCollapse('#nav', 30)).
   El alto de la franja lo da el contenedor; los enlaces se quedan en ~28 px. */
.header .sp-panelbar .container { padding-top: 9px; padding-bottom: 9px; align-items: center; }
.header .sp-panelbar #nav { gap: 4px; }
.header .sp-panelbar .navbar-nav > li > a,
.header .sp-panelbar .navbar-nav > li > .nav-link { padding: 4px 12px; line-height: 20px; border-bottom: 0; border-radius: 4px; }
.header .sp-panelbar .navbar-nav > li > a:hover,
.header .sp-panelbar .navbar-nav > li.show > a,
.header .sp-panelbar .navbar-nav > li.active > a { border-bottom: 0; background: rgba(255,255,255,.18); }
.sp-panelbar-title { align-self: center; line-height: 20px; }
.header .sp-panelbar .dropdown-menu { margin-top: 9px; }
/* Móvil: sin franja vacía con el menú plegado; al abrirlo, con aire */
@media (max-width: 1199px) {
    .header .sp-panelbar .container { padding-top: 0; padding-bottom: 0; }
    .header .sp-panelbar .navbar-collapse.show, .header .sp-panelbar .navbar-collapse.collapsing { padding: 10px 0; }
}

/* ===== Área de clientes con sesión iniciada (revisión 22-oct) ===== */
/* Sitejet Builder no se ofrece: fuera su acción en servicios y portada */
[data-identifier="sitejet"] { display: none !important; }
/* Aviso de verificación del email: botón de la marca y sin cortar el texto */
.verification-banner { background: #f6f6f6; border-bottom: 1px solid #e5e5e5; }
.verification-banner .btn-resend-verify-email { background: #fff; color: #1878ad; border: 1px solid #1878ad; white-space: normal; font-weight: bold; }
.verification-banner .btn-resend-verify-email:hover { background: #1878ad; color: #fff; }
/* Código (p. ej. referencia del mandato SEPA) sin el rosa de Bootstrap */
code { color: #333; background: #f4f8fb; padding: 2px 6px; border-radius: 3px; }
/* Factura: cabecera del libro mayor en el azul de la marca y tabla desplazable en móvil */
.transactions-container, .invoice-container .table-responsive { overflow-x: auto; }
.card-title.bg-info, .bg-info { background-color: #1a80b6 !important; }
/* Portada: caja «Registrar un nuevo dominio» con el campo a todo el ancho */
#registerDomainPanel .input-group { flex-wrap: nowrap; }
#registerDomainPanel .input-group > .form-control { min-width: 0; flex: 1 1 auto; }
#registerDomainPanel .input-group-append .btn { white-space: nowrap; }
/* Números de factura sin partirse */
#tableInvoicesList td:first-child { white-space: nowrap; }
/* Móvil */
.sp-phones a { white-space: nowrap; }
@media (max-width: 767px) {
    .sp-topbar .sp-cliente, .sp-topbar .sp-cambiar-cuenta { display: none; }
    .sp-topbar .container { min-height: 38px; }
}
@media (max-width: 575px) {
    /* Facturas: fuera «Fecha de la factura» y «Saldo» para que quepan número, vencimiento, total y estado */
    #tableInvoicesList th:nth-child(2), #tableInvoicesList td:nth-child(2),
    #tableInvoicesList th:nth-child(5), #tableInvoicesList td:nth-child(5) { display: none; }
    #tableInvoicesList td, #tableInvoicesList th { font-size: 13px; padding-left: 6px; padding-right: 6px; }
    .table-container { overflow-x: auto; }
    #registerDomainPanel .input-group { flex-wrap: wrap; }
    #registerDomainPanel .input-group > .form-control { flex-basis: 100%; margin-bottom: 8px; border-radius: 4px !important; }
    #registerDomainPanel .input-group-append { width: 100%; }
    #registerDomainPanel .input-group-append .btn { flex: 1; }
}
/* Ajustes (2ª pasada) */
.verification-banner .btn.btn-resend-verify-email { background: #fff !important; color: #1878ad !important; border: 1px solid #1878ad !important; }
.verification-banner .btn.btn-resend-verify-email:hover { background: #1878ad !important; color: #fff !important; }
#registerDomainPanel .input-group-append .btn { font-size: 14px; padding: 6px 14px; line-height: 1.5; }
#registerDomainPanel .input-group > .form-control { height: auto; }
.transactions-container table { font-size: 13px; }
.transactions-container td, .transactions-container th { word-break: break-word; }
@media (max-width: 575px) {
    /* Facturas en móvil: número, total y estado */
    #tableInvoicesList th:nth-child(3), #tableInvoicesList td:nth-child(3) { display: none; }
    #tableInvoicesList td:first-child { white-space: normal; word-break: break-word; }
    /* Servicios de la portada sin cortar nombre ni estado */
    #servicesPanel .div-service-name span, #servicesPanel .div-service-status .label { white-space: normal; overflow: visible; text-overflow: clip; max-width: none; }
    .transactions-container table { font-size: 12px; }
}
@media (max-width: 575px) {
    #servicesPanel .div-service-status .label { white-space: nowrap; }
    .transactions-container th { word-break: normal; font-size: 11px; }
}
