/**
 * =====================================================
 * CHATBOT TABLAO LAS SETAS v5.4 - CSS CORREGIDO
 * Última actualización: 1 febrero 2026
 * 
 * CAMBIOS EN ESTA VERSIÓN (v5.4):
 * - ELIMINADO: Reglas de posicionamiento (bottom, right) del contenedor principal
 * - ELIMINADO: Media query conflictivo con bottom: 85px
 * - NOTA: Todo el posicionamiento ahora está en flotantes-fix.css
 * =====================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap');

/* =====================================================
   RESET BRUTAL - Para evitar conflictos con WordPress/Elementor
   ===================================================== */

html body #tfs-chatbot,
html body #tfs-chatbot *,
html body #tfs-chatbot *::before,
html body #tfs-chatbot *::after {
    box-sizing: border-box !important;
    font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-style: normal !important;
}

/* NOTA: position, bottom, right, z-index están en flotantes-fix.css */
html body #tfs-chatbot {
    font-size: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

/* =====================================================
   BOTÓN FLOTANTE
   ===================================================== */

html body #tfs-chatbot #tfs-chatbot-toggle {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #C8102E 0%, #9B0B23 100%) !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot #tfs-chatbot-toggle:hover {
    transform: scale(1.08) !important;
}

html body #tfs-chatbot #tfs-chatbot-toggle svg {
    width: 26px !important;
    height: 26px !important;
    color: #fff !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-icon-chat {
    opacity: 1 !important;
    transform: scale(1) !important;
}

html body #tfs-chatbot .tfs-chatbot-icon-close {
    position: absolute !important;
    opacity: 0 !important;
    transform: scale(0) !important;
}

html body #tfs-chatbot.tfs-chatbot-open .tfs-chatbot-icon-chat {
    opacity: 0 !important;
    transform: scale(0) !important;
}

html body #tfs-chatbot.tfs-chatbot-open .tfs-chatbot-icon-close {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* Tooltip */
html body #tfs-chatbot .tfs-chatbot-tooltip {
    position: absolute !important;
    right: 70px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #1A1512 !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
    margin: 0 !important;
}

html body #tfs-chatbot #tfs-chatbot-toggle:hover .tfs-chatbot-tooltip {
    opacity: 1 !important;
}

html body #tfs-chatbot.tfs-chatbot-open .tfs-chatbot-tooltip {
    display: none !important;
}

/* =====================================================
   VENTANA DEL CHAT
   ===================================================== */

html body #tfs-chatbot #tfs-chatbot-window {
    position: absolute !important;
    bottom: 75px !important;
    right: 0 !important;
    width: 380px !important;
    height: 550px !important;
    max-height: calc(100vh - 120px) !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) scale(0.95) !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

html body #tfs-chatbot.tfs-chatbot-open #tfs-chatbot-window {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
}

/* =====================================================
   HEADER
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-header {
    background: linear-gradient(135deg, #C8102E 0%, #9B0B23 100%) !important;
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    border: none !important;
}

html body #tfs-chatbot .tfs-chatbot-header-info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-avatar {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    background: rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

html body #tfs-chatbot .tfs-chatbot-header-text h3 {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    text-shadow: none !important;
}

html body #tfs-chatbot .tfs-chatbot-status {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-status-dot {
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    background: #4ADE80 !important;
    border-radius: 50% !important;
    animation: tfsPulse 2s infinite !important;
    margin: 0 !important;
    padding: 0 !important;
}

@keyframes tfsPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

html body #tfs-chatbot .tfs-chatbot-close {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    background: rgba(255,255,255,0.15) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    outline: none !important;
}

html body #tfs-chatbot .tfs-chatbot-close:hover {
    background: rgba(255,255,255,0.25) !important;
}

html body #tfs-chatbot .tfs-chatbot-close svg {
    width: 16px !important;
    height: 16px !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =====================================================
   ÁREA DE MENSAJES
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-messages {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    background: #F5F5F5 !important;
    margin: 0 !important;
    border: none !important;
}

html body #tfs-chatbot .tfs-chatbot-messages::-webkit-scrollbar {
    width: 4px !important;
}

html body #tfs-chatbot .tfs-chatbot-messages::-webkit-scrollbar-thumb {
    background: #ccc !important;
    border-radius: 2px !important;
}

/* =====================================================
   MENSAJES
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-message {
    display: flex !important;
    max-width: 88% !important;
    margin: 0 !important;
    padding: 0 !important;
    animation: tfsMessageIn 0.3s ease !important;
}

@keyframes tfsMessageIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

html body #tfs-chatbot .tfs-chatbot-message-assistant {
    align-self: flex-start !important;
}

html body #tfs-chatbot .tfs-chatbot-message-user {
    align-self: flex-end !important;
}

/* Burbujas */
html body #tfs-chatbot .tfs-chatbot-message-assistant .tfs-chatbot-message-content {
    background: #ffffff !important;
    color: #1A1512 !important;
    border-radius: 16px 16px 16px 4px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

