/* Terxo Mobile — estilos heredados de las fichas de móvil.
   Extraídos tal cual del <style> inline que llevaban las fichas (se cargan en el mismo
   punto de la cascada, antes de neo-phone.css). Migrar aquí dentro lo que siga siendo
   necesario a neo-phone*.css y borrar el resto. Generado por
   scripts/extract-phone-legacy-style.js */

* {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
    overflow-x: hidden;
    width: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    background: linear-gradient(180deg, #1f1772 0%, #060320 38%, #f1f2fb 38%, #f7f8ff 100%);
    color: #0f1111;
    min-height: 100vh;
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    position: relative;
}

        .logo-circle {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.2);
            background-image: url('../images/terxo-logo.png');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            display: inline-flex;
        }

        .titulo-menu {
            font-size: 18px;
            font-weight: 800;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            text-decoration: none;
            color: #f2f6ff;
        }

        .hero-nav {
            display: flex;
            align-items: center;
            gap: 14px;
            flex-wrap: wrap;
        }

        .hero-nav-left {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .mini-nav-buttons {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .btn-marcas {
            display: inline-block;
            padding: 8px 14px;
            border-radius: 999px;
            border: 1px solid rgba(255, 255, 255, 0.2);
            background: transparent;
            color: #f7faff;
            text-decoration: none;
            font-weight: 600;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            transition: background 0.15s ease, color 0.15s ease;
        }

        .btn-marcas:hover {
            background: #ffffff;
            color: #123cb8;
        }

        .top-panel {
            display: flex;
            gap: 24px;
            padding: 40px 60px 150px;
            /* Reducido de 160px a 100px */
            color: #fff;
            position: relative;
        }

        .top-panel img {
            width: 160px;
            height: auto;
            /* Mantiene la proporción de la imagen */
            border-radius: 30px;
            background-color: #fff;
            padding: 10px;
            /* Reducido de 18px a 10px */
            object-fit: contain;
            /* Asegura que la imagen mantenga su relación de aspecto */
        }

        .hero-image-link {
            text-decoration: none;
            display: inline-block;
            position: relative;
        }

        .back-button-hero {
            position: absolute;
            top: 10px;
            left: 20px;
            background: none;
            border: none;
            color: #ffffff;
            font-size: 32px;
            cursor: pointer;
            padding: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: color 0.3s ease;
            z-index: 1000;
            font-weight: 100;
            letter-spacing: -2px;
        }

        .back-button-hero:hover {
            color: #cccccc;
        }

        .hero-image-link img {
            cursor: pointer;
        }

        .hero-info {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .breadcrumb-nav {
            display: flex;
            align-items: center;
            gap: 0px;
            flex-wrap: wrap;
            margin-bottom: 5px;
            font-family: 'Montserrat', sans-serif;
        }

        .breadcrumb-link {
            color: #999999;
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            font-family: 'Montserrat', sans-serif;
        }

        .breadcrumb-link:hover {
            color: #999999;
            text-decoration: underline;
        }

        .breadcrumb-separator {
            color: #999999;
            font-size: 14px;
            margin: 0 4px;
            font-family: 'Montserrat', sans-serif;
        }

        .floating-actions {
            position: absolute;
            top: 24px;
            right: 40px;
            display: flex;
            flex-direction: column;
            gap: 18px;
            z-index: 2;
        }

        .action-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
            width: 90px;
        }

        .action-button {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, 0.35);
            background: #ffffff;
            color: #fff;
            font-size: 22px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            backdrop-filter: blur(6px);
        }

        .action-button:hover {
            background: #ffffff;
        }

        .action-counter {
            font-size: 12px;
            letter-spacing: 0.4px;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .badge-score {
            background: rgba(255, 255, 255, 0.18);
            display: inline-flex;
            align-items: center;
            gap: 10px;
            border-radius: 999px;
            padding: 6px 18px;
            font-weight: 600;
        }

        .hero-release-year {
            display: inline-block;
            font-size: 16px;
            font-weight: 800;
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: 0.8px;
            text-transform: uppercase;
            margin-bottom: -12px;
        }

        .model-name {
            font-size: 34px;
            font-weight: 800;
        }

        .variant-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 12px;
            max-width: 540px;
        }

        .variant {
            background: rgba(255, 255, 255, 0.15);
            border-radius: 14px;
            padding: 12px 16px;
            font-size: 14px;
        }

        .variant strong {
            display: block;
            font-size: 16px;
            margin-bottom: 4px;
        }

        .variant strong {
            display: block;
            font-size: 16px;
            margin-bottom: 4px;
        }

        
        /* --- NEW VARIANT SELECTOR STYLES --- */
        .variant-selector {
            position: relative;
            max-width: 217px;
            margin-top: 0px;
            z-index: 100;
        }

        .variant-trigger {
            background: rgba(255, 255, 255, 0.15);
            border-radius: 14px;
            padding: 12px 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            transition: background 0.2s ease;
            color: white;
            font-size: 14px;
        }

        .variant-trigger:hover {
            background: rgba(255, 255, 255, 0.25);
        }

        .variant-trigger .info strong {
            display: block;
            font-size: 16px;
            font-weight: 700;
            margin-bottom: 4px;
        }

        .variant-trigger .info span {
            font-size: 14px;
            opacity: 1;
        }

        .variant-dropdown {
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            background: rgba(30, 30, 60, 0.95);
            backdrop-filter: blur(20px);
            border-radius: 14px;
            padding: 8px;
            display: none;
            flex-direction: column;
            gap: 4px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            margin-top: 8px;
            z-index: 101;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .variant-selector.active .variant-dropdown {
            display: flex;
        }

        .variant-option {
            padding: 12px 16px;
            border-radius: 10px;
            cursor: pointer;
            transition: background 0.2s ease;
            color: white;
        }

        .variant-option:hover {
            background: rgba(255, 255, 255, 0.1);
        }

        .variant-option.active {
            background: rgba(255, 255, 255, 0.2);
            font-weight: 700;
        }

        .variant-option strong {
            display: block;
            font-size: 15px;
            font-weight: 700;
        }

        .variant-option span {
            font-size: 13px;
            opacity: 0.8;
        }

        .cards-container {
            position: relative;
            z-index: 1;
        }

        .main-content {
            position: relative;
            z-index: 1;
            background: #ffffff;
            margin-top: -100px;
            /* Ajusta la posición vertical del fondo blanco */
            padding-top: 50px;
            /* Ajusta la posición vertical del contenido */
            min-height: calc(100vh - 50px);
            /* Asegura que el fondo blanco cubra hasta abajo */
            border-top-left-radius: 0;
            /* Sin bordes redondeados */
            border-top-right-radius: 0;
            /* Sin bordes redondeados */
            box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.05);
            /* Sutil sombra para separar visualmente */
        }

        .content-wrapper {
            padding: 0 60px 60px;
            position: relative;
            /* Asegura que el contenido se mantenga en su posición */
            z-index: 2;
            /* Asegura que el contenido está por encima del fondo */
        }

        .cards-row {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 18px;
        }

        .card {
            background: #fff;
            border-radius: 18px;
            padding: 18px;
            box-shadow: 0 18px 40px rgba(28, 32, 94, 0.12);
        }

        .card.card-green {
            background: #17b06b;
            color: #ffffff;
            position: relative;
            overflow: hidden;
            cursor: pointer;
        }

        .card.card-green h3,
        .card.card-green .score {
            color: #ffffff;
        }

        .card.card-green.score-9 {
            background: #2d5016;
        }

        .card.card-green.score-8 {
            background: #4caf50;
        }

        .card.card-green.score-7 {
            background: #81c784;
        }

        .card.card-green.score-6 {
            background: #ffeb3b;
        }

        .card.card-green.score-5 {
            background: #ff9800;
        }

        .card.card-green.score-4 {
            background: #f44336;
        }

        .card.card-green.score-9 .card-overlay {
            background: rgba(45, 80, 22, 0.9);
        }

        .card.card-green.score-8 .card-overlay {
            background: rgba(76, 175, 80, 0.9);
        }

        .card.card-green.score-7 .card-overlay {
            background: rgba(129, 199, 132, 0.9);
        }

        .card.card-green.score-6 .card-overlay {
            background: rgba(255, 235, 59, 0.9);
        }

        .card.card-green.score-5 .card-overlay {
            background: rgba(255, 152, 0, 0.9);
        }

        .card.card-green.score-4 .card-overlay {
            background: rgba(244, 67, 54, 0.9);
        }

        .card.card-green .card-content {
            transition: opacity 0.2s ease, filter 0.2s ease;
        }

        .card.card-green.expanded .card-content {
            filter: blur(4px);
            opacity: 0.15;
        }

        .card.card-green .card-overlay {
            position: absolute;
            inset: 18px;
            border-radius: 14px;
            display: flex;
            flex-direction: column;
            gap: 6px;
            justify-content: center;
            align-items: flex-start;
            background: rgba(23, 176, 107, 0.9);
            color: #ffffff;
            text-align: left;
            padding: 12px 16px;
            opacity: 0;
            transform: scale(0.9);
            transition: opacity 0.2s ease, transform 0.2s ease;
            pointer-events: none;
        }

        .card.card-green.expanded .card-overlay {
            opacity: 1;
            transform: scale(1);
        }

        .card.card-green .card-overlay span {
            font-weight: 600;
        }

        .card.card-orange {
            background: #f7921e;
            color: #ffffff;
        }

        .card.card-orange h3,
        .card.card-orange .score,
        .card.card-orange small {
            color: #ffffff;
        }

        .card h3 {
            font-size: 15px;
            font-weight: 700;
            color: #444;
            margin-bottom: 6px;
        }

        .card h3.title-good {
            color: #17b06b;
        }

        .card h3.title-bad {
            color: #d93025;
        }

        .score {
            font-size: 32px;
            font-weight: 800;
            color: #0bb16d;
        }

        .score.secondary {
            color: #f6a200;
        }

        .list {
            list-style: none;
            font-size: 13px;
            line-height: 1.6;
        }

        .list li::before {
            content: '• ';
            color: #425df5;
        }

        .spec-grid {
            margin-top: 24px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 16px;
        }

        .spec {
            background: #fff;
            border-radius: 14px;
            padding: 14px;
            text-align: center;
            box-shadow: 0 12px 30px rgba(28, 32, 94, 0.08);
        }

        .spec.has-icon {
            display: flex;
            align-items: center;
            gap: 12px;
            text-align: left;
        }

        .spec.has-icon img {
            width: 32px;
            height: 32px;
            flex-shrink: 0;
        }

        .spec.has-icon .spec-text {
            display: flex;
            flex-direction: column;
        }

        .spec strong {
            display: block;
            font-size: 15px;
            margin-bottom: 4px;
        }

        .tags {
            margin-top: 24px;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .tag {
            background: #fff;
            border-radius: 999px;
            padding: 8px 16px;
            font-size: 13px;
            box-shadow: 0 10px 20px rgba(28, 32, 94, 0.08);
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .tag img {
            width: 18px;
            height: 18px;
        }
.release-info {
            margin-top: 32px;
            padding: 18px 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .display-info,
        .processor-info,
        .ram-info,
        .antutu-info {
            margin-top: 0;
            padding: 18px 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .antutu-base {
            background: #f8f9fa;
            border-radius: 12px;
            padding: 16px;
            margin-top: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
            display: inline-block;
            max-width: 300px;
        }

        .antutu-score {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 8px;
        }

        .antutu-score img {
            width: 40px;
            height: 40px;
        }

        .antutu-score span {
            font-size: 18px;
            font-weight: 600;
            color: #000000;
        }

        .antutu-desc {
            font-size: 14px;
            color: #6c757d;
            margin: 0;
        }

        .storage-info {
            margin-top: 0;
            padding: 18px 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .security-info,
        .sensors-info,
        .audio-info {
            margin-top: 0;
            padding: 18px 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .audio-info {
            padding-bottom: 24px;
        }

        /* Estilos para las secciones de cámara */
        .camera-section {
            margin-top: 0;
            padding: 18px 16px;
            position: relative;
            max-width: 900px;
            margin-right: auto;
        }

        .camera-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 16px;
            right: 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .camera-section h3 {
            font-size: 16px;
            letter-spacing: 1px;
            margin-bottom: 12px;
            color: #000000;
            text-transform: uppercase;
        }

        .camera-row {
            display: flex;
            gap: 16px;
            margin-bottom: 16px;
            max-width: 800px;
            margin-right: auto;
        }

        .camera-box {
            flex: 1;
            background: #f8f9fa;
            border-radius: 12px;
            padding: 16px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
            max-width: 380px;
            margin: 0;
        }

        .camera-specs {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px 16px;
            margin-top: 12px;
        }

        .camera-specs p {
            margin: 4px 0;
            font-size: 14px;
            color: #273246;
        }

        .camera-features {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .camera-features p {
            margin: 4px 0;
            font-size: 14px;
            color: #273246;
        }

        .extra-features {
            margin-top: 0;
            padding: 18px 16px 24px;
            position: relative;
            max-width: 900px;
            margin-right: auto;
        }

        .extra-features::before,
        .connectivity-info::before,
        .sim-info::before,
        .bluetooth-info::before,
        .usb-info::before,
        .battery-info::before,
        .software-info::before {
            content: '';
            position: absolute;
            top: 0;
            left: 16px;
            right: 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .connectivity-info,
        .sim-info,
        .bluetooth-info,
        .usb-info {
            margin-top: 0;
            padding: 18px 16px;
            position: relative;
            max-width: 900px;
            margin-right: auto;
        }

        .connectivity-info h3,
        .sim-info h3,
        .bluetooth-info h3,
        .usb-info h3,
        .battery-info h3,
        .software-info h3 {
            font-size: 16px;
            letter-spacing: 1px;
            margin-bottom: 12px;
            color: #000000;
            text-transform: uppercase;
        }

        .connectivity-info p,
        .sim-info p,
        .bluetooth-info p,
        .usb-info p,
        .battery-details p,
        .software-info p {
            margin: 4px 0;
            font-size: 14px;
            color: #273246;
            line-height: 1.6;
        }

        .battery-info {
            margin-top: 0;
            padding: 18px 16px;
            position: relative;
            max-width: 900px;
            margin-right: auto;
        }

        .battery-base {
            background: #f8f9fa;
            border-radius: 12px;
            padding: 16px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
            max-width: 300px;
            margin-bottom: 12px;
        }

        .battery-amount {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 8px;
        }

        .battery-icon {
            display: inline-flex;
            align-items: center;
            width: 24px;
            height: 24px;
            background-image: url('https://uxwing.com/wp-content/themes/uxwing/download/computers-mobile-hardware/battery-full-icon.png');
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
        }

        .battery-amount span:not(.battery-icon) {
            font-size: 18px;
            font-weight: 600;
            color: #000000;
        }

        .battery-desc {
            font-size: 14px;
            color: #6c757d;
            margin: 0;
        }

        .software-info {
            margin-top: 0;
            padding: 18px 16px;
            position: relative;
            max-width: 900px;
            margin-right: auto;
        }

        .extra-features h3 {
            font-size: 16px;
            letter-spacing: 1px;
            margin-bottom: 12px;
            color: #000000;
            text-transform: uppercase;
        }

        .release-info h3,
        .structure-info h3,
        .display-info h3,
        .processor-info h3,
        .ram-info h3,
        .antutu-info h3,
        .geekbench-info h3,
        .storage-info h3,
        .security-info h3,
        .sensors-info h3,
        .audio-info h3 {
            font-size: 16px;
            letter-spacing: 1px;
            margin-bottom: 6px;
            color: #000000;
            text-transform: uppercase;
        }

        .structure-info {
            margin-top: 0;
            padding: 18px 0 24px;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .structure-info h3 {
            font-size: 16px;
            letter-spacing: 1px;
            margin-bottom: 6px;
            color: #000000;
        }

        @media (max-width:640px) {
            .hero-nav {
                flex-direction: column;
                align-items: flex-start;
            }

            .mini-nav-buttons {
                justify-content: center;
            }
        }

        .action-button.active {
            background-color: #ffffff;
            border: 2px solid #ff4757;
        }

        .spec.has-icon {
            cursor: pointer;
        }
            /* Colores dinámicos para notas según puntuación */
        .card.card-green.score-9 {
            background: #2d5016;
        }

        .card.card-green.score-8 {
            background: #4caf50;
        }

        .card.card-green.score-7 {
            background: #81c784;
        }

        .card.card-green.score-6 {
            background: #ffeb3b;
        }

        .card.card-green.score-5 {
            background: #ff9800;
        }

        .card.card-green.score-4 {
            background: #f44336;
        }

        .card.card-green.score-9 .card-overlay {
            background: rgba(45, 80, 22, 0.9);
        }

        .card.card-green.score-8 .card-overlay {
            background: rgba(76, 175, 80, 0.9);
        }

        .card.card-green.score-7 .card-overlay {
            background: rgba(129, 199, 132, 0.9);
        }

        .card.card-green.score-6 .card-overlay {
            background: rgba(255, 235, 59, 0.9);
        }

        .card.card-green.score-5 .card-overlay {
            background: rgba(255, 152, 0, 0.9);
        }

        .card.card-green.score-4 .card-overlay {
            background: rgba(244, 67, 54, 0.9);
        }

        .card.card-green h3,
        .card.card-green .score {
            color: #ffffff;
        }

        /* Estilos para botones de acción */
        .action-buttons {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            justify-content: center;
        }

        .action-btn {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 10px 16px;
            border: 2px solid #e0e0e0;
            border-radius: 25px;
            background: white;
            color: #666;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 14px;
            font-weight: 600;
        }

        .action-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }

        .action-btn.active {
            background: #4caf50;
            color: white;
            border-color: #4caf50;
        }

        .action-btn i {
            font-size: 16px;
        }

        .action-counter {
            font-size: 12px;
        }

        /* Estilos para breadcrumbs */
        .breadcrumb-nav {
            display: flex;
            align-items: center;
            gap: 0px;
            flex-wrap: wrap;
            margin-bottom: 5px;
            font-family: 'Montserrat', sans-serif;
        }

        .breadcrumb-link {
            color: #999999;
            text-decoration: none;
            font-size: 14px;
            font-weight: 500;
            font-family: 'Montserrat', sans-serif;
        }

        .breadcrumb-link:hover {
            color: #999999;
            text-decoration: underline;
        }

        .breadcrumb-separator {
            color: #999999;
            font-size: 14px;
            margin: 0 4px;
            font-family: 'Montserrat', sans-serif;
        }

        /* Geekbench specific styles */
        .geekbench-info {
            margin-top: 0;
            padding: 18px 0;
            border-top: 1px solid rgba(15, 17, 60, 0.08);
        }

        .geekbench-base {
            background: #f8f9fa;
            border-radius: 12px;
            padding: 16px;
            margin-top: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
            display: inline-block;
            min-width: 280px;
        }

        .geekbench-scores {
            display: flex;
            gap: 24px;
            border-top: 1px solid rgba(0, 0, 0, 0.05);
            margin-top: 12px;
            padding-top: 12px;
        }

        .geekbench-score-item {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .geekbench-score-item .label {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #6c757d;
            font-weight: 600;
        }

        .geekbench-score-item .value {
            font-size: 18px;
            font-weight: 700;
            color: #000000;
        }

        .geekbench-score-item:not(:first-child) {
            border-left: 1px solid rgba(0, 0, 0, 0.05);
            padding-left: 20px;
        }
