/* Terxo Mobile — Neo-Brutalism ficha detalle (compartido, post neo-phone.css) */
        /* Estilos para las secciones de cámara */
        .camera-section {
            margin-top: 0;
            padding: 24px 0 !important;
            position: relative;
            width: 100% !important;
            max-width: none !important;
            margin-right: 0 !important;
            border-top: 3px solid #0a0a0a;
        }

        .camera-section::before {
            display: none;
        }

        .camera-section h3 {
            font-family: 'Syne', sans-serif;
            font-size: 0.85rem;
            font-weight: 800;
            letter-spacing: 0.06em;
            margin-bottom: 14px;
            color: #0a0a0a;
            text-transform: uppercase;
            background: #ffe566;
            display: inline-block;
            padding: 8px 14px;
            border: 3px solid #0a0a0a;
            box-shadow: 4px 4px 0 #0a0a0a;
        }

        .camera-row {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-bottom: 14px;
            width: 100% !important;
            max-width: none !important;
            margin-right: 0 !important;
        }

        @media (min-width: 600px) {
            .camera-row {
                flex-direction: row;
            }
        }

        .camera-box {
            flex: 1;
            background: #ffffff;
            border-radius: 0;
            padding: 14px;
            border: 3px solid #0a0a0a;
            box-shadow: 5px 5px 0 #0a0a0a;
            margin: 0;
            max-width: none !important;
            width: 100%;
            box-sizing: border-box;
            transition: transform 0.12s, box-shadow 0.12s;
        }

        .camera-box:nth-child(2) {
            background: #7dffb3;
        }

        .camera-box > strong {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            display: block;
            padding-bottom: 10px;
            margin-bottom: 10px;
            border-bottom: 2px solid #0a0a0a;
            color: #0a0a0a;
        }

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

        .camera-specs p {
            margin: 0;
            font-size: 0.78rem;
            color: #0a0a0a;
            line-height: 1.35;
        }

        .camera-specs p strong {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.65rem;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            display: block;
            color: rgba(10, 10, 10, 0.55);
            margin-bottom: 2px;
        }

        .camera-features {
            margin-top: 0;
            padding: 14px;
            border: 3px solid #0a0a0a;
            background: #f2efe4;
            box-shadow: 4px 4px 0 #0a0a0a;
            width: 100% !important;
            max-width: none !important;
            box-sizing: border-box;
        }

        .camera-features p {
            margin: 0;
            padding: 7px 0;
            font-size: 0.8rem;
            color: #0a0a0a;
            border-bottom: 2px solid rgba(10, 10, 10, 0.1);
        }

        .camera-features p:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

        .camera-features p strong {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            text-transform: uppercase;
            font-size: 0.7rem;
        }

        /* Ficha detalle — overrides neo-phone.css */
        .spec-grid .spec {
            border-radius: 0 !important;
            border: 3px solid #0a0a0a !important;
            box-shadow: 4px 4px 0 #0a0a0a !important;
            padding: 14px !important;
        }

        .spec-grid .spec:nth-child(3n + 1) {
            background: #ffffff !important;
        }

        .spec-grid .spec:nth-child(3n + 2) {
            background: #ffe566 !important;
        }

        .spec-grid .spec:nth-child(3n) {
            background: #7dffb3 !important;
        }

        .spec-grid .spec:hover {
            transform: translate(-2px, -2px) !important;
            box-shadow: 6px 6px 0 #0a0a0a !important;
        }

        .spec-grid .spec.has-icon img {
            width: 28px !important;
            height: 28px !important;
            padding: 4px;
            background: #fff;
            border: 2px solid #0a0a0a;
            box-shadow: 2px 2px 0 #0a0a0a;
        }

        .spec-grid .spec strong {
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.72rem !important;
            text-transform: uppercase;
            letter-spacing: 0.02em;
            line-height: 1.2;
            margin-bottom: 2px !important;
        }

        .spec-grid .spec-text strong .sd-abbr,
        .spec-grid .spec-text strong .sd-full {
            font: inherit;
            color: inherit;
            letter-spacing: inherit;
            text-transform: inherit;
            line-height: inherit;
        }

        .spec-grid .spec-text strong .sd-abbr {
            display: none;
        }

        .spec-grid .spec-text strong .sd-full {
            display: inline;
        }

        @media (orientation: landscape), (min-width: 769px) {
            .spec-grid .spec-text strong .sd-abbr {
                display: inline;
            }

            .spec-grid .spec-text strong .sd-full {
                display: none;
            }
        }

        .spec-grid .spec .spec-text > span {
            font-size: 0.68rem;
            font-weight: 600;
            color: rgba(10, 10, 10, 0.65);
            line-height: 1.25;
        }

        /* Nota calidad-precio — desglose al clic */
        #qualityCard {
            cursor: pointer;
            min-height: 120px;
        }

        #qualityCard .card-tap-hint {
            display: inline-block;
            margin-top: 6px;
            font-family: 'Syne', sans-serif;
            font-size: 0.6rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: rgba(10, 10, 10, 0.55);
            border: 2px solid #0a0a0a;
            background: #fff;
            padding: 3px 8px;
            box-shadow: 2px 2px 0 #0a0a0a;
            transition: opacity 0.15s;
        }

        #qualityCard.expanded .card-tap-hint {
            opacity: 0;
        }

        #qualityCard .card-content {
            transition: opacity 0.15s ease !important;
        }

        #qualityCard.expanded .card-content {
            position: absolute !important;
            inset: 0;
            filter: none !important;
            opacity: 0 !important;
            pointer-events: none;
        }

        #qualityCard.expanded {
            min-height: 140px;
        }

        #qualityCard .card-overlay {
            inset: 0 !important;
            border-radius: 0 !important;
            background: #ffffff !important;
            border: 3px solid #0a0a0a !important;
            box-shadow: none !important;
            padding: 8px 10px !important;
            gap: 6px 8px !important;
            display: grid !important;
            grid-template-columns: 1fr 1fr;
            align-content: start;
            opacity: 0;
            transform: translateY(4px);
            transition: opacity 0.15s ease, transform 0.15s ease !important;
            pointer-events: none;
        }

        #qualityCard.expanded .card-overlay {
            opacity: 1 !important;
            transform: translateY(0) !important;
        }

        #qualityCard .overlay-title {
            grid-column: 1 / -1;
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.58rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: #0a0a0a;
            background: #ffe566;
            display: inline-block;
            padding: 2px 6px;
            border: 2px solid #0a0a0a;
            box-shadow: 2px 2px 0 #0a0a0a;
            margin: 0 0 2px;
            width: fit-content;
        }

        #qualityCard .score-metric {
            width: 100%;
            min-width: 0;
        }

        #qualityCard .metric-head {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 4px;
            gap: 4px;
        }

        #qualityCard .metric-label {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.55rem;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            color: #0a0a0a;
            white-space: nowrap;
        }

        #qualityCard .metric-value {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.68rem;
            color: #0a0a0a;
            flex-shrink: 0;
            background: #ffe566;
            border: 2px solid #0a0a0a;
            padding: 0 4px;
            line-height: 1.3;
            box-shadow: 1px 1px 0 #0a0a0a;
        }

        #qualityCard .metric-bar {
            height: 10px;
            background: #f2efe4;
            border: 2px solid #0a0a0a;
            box-shadow: 2px 2px 0 #0a0a0a;
            overflow: hidden;
            position: relative;
        }

        #qualityCard .metric-bar span {
            display: block;
            height: 100%;
            min-width: 2px;
            background: #7dffb3;
            border-right: 2px solid #0a0a0a;
            box-sizing: border-box;
        }

        #qualityCard:focus-visible {
            outline: 3px solid #425df5;
            outline-offset: 3px;
        }

        /* Extra — neo-brutalist */
        .extra-features {
            margin-top: 0 !important;
            padding: 24px 0 !important;
            width: 100% !important;
            max-width: none !important;
            margin-right: 0 !important;
            border-top: 3px solid #0a0a0a;
        }

        .extra-features::before {
            display: none !important;
        }

        .extra-features h3 {
            font-family: 'Syne', sans-serif !important;
            font-size: 0.85rem !important;
            font-weight: 800 !important;
            letter-spacing: 0.06em !important;
            margin-bottom: 14px !important;
            color: #0a0a0a !important;
            text-transform: uppercase;
            background: #ffe566;
            display: inline-block;
            padding: 8px 14px;
            border: 3px solid #0a0a0a;
            box-shadow: 4px 4px 0 #0a0a0a;
        }

        .extra-features .extra-list {
            border: 3px solid #0a0a0a;
            background: #f2efe4;
            box-shadow: 4px 4px 0 #0a0a0a;
        }

        .extra-features .extra-item {
            padding: 10px 14px;
            font-size: 0.8rem;
            font-weight: 600;
            color: #0a0a0a;
            line-height: 1.35;
            border-bottom: 2px solid rgba(10, 10, 10, 0.1);
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }

        .extra-features .extra-item::before {
            content: '■';
            flex-shrink: 0;
            color: #425df5;
            font-size: 0.55rem;
            margin-top: 5px;
        }

        .extra-features .extra-item:last-child {
            border-bottom: none;
        }

        /* ─── Resumen general ─── */
        .summary-block {
            margin-top: 24px;
        }

        .summary-block h3 {
            font-family: 'Syne', sans-serif !important;
            font-size: 0.85rem !important;
            font-weight: 800 !important;
            letter-spacing: 0.06em !important;
            color: #0a0a0a !important;
            text-transform: uppercase;
            background: #ffe566;
            display: inline-block;
            padding: 8px 14px;
            border: 3px solid #0a0a0a;
            box-shadow: 4px 4px 0 #0a0a0a;
            margin-bottom: 14px !important;
        }

        .summary-content {
            border: 3px solid #0a0a0a;
            background: #ffffff;
            box-shadow: 4px 4px 0 #0a0a0a;
            padding: 14px 16px;
            max-height: 260px;
        }

        .summary-content::after {
            background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.85) 45%, #ffffff 85%) !important;
        }

        .summary-text p {
            font-size: 0.88rem !important;
            line-height: 1.6 !important;
            color: #0a0a0a !important;
            margin-bottom: 12px !important;
        }

        .summary-text p:last-child {
            margin-bottom: 0 !important;
        }

        .summary-more,
        .summary-close {
            border: 2px solid #0a0a0a !important;
            border-radius: 0 !important;
            background: #ffffff !important;
            box-shadow: 3px 3px 0 #0a0a0a !important;
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.75rem !important;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #0a0a0a !important;
            padding: 10px 16px !important;
        }

        .summary-more:hover,
        .summary-close:hover {
            background: #ffe566 !important;
            transform: translate(-1px, -1px);
            box-shadow: 4px 4px 0 #0a0a0a !important;
        }

        .summary-close {
            width: 40px !important;
            height: 40px !important;
            padding: 0 !important;
        }

        /* ─── Apartados informativos (sin cámara) ─── */
        .release-info,
        .structure-info,
        .display-info,
        .processor-info,
        .ram-info,
        .antutu-info,
        .geekbench-info,
        .storage-info,
        .security-info,
        .sensors-info,
        .audio-info,
        .connectivity-info,
        .sim-info,
        .bluetooth-info,
        .usb-info,
        .battery-info,
        .software-info,
        .terxo-photo-block {
            margin-top: 0 !important;
            padding: 24px 0 !important;
            width: 100% !important;
            max-width: none !important;
            margin-right: 0 !important;
            border-top: 3px solid #0a0a0a !important;
            position: relative;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 10px !important;
        }

        .release-info {
            margin-top: 8px !important;
        }

        .connectivity-info::before,
        .sim-info::before,
        .bluetooth-info::before,
        .usb-info::before,
        .battery-info::before,
        .software-info::before,
        .terxo-photo-block::before {
            display: none !important;
        }

        .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,
        .connectivity-info h3,
        .sim-info h3,
        .bluetooth-info h3,
        .usb-info h3,
        .battery-info h3,
        .software-info h3 {
            font-family: 'Syne', sans-serif !important;
            font-size: 0.85rem !important;
            font-weight: 800 !important;
            letter-spacing: 0.06em !important;
            color: #0a0a0a !important;
            text-transform: uppercase;
            background: #ffe566;
            display: inline-block;
            padding: 8px 14px;
            border: 3px solid #0a0a0a;
            box-shadow: 4px 4px 0 #0a0a0a;
            margin-bottom: 4px !important;
            width: fit-content;
        }

        .terxo-photo-block-copy h3 {
            font-family: 'Syne', sans-serif !important;
            font-size: clamp(1.35rem, 4vw, 1.75rem) !important;
            font-weight: 800 !important;
            letter-spacing: 0.05em !important;
            text-transform: uppercase !important;
            color: #fff !important;
            background: none !important;
            border: none !important;
            box-shadow: none !important;
            padding: 0 !important;
            margin-bottom: 10px !important;
            display: block !important;
            width: auto !important;
            line-height: 1.1 !important;
        }

        .connectivity-info > p,
        .sim-info > p,
        .bluetooth-info > p,
        .usb-info > p,
        .software-info > p {
            border: 3px solid #0a0a0a !important;
            background: #f2efe4 !important;
            box-shadow: 4px 4px 0 #0a0a0a !important;
            padding: 12px 14px !important;
            margin: 0 !important;
            width: 100% !important;
            max-width: none !important;
            box-sizing: border-box;
            font-size: 0.85rem !important;
            font-weight: 500;
            line-height: 1.65 !important;
            color: #0a0a0a !important;
        }

        .release-info > p,
        .structure-info > p,
        .display-info > p,
        .processor-info > p,
        .ram-info > p,
        .storage-info > p,
        .security-info > p,
        .sensors-info > p,
        .audio-info > p {
            border: 3px solid #0a0a0a;
            background: #f2efe4;
            box-shadow: 4px 4px 0 #0a0a0a;
            padding: 12px 14px;
            margin: 0;
            font-size: 0.85rem;
            font-weight: 500;
            line-height: 1.65;
            color: #0a0a0a;
        }

        /* Benchmarks y batería — cajas destacadas */
        .antutu-base,
        .geekbench-base,
        .battery-base {
            background: #ffffff !important;
            border: 3px solid #0a0a0a !important;
            border-radius: 0 !important;
            box-shadow: 4px 4px 0 #0a0a0a !important;
            padding: 14px !important;
            margin-top: 0 !important;
            max-width: none !important;
            width: 100%;
            display: block !important;
        }

        .antutu-score,
        .battery-amount {
            margin-bottom: 6px;
        }

        .antutu-score img,
        .battery-icon {
            border: 2px solid #0a0a0a;
            box-shadow: 2px 2px 0 #0a0a0a;
            background: #fff;
            padding: 2px;
        }

        .antutu-score span,
        .battery-amount span:not(.battery-icon) {
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 1.1rem !important;
            color: #0a0a0a !important;
        }

        .antutu-desc,
        .battery-desc {
            font-size: 0.75rem !important;
            color: rgba(10, 10, 10, 0.6) !important;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }

        .geekbench-scores {
            border-top: 2px solid #0a0a0a !important;
            margin-top: 12px !important;
            padding-top: 12px !important;
            gap: 16px !important;
        }

        .geekbench-score-item {
            flex: 1;
            background: #f2efe4;
            border: 2px solid #0a0a0a;
            padding: 10px 12px;
            box-shadow: 2px 2px 0 #0a0a0a;
        }

        .geekbench-score-item:not(:first-child) {
            border-left: 2px solid #0a0a0a !important;
            padding-left: 12px !important;
        }

        .geekbench-score-item .label {
            font-family: 'Syne', sans-serif !important;
            font-size: 0.6rem !important;
            color: rgba(10, 10, 10, 0.55) !important;
            font-weight: 800 !important;
        }

        .geekbench-score-item .value {
            font-family: 'Syne', sans-serif !important;
            font-size: 1.25rem !important;
            font-weight: 800 !important;
            color: #0a0a0a !important;
        }

        .battery-details {
            margin-top: 12px;
            border: 3px solid #0a0a0a;
            background: #f2efe4;
            box-shadow: 4px 4px 0 #0a0a0a;
        }

        .battery-details p {
            margin: 0 !important;
            padding: 10px 14px !important;
            font-size: 0.85rem !important;
            color: #0a0a0a !important;
            line-height: 1.4 !important;
            border-bottom: 2px solid rgba(10, 10, 10, 0.1) !important;
        }

        .battery-details p:last-child {
            border-bottom: none !important;
        }

        /* Tarjeta nota usuarios */
        #reviewsCard .reviews-tap-hint {
            display: inline-block;
            margin-top: 8px;
            font-family: 'Syne', sans-serif;
            font-size: 0.6rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: rgba(10, 10, 10, 0.7);
            border: 2px solid #0a0a0a;
            background: #fff;
            padding: 3px 8px;
            box-shadow: 2px 2px 0 #0a0a0a;
        }

        /* Reseñas — modal neo-brutalist */
        body.reviews-open .top-panel .floating-actions,
        body.reviews-open .top-panel .back-button-hero,
        body.reviews-open .top-panel .variant-selector {
            pointer-events: none;
        }

        .reviews-modal-overlay {
            background: rgba(10, 10, 10, 0.55) !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            transition: opacity 0.2s ease, visibility 0.2s !important;
        }

        .reviews-modal {
            background: #ffffff !important;
            border: 3px solid #0a0a0a !important;
            border-radius: 0 !important;
            box-shadow: 10px 10px 0 #0a0a0a !important;
            padding: 0 !important;
            max-width: 520px !important;
            transform: translate(6px, 6px) scale(0.98) !important;
            transition: transform 0.2s ease, opacity 0.2s ease !important;
        }

        .reviews-modal-overlay.active .reviews-modal {
            transform: translate(0, 0) scale(1) !important;
        }

        .reviews-header {
            background: #ffe566 !important;
            border-bottom: 3px solid #0a0a0a !important;
            padding: 14px 16px !important;
            margin-bottom: 0 !important;
        }

        .reviews-title {
            font-family: 'Syne', sans-serif !important;
            font-size: 0.95rem !important;
            font-weight: 800 !important;
            color: #0a0a0a !important;
            letter-spacing: 0.05em !important;
            margin: 0 !important;
        }

        .close-reviews {
            background: #ff6b6b !important;
            border: 2px solid #0a0a0a !important;
            border-radius: 0 !important;
            color: #0a0a0a !important;
            font-weight: 800 !important;
            font-size: 1.1rem !important;
            width: 36px !important;
            height: 36px !important;
            box-shadow: 2px 2px 0 #0a0a0a !important;
        }

        .close-reviews:hover {
            background: #ff6b6b !important;
            transform: translate(-1px, -1px);
            box-shadow: 3px 3px 0 #0a0a0a !important;
        }

        .reviews-body {
            padding: 16px !important;
            gap: 12px !important;
            background: #f2efe4;
        }

        .no-reviews {
            text-align: center;
            padding: 28px 16px !important;
            border: 3px solid #0a0a0a;
            background: #fff;
            box-shadow: 4px 4px 0 #0a0a0a;
        }

        .no-reviews-title {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.9rem;
            text-transform: uppercase;
            color: #0a0a0a;
            margin-bottom: 8px;
        }

        .no-reviews-sub {
            font-size: 0.85rem;
            color: rgba(10, 10, 10, 0.65);
            line-height: 1.4;
        }

        .review-item {
            background: #ffffff !important;
            border: 3px solid #0a0a0a !important;
            border-radius: 0 !important;
            padding: 14px 40px 14px 14px !important;
            box-shadow: 4px 4px 0 #0a0a0a !important;
            position: relative;
        }

        .review-item:nth-child(even) {
            background: #ffe566 !important;
        }

        .review-author {
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.75rem !important;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            color: #0a0a0a !important;
        }

        .review-rating {
            color: #0a0a0a !important;
            font-size: 0.8rem !important;
        }

        .review-rating .fa-star {
            color: #f7921e;
        }

        .review-text {
            color: #0a0a0a !important;
            font-size: 0.85rem !important;
            line-height: 1.45 !important;
            margin-top: 6px;
        }

        .delete-review-btn {
            opacity: 1 !important;
            top: 10px !important;
            right: 10px !important;
            width: 28px !important;
            height: 28px !important;
            border-radius: 0 !important;
            background: #ff6b6b !important;
            border: 2px solid #0a0a0a !important;
            color: #0a0a0a !important;
            font-weight: 800 !important;
            box-shadow: 2px 2px 0 #0a0a0a !important;
        }

        .delete-review-btn:hover {
            transform: translate(-1px, -1px) !important;
            box-shadow: 3px 3px 0 #0a0a0a !important;
        }

        .add-review-btn {
            background: #425df5 !important;
            color: #fff !important;
            border: 3px solid #0a0a0a !important;
            border-radius: 0 !important;
            box-shadow: 4px 4px 0 #0a0a0a !important;
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.8rem !important;
            letter-spacing: 0.05em;
            margin-top: 4px !important;
            padding: 14px 20px !important;
            transition: transform 0.12s, box-shadow 0.12s !important;
        }

        .add-review-btn:hover {
            background: #123cb8 !important;
            transform: translate(-2px, -2px);
            box-shadow: 6px 6px 0 #0a0a0a !important;
        }

        .review-form {
            background: #ffffff !important;
            border: 3px solid #0a0a0a !important;
            border-radius: 0 !important;
            padding: 16px !important;
            box-shadow: 4px 4px 0 #0a0a0a !important;
        }

        .review-form .form-group label {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #0a0a0a;
        }

        .star-rating .star {
            color: #ffe566 !important;
            -webkit-text-stroke: 1.5px #0a0a0a;
            text-shadow: 1px 1px 0 #0a0a0a;
        }

        .star-rating .star.fas {
            color: #f7921e !important;
        }

        #reviewText {
            border: 2px solid #0a0a0a !important;
            border-radius: 0 !important;
            background: #f2efe4 !important;
            font-family: 'DM Sans', sans-serif !important;
            box-shadow: inset 2px 2px 0 rgba(10, 10, 10, 0.08);
        }

        #reviewText:focus {
            border-color: #0a0a0a !important;
            outline: 3px solid #ffe566;
            background: #fff !important;
        }

        .submit-review-btn {
            background: #7dffb3 !important;
            color: #0a0a0a !important;
            border: 2px solid #0a0a0a !important;
            border-radius: 0 !important;
            box-shadow: 3px 3px 0 #0a0a0a !important;
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.75rem !important;
        }

        .submit-review-btn:hover {
            background: #7dffb3 !important;
            transform: translate(-1px, -1px);
            box-shadow: 4px 4px 0 #0a0a0a !important;
        }

        .cancel-review-btn {
            background: #fff !important;
            color: #0a0a0a !important;
            border: 2px solid #0a0a0a !important;
            border-radius: 0 !important;
            box-shadow: 3px 3px 0 #0a0a0a !important;
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.75rem !important;
        }

        .cancel-review-btn:hover {
            background: #ffe566 !important;
            transform: translate(-1px, -1px);
        }

        .login-required {
            padding: 24px 16px !important;
            border: 3px solid #0a0a0a;
            background: #fff;
            box-shadow: 4px 4px 0 #0a0a0a;
        }

        .login-error {
            font-family: 'Syne', sans-serif !important;
            font-weight: 800 !important;
            font-size: 0.8rem !important;
            text-transform: uppercase;
            color: #0a0a0a !important;
        }

        /* ─── Móvil ─── */
        @media (max-width: 768px) {
            #qualityCard.expanded {
                min-height: 150px;
            }

            #qualityCard .card-overlay {
                padding: 8px !important;
                gap: 4px 6px !important;
            }

            #qualityCard .metric-label {
                font-size: 0.62rem !important;
            }

            #qualityCard .metric-value {
                font-size: 0.68rem !important;
                padding: 0 3px;
            }

            #qualityCard .metric-bar {
                height: 8px;
            }

            .spec-grid {
                grid-template-columns: repeat(2, 1fr) !important;
            }

            .spec-grid .spec {
                padding: 10px 8px !important;
            }

            .spec-grid .spec.has-icon img {
                width: 24px !important;
                height: 24px !important;
            }

            .summary-content {
                max-height: 200px;
            }

            .geekbench-scores {
                flex-direction: column !important;
                gap: 10px !important;
            }

            .geekbench-score-item:not(:first-child) {
                border-left: none !important;
                border-top: 2px solid #0a0a0a !important;
                padding-left: 12px !important;
                padding-top: 10px !important;
            }

            .reviews-modal {
                width: calc(100vw - 20px) !important;
                max-width: none !important;
                max-height: 92vh !important;
                margin: 10px;
                box-shadow: 6px 6px 0 #0a0a0a !important;
            }

            .reviews-body {
                padding: 12px !important;
                max-height: calc(92vh - 60px);
                overflow-y: auto;
            }

            .extra-features h3,
            .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,
            .connectivity-info h3,
            .sim-info h3,
            .bluetooth-info h3,
            .usb-info h3,
            .battery-info h3,
            .software-info h3 {
                font-size: 0.75rem !important;
                padding: 6px 10px;
            }

            .terxo-photo-block-copy h3 {
                font-size: clamp(0.88rem, 3.6vw, 1.28rem) !important;
                padding: 0 !important;
                white-space: nowrap !important;
            }

            .terxo-photo-block {
                padding: 18px 0 !important;
            }

            .terxo-photo-block-inner {
                width: 100%;
                box-sizing: border-box;
            }

            .release-info > p,
            .structure-info > p,
            .display-info > p,
            .processor-info > p,
            .ram-info > p,
            .storage-info > p,
            .security-info > p,
            .sensors-info > p,
            .audio-info > p,
            .connectivity-info > p,
            .sim-info > p,
            .bluetooth-info > p,
            .usb-info > p,
            .software-info > p {
                font-size: 0.8rem;
                padding: 10px 12px;
            }
        }

        @media (max-width: 380px) {
            .spec-grid {
                grid-template-columns: 1fr !important;
            }

            #qualityCard .card-overlay {
                grid-template-columns: 1fr !important;
            }
        }