html body #tfs-chatbot .tfs-chatbot-message-user .tfs-chatbot-message-content {
    background: linear-gradient(135deg, #C8102E 0%, #9B0B23 100%) !important;
    color: #ffffff !important;
    border-radius: 16px 16px 4px 16px !important;
}

/* =====================================================
   CONTENIDO DE MENSAJES
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-message-content {
    padding: 12px 16px !important;
    margin: 0 !important;
    border: none !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

/* Párrafos */
html body #tfs-chatbot .tfs-chatbot-message-content p {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    color: inherit !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content p:last-child {
    margin-bottom: 0 !important;
}

/* Negritas */
html body #tfs-chatbot .tfs-chatbot-message-content strong,
html body #tfs-chatbot .tfs-chatbot-message-content b {
    font-weight: 700 !important;
    color: inherit !important;
}

/* Listas */
html body #tfs-chatbot .tfs-chatbot-message-content ul {
    margin: 8px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    list-style-type: none !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content ul:first-child {
    margin-top: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content ul:last-child {
    margin-bottom: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content li {
    position: relative !important;
    margin: 0 0 6px 0 !important;
    padding: 0 0 0 16px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    list-style: none !important;
    list-style-type: none !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content li:last-child {
    margin-bottom: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 7px !important;
    width: 5px !important;
    height: 5px !important;
    background-color: #C8102E !important;
    border-radius: 50% !important;
    display: block !important;
}

html body #tfs-chatbot .tfs-chatbot-message-user .tfs-chatbot-message-content li::before {
    background-color: #E3AD43 !important;
}

/* Links */
html body #tfs-chatbot .tfs-chatbot-message-content a {
    color: #C8102E !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    word-break: break-all !important;
}

html body #tfs-chatbot .tfs-chatbot-message-content a:hover {
    text-decoration: underline !important;
}

html body #tfs-chatbot .tfs-chatbot-message-user .tfs-chatbot-message-content a {
    color: #E3AD43 !important;
}

/* =====================================================
   BOTÓN CTA PRINCIPAL (RESERVAR)
   ===================================================== */

html body #tfs-chatbot .tfs-cta-main,
html body #tfs-chatbot .tfs-chatbot-book-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: linear-gradient(135deg, #C8102E 0%, #9B0B23 100%) !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 25px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin: 12px 0 4px 0 !important;
    cursor: pointer !important;
    border: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(200,16,46,0.3) !important;
}

html body #tfs-chatbot .tfs-cta-main:hover,
html body #tfs-chatbot .tfs-chatbot-book-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(200,16,46,0.4) !important;
    text-decoration: none !important;
    color: #ffffff !important;
}

/* =====================================================
   QUICK REPLIES
   ===================================================== */

html body #tfs-chatbot .tfs-quick-replies {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

html body #tfs-chatbot .tfs-quick-reply {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    border: 2px solid #C8102E !important;
    background: #fff !important;
    color: #1A1512 !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    margin: 0 !important;
    box-shadow: 0 2px 8px rgba(200,16,46,0.15) !important;
}

