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

    ** 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: var(--neutral-50);
    --primary-100: var(--neutral-100);
    --primary-200: var(--neutral-200);
    --primary-300: var(--neutral-300);
    --primary-400: var(--neutral-400);
    --primary-500: var(--neutral-500);
    --primary-600: var(--neutral-600);
    --primary-700: var(--neutral-700);
    --primary-800: var(--neutral-800);
    --primary-900: var(--neutral-900);
    --primary-950: var(--neutral-900);

    /* Primary colors */
    /* Use shades from comments if `primary` colors use other colors, then neutral */
    --primary: var(--neutral-900);          /* var(--primary-600) */
    --primary-lifted: var(--neutral-800);   /* var(--primary-700) */
    --primary-accented: var(--neutral-700); /* 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: #155dfc;
    --info-lifted: #1447e6;
    --info-accented: #193cb8;

    /* 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(--neutral-900);
    --grayscale-lifted: var(--neutral-800);
    --grayscale-accented: var(--neutral-700);

    /* 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: var(--neutral-500);
    --text-accented: var(--neutral-600);
    --text: var(--neutral-900);

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

    /* Background neutral colors */
    --bg: var(--white);
    --bg-muted: var(--neutral-50);
    --bg-lifted: var(--neutral-100);
    --bg-accented: var(--neutral-200);
    --bg-inverted: var(--neutral-900);

    /* 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: 0.5rem;
    --rounding-lg: 0.75rem;

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

/* \\\\\\\\ INTEGTRA ///////// */

.logo {
    display: inline-block;
}
img.logo {
    filter: brightness(0) invert(1);
    max-height: 50px;
    width: auto;
}

  .footer {
    background-color: #0d1b2a; /* Deep corporate blue */
    padding: 60px 0 40px 0;
    color: #f8fafc;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
  }
  .footer .container {
    padding: 0 15px;
  }
  .footer-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
    color: #1a73e8; /* Accent color */
  }
  .footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .footer ul li {
    margin-bottom: 12px;
  }
  .footer ul li a {
    color: #A4A4A4;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
  }
  .footer ul li a:hover {
    color: #fff;
    padding-left: 5px;
  }
  .footer .col-md-2 ul li a i {
    width: 24px;
    font-size: 16px;
    margin-right: 10px;
    color: #1a73e8; /* Accent color for icons */
    text-align: center;
  }
  
  .footer ul li a:hover i {
    color: #fff;
  }
  .footer .flogo {
    margin-bottom: 20px;
    display: block;
  }
  .footer .col-md-4 p {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.6;
  }

/* =========================================
   INTEGRA - TABLAS DE PRECIOS WHMCS
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap');

.integra-pricing-wrapper {
  /* Paleta INTEGRA */
  --primary-dark: #0D2F6D;
  --primary-light: #4F86E8;

  /* Colores base y de estructura */
  --bg-color: transparent;
  /* Transparente para adaptarse al fondo de WHMCS */
  --card-bg-internal: var(--card-bg);
  --text-main-internal: var(--text-headings);
  --text-muted-internal: var(--text-main);
  --border-color-internal: var(--border-color);

  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--text-main-internal);
  padding: 40px 15px;
  box-sizing: border-box;
  width: 100%;
}

.integra-pricing-wrapper * {
  box-sizing: border-box;
}

/* Contenedor del Logo */
.integra-pricing-wrapper .logo-container {
  margin: 0 auto 50px auto;
  width: 100%;
  max-width: 450px;
  text-align: center;
}

.integra-pricing-wrapper .pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.integra-pricing-wrapper .plan-card {
  background-color: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(26, 115, 232, 0.1);
  border-radius: 16px;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
  box-shadow: 0 4px 15px rgba(13, 47, 109, 0.05);
  backdrop-filter: blur(5px);
}

[data-theme='light'] .integra-pricing-wrapper .plan-card {
  background-color: #fff;
  border: 1px solid var(--border-color);
}

.integra-pricing-wrapper .plan-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(13, 47, 109, 0.1);
}

.integra-pricing-wrapper .plan-card.featured {
  border: 2px solid var(--primary-light);
  box-shadow: 0 10px 30px rgba(79, 134, 232, 0.15);
  position: relative;
}

