/* === ReadFy Tutorial Styles (styles/tutorial.css) - REDISEÑADO Y CORREGIDO === */

:root {
    --shepherd-bg: #ffffff;
    --shepherd-text: #4a5568;
    --shepherd-header-bg: #f8f9fa;
    --shepherd-title-text: #2d3748;
    --shepherd-button-bg: #5867dd;
    --shepherd-button-text: #ffffff;
    --shepherd-button-hover-bg: #4a58c0;
    --shepherd-secondary-button-bg: #e2e8f0;
    --shepherd-secondary-button-text: #4a5568;
    --shepherd-secondary-button-hover-bg: #cbd5e1;
    --shepherd-arrow-size: 16px;
    --shepherd-border-radius: 12px;
    --shepherd-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* --- INICIO: SOLUCIÓN DE BLOQUEO Y RESPONSIVE --- */
.shepherd-element {
    z-index: 10001 !important; /* Prioridad máxima para la ventana del tour */
    max-width: 320px; /* Ancho máximo para mejor lectura en móvil */
    width: calc(100vw - 32px); /* Ancho adaptable con márgenes */
    box-sizing: border-box; /* Asegura que el padding no desborde */
}

.shepherd-modal-overlay {
    z-index: 10000 !important; /* Justo debajo de la ventana del tour */
}

.shepherd-text {
    color: var(--shepherd-text);
    padding: 1.25rem; /* Padding ajustado */
    font-size: 0.95rem; /* Tamaño de fuente ligeramente menor */
    line-height: 1.6;
    /* Evita que el texto se corte */
    white-space: normal;
    overflow-wrap: break-word;
}
/* --- FIN: SOLUCIÓN DE BLOQUEO Y RESPONSIVE --- */

.shepherd-header {
    background: var(--shepherd-header-bg);
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    border-top-left-radius: var(--shepherd-border-radius);
    border-top-right-radius: var(--shepherd-border-radius);
}

.shepherd-title {
    color: var(--shepherd-title-text);
    font-weight: 800;
    font-size: 1.1rem;
    margin: 0;
    padding: 0;
}

.shepherd-cancel-icon {
    color: #94a3b8;
    font-size: 1.5rem;
    transition: color 0.2s ease;
}
.shepherd-cancel-icon:hover {
    color: var(--shepherd-title-text);
}

.shepherd-text p {
    margin-top: 0;
}

.shepherd-footer {
    padding: 0 1.25rem 1rem 1.25rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.shepherd-button {
    background: var(--shepherd-button-bg);
    color: var(--shepherd-button-text);
    border: none;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    font-size: 0.9rem;
}

.shepherd-button:not(:disabled):hover {
    background: var(--shepherd-button-hover-bg);
    transform: translateY(-1px);
}

.shepherd-button.shepherd-button-secondary {
    background: var(--shepherd-secondary-button-bg);
    color: var(--shepherd-secondary-button-text);
}

.shepherd-button.shepherd-button-secondary:not(:disabled):hover {
    background: var(--shepherd-secondary-button-hover-bg);
}

/* --- (Estilos de la flecha sin cambios) --- */
.shepherd-arrow,
.shepherd-arrow:before {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}

.shepherd-arrow {
    border-width: var(--shepherd-arrow-size);
}
.shepherd-arrow:before {
    content: '';
    border-width: var(--shepherd-arrow-size);
}

.shepherd-element[data-popper-placement^='top'] > .shepherd-arrow {
    bottom: calc(-1 * var(--shepherd-arrow-size));
    border-top-color: var(--shepherd-header-bg);
    border-bottom-width: 0;
}
.shepherd-element[data-popper-placement^='bottom'] > .shepherd-arrow {
    top: calc(-1 * var(--shepherd-arrow-size));
    border-bottom-color: var(--shepherd-header-bg);
    border-top-width: 0;
}
.shepherd-element[data-popper-placement^='left'] > .shepherd-arrow {
    right: calc(-1 * var(--shepherd-arrow-size));
    border-left-color: var(--shepherd-header-bg);
    border-right-width: 0;
}
.shepherd-element[data-popper-placement^='right'] > .shepherd-arrow {
    left: calc(-1 * var(--shepherd-arrow-size));
    border-right-color: var(--shepherd-header-bg);
    border-left-width: 0;
}