html body #tfs-chatbot .tfs-quick-reply:hover {
    transform: translateY(-2px) !important;
    background: #C8102E !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(200,16,46,0.3) !important;
}

/* =====================================================
   WIDGET TURITOP EMBEBIDO
   ===================================================== */

html body #tfs-chatbot .tfs-turitop-embed,
html body #tfs-chatbot .tfs-chatbot-turitop-wrapper {
    background: #ffffff !important;
    border-radius: 12px !important;
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    overflow: hidden !important;
}

html body #tfs-chatbot .tfs-turitop-header,
html body #tfs-chatbot .tfs-chatbot-turitop-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    background: #f8f8f8 !important;
    border-bottom: 1px solid #eee !important;
}

html body #tfs-chatbot .tfs-turitop-header span,
html body #tfs-chatbot .tfs-chatbot-turitop-header span {
    font-weight: 600 !important;
    font-size: 12px !important;
    color: #1A1512 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot .tfs-turitop-close,
html body #tfs-chatbot .tfs-chatbot-turitop-close {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    background: #e0e0e0 !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    color: #666 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

html body #tfs-chatbot .tfs-turitop-close:hover,
html body #tfs-chatbot .tfs-chatbot-turitop-close:hover {
    background: #ccc !important;
}

html body #tfs-chatbot .tfs-turitop-body,
html body #tfs-chatbot .tfs-chatbot-turitop-body {
    padding: 12px !important;
    margin: 0 !important;
    min-height: 200px !important;
}

/* =====================================================
   TYPING INDICATOR
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-typing-indicator {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-radius: 16px 16px 16px 4px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

html body #tfs-chatbot .tfs-chatbot-typing-indicator span {
    width: 7px !important;
    height: 7px !important;
    min-width: 7px !important;
    background: #ddd !important;
    border-radius: 50% !important;
    animation: tfsTyping 1.4s infinite ease-in-out !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot .tfs-chatbot-typing-indicator span:nth-child(1) { animation-delay: 0s !important; }
html body #tfs-chatbot .tfs-chatbot-typing-indicator span:nth-child(2) { animation-delay: 0.2s !important; }
html body #tfs-chatbot .tfs-chatbot-typing-indicator span:nth-child(3) { animation-delay: 0.4s !important; }

@keyframes tfsTyping {
    0%, 60%, 100% { transform: translateY(0); background: #ddd; }
    30% { transform: translateY(-6px); background: #C8102E; }
}

/* =====================================================
   INPUT ÁREA
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-input-area {
    padding: 14px 16px 12px !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-top: 1px solid #eeeeee !important;
    flex-shrink: 0 !important;
}

html body #tfs-chatbot #tfs-chatbot-form {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #tfs-chatbot #tfs-chatbot-input {
    flex: 1 1 auto !important;
    padding: 12px 18px 12px 18px !important;
    margin: 0 !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 22px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
    background: #f5f5f5 !important;
    color: #1A1512 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
}

html body #tfs-chatbot #tfs-chatbot-input:focus {
    border-color: #C8102E !important;
    background: #ffffff !important;
}

html body #tfs-chatbot #tfs-chatbot-input::placeholder {
    color: #999999 !important;
}

html body #tfs-chatbot #tfs-chatbot-send {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    background: linear-gradient(135deg, #C8102E 0%, #9B0B23 100%) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    outline: none !important;
}

html body #tfs-chatbot #tfs-chatbot-send:hover {
    transform: scale(1.05) !important;
}

html body #tfs-chatbot #tfs-chatbot-send svg {
    width: 18px !important;
    height: 18px !important;
    color: #ffffff !important;
    margin-left: 2px !important;
}

html body #tfs-chatbot .tfs-chatbot-powered {
    text-align: center !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    color: #999999 !important;
}

html body #tfs-chatbot .tfs-chatbot-powered a {
    color: #C8102E !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

/* =====================================================
   TARJETAS DE DISPONIBILIDAD
   ===================================================== */