/* Icono Superior */
.integra-pricing-wrapper .icon-badge {
  width: 48px;
  height: 48px;
  background-color: rgba(79, 134, 232, 0.1);
  color: var(--primary-light);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.integra-pricing-wrapper .featured .icon-badge {
  background-color: var(--primary-light);
  color: #ffffff;
}

/* TipografÃ­a aislada de Bootstrap */
.integra-pricing-wrapper .plan-title {
  font-size: 24px;
  margin: 0 0 16px 0;
  font-weight: 700;
  color: var(--text-main-internal);
  line-height: 1.2;
}

.integra-pricing-wrapper .plan-desc {
  color: var(--text-muted-internal);
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
  min-height: 42px;
}

.integra-pricing-wrapper .price-label {
  color: var(--text-muted-internal);
  font-size: 13px;
  margin-bottom: 8px;
  font-weight: 500;
}

.integra-pricing-wrapper .price-row {
  display: flex;
  align-items: baseline;
  margin-bottom: 32px;
  color: var(--text-main-internal);
}

.integra-pricing-wrapper .price-symbol {
  font-size: 18px;
  margin-right: 4px;
  font-weight: 700;
}

.integra-pricing-wrapper .price-amount {
  font-size: 36px;
  font-weight: 800;
  line-height: 1;
}

.integra-pricing-wrapper .price-period {
  color: var(--text-muted-internal);
  font-size: 14px;
  margin-left: 4px;
}

/* BotÃ³n de orden aislado */
.integra-pricing-wrapper .plan-btn {
  background-color: var(--primary-light);
  color: #ffffff !important;
  border: none;
  border-radius: 8px;
  padding: 14px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  width: 100%;
  margin-bottom: 40px;
  transition: all 0.2s;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}

.integra-pricing-wrapper .plan-btn:hover {
  background-color: var(--primary-dark);
  text-decoration: none;
}

.integra-pricing-wrapper .featured .plan-btn {
  background-color: var(--primary-dark);
}

.integra-pricing-wrapper .featured .plan-btn:hover {
  background-color: var(--primary-light);
}

/* Lista de CaracterÃ­sticas */
.integra-pricing-wrapper .features-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--text-main-internal);
}

.integra-pricing-wrapper .features-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.integra-pricing-wrapper .feature-item {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  font-size: 14px;
  color: var(--text-muted-internal);
  font-weight: 500;
}

/* Theme Switcher Toggle */
.theme-switch-wrapper {
  display: flex;
  align-items: center;
  padding: 0 15px;
}

#theme-toggle {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  transition: all 0.3s ease;
}

#theme-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #1a73e8;
}

#theme-toggle .fa-sun { display: none; }
#theme-toggle .fa-moon { display: flex; }

[data-theme='dark'] #theme-toggle .fa-sun { display: flex; }
[data-theme='dark'] #theme-toggle .fa-moon { display: none; }

.integra-pricing-wrapper .check-icon {
  width: 20px;
  height: 20px;
  background-color: rgba(79, 134, 232, 0.15);
  border-radius: 50%;
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.integra-pricing-wrapper .check-icon::after {
  content: '';
  width: 5px;
  height: 9px;
  border-right: 2px solid var(--primary-light);
  border-bottom: 2px solid var(--primary-light);
  transform: rotate(45deg);
  margin-bottom: 2px;
}

/* Custom Flags */
.iti-flag.cat {
    background-image: url('../images/flags/catalan.svg') !important;
    background-position: center !important;
    background-size: cover !important;
}
.iti-flag.val {
    background-image: url('../images/flags/valencian.svg') !important;
    background-position: left center !important; /* Left center works best for the Valencian crown band */
    background-size: cover !important;
}

/* Custom Modern Modal Background for Localization */
.modal-localisation .modal-content {
    background-color: #004aad !important;
    background-image: url('../images/modern-bg.svg') !important;
    background-size: cover !important;
    background-position: bottom center !important;
    background-repeat: no-repeat !important;
    border-radius: 12px;
    border: none;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
    color: #ffffff; /* Ensure text is white */
}

.modal-localisation .modal-content h5,
.modal-localisation .modal-content p,
.modal-localisation .modal-content .close {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.modal-localisation .modal-body {
    background: transparent !important;
}

.modal-localisation .modal-footer {
    background: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.modal-localisation .item-selector .item {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff !important;
    border-radius: 8px;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
    margin-bottom: 10px;
}

.modal-localisation .item-selector .item:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

.modal-localisation .item-selector .item.active {
    background: rgba(255, 255, 255, 0.35);
    border-color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
}

/* Fix Dropdown Text Color in Navbar Dark */
.navbar-dark .dropdown-menu {
    background-color: #ffffff !important;
}
.navbar-dark .dropdown-menu .dropdown-item,
.navbar-dark .dropdown-menu a {
    color: #333333 !important;
}
.navbar-dark .dropdown-menu .dropdown-item:hover,
.navbar-dark .dropdown-menu .dropdown-item:focus,
.navbar-dark .dropdown-menu a:hover,
.navbar-dark .dropdown-menu a:focus {
    color: #004aad !important;
    background-color: #f8f9fa !important;
}
.navbar-dark .dropdown-menu .dropdown-divider {
    border-top-color: #e9ecef !important;
}