diff --git a/wp-content/themes/apus-theme/assets/css/custom-style.css b/wp-content/themes/apus-theme/assets/css/custom-style.css index d30e2027..f4d4fb60 100644 --- a/wp-content/themes/apus-theme/assets/css/custom-style.css +++ b/wp-content/themes/apus-theme/assets/css/custom-style.css @@ -1,61 +1,128 @@ -/** - * Custom Styles - APUS Theme - * - * Estilos personalizados según el template del cliente. - * Incluye: Navbar sticky, animaciones, y componentes específicos. - * - * @package Apus_Theme - * @since 1.0.0 - */ +/* ======================================== + APU MÉXICO - OPTIMIZED COLOR PALETTE + ======================================== -/* ========================================================================== - NAVBAR - Colores RDash (Issue #41) - ========================================================================== */ + PRIMARY COLORS (Navy Brand): + - Navy Dark: #0E2337 + - Navy Primary: #1e3a5f + - Navy Light: #2c5282 -/* Navbar background - Azul Navy Oscuro */ + ACCENT COLORS (Orange Action): + - Orange Primary: #FF8600 + - Orange Hover: #FF6B35 + - Orange Light: #FFB800 + + NEUTRAL COLORS: + - White: #ffffff + - Neutral 50: #f8f9fa + - Neutral 100: #e9ecef + - Neutral 600: #495057 + - Neutral 700: #6c757d +======================================== */ + +/* ======================================== + GLOBAL STYLES +======================================== */ + +:root { + --color-navy-dark: #0E2337; + --color-navy-primary: #1e3a5f; + --color-navy-light: #2c5282; + --color-orange-primary: #FF8600; + --color-orange-hover: #FF6B35; + --color-orange-light: #FFB800; + --color-neutral-50: #f8f9fa; + --color-neutral-100: #e9ecef; + --color-neutral-600: #495057; + --color-neutral-700: #6c757d; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Poppins', sans-serif; + color: var(--color-neutral-600); + background-color: var(--color-neutral-50); + line-height: 1.6; +} + +/* ======================================== + TOP NOTIFICATION BAR +======================================== */ + +.top-notification-bar { + background-color: var(--color-navy-dark); + color: #ffffff; + padding: 0.5rem 0; + font-size: 0.9rem; + text-align: center; +} + +.top-notification-bar strong { + color: var(--color-orange-primary); +} + +.top-notification-bar i { + color: var(--color-orange-primary); +} + +.top-notification-bar a { + color: #ffffff; + transition: color 0.3s ease; +} + +.top-notification-bar a:hover { + color: var(--color-orange-primary); +} + +/* ======================================== + NAVBAR +======================================== */ + +/* + * NAVBAR CSS MOVIDO A: assets/css/style.css (líneas 687-764) + * Comentado para evitar duplicación según Issue #100 + * .navbar { position: sticky; top: 0; z-index: 1030; - background-color: #0E2337 !important; - border-bottom: 1px solid rgba(97, 199, 205, 0.1); + background-color: var(--color-navy-primary) !important; + box-shadow: 0 4px 12px rgba(30, 58, 95, 0.15); + padding: 0.75rem 0; transition: all 0.3s ease; } -/* Sticky navbar - mantiene mismo color */ -.navbar.scrolled, -.navbar.navbar-sticky { - background-color: #0E2337 !important; - box-shadow: 0 2px 8px rgba(14, 35, 55, 0.4); +.navbar.scrolled { + box-shadow: 0 6px 20px rgba(30, 58, 95, 0.25); } -/* Nav links - color blanco */ -.navbar-nav .nav-link { - position: relative; +.navbar-brand { color: #ffffff !important; - transition: all 0.3s ease; - padding: 0.5rem 1rem !important; + font-weight: 700; + font-size: 1.5rem; + transition: color 0.3s ease; +} + +.navbar-brand:hover { + color: var(--color-orange-primary) !important; +} + +.nav-link { + color: rgba(255, 255, 255, 0.9) !important; font-weight: 500; + position: relative; + padding: 0.5rem 0.65rem !important; + transition: all 0.3s ease; + font-size: 0.9rem; + white-space: nowrap; } -/* Hover y focus - turquesa */ -.navbar-nav .nav-link:hover, -.navbar-nav .nav-link:focus { - color: #61c7cd !important; - background-color: rgba(97, 199, 205, 0.1); - border-radius: 4px; - transform: translateY(-2px); -} - -/* Active state - turquesa */ -.navbar-nav .nav-link.active, -.navbar-nav .nav-item.current-menu-item > .nav-link { - color: #61c7cd !important; - font-weight: 600; -} - -/* Underline animation - turquesa */ -.navbar-nav .nav-link::after { +.nav-link::after { content: ''; position: absolute; bottom: 0; @@ -63,253 +130,997 @@ transform: translateX(-50%) scaleX(0); width: 80%; height: 2px; - background: linear-gradient(90deg, #61c7cd 0%, #4db8c4 100%); + background: var(--color-orange-primary); transition: transform 0.3s ease; } -.navbar-nav .nav-link:hover::after, -.navbar-nav .nav-link.active::after, -.navbar-nav .nav-item.current-menu-item > .nav-link::after { - transform: translateX(-50%) scaleX(1); -} - -/* Dropdown menus - fondo oscuro */ -.dropdown-menu { - background-color: #0E2337; - border: 1px solid rgba(97, 199, 205, 0.2); - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); - border-radius: 8px; - animation: slideDown 0.3s ease; - margin-top: 0.5rem; -} - -@keyframes slideDown { - from { - opacity: 0; - transform: translateY(-10px); - } - to { - opacity: 1; - transform: translateY(0); - } -} - -.dropdown-item { - color: #ffffff; - padding: 0.75rem 1.5rem; - transition: all 0.3s ease; - font-weight: 400; -} - -.dropdown-item:hover, -.dropdown-item:focus { - background-color: rgba(97, 199, 205, 0.1); - color: #61c7cd; - transform: translateX(5px); -} - -.dropdown-item.active { - background-color: rgba(97, 199, 205, 0.15); - color: #61c7cd; -} - -/* Navbar Brand - contraste en blanco */ -.navbar-brand { - font-weight: 700; - font-size: 1.5rem; - color: #ffffff; - transition: all 0.3s ease; -} - -.navbar-brand:hover { - color: #61c7cd; - transform: scale(1.05); -} - -/* Logo - ajuste de brillo para mejor contraste */ -.navbar-brand img { - filter: brightness(1.2); - transition: filter 0.3s ease; -} - -.navbar-brand:hover img { - filter: brightness(1.3); -} - -/* Hamburger icon - visible en blanco */ -.navbar-toggler { - border-color: rgba(255, 255, 255, 0.5); - padding: 0.5rem 0.75rem; - transition: all 0.3s ease; -} - -.navbar-toggler:hover { - border-color: #61c7cd; - background-color: rgba(97, 199, 205, 0.1); -} - -.navbar-toggler:focus { - box-shadow: 0 0 0 0.25rem rgba(97, 199, 205, 0.25); -} - -.navbar-toggler-icon { - filter: invert(1); /* Convierte el icono a blanco */ -} - -/* Search form en navbar (si existe) */ -.navbar .search-form input { - background-color: rgba(255, 255, 255, 0.1); - border-color: rgba(255, 255, 255, 0.3); - color: #ffffff; -} - -.navbar .search-form input::placeholder { - color: rgba(255, 255, 255, 0.6); -} - -.navbar .search-form input:focus { - background-color: rgba(255, 255, 255, 0.15); - border-color: #61c7cd; -} - -/* Mobile menu - fondo oscuro */ -@media (max-width: 991px) { - .navbar-collapse { - background-color: #0E2337; - padding: 1rem; - margin-top: 0.5rem; - border-radius: 8px; - border: 1px solid rgba(97, 199, 205, 0.2); - } - - .nav-link { - padding: 0.75rem 1rem !important; - } - - .nav-link::after { - display: none; - } - - .dropdown-menu { - border: none; - box-shadow: none; - animation: none; - background-color: rgba(97, 199, 205, 0.05); - margin-left: 1rem; - padding: 0.5rem 0; - } - - .dropdown-item { - padding: 0.5rem 1rem; - } - - .dropdown-item:hover { - transform: none; - } -} - -/* ============================================ - SKIP LINK (Accesibilidad) - ============================================ */ - -.skip-link.screen-reader-text { - position: absolute; - left: -9999px; - top: 2.5em; - z-index: 100000; - padding: 1em 1.5em; - background-color: #0d6efd; - color: #fff; - text-decoration: none; - font-size: 0.875rem; - font-weight: 600; +.nav-link:hover { + color: var(--color-orange-primary) !important; + background-color: rgba(255, 133, 0, 0.1); border-radius: 4px; } -.skip-link.screen-reader-text:focus { - left: 6px; - outline: 3px solid rgba(13, 110, 253, 0.5); - outline-offset: 2px; +.nav-link:hover::after { + transform: translateX(-50%) scaleX(1); } -/* ============================================ - SITE CONTENT SPACING - ============================================ */ +.dropdown-menu { + background: #ffffff; + border: none; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); + border-radius: 8px; + padding: 0.5rem 0; +} -.site-content { +.dropdown-item { + color: var(--color-neutral-600); + padding: 0.625rem 1.25rem; + transition: all 0.3s ease; + font-weight: 500; +} + +.dropdown-item:hover { + background-color: rgba(255, 133, 0, 0.1); + color: var(--color-orange-primary); +} +*/ + +.btn-lets-talk { + background-color: var(--color-orange-primary); + color: #ffffff; + font-weight: 600; + padding: 0.5rem 1.5rem; + border: none; + border-radius: 6px; + transition: all 0.3s ease; +} + +.btn-lets-talk:hover { + background-color: var(--color-orange-hover); + color: #ffffff; +} + +.btn-lets-talk i { + color: #ffffff; +} + +/* ======================================== + HERO SECTION +======================================== */ + +.hero-title { + background: linear-gradient(135deg, var(--color-navy-primary) 0%, var(--color-navy-light) 100%); + box-shadow: 0 4px 16px rgba(30, 58, 95, 0.25); + padding: 3rem 0; +} + +.hero-title h1 { + color: #ffffff !important; + font-weight: 700; + line-height: 1.4; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); + margin-bottom: 0; +} + +.category-badge { + background: rgba(255, 255, 255, 0.15); + backdrop-filter: blur(10px); + border: 1px solid rgba(255, 255, 255, 0.2); + color: rgba(255, 255, 255, 0.95); + padding: 0.375rem 0.875rem; + border-radius: 20px; + font-size: 0.813rem; + font-weight: 500; + text-decoration: none; + display: inline-block; + transition: all 0.3s ease; +} + +.category-badge:hover { + background: rgba(255, 133, 0, 0.2); + border-color: rgba(255, 133, 0, 0.4); + color: #ffffff; +} + +.category-badge i { + color: var(--color-orange-light); +} + +/* ======================================== + FEATURED IMAGE +======================================== */ + +.featured-image-container { + border-radius: 12px; + overflow: hidden; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); + margin: 2rem 0; +} + +.featured-image-container img { + width: 100%; + height: auto; + display: block; +} + +/* ======================================== + POST CONTENT +======================================== */ + +.post-content { + background: #ffffff; + padding: 2rem; + border-radius: 12px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); +} + +.post-content h2 { + color: var(--color-navy-primary); + font-weight: 700; + margin-top: 2.5rem; + margin-bottom: 1.25rem; + padding-bottom: 0.75rem; + border-bottom: 3px solid var(--color-orange-primary); +} + +.post-content h3 { + color: var(--color-navy-light); + font-weight: 600; margin-top: 2rem; + margin-bottom: 1rem; +} + +.post-content p { + color: var(--color-neutral-600); + line-height: 1.8; + margin-bottom: 1.25rem; +} + +.post-content ul, +.post-content ol { + margin-bottom: 1.5rem; + padding-left: 2rem; +} + +.post-content li { + margin-bottom: 0.5rem; + color: var(--color-neutral-600); +} + +.post-content strong { + color: var(--color-navy-primary); + font-weight: 600; +} + +.post-content a { + color: var(--color-orange-primary); + text-decoration: underline; + transition: color 0.3s ease; +} + +.post-content a:hover { + color: var(--color-orange-hover); +} + +/* ======================================== + PRICING TABLES (APU) +======================================== */ + +.analisis { + margin: 2rem 0; + overflow-x: auto; +} + +.analisis table { + width: 100%; + border-collapse: collapse; + background: #ffffff; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); + border-radius: 8px; + overflow: hidden; + border: none; + border-spacing: 0; +} + +.analisis table td, +.analisis table tbody, +.analisis table tr { + border: none !important; +} + +.analisis table td:nth-child(1) { width: 150px; } +.analisis table td:nth-child(2) { width: auto; min-width: 300px; } +.analisis table td:nth-child(3) { width: 80px; } +.analisis table td:nth-child(4) { width: 110px; } +.analisis table td:nth-child(5) { width: 120px; } +.analisis table td:nth-child(6) { width: 120px; } + +.analisis table thead tr th { + background: linear-gradient(135deg, var(--color-navy-primary) 0%, var(--color-navy-light) 100%); + color: #ffffff; + font-weight: 600; + text-align: center !important; + padding: 1rem; + border: none !important; +} + +.analisis table tbody td { + padding: 0.75rem 1rem; + border: none !important; + color: var(--color-neutral-600); +} + +.analisis table tbody tr:nth-child(even):not(.section-header):not(.subtotal-row):not(.total-row) { + background-color: var(--color-neutral-50); +} + +.analisis table tbody tr:nth-child(odd):not(.section-header):not(.subtotal-row):not(.total-row) { + background-color: #ffffff; +} + +.analisis table td:nth-child(1), +.analisis table td:nth-child(2) { + text-align: left; +} + +.analisis table td:nth-child(3), +.analisis table td.c3 { + text-align: center !important; + color: var(--color-neutral-700); +} + +.analisis table td:nth-child(4), +.analisis table td.c4, +.analisis table td:nth-child(5), +.analisis table td.c5, +.analisis table td:nth-child(6), +.analisis table td.c6 { + text-align: right !important; + font-family: 'Courier New', monospace; + font-weight: 500; + color: var(--color-navy-primary); +} + +.analisis table tr.section-header { + background-color: var(--color-neutral-100) !important; +} + +.analisis table tr.section-header td { + font-weight: 600; + color: var(--color-navy-primary); + padding: 0.75rem 1rem; + border: none !important; +} + +.analisis table tr.subtotal-row { + background-color: rgba(255, 133, 0, 0.1) !important; +} + +.analisis table tr.subtotal-row td { + font-weight: 700; + color: var(--color-orange-primary); + padding: 0.875rem 1rem; + border: none !important; +} + +.analisis table tr.subtotal-row td.c6 { + font-size: 1.05rem; + color: var(--color-orange-primary); +} + +.analisis table tr.total-row { + background: linear-gradient(135deg, var(--color-navy-primary) 0%, var(--color-navy-light) 100%) !important; +} + +.analisis table tr.total-row td { + color: #ffffff !important; + font-weight: 700; + font-size: 1.1rem; + padding: 1.125rem 1rem !important; + border: none !important; +} + +.analisis table tr.total-row td.c6 { + font-size: 1.25rem; + letter-spacing: 0.5px; + color: #ffffff !important; +} + +/* ======================================== + GENERIC TABLES - 10 DIFFERENT STYLES +======================================== */ + +/* Base styles for all generic tables */ +.post-content table:not(.analisis table) { + width: 100%; + border-collapse: collapse; + margin: 2rem auto; + font-size: 0.95rem; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + border-radius: 8px; + overflow: hidden; +} + +/* Header styles - VERY OBVIOUS */ +.post-content table:not(.analisis table) thead tr:first-child th, +.post-content table:not(.analisis table) tbody tr:first-child td, +.post-content table:not(.analisis table) tr:first-child td { + font-weight: 700; + text-align: center; + padding: 1.25rem 1rem; + font-size: 1.05rem; + letter-spacing: 0.5px; +} + +/* Body cells */ +.post-content table:not(.analisis table) tbody tr:not(:first-child) td { + padding: 0.875rem 1rem; + border: 1px solid var(--color-neutral-100); + text-align: left; +} + +/* STYLE 1: Navy Header with Orange Accent */ +.post-content table:not(.analisis table):nth-of-type(2) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(2) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(2) tr:first-child td { + background: linear-gradient(135deg, var(--color-navy-primary) 0%, var(--color-navy-light) 100%); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 8px rgba(30, 58, 95, 0.3); +} + +.post-content table:not(.analisis table):nth-of-type(2) tbody tr:nth-child(even) { + background-color: var(--color-neutral-50); +} + +.post-content table:not(.analisis table):nth-of-type(2) tbody tr:hover { + background-color: rgba(255, 133, 0, 0.05); +} + +/* STYLE 2: Orange Header with Light Background */ +.post-content table:not(.analisis table):nth-of-type(3) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(3) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(3) tr:first-child td { + background: var(--color-orange-primary); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 8px rgba(255, 133, 0, 0.3); +} + +.post-content table:not(.analisis table):nth-of-type(3) tbody tr:nth-child(odd) { + background-color: rgba(255, 133, 0, 0.05); +} + +.post-content table:not(.analisis table):nth-of-type(3) tbody tr:hover { + background-color: rgba(255, 133, 0, 0.1); +} + +/* STYLE 3: Minimal with Left Orange Border */ +.post-content table:not(.analisis table):nth-of-type(4) { + border-left: 5px solid var(--color-orange-primary); +} + +.post-content table:not(.analisis table):nth-of-type(4) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(4) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(4) tr:first-child td { + background: var(--color-navy-primary); + color: #ffffff !important; + border: none !important; + border-bottom: 3px solid var(--color-orange-primary) !important; +} + +.post-content table:not(.analisis table):nth-of-type(4) tbody tr:hover { + background-color: var(--color-neutral-50); +} + +/* STYLE 4: Dark Navy with Striped Rows */ +.post-content table:not(.analisis table):nth-of-type(5) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(5) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(5) tr:first-child td { + background: var(--color-navy-dark); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 8px rgba(14, 35, 55, 0.4); +} + +.post-content table:not(.analisis table):nth-of-type(5) tbody tr:nth-child(even) { + background-color: rgba(30, 58, 95, 0.05); +} + +.post-content table:not(.analisis table):nth-of-type(5) tbody tr:hover { + background-color: rgba(30, 58, 95, 0.1); +} + +/* STYLE 5: Orange Gradient Header */ +.post-content table:not(.analisis table):nth-of-type(6) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(6) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(6) tr:first-child td { + background: linear-gradient(135deg, var(--color-orange-primary) 0%, var(--color-orange-light) 100%); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 8px rgba(255, 133, 0, 0.35); +} + +.post-content table:not(.analisis table):nth-of-type(6) tbody tr { + background-color: #ffffff; +} + +.post-content table:not(.analisis table):nth-of-type(6) tbody tr:hover { + background-color: rgba(255, 133, 0, 0.08); +} + +/* STYLE 6: Bordered with Navy Accents */ +.post-content table:not(.analisis table):nth-of-type(7) { + border: 3px solid var(--color-navy-primary); +} + +.post-content table:not(.analisis table):nth-of-type(7) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(7) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(7) tr:first-child td { + background: var(--color-navy-primary); + color: #ffffff !important; + border: none !important; + border-bottom: 4px solid var(--color-orange-primary) !important; +} + +.post-content table:not(.analisis table):nth-of-type(7) tbody tr:nth-child(odd) { + background-color: rgba(30, 58, 95, 0.03); +} + +/* STYLE 7: Light Orange Background */ +.post-content table:not(.analisis table):nth-of-type(8) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(8) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(8) tr:first-child td { + background: var(--color-orange-primary); + color: #ffffff !important; + border: none !important; + border-bottom: 3px solid var(--color-navy-primary) !important; +} + +.post-content table:not(.analisis table):nth-of-type(8) tbody tr:nth-child(even) { + background-color: rgba(255, 133, 0, 0.03); +} + +.post-content table:not(.analisis table):nth-of-type(8) tbody tr:hover { + background-color: rgba(255, 133, 0, 0.08); +} + +/* STYLE 8: Modern Flat with Top Border */ +.post-content table:not(.analisis table):nth-of-type(9) { + border-top: 6px solid var(--color-orange-primary); +} + +.post-content table:not(.analisis table):nth-of-type(9) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(9) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(9) tr:first-child td { + background: var(--color-navy-light); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 6px rgba(44, 82, 130, 0.3); +} + +.post-content table:not(.analisis table):nth-of-type(9) tbody tr { + background-color: #ffffff; +} + +.post-content table:not(.analisis table):nth-of-type(9) tbody tr:hover { + background-color: var(--color-neutral-50); +} + +/* STYLE 9: Compact with Subtle Colors */ +.post-content table:not(.analisis table):nth-of-type(10) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(10) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(10) tr:first-child td { + background: var(--color-navy-dark); + color: #ffffff !important; + border: none !important; + border-left: 5px solid var(--color-orange-primary) !important; +} + +.post-content table:not(.analisis table):nth-of-type(10) tbody tr:nth-child(odd) { + background-color: var(--color-neutral-50); +} + +.post-content table:not(.analisis table):nth-of-type(10) tbody tr:hover { + background-color: rgba(255, 133, 0, 0.05); +} + +/* STYLE 10: Bold Orange Border */ +.post-content table:not(.analisis table):nth-of-type(11) { + border: 4px solid var(--color-orange-primary); +} + +.post-content table:not(.analisis table):nth-of-type(11) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(11) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(11) tr:first-child td { + background: linear-gradient(135deg, var(--color-orange-hover) 0%, var(--color-orange-primary) 100%); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 8px rgba(255, 107, 53, 0.4); +} + +.post-content table:not(.analisis table):nth-of-type(11) tbody tr:nth-child(even) { + background-color: rgba(255, 133, 0, 0.05); +} + +.post-content table:not(.analisis table):nth-of-type(11) tbody tr:hover { + background-color: rgba(255, 133, 0, 0.12); +} + +/* STYLE 11+: Cycle back to Style 1 (repeat pattern) */ +.post-content table:not(.analisis table):nth-of-type(n+12) thead tr:first-child th, +.post-content table:not(.analisis table):nth-of-type(n+12) tbody tr:first-child td, +.post-content table:not(.analisis table):nth-of-type(n+12) tr:first-child td { + background: linear-gradient(135deg, var(--color-navy-primary) 0%, var(--color-navy-light) 100%); + color: #ffffff !important; + border: none !important; + box-shadow: 0 2px 8px rgba(30, 58, 95, 0.3); +} + +.post-content table:not(.analisis table):nth-of-type(n+12) tbody tr:nth-child(even) { + background-color: var(--color-neutral-50); +} + +/* ======================================== + TABLE OF CONTENTS (TOC) +======================================== */ + +.sidebar-sticky { + position: sticky; + top: 85px; + display: flex; + flex-direction: column; +} + +.toc-container { + margin-bottom: 13px; + background: #ffffff; + border: 1px solid var(--color-neutral-100); + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); + padding: 12px 16px; + max-height: calc(100vh - 71px - 10px - 250px - 15px - 15px); + display: flex; + flex-direction: column; +} + +.toc-container h4 { + color: var(--color-navy-primary); + padding-bottom: 8px; + border-bottom: 2px solid var(--color-neutral-100); + margin-bottom: 0.75rem; + font-weight: 600; + text-align: left; + font-size: 1rem; + font-style: normal; +} + +.toc-list { + overflow-y: auto; + padding-right: 0.5rem; + list-style: none; + flex: 1; + min-height: 0; +} + +.toc-container li { + margin-bottom: 0.15rem; +} + +.toc-container a { + display: block; + padding: 0.3rem 0.85rem; + color: var(--color-neutral-600); + text-decoration: none; + border-left: 3px solid transparent; + transition: all 0.3s ease; + border-radius: 4px; + font-size: 0.9rem; + line-height: 1.3; +} + +.toc-container a:hover { + background: var(--color-neutral-50); + border-left-color: var(--color-navy-primary); + color: var(--color-navy-primary); +} + +.toc-container a.active { + background: var(--color-neutral-50); + border-left-color: var(--color-navy-primary); + color: var(--color-navy-primary); + font-weight: 600; +} + +.toc-list::-webkit-scrollbar { + width: 6px; +} + +.toc-list::-webkit-scrollbar-track { + background: var(--color-neutral-50); + border-radius: 3px; +} + +.toc-list::-webkit-scrollbar-thumb { + background: var(--color-neutral-600); + border-radius: 3px; +} + +.toc-list::-webkit-scrollbar-thumb:hover { + background: var(--color-neutral-700); +} + +/* ======================================== + CTA BOX (SIDEBAR) +======================================== */ + +.cta-box-sidebar { + background: var(--color-orange-primary); + border-radius: 8px; + padding: 24px; + text-align: center; + margin-top: 0; + margin-bottom: 15px; + height: 250px; + display: flex; + flex-direction: column; + justify-content: center; + box-shadow: 0 4px 12px rgba(255, 133, 0, 0.2); +} + +.cta-box-title { + color: #ffffff; + font-weight: 700; + font-size: 1.25rem; + margin-bottom: 1rem; +} + +.cta-box-text { + color: rgba(255, 255, 255, 0.95); + font-size: 0.9rem; + margin-bottom: 1rem; +} + +.btn-cta-box { + background-color: #ffffff; + color: var(--color-orange-primary); + font-weight: 700; + border: none; + padding: 0.75rem 1.5rem; + border-radius: 8px; + transition: all 0.3s ease; + font-size: 1rem; +} + +.btn-cta-box:hover { + background-color: var(--color-navy-primary); + color: #ffffff; +} + +/* ======================================== + SHARE BUTTONS +======================================== */ + +.share-buttons .btn { + transition: all 0.3s ease; + border-width: 2px; +} + +.share-buttons .btn:hover { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} + +/* ======================================== + VIDEO IFRAME STYLING +======================================== */ + +.video-wrapper { + position: relative; + margin: 2rem auto; + max-width: 850px; + border-radius: 12px; + overflow: hidden; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); + background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); + padding: 8px; +} + +.video-wrapper iframe { + display: block; + width: 100%; + height: 478px; + border: none; + border-radius: 8px; +} + +/* ======================================== + CTA SECTIONS +======================================== */ + +.cta-section { + background: linear-gradient(135deg, var(--color-orange-primary) 0%, var(--color-orange-light) 100%); + box-shadow: 0 8px 24px rgba(255, 133, 0, 0.3); + border-radius: 12px; + padding: 2rem; +} + +.cta-section h3 { + color: #ffffff !important; +} + +.cta-section p { + color: rgba(255, 255, 255, 0.95) !important; +} + +.cta-button { + background-color: var(--color-orange-primary); + color: #ffffff; + font-weight: 600; + padding: 0.75rem 2rem; + border: none; + border-radius: 8px; + transition: all 0.3s ease; + text-decoration: none; + display: inline-block; +} + +.cta-button:hover { + background-color: var(--color-orange-hover); + color: #ffffff; +} + +/* ======================================== + RELATED POSTS +======================================== */ + +.related-posts { + margin: 3rem 0; +} + +.related-posts h2 { + color: var(--color-navy-primary); + font-weight: 700; margin-bottom: 2rem; } -@media (max-width: 767px) { - .site-content { - margin-top: 1rem; - margin-bottom: 1rem; +.related-posts .card { + cursor: pointer; + background: #ffffff !important; + border: 1px solid var(--color-neutral-100) !important; + border-left: 4px solid var(--color-neutral-600) !important; + transition: all 0.3s ease; + height: 100%; +} + +.related-posts .card:hover { + background: var(--color-neutral-50) !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; + border-left-color: var(--color-orange-primary) !important; +} + +.related-posts .card-body { + padding: 1.5rem !important; +} + +.related-posts .card-title { + color: var(--color-navy-primary) !important; + font-weight: 600; + font-size: 0.95rem; + line-height: 1.4; +} + +.related-posts a { + text-decoration: none; +} + +.related-posts a:hover .card-title { + color: var(--color-orange-primary) !important; +} + +/* ======================================== + PAGINATION +======================================== */ + +.pagination .page-link { + color: var(--color-neutral-600); + border: 1px solid var(--color-neutral-100); + padding: 0.5rem 1rem; + margin: 0 0.25rem; + border-radius: 4px; + font-weight: 500; + transition: all 0.3s ease; +} + +.pagination .page-link:hover { + background-color: rgba(255, 133, 0, 0.1); + border-color: var(--color-orange-primary); + color: var(--color-orange-primary); +} + +.pagination .page-item.active .page-link { + background-color: var(--color-orange-primary); + border-color: var(--color-orange-primary); + color: #ffffff; +} + +/* ======================================== + CONTACT FORM +======================================== */ + +.form-control { + border: 2px solid var(--color-neutral-100); + border-radius: 6px; + padding: 0.625rem 1rem; + transition: all 0.3s ease; +} + +.form-control:focus { + border-color: var(--color-orange-primary); + outline: none; +} + +.btn-contact-submit { + background-color: var(--color-orange-primary); + color: #ffffff; + font-weight: 600; + padding: 0.75rem 2rem; + border: none; + border-radius: 6px; + transition: all 0.3s ease; +} + +.btn-contact-submit:hover { + background-color: var(--color-orange-hover); + color: #ffffff; +} + +.btn-submit-form { + background-color: var(--color-orange-primary); + color: #ffffff; + font-weight: 600; + padding: 0.75rem; + border: none; + border-radius: 6px; + transition: all 0.3s ease; +} + +.btn-submit-form:hover { + background-color: var(--color-orange-hover); + color: #ffffff; +} + +/* ======================================== + FOOTER +======================================== */ + +footer { + background-color: var(--color-navy-dark); + color: rgba(255, 255, 255, 0.8); + padding: 3rem 0; +} + +footer h5 { + color: #ffffff; + font-weight: 600; + margin-bottom: 1rem; +} + +footer a { + color: rgba(255, 255, 255, 0.8); + text-decoration: none; + transition: color 0.3s ease; +} + +footer a:hover { + color: var(--color-orange-primary); +} + +footer .btn-primary { + background-color: var(--color-orange-primary); + border-color: var(--color-orange-primary); +} + +footer .btn-primary:hover { + background-color: var(--color-orange-hover); + border-color: var(--color-orange-hover); +} + +.contact-info i { + color: var(--color-orange-primary); +} + +/* ======================================== + RESPONSIVE DESIGN +======================================== */ + +@media (max-width: 991px) { + .hero-title { + padding: 2rem 0; + } + + .hero-title h1 { + font-size: 1.75rem; + } + + .post-content { + padding: 1.5rem; + } + + .toc-container { + position: relative; + top: 0; + margin-bottom: 2rem; + } + + .toc-list { + max-height: 300px; + } + + .sidebar-sticky { + position: relative !important; } } -/* ============================================ - WORDPRESS SPECIFIC CLASSES - ============================================ */ +@media (max-width: 768px) { + .analisis { + font-size: 0.85rem; + } -/* WordPress Menu Classes */ -.menu-item { - position: relative; + .analisis table td { + padding: 0.5rem !important; + } + + .analisis table tr.total-row td { + font-size: 1rem !important; + } + + .btn-lets-talk { + width: 100%; + margin-top: 1rem; + } + + .post-content h2 { + font-size: 1.5rem; + } + + .post-content h3 { + font-size: 1.25rem; + } + + .cta-section { + padding: 1.5rem; + } + + .cta-button { + width: 100%; + margin-top: 1rem; + } } -.menu-item-has-children > .nav-link { - padding-right: 1.5rem !important; +/* ======================================== + UTILITIES +======================================== */ + +.text-navy { + color: var(--color-navy-primary) !important; } -/* Submenu Indicator (si se usan íconos) */ -.menu-item-has-children > .nav-link::before { - content: ''; - position: absolute; - right: 0.5rem; - top: 50%; - transform: translateY(-50%); - width: 0; - height: 0; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 5px solid currentColor; - opacity: 0.6; +.text-orange { + color: var(--color-orange-primary) !important; } -/* ============================================ - UTILITY CLASSES - ============================================ */ - -/* Screen Reader Only Text */ -.screen-reader-text { - border: 0; - clip: rect(1px, 1px, 1px, 1px); - clip-path: inset(50%); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; - word-wrap: normal !important; +.bg-navy { + background-color: var(--color-navy-primary) !important; } -.screen-reader-text:focus { - background-color: #f1f1f1; - border-radius: 3px; - box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); - clip: auto !important; - clip-path: none; - color: #21759b; - display: block; - font-size: 0.875rem; - font-weight: 700; - height: auto; - left: 5px; - line-height: normal; - padding: 15px 23px 14px; - text-decoration: none; - top: 5px; - width: auto; - z-index: 100000; +.bg-orange { + background-color: var(--color-orange-primary) !important; +} + +.border-orange { + border-color: var(--color-orange-primary) !important; +} + +.border-navy { + border-color: var(--color-navy-primary) !important; } diff --git a/wp-content/themes/apus-theme/assets/css/style.css b/wp-content/themes/apus-theme/assets/css/style.css index 1292aab3..c85954bd 100644 --- a/wp-content/themes/apus-theme/assets/css/style.css +++ b/wp-content/themes/apus-theme/assets/css/style.css @@ -683,3 +683,82 @@ img { .top-notification-bar a:hover { color: var(--color-orange-primary); } + +/* === NAVBAR === */ + +.navbar { + position: sticky; + top: 0; + z-index: 1030; + background-color: var(--color-navy-primary) !important; + box-shadow: 0 4px 12px rgba(30, 58, 95, 0.15); + padding: 0.75rem 0; + transition: all 0.3s ease; +} + +.navbar.scrolled { + box-shadow: 0 6px 20px rgba(30, 58, 95, 0.25); +} + +.navbar-brand { + color: #ffffff !important; + font-weight: 700; + font-size: 1.5rem; + transition: color 0.3s ease; +} + +.navbar-brand:hover { + color: var(--color-orange-primary) !important; +} + +.nav-link { + color: rgba(255, 255, 255, 0.9) !important; + font-weight: 500; + position: relative; + padding: 0.5rem 0.65rem !important; + transition: all 0.3s ease; + font-size: 0.9rem; + white-space: nowrap; +} + +.nav-link::after { + content: ''; + position: absolute; + bottom: 0; + left: 50%; + transform: translateX(-50%) scaleX(0); + width: 80%; + height: 2px; + background: var(--color-orange-primary); + transition: transform 0.3s ease; +} + +.nav-link:hover { + color: var(--color-orange-primary) !important; + background-color: rgba(255, 133, 0, 0.1); + border-radius: 4px; +} + +.nav-link:hover::after { + transform: translateX(-50%) scaleX(1); +} + +.dropdown-menu { + background: #ffffff; + border: none; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); + border-radius: 8px; + padding: 0.5rem 0; +} + +.dropdown-item { + color: var(--color-neutral-600); + padding: 0.625rem 1.25rem; + transition: all 0.3s ease; + font-weight: 500; +} + +.dropdown-item:hover { + background-color: rgba(255, 133, 0, 0.1); + color: var(--color-orange-primary); +}