html body #tfs-chatbot .tfs-availability {
    margin-top: 10px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: radial-gradient(1200px 300px at 20% -20%, rgba(227,173,67,0.18), transparent 60%), #15120f !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.20) !important;
    color: #FCE2BF !important;
}

html body #tfs-chatbot .tfs-availability p,
html body #tfs-chatbot .tfs-availability strong,
html body #tfs-chatbot .tfs-availability b {
    color: inherit !important;
}

html body #tfs-chatbot .tfs-availability-header {
    padding: 14px 14px 10px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

html body #tfs-chatbot .tfs-availability-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

html body #tfs-chatbot .tfs-availability-title h4 {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #FCE2BF !important;
}

html body #tfs-chatbot .tfs-availability-badges {
    display: flex !important;
    gap: 8px !important;
}

html body #tfs-chatbot .tfs-badge {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
}

html body #tfs-chatbot .tfs-badge-live {
    background: rgba(74, 222, 128, 0.15) !important;
    color: #A7F3D0 !important;
    border: 1px solid rgba(74,222,128,0.25) !important;
}

html body #tfs-chatbot .tfs-badge-weekend {
    background: rgba(239, 68, 68, 0.16) !important;
    color: #FECACA !important;
    border: 1px solid rgba(239,68,68,0.25) !important;
}

html body #tfs-chatbot .tfs-availability-body {
    padding: 12px 12px 14px !important;
}

html body #tfs-chatbot .tfs-show {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    margin-bottom: 10px !important;
}

html body #tfs-chatbot .tfs-show:last-child {
    margin-bottom: 0 !important;
}

html body #tfs-chatbot .tfs-show-left {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

html body #tfs-chatbot .tfs-dot {
    width: 12px !important;
    height: 12px !important;
    border-radius: 999px !important;
    background: #60A5FA !important;
    box-shadow: 0 0 0 3px rgba(96,165,250,0.15) !important;
}

html body #tfs-chatbot .tfs-dot.green {
    background: #34D399 !important;
    box-shadow: 0 0 0 3px rgba(52,211,153,0.15) !important;
}

html body #tfs-chatbot .tfs-dot.red {
    background: #F87171 !important;
    box-shadow: 0 0 0 3px rgba(248,113,113,0.15) !important;
}

html body #tfs-chatbot .tfs-show-time {
    color: #FCE2BF !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    letter-spacing: 0.02em !important;
}

html body #tfs-chatbot .tfs-show-status {
    color: rgba(252,226,191,0.88) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
}

html body #tfs-chatbot .tfs-show-right {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

html body #tfs-chatbot .tfs-reservar-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    background: #E3AD43 !important;
    color: #1A1512 !important;
    font-weight: 900 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: transform 0.15s ease !important;
    white-space: nowrap !important;
}

html body #tfs-chatbot .tfs-reservar-btn:hover {
    transform: translateY(-1px) !important;
}

html body #tfs-chatbot .tfs-availability-tip {
    margin-top: 12px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    color: rgba(252,226,191,0.92) !important;
    background: rgba(227,173,67,0.10) !important;
    border: 1px solid rgba(227,173,67,0.15) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

/* =====================================================
   TARJETAS DE PRECIOS
   ===================================================== */

html body #tfs-chatbot .tfs-prices-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 10px !important;
}

html body #tfs-chatbot .tfs-price-card {
    border-radius: 16px !important;
    overflow: hidden !important;
    background: radial-gradient(900px 280px at 10% -20%, rgba(227,173,67,0.18), transparent 60%), #15120f !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.18) !important;
    padding: 14px !important;
    color: #FCE2BF !important;
}

html body #tfs-chatbot .tfs-price-card p,
html body #tfs-chatbot .tfs-price-card strong,
html body #tfs-chatbot .tfs-price-card b {
    color: inherit !important;
}

html body #tfs-chatbot .tfs-price-header,
html body #tfs-chatbot .tfs-price-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

html body #tfs-chatbot .tfs-price-name,
html body #tfs-chatbot .tfs-price-title {
    color: #FCE2BF !important;
    font-weight: 900 !important;
    font-size: 14px !important;
    margin: 0 !important;
}

html body #tfs-chatbot .tfs-price-badge {
    font-size: 10px !important;
    font-weight: 900 !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: rgba(200,16,46,0.20) !important;
    color: #FECACA !important;
    border: 1px solid rgba(200,16,46,0.25) !important;
}

html body #tfs-chatbot .tfs-price-amount,
html body #tfs-chatbot .tfs-price-eur {
    color: #E3AD43 !important;
    font-weight: 900 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    margin: 6px 0 !important;
}

html body #tfs-chatbot .tfs-price-amount span {
    font-size: 18px !important;
}

html body #tfs-chatbot .tfs-price-desc {
    color: rgba(252,226,191,0.86) !important;
    font-size: 12px !important;
    margin: 8px 0 10px !important;
}

html body #tfs-chatbot .tfs-price-card ul,
html body #tfs-chatbot .tfs-price-features {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

html body #tfs-chatbot .tfs-price-card li {
    color: rgba(252,226,191,0.86) !important;
    font-size: 12px !important;
    margin: 0 0 6px 0 !important;
    padding-left: 16px !important;
    position: relative !important;
}

html body #tfs-chatbot .tfs-price-card li::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 7px !important;
    width: 5px !important;
    height: 5px !important;
    background: #E3AD43 !important;
    border-radius: 50% !important;
}

/* =====================================================
   RESPONSIVE - Solo apariencia, NO posicionamiento
   (El posicionamiento está en flotantes-fix.css)
   ===================================================== */

@media (max-width: 480px) {
    html body #tfs-chatbot #tfs-chatbot-toggle {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        min-height: 54px !important;
        max-width: 54px !important;
        max-height: 54px !important;
    }

    html body #tfs-chatbot #tfs-chatbot-window {
        bottom: 70px !important;
        right: -8px !important;
        width: calc(100vw - 24px) !important;
        max-width: 380px !important;
        height: calc(100vh - 100px) !important;
        max-height: 550px !important;
    }

    html body #tfs-chatbot .tfs-chatbot-messages {
        padding: 14px !important;
        gap: 12px !important;
    }

    html body #tfs-chatbot .tfs-chatbot-message {
        max-width: 92% !important;
    }

    html body #tfs-chatbot .tfs-chatbot-message-content {
        padding: 10px 14px !important;
        font-size: 13px !important;
    }

    html body #tfs-chatbot .tfs-chatbot-tooltip {
        display: none !important;
    }
}

/* Animación de entrada */
html body #tfs-chatbot #tfs-chatbot-toggle {
    animation: tfsBounceIn 0.6s ease 0.5s both !important;
}

@keyframes tfsBounceIn {
    0% { opacity: 0; transform: scale(0.3); }
    50% { transform: scale(1.1); }
    70% { transform: scale(0.95); }
    100% { opacity: 1; transform: scale(1); }
}

/* =====================================================
   AVISO DE IA - EU AI ACT ART. 50
   ===================================================== */

#tfs-ai-notice {
    position: fixed !important;
    bottom: 90px !important;
    right: 24px !important;
    width: 360px !important;
    max-width: calc(100vw - 40px) !important;
    background: #1A1512 !important;
    border: 2px solid #E3AD43 !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
    z-index: 1000000 !important;
    display: none !important;
    font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

#tfs-ai-notice.active {
    display: block !important;
    animation: tfsAiSlideUp 0.3s ease !important;
}

@keyframes tfsAiSlideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#tfs-ai-notice .tfs-ai-notice-inner {
    padding: 24px !important;
}

#tfs-ai-notice .tfs-ai-notice-icon {
    font-size: 40px !important;
    text-align: center !important;
    margin-bottom: 12px !important;
}

#tfs-ai-notice .tfs-ai-notice-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #E3AD43 !important;
    text-align: center !important;
    margin: 0 0 14px 0 !important;
}

#tfs-ai-notice .tfs-ai-notice-text {
    font-size: 14px !important;
    color: #FCE2BF !important;
    text-align: center !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.5 !important;
}

#tfs-ai-notice .tfs-ai-notice-text strong {
    color: #FFFFFF !important;
}

#tfs-ai-notice .tfs-ai-notice-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    font-size: 13px !important;
    color: #FCE2BF !important;
}

#tfs-ai-notice .tfs-ai-notice-list li {
    padding: 5px 0 5px 8px !important;
    opacity: 0.9 !important;
    line-height: 1.4 !important;
}

#tfs-ai-notice .tfs-ai-notice-list li::before {
    display: none !important;
}

#tfs-ai-notice .tfs-ai-notice-human {
    background: rgba(227, 173, 67, 0.1) !important;
    border-radius: 12px !important;
    padding: 12px !important;
    font-size: 12px !important;
    color: #FCE2BF !important;
    text-align: center !important;
    margin: 0 0 18px 0 !important;
    line-height: 1.5 !important;
}

#tfs-ai-notice .tfs-ai-notice-human strong {
    color: #FFFFFF !important;
    display: block !important;
    margin-bottom: 4px !important;
}

#tfs-ai-notice .tfs-ai-notice-human a {
    color: #E3AD43 !important;
    text-decoration: none !important;
}

#tfs-ai-notice .tfs-ai-notice-human a:hover {
    text-decoration: underline !important;
}

#tfs-ai-notice .tfs-ai-notice-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

#tfs-ai-notice .tfs-ai-btn {
    padding: 12px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 25px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
    box-sizing: border-box !important;
}

#tfs-ai-notice .tfs-ai-btn-continue {
    background: #E3AD43 !important;
    border: 2px solid #E3AD43 !important;
    color: #1A1512 !important;
}

#tfs-ai-notice .tfs-ai-btn-continue:hover {
    background: #FCE2BF !important;
    border-color: #FCE2BF !important;
}

#tfs-ai-notice .tfs-ai-btn-human {
    background: transparent !important;
    border: 2px solid #E3AD43 !important;
    color: #E3AD43 !important;
}

#tfs-ai-notice .tfs-ai-btn-human:hover {
    background: #E3AD43 !important;
    color: #1A1512 !important;
}

#tfs-ai-notice .tfs-ai-notice-legal {
    font-size: 10px !important;
    text-align: center !important;
    margin: 14px 0 0 0 !important;
    opacity: 0.7 !important;
}

#tfs-ai-notice .tfs-ai-notice-legal a {
    color: #E3AD43 !important;
    text-decoration: none !important;
}

#tfs-ai-notice .tfs-ai-notice-legal a:hover {
    text-decoration: underline !important;
}

/* Responsive aviso IA */
@media (max-width: 480px) {
    #tfs-ai-notice {
        bottom: 80px !important;
        right: 10px !important;
        left: 10px !important;
        width: auto !important;
        max-width: none !important;
    }
    
    #tfs-ai-notice .tfs-ai-notice-inner {
        padding: 20px !important;
    }
    
    #tfs-ai-notice .tfs-ai-notice-icon {
        font-size: 32px !important;
    }
    
    #tfs-ai-notice .tfs-ai-notice-title {
        font-size: 16px !important;
    }
}

/* =====================================================
   v5.5 - FIX ULTRA-AGRESIVO PARA SCROLL
   ===================================================== */

html body #tfs-chatbot .tfs-chatbot-messages,
html body div#tfs-chatbot div#tfs-chatbot-window .tfs-chatbot-messages,
html body div#tfs-chatbot div#tfs-chatbot-window div.tfs-chatbot-messages,
#tfs-chatbot .tfs-chatbot-messages {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
}

html body #tfs-chatbot #tfs-chatbot-window,
html body div#tfs-chatbot div#tfs-chatbot-window {
    display: flex !important;
    flex-direction: column !important;
    height: 550px !important;
    max-height: calc(100vh - 120px) !important;
    overflow: hidden !important;
}

html body #tfs-chatbot .tfs-chatbot-header,
html body #tfs-chatbot .tfs-chatbot-input-area {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